长亭百川云 - 文章详情

FireEye RedTeam 被黑了

SecOps急行军

50

2024-07-15

一大早朋友圈就炸了,鱼哥、猪猪侠、何艺等一众大佬都在谈论这事儿

赶紧去FireEye官网了解下具体发生了什么。

Part1. 官方报道


官网blog在这里: https://www.fireeye.com/blog.html

12月8日,发了两篇博客文章

第一篇文章《FireEye 共享了近期网络攻击的细节和应对措施》

文章先是坦承最近受到了一次高度复杂的网络攻击,从攻击者的行为、操作的隐蔽性和使用的技术来看,认为是国家自主的有组织的攻击。CEO Kevin 认为这是他25年来遇到的顶级攻击,整个过程可以说是对Fireeye量身定制。

FireEye 指出此次事件的几点影响:

1、攻击者访问了红队的安全评估工具,认为工具已泄露。

2、这些工具中不包含 0Day。

3、但是这些工具有些具有免杀能力,估计会对社会有影响。

4、客户信息和TI收集的元数据并未泄露。

精彩的地方在于,FireEye 的应急响应:

1、写了300多条安全检测规则,利用这些规则,可以发现使用了他家工具的攻击行为。

2、FireEye自家的安全产品已内置这些检测规则(自己的矛攻自己的盾)

3、作为上市公司,还根据《证券交易法》做了前瞻性声明。

第二篇文章《关于FireEye红队工具被未授权访问事宜》

这篇文章首先对FireEye的红队工具做了基本说明:

1、工具中既有简单的自动化信息收集脚本,也有类似于CobaltStrike、Metasploit这样的公开技术框架。

2、很多红队工具已经在社区发布,在他们的开源虚拟机CommandoVM 中就有。(https://github.com/fireeye/commando-vm)

3、对一些公开工具进行了修改,可以绕过常规的安全检测。

4、团队内部开发了一些其他工具和框架

5、不存在0day

直接告诉大家,针对这些红队工具,如何做检测。

1、检测规则放在了Github,311条。(地址:https://github.com/fireeye/red\_team\_tool\_countermeasures)

2、为了方便大家使用,根据告警检测点的不同,直接生成了 OpenIOC、Yara、Snort和ClamAV等多种格式。

Part2. 披露检测规则


关于这几种格式做个简单说明:

**Yara:**由virustotal的软件工程师Victor M. Alvarezk开发的识别和分类恶意软件样本的开源工具。YARA的每一条描述或规则都由一系列字符串和一个布尔型表达式构成。语法规则如下

rule silent_banker : banker
{
    meta:
        description = "This is just an example"
        thread_level = 3
        in_the_wild = true
    strings:
        $a = {6A 40 68 00 30 00 00 6A 14 8D 91}
        $b = {8D 4D B0 2B C1 83 C0 27 99 6A 4E 59 F7 F9}
        $c = "UVODFRYSIHLNWPEJXQZAKCBGMT"
    condition:
        $a or $b or $c
}

以上规则告诉YARA任何包含有$a、$b、$c字符串的文件都被标识为slient_banker。

**OpenIOC:**MANDIANT公司(现在是FireEye的TI部门)创建的一种记录、定义以及共享安全情报的格式。更多说明可以参见:https://www.freebuf.com/sectool/86580.html

**Snort:**大名顶顶的 IDS 软件。国内很多公司基于该产品来做自己的NIDS。这里不做赘述,直接看 FireEye给出的rule。

alert tcp any $HTTP_PORTS -> any any (msg:"Backdoor.HTTP.BEACON.[CSBundle USAToday Server]"; flow:from_server,established; content:"{\"navgd\":\"<div class=gnt_n_dd_ls_w><div class=gnt_n_dd_nt>ONLY AT USA TODAY:</div><div class=gnt_n_dd_ls><a class=gnt_n_dd_ls_a href=https://supportlocal.usatoday.com/"; sid:25894; rev:1;)
alert tcp any $HTTP_PORTS -> any any (msg:"Backdoor.HTTP.BEACON.[CSBundle USAToday Server]"; content:"HTTP/1."; depth:7; content:"Connection: close"; content:"Content-Type: application/json\; charset=utf-8"; content:"Content-Security-Policy: upgrade-insecure-requests"; content:"Strict-Transport-Security: max-age=10890000"; content:"Cache-Control: public, immutable, max-age=315360000"; content:"Accept-Ranges: bytes"; content:"X-Cache: HIT, HIT"; content:"X-Timer: S1593010188.776402,VS0,VE1"; content:"Vary: X-AbVariant, X-AltUrl, Accept-Encoding"; sid:25893; rev:1;)

目前全部规则有311条,简单统计如下:

1、根据检测规则的家族来分

2、根据检测点(网络、主机、情报)来分:

Part3. 部分规则学习


本着专业人做专业事的思想,大部分时候我们不会去具体了解所用产品的规则库语法,更别谈分析规则库内容了。

借此机会,看几个FireEye的规则案例:

1、Gorat 远控工具的检测规则

根据文件大小和字符串来检测。

2、WMISpy 工具检测

检测PE文件的头两个byte是否为 MZ (Dos头),第 0x3c 开头的4个byte是否为 00004550。

3、Beacon的检测

简单做了下格式整理

alert tcp any any -> any $HTTP_PORTS (
msg:"Backdoor.HTTP.BEACON.[CSBundle MSOffice POST]";
 content:"POST /v1/push"; depth:13;
 content:"Accept: */*"; content:"Accept-Encoding: gzip, deflate, br"; content:"Accept-Language: en-US|0d 0a|"; content:"{\"locale\":\"en\",\"channel\":\"prod\",\"addon\":\"";
 content:"cli";
 content:"l-";
 sid:25891;
 rev:1;
)

在Snort中根据HTTP请求的header内容进行匹配。如果发现请求 /v1/push,并且还有cli、1-、sid=25891等内容,则告警。

Part4. 启示


有几点感受:

1、直面问题的勇气。作为一家安全公司,而且是上市公司。自身被入侵是一件很“丢人”的事情,但 FireEye 并没有选择掩盖,而是公开曝光,难能可贵。前不久的大型攻防演习中,“安全产品不安全”的段子也是满天飞,各大安全公司也是互相拆台,SXF EDR更是被暴打,最后SXF选择对自家产品进行公开漏洞悬赏,直面问题,值得鼓励。

2、自备矛与盾。很多安全厂商,红队只负责攻击,并不负责编写检测规则。如果有漏洞挖掘团队,新挖出的漏洞和规则库往往是作为 PR 来为自家产品能力加成,但是,对于红队开展日常服务的一些工具,是否有检测规则呢?尤其是一些杀软绕过、HIDS绕过、提权工具,这里存疑。

3、安全共赢生态。FireEye 公布的策略中,有TI、网络、主机等层面的检测规则,跨越了不同厂家的产品,能供最大化帮助社会减轻问题影响。试想问题发生在国内会是怎样的场景?

- A家红队工具泄露了,发布了工具检测规则

- B家的 NTA 策略语法不一致,要花几天修改检测规则

- C家的 AV 不支持用户自定义规则,也需要等几天修改规则

- D家威胁情报说不支持这种格式,再花几天增加IoC

有人就说,你想多了,A家怎么会对外公布检测规则呢?公关和群众的记忆才是最好的商业规则。

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2