Cobaltstrike威胁狩猎总结

admin 2022年6月16日14:58:28评论398 views字数 3696阅读12分19秒阅读模式


前言
本文主要是对于cobaltstrike的威胁狩猎总结,从狩猎角度主要分为三个维度:主机、流量、统计学。由于是威胁狩猎,本文不展开静态文件特征。


目录

一、前言

二、Cobalt Strike简介

  1. 介绍

  2. Malleable-C2-Profiles

三、狩猎角度

  1. 主机特征行为

  2. 流量

  3. 统计学

四、小结


01
Cobalt Strike简介
介绍

Cobalt Strike 是一个商业的、功能齐全的渗透测试工具,它自称是“旨在执行有针对性的攻击并模拟高级威胁参与者的利用后行为的对手模拟软件”。Cobalt Strike 的交互式后期利用功能涵盖了所有 ATT&CK 战术,所有这些都在单个集成系统中执行。除了自己的功能外,Cobalt Strike 还利用了 Metasploit 和 Mimikatz 等其他知名工具的功能。


以上来自MITRE ATT&CK官方描述。由于4.5以前可以Java agent启动,破解版盛行,基本攻击队人手一份。从一些teamserver测绘数据也可以佐证这一点。

首先来基本了解一下cobaltstrike的ATT&CK覆盖情况,这样可以知道哪些阶段检测。

Cobaltstrike威胁狩猎总结

但是ATT&CK官网的Software映射并没有包含cs的自定义脚本能力,如果把GitHub上的各类脚本加上去基本覆盖了所有后渗透行为,当然也增加了攻击者暴露的风险。



Malleable-C2-Profiles

在介绍常见的检测手段之前先回顾一下Malleable-C2-Profiles,以下简称profile,主要能力有:

  • 伪造流量

  • 修改beacon的默认行为

同时由于结构化较强,也有一些工具可以随机生成profile,比如C2concealer

最经典的profile就是模仿成jQuery的流量

Cobaltstrike威胁狩猎总结


02
狩猎角度


主机特征行为

基于主机主要通过进程、内存、命名管道等特征,因此可以从cs本身,cs的一些命令,比如psexec、hashdump


进程特征


首先是进程特征,这个是获取最简单的特征。默认的cs使用rundll32.exe进程注入,所以会观察到一些无进程参数的rundll32.exe进程。

Cobaltstrike威胁狩猎总结


可能有同学认为这样太简单,这里确认的最简单方式就是对rundll32创建转储,然后上传VT

Cobaltstrike威胁狩猎总结

假如dump的是powershell进程,甚至还可以发现里面的原始payload

Cobaltstrike威胁狩猎总结

除此之外还有很多lolbas的滥用,所以需要对lolbas较熟悉


命名管道


包括cs官网博客也提醒了命名管道的opsec这个风险。

cs的很多行为,例如SMB Beacon在创建listener时候就需要指定命名管道,默认的是msagent_xx

而且如果是新建的会话,原会话的进程也会带一个相同的管道

Cobaltstrike威胁狩猎总结

4.2以前命名管道不能被修改,效果是这样

Cobaltstrike威胁狩猎总结

除了这些,命名管道这个行为主要在Keylogger、Screenshot、Mimikatz、Powerpick、Net这些后渗透相关行为

4.2+默认命名管道是postex_xxxx,但是也可以在profile修改post-ex -> pipename

Cobaltstrike威胁狩猎总结

命名管道特征比较多,可以看文末参考


内存特征


比较经典的就是BeaconEye,但是前提是环境内可以对进程的内存进行扫描,这就要求对绝大多数环境内的基础检测方式进行改造。有兴趣可以阅读一下相关文章,本文就不展开。


文件特征

比如加载的dll以及在cs使用过程中上传的一些利用工具等


其他还有一些后渗透行为必然产生的异常,在此不再展开,典型案例是psexec、扫描等


流量


文章开始就提到了profile,这块是profile的强项,但是不免存在基于大数据,对已知的一些profile进行特征工程,进而实现识别。


URI特征

默认profile的请求的URI是submit.php?id=xxxx

Cobaltstrike威胁狩猎总结


PA总结了一份cs默认的profile会请求的URI,大家在看NTA时候就知道为啥某些数据包会报cs了

id

URIs

id

URIs

id

URIs

1

/ca

8

/fwlink

15

/push

2

/dpixel

9

/cm

16

/ptj

3

/__utm.gif

10

/cx

17

/j.ad

4

/pixel.gif

11

/pixel

18

/ga.js

5

/g.pixel

12

/match

19

/en_US/all.js

6

/dot.gif

13

/visit.js

20

/activity

7

/updates.rss

14

/load

21

/IE9CompatViewList.xml


威胁情报碰撞

不过对于周期限定的攻防演练可能不适用,因为短期、快速全网cs测绘还是存在一定难度、同时简单的措施即可规避这些测绘措施,比如Mandiant就在博客里直接写明了会定期测绘全网的teamserver。


主要有以下方式构建威胁情报:

● 沙箱--识别cs payload--解析出profile配置等信息--打标签

● 公网teamserver特征:(当然,大型企业内网也可能有teamserver)

  ○ JA3/S & JARM

  ○ teamserver默认证书

  ○ 端口


至于这里的威胁情报,其实是属于IOC型。那么时效性也就很重要,刚租的VPS,自然也缺乏情报,旧情报又有情报新鲜度的问题。不过长期来看,对于常见的cs config的识别与特征工程很有帮助。


除了上述,还有cs的一些默认user-agent,已经附在文末

统计学


一个典型场景就是,cs上线的机器的进程启动日志可能比正常机器多,这个也比较符合逻辑。毕竟演习还是有周期,动作越快越好,也就造成了更多的日志量。

Cobaltstrike威胁狩猎总结


cs的sleep时间,默认是60s,所以可以检测这个特征

Cobaltstrike威胁狩猎总结


但是和上面一样,默认sleep时间还是可以在profile和命令中修改的,同时可以加入抖动时间。


云服务商检测


一些国外云厂商也对teamserver添加了检测,检测的主要是checksum8特征。


03
小结

虽然狩猎cobaltstrike的角度比较多,但是对于防守方来说当然是多多益善。尤其是在狩猎过程发现自身检测缺陷,从而做好基础的安全检测才能更好的防范其他安全事件。



Cobaltstrike威胁狩猎总结

容器安全事件排查

Atomic Red Team简介和使用

浅谈K8S攻防:从进入POD到控制K8S集群

云原生安全:编排文件审计



推荐资料

https://attack.mitre.org/software/S0154/S0154-enterprise-layer.json

https://www.cobaltstrike.com/blog/learn-pipe-fitting-for-all-of-your-offense-projects/

https://github.com/BinaryDefense/ThreatHuntingJupyterNotebooks/blob/main/Cobalt-Strike-detection-notes.md

https://redcanary.com/threat-detection-report/threats/cobalt-strike/

https://www.unh4ck.com/detection-engineering-and-threat-hunting/lateral-movement/detecting-conti-cobaltstrike-lateral-movement-techniques-part-1

https://unit42.paloaltonetworks.com/cobalt-strike-malleable-c2-profile/

https://underdefense.com/guides/how-to-detect-cobaltstrike-command-control-communication/

https://www.mandiant.com/resources/defining-cobalt-strike-components

https://labs.f-secure.com/blog/detecting-cobalt-strike-default-modules-via-named-pipe-analysis/

https://github.com/SigmaHQ/sigma/blob/2c1fd87a27c98117946d11a66df107d2ef810f24/rules/windows/pipe_created/pipe_created_mal_cobaltstrike.yml

https://github.com/SigmaHQ/sigma/blob/2c1fd87a27c98117946d11a66df107d2ef810f24/rules/windows/pipe_created/pipe_created_mal_cobaltstrike_re.yml

https://docs.google.com/spreadsheets/d/1bpeziZ-ObG8zKronKGyhXg2UsETk_fqY5dD4Tx0q_eY/edit#gid=1635920259





原文始发于微信公众号(无界信安):Cobaltstrike威胁狩猎总结

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年6月16日14:58:28
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Cobaltstrike威胁狩猎总结http://cn-sec.com/archives/1120348.html

发表评论

匿名网友 填写信息