内网渗透测试:隐藏通讯隧道技术(下)(3)

Lhost为了访问到Rhost,向proxy代理服务器发送了一个请求并且指定目标是Rhost,然后proxy向Rhost转交请求并将获得的内容返回给Lhost,简单来说正向代理就是proxy代替了我们去访问Rhost。

反向代理(reverse proxy)

Lhost<-->proxy<-->firewall<-->Rhost

和正向代理相反,Lhost只向proxy发送普通的请求,具体让他转到哪里,proxy自己判断,然后将返回的数据递交回来,这样的好处就是在某些防火墙只允许proxy数据进出的时候可以有效的进行穿透。

简单说就是正向代理是指攻击机主动通过代理来访问目标机器,反向代理是指目标机器通过代理进行主动连接。我们平常使用的reDuh、tunna,和reGeorg一样,都是正向代理。一般都是用户上传一个代理脚本到服务器端,本地的程序去连接服务器上的脚本,脚本程序做代理转发端口和流量。

reGeorg是reDuh的升级版,主要功能是将内网服务器端口的数据通过HTTP(S)隧道转发到本机,实现基于HTTP协议的通信。

内网渗透测试:隐藏通讯隧道技术(下)

测试环境如下:

内网渗透测试:隐藏通讯隧道技术(下)

内网有三台主机,其中web服务器有两个网卡,分别连接内外网,其余内网两台主机无法与外网通信,但可以与web服务器win7互访;攻击者vps可以访问web服务器。我们的思路是利用HTTP Server 代理,将攻击者所有流量转发到内网中,实现对内网其余主机的控制。

将reGeorg的对应脚本文件tunnel.nosocket.php,此时攻击机访问远程服务器上的tunnel.jsp文件,页面返回“Georg says, 'All seems fine'”后,攻击机kali在本地用reGeorgSocksProxy.py脚本监听本地的9999端口,即可建立一个通信链路。

操作时将tunnel.(aspx|ashx|jsp|php)上传到目标Web服务器,具体取决于远程服务器支持什么样的语言。我这里是php服务器,所以我们上传tunnel.nosocket.php,php这里分为有socket与无socket的,tunnel.php需要使用dl()函数加载socket模块,其需要修改php.ini,所以我们使用的是tunnel.nosocket.php。

内网渗透测试:隐藏通讯隧道技术(下)

然后攻击者执行:

python reGeorgSocksProxy.py -u -p 9999

内网渗透测试:隐藏通讯隧道技术(下)

程序卡在“Georg says, 'All seems fine'”表示正常运行。

接下来安装并配置proxychains-ng

git clone https://github.com/rofl0r/proxychains-ng.git cd proxychains-ng ./configure make && make install cp ./src/proxychains.conf /etc/proxychians.conf cd .. && rm -rf proxychains-ng

编辑proxychains配置文件:

vim /etc/proxychains.conf

在末尾添加

socks5 127.0.0.1 9999 // 9999为你自己的端口,需要与reGeorg中设置的端口相同

内网渗透测试:隐藏通讯隧道技术(下)

现在就可以在攻击者vps本地机器上使用proxychains对应用程序进行代理来访问目标内网中的资源了,使用方法即在工具名前面加上proxychains4,如nmap通过proxychains代理扫描内网windows server 8主机的端口:

proxychains4 nmap 192.168.52.138 -Pn -sT -p 3389 // -Pn和-sT必须带着

内网渗透测试:隐藏通讯隧道技术(下)

(可以看见设置代理的shell里面有数据传输)

接下来打开内网windows server 8主机的远程桌面:

proxychains4 rdesktop 192.168.52.138

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/d39d540f40e9b95bf07d6bc7a5710a8b.html