@Author: Patrilic
@Time: 2019-08-14 23:32:22

0x00 前言

自从把学习重心偏向RedTeam相关之后,一直想学习关于威胁情报的东西,平时也会在微步社区之类的地方去看一些关于威胁的分析报告。今天晚上终于空了下来,准备好好的沉淀一下,最近发生很多事情,并且接了个项目,一直在忙,这几天就好好的沉静下来去系统认识一下这个东西

0x01 相关概念

定义

翻了很多文章,大多数都是认为威胁情报的定义为Gartner在2014年发表的《安全威胁情报服务市场指南》

基于一定知识的证据,已经存在或正在形成的潜在威胁,比如,上下文、机制、指标、意义以及可实施的建议,利用这些,可以帮助当事人形成应对这些危险的决策。

the-pyramid-of-pain

8be5978252a523fd61cee3ef211d70d2
这个金字塔非常明显的展示了关于情报和利用的困难度对应的关系,同时也和情报的价值相关

从下往上看:
Hash Value:Hash值是一个文件的唯一凭证,类似于我们在VirusTotal中提交样本那串hash,但是如果文件中有一点东西被改变了,都会导致这个文件的Hash值变得不同,所以反而,一个样本的hash也是最不值得跟踪的,当然价值也最低。

Ip Addresses:IP地址,如果攻击者常用的Pentest Server被记录下来的话,也有一定的价值,不过目前来说,绝大部分人使用C2域名来隐藏自己的攻击,同时使用CDN/代理之类的手段的来不停的变换自己的IP,来绕过跟踪。

Domain Names:域名的话是现在大多数隐蔽攻击的方式,注册一个类似域名,配合使用鱼叉攻击的工具可以达到邮件钓鱼之类的目的。域名的话需要注册,备案,然后与服务器进行绑定,所以准备的东西还是比较多的。但是这种方式隐蔽攻击的效果也较好,特别是如果存在Subdomain Takeover这样的漏洞,效果非常的棒。但是在大型APT行动中,攻击者也会准备大量域名,所以这个的价值就显得不是特别的高了。

深入解析子域名接管(Subdomain Takeover)漏洞

Network/Host Artifacts:顾名思义,这一层是网络与主机特征,这里特征并不单单包括攻击者的各种主机信息,例如访问的特定UA头等,还包括了攻击者所获得的账号密码,例如从某一个VPN账号连接至内网,然后又从某一台出口机器走出的流量等。

Tools:特定组织/单独的黑客通常会使用相同或相似的方法进行攻击,获得了使用的工具特征,就能进行针对性的免杀等,让攻击者增加成本
TTPsTactics、Techniques & Procedures,TTPs在攻击方也是最重要的,指所使用的攻击策略、手法等,了解了一个组织的TTPs,就能明白攻击者所利用的具体漏洞,然后去防御。

分类

这里推一波@e1knot师傅在Defcon Group上的演讲PPT

👉 https://www.slideshare.net/JeremyLi10/discover-advanced-threats-with-threat-intelligence-jeremy-li

传统分类来看,威胁情报分为:

  1. 战术情报
  2. 战略情报
  3. 运营情报

战术级情报:战术情报的作用主要是发现威胁事件以及对报警确认或优先级排序。常见的失陷检测情报(CnC 情报,即攻击者控制被害主机所使用的远程命令与控制服务器情报)、IP情报就属于这个范畴,它们都是可机读的情报,可以直接被设备使用,自动化的完成上述的安全工作。

运营级情报:运营级情报是给安全分析师或者说安全事件响应人员使用的,目的是对已知的重要安全事件做分析(报警确认、攻击影响范围、攻击链以及攻击目的、技战术方法等)或者利用已知的攻击者技战术手法主动的查找攻击相关线索。

战略级情报:战略层面的威胁情报是给组织的安全管理者使用的,比如CSO。它能够帮助决策者把握当前的安全态势,在安全决策上更加有理有据。包括了什么样的组织会进行攻击,攻击可能造成的危害有哪些,攻击者的战术能力和掌控的资源情况等,当然也会包括具体的攻击实例。

—————————-手动分割线——————————–

然后@e1knot师傅在知乎专栏中提到了另一种分类方式,在我看来这种也是更加容易理解的(赞)

👉 https://zhuanlan.zhihu.com/p/30105006

大概就是分为如下几种类型:

  1. IP/Domain 信誉类情报
  2. 网络通信流量数据
  3. 事件分类(Incident Pulse)数据
  4. 蜜罐数据
  5. 被动流量解析(Passive DNS)数据

(相信各位渗透测试工作者也常常在实战中遇到蜜罐这类东西,稍不注意就会把自己常用的姿势和手段“送”给企业)

IP/Domain 信誉类情报:经常逛微步社区或者用它来找过dns解析之类的师傅肯定也会发现,IP或者域名会被打上各种标签,例如:
34f6416ad8558f4cf07372f9484726b6

以下平台可以供我们方便的查询到这个IP/Domaini是不是已经被列为恶意IP/Domain,或者他在某一段时间是否是被恶意攻击者攻陷等。

但是由于不同的威胁平台的检测可能不同,导致结果可能有偏差等。所以相对其他的,反而成为了相对最没有价值的情报

网络通信流量数据:这里指从大网上采集的数据,也就是我们俗称的外网数据。主要是看目标服务器的流量波动,比如如果在某一个端口上的流量在一段时间剧增,可能存在被入侵的风险

事件分类:这里提一下两个概念:

  1. CERT:Computer emergency response team 维基百科:wiki
  2. CIRT:Critical Incident Response Team 维基百科:wiki

具体可以查看后面的维基百科链接进行了解
然后是事件分类大概就是,将威胁情报的基础数据进行打包分类,然后封装成一个个的事件。
这种情报的好处在哪里呢,一个是可以基本全面的进行威胁分析,然后提前预警。然后同时也可以更快的发现事件。
然后厂商经过整理后,可以通过订阅的方式进行预警,同时收取订阅费用。
例如:

蜜罐数据:这个东西没什么好说的,就是企业部署在内网或者外网(很少)的一些看似薄弱点,引诱攻击者进行攻击,暴露自己的行为特征甚至是TTP

然后最近冰总社区里发了个挺好玩的开源蜜罐:
👉 https://bithack.io/forum/484

被动流量解析:其实就是被动DNS(Passive DNS),也是一种比较老的技术了,但是依然很常用,特别是溯源内网恶意流量的时候..下面这几篇文章讲的很详细了~就不多讲了

生命周期

《Market Guide for Security Threat Intelligence Service》 – Gartner . 2014

在业界接受较广,而他认为情报是过程的产物,而非独立数据点的合集。Gartner刻画了威胁情报的生命周期:
b551bc79146cfd117fd9ccf5b4c04408.png

  • 定向:定义目标并完善
  • 收集:从多种开放或封闭的源收集数据;电子的、人工的
  • 处理:如有需要,翻译;进行可靠性评估;核对多个源
  • 分析:判断此信息的意义;评估信息的重要性;推荐相应措施
  • 传递:将情报传递给客户
  • 反馈:依照需求调整

意义

同样也是@e1knot师傅文章中提到的,威胁情报在安全运营体系中的定位是——辅助发现潜在的或正在发起的恶意行为或操作,重点在于辅助两个字,威胁情报严格意义上来说只能有限的感知潜在的威胁,换句话说:如果有人现在瞄准的目标全部都是能源类客户,那么威胁情报就可以提醒没有被攻击的客户可能会遭受到该攻击者的攻击,这个叫做有限的感知潜在的威胁。

0x02 分析模型

https://www.slideshare.net/JeremyLi10/application-of-threat-intelligence-in-security-operation?utm_source=slideview&utm_medium=ssemail&utm_campaign=first_clip

既然威胁情报是个辅助手段,所以,我们通过使用威胁情报进行分析,才是最主要的。
这里目前用的比较多的就是两大模型:

  1. Kill Chain
  2. Diamond Model

但是我觉得现在应该再加一个ATT&CK矩阵,比如以最出名的MITRE ATT&CK举例,里面基本上集合了绝大部分的入侵模型。
👉 MITRE ATT&CK

Kill-Chain模型

fcc8b4c5429f36b191520f4c40e4dcb1.jpeg
这个模型其实和PTES比较相似,做渗透比较多的同学应该都比较了解了

  • 侦查阶段:扫描目标IT资产和信息收集,比如说Google Hacking这些侦查类型的攻击
  • 武器化阶段:将前一阶段发现和扫描到漏洞的信息整合到一起并制作针对性的武器(当然国内的嘛,你懂得)
  • 部署阶段:将这些武器或者是远控RAT部署到对应的Compromised Servers上
  • 攻击阶段:使用这些Compromised Servers和之前做好的武器化工具对目标发起攻击
  • 后门种植阶段:安装远程控制的服务和进程
  • 远控阶段:让目标和C&C通信
  • 后渗透阶段:收割、继续横向渗透入侵

还是给一个链接:pentest-standard
PTES基本流程:

  • Pre-engagement Interactions
  • Intelligence Gathering
  • Threat Modeling
  • Vulnerability Analysis
  • Exploitation
  • Post Exploitation
  • Reporting

Kill-Chain模型基本上就是描述了攻击者的进攻路线,但是并不能明确的说明造成的影响和目的。

Diamond Model模型

钻石模型是一个针对单个事件分析的模型,核心就是用来描述攻击者的技战术和目的,具体的钻石模型如下图所示:
4b601b6bc348f226a906ce13b3d535d0.jpeg

钻石模型由三部分组成:置信度、元数据、社会-政治影响和技战术组合

社会政治影响:处于钻石模型上下两个顶点,上顶点表示攻击者,下顶点表示受害者也就是目标。攻击者和受害者之间的某种利益冲突或者是社会地位对立则会产生攻击的意图和发起攻击的原因,纵切面表示的就是社会政治影响。说大白话就是根据这俩人去发现攻击的意图。

技战术组合:技战术组合位于整个钻石模型的横切面,横切面的两个顶点分别为基础设施和技术能力,这里的基础设施和技术能力其实都是相对于攻击者而言的。

元数据:这个其实就是左边列出来的,攻击时间、攻击阶段、攻击结果、攻击方向、攻击手段、攻击资源利用。

置信度:也就是以上你分析出结果的可信程度。

钻石模型想要表达的其实就是针对单个安全事件,我们可以得到攻击者为什么想要攻击目标,打算用什么手段去攻击目标。

Kill-Chain + Diamond Model

直接举个例子@e1knot师傅给的例子:

复杂的攻击往往都是有一系列的攻击事件组成的,不同的攻击事件指向的目标和达到的目的可以表示出攻击的进程,那么OK,我们如果把事件按照Kill-Chain进行分类同时使用泳道图进行表示,同时把不同的攻击路线分为不同的攻击线程,那么我们就可以得到一个这样的泳道图。
b9baf610a02307c8c0c3d905bc9b497c.jpeg
其实这张图描述的是这么一个事件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
1.攻击者先对目标进行了Google Hacking操作,获得了他们域名解析记录等一些基础的It信息
2.攻击者找到了一个目标新注册的域名,然后用搜索引擎搜索他们的网络管理员的电子邮件信息
3.攻击者使用鱼叉邮件方式对目标的网络管理员发送一封带有木马的邮件
4.目标的网管(我们叫他网管一号)打开了这封邮件的附件然后不幸中枪
5.网管一号的主机因为中了病毒,所以攻击者利用网管一号这台主机发送了一个HTTP Post请求到域控节点,然后域控节点返回了一个HTTP Response
6.我们通过对鱼叉邮件中附件进行逆向分析发现里面有两个IP地址,第二个IP地址作为备份,防止第一个失效
7.通过C&C请求到网管一号的主机,我们的恶意程序打开了一个TCP代理服务
8.通过网管一号主机上的代理服务,攻击者继续去Google上搜索其他的目标
9.攻击者检查网管一号邮件的通信录列表去寻找是否拥有目标二号的通讯方式,结果发现了目标二号的首席科学家的联系方式
10.攻击者使用攻陷的网管一号的邮箱对目标二号的首席科学家的邮箱发起鱼叉邮件攻击,工具使用和之前一样的
11.此时又来了一个攻击者,我们称他为攻击者二号,攻击者一号扫描了目标三号的web服务器
12.使用同样的漏洞利用工具攻击发现目标三号主机上的相同的漏洞
13.被攻陷的目标三号主机返回一个shell会话给攻击者三号
14.目标三号的所有数据被攻击者三号窃取

这样的话使用Kill-Chain和钻石模型分析可以同时get到攻击者的点和想要攻击的目标,同时还知道了他的攻击路径,也就是说这时候我们对攻击者了如指掌了。

ATT&CK Matrix for Enterprise

这个是我自己加上去的,同时也是平时去了解红队TTP的好地方
2425d00398a387cd6532219f91303fa9

0x03 总结

学习上面的知识也有一点自己的想法,威胁情报作为态势感知的一种,不仅能够让企业针对性的进行防御,同时也能够让运营看到自己的一些盲点,能够跟好的进行企业安全建设相关的方面(说到这里也不得不赞叹谷歌的0信任,真的太牛逼了),威胁情报能做的事情还是很多的,我自己整理之后觉得有以下几个方向:

1. 企业安全建设相关
2. 学习运营盲点
3. 溯源攻击
4. 全球共享情报,增加入侵成本
5. 学习新的攻击手段,收集0day(蜜罐)
6. ……

最后,e1knot师傅tql

0x04 链接

使用威胁情报调查攻击者

使用威胁情报追踪攻击者——Part 2 高级威胁事件分析与防御矩阵

浅析威胁情报
浅谈高级威胁情报对于安全建设的意义与思考(上)—攻击者情报那些不得不说的事儿
浅谈高级威胁情报对于安全建设的意义与思考(中)—基础设施情报那些不得不说的事儿
浅谈高级威胁情报对于安全建设的意义与思考(下)—事件情报那些不得不说的事儿