安全威胁情报之HackingTeam邮件分析

HackingTeam事件发生以来,很多Team与个人都对暴露出的数据进行了分析,挖掘出了很多的0day Exploit、RCS机制、UEFI Rootkit等等,很多从技术上展开了深入分析,对邮件也有全部导出公布到网上供查询和浏览的(虽然可以查询和浏览,但不够方便),除了0Day漏洞、漏洞利用技术、远程控制技术以外,邮件其实有很多值得分析,能够挖掘出有意思的情报信息。当然,对于不同的技术人员、研究人员关注点肯定不一样。

当我拿到400G数据的时候,看到邮件就有将近200G, 就觉得应该对邮件进行分析,看看有啥发现,但是这么大信息量该如何分析就很值得思考,恰好最近在琢磨威胁情报、大数据、可视化之类的,正好拿此数据来看 看,因为时间关系,很多分析也没有深入进行,很多想好的分析也因为精力有限尚未开展,先把已进行的分析过程简单介绍下(主要集中在快速线索发现/快速找到 感兴趣的内容,毕竟邮件有240多万封)。

(1)数据处理

接近200G的Outlook文件,一个一个导入到Outlook里人工看是不现实的,只能想办法数据化这些邮件,再在此基础上进行分析。于是想办法解析PST文件,试过开源的几个工具,最终还是采用了通过COM方式来访问Outlook的API来处理邮件效果最理想。

基本思路是:

1、遍历mail邮件夹中的*.pst文件

2、判断是否为Outlook邮件,是则进行处理

3、加载该PST文件,遍历目录

4、遍历目录中的内容,如果是邮件则处理邮件内容

5、将邮件中的关键要素提取进行格式化存储

6、将邮件附件进行提取并存储(数据量太大最终导出部分后没有继续,其实里面有很多数据是值得分析的)

关于邮件关键要素提取,主要考虑:

1、From(Email Address、Sender Name)

2、To(Email Address、Receiver Name)

3、CC/BCC(后来没有单独处理,都放到上面的From、To中了)

4、Time(邮件发送时间)

5、邮件主题

6、Importance(0-Low,1-Normal,2-High)

7、附件(数量、文件名、路径名、大小、文件类型、附件本身)

8、邮件正文(文本、文本中[链接、email、电话号码、password、skype账号、IM账号等等];最终只提取了邮件文本内容)

9、Folder Name(邮件所在的分类目录)

10、关键词(未处理)

 

(2)数据存储

不断调试PST文件解析时使用的是直接Console输出,同时也输出为csv供python程序分析处理,这个过程是同步进行的,得到部分数据时就开始考虑如何分析这些数据,最终调试好之后,共导出了240多万条邮件记录(每一个发件人到每一个收件人算一封邮件,当一个邮件有多个收件人或CC、BCC的情况下,就会认为是多个邮件),csv只记录了部分关键数据,有640多MB。

数据量不算太大,为了分析方便,我把数据存到了MySQL中,分析的时候,先通过SQL查询初步处理一遍数据,在通过Python进行后续分析处理。

 

(3)数据分析

有了格式化数据,就要考虑如何分析了,以前没有在此方面进行过研究,思考后,可以开展的初始分析可能包括(以此结果为线索,进一步发现有价值信息):

1、SNA分析(以发件人、收件人建立关系组成Social Network进行分析)

2、统计(Top N Sender,Top N Receiver,Top N Relations、Top N Folder、Top N Importance、Top N Domain)

3、分类统计

  1. a) 域名分类(GOV、MIL、ORG、EDU、COM等)
  2. b) 域名分类Top N
  3. c) 国家分类 Top N(通过域名信息判断/通过服务器IP判断)

4、其他分析

  1. a) 碰撞(建立感兴趣域名/关键词列表,与邮件信息碰撞,如福布斯排行榜2015 Top 2000,国家机构列表、军事机构列表、安全公司列表等关注的领域)
  2. b) 关键词分析(自动分词,Hot Words,多维分析)
  3. c) 时间分析(每日发邮件时间段、每日邮件数量等)

 

(4)部分结果

在分析过程中,出于有效分析考虑,部分数据在分析前需要进行清洗,清洗之后的数据再进行分析,在分析过程中使用了pandas、numpy、matplotlib、bokeh等python模块进行数据分析和可视化展示:

1、Top 50 Folder

安全威胁情报之HackingTeam邮件分析 - 第2张  | Sec-UN 安全圈

列出所有folder有利于我们发现感兴趣的邮件可能存在的位置,Top N Folder有利于快速发现重要目录。后续可以按照目录名导出数据情报分析。从Top 50结果来看,可以发现一些像WASHINGTON、SINGAPORE、NICE*、很多按国家或特殊分类的目录,值得进一步过滤分析。

2、Top 50 Sender

安全威胁情报之HackingTeam邮件分析 - 第3张  | Sec-UN 安全圈

通过Top N Sender,可以看看谁发的邮件最多,谁是Hot Person,里面包含大量支持性邮件,可以经过清洗在分析。也可以经过多维分析,比如发件人发送的邮件的目录名、收件人分类等等,可以粗略判断出发件人的角色,比如商务人员、支持人员、R&D等等。

3、Top 50 Subject

3

从热门主题中可以了解讨论最多的是事情是什么:Pranzo gioved(意大利语——周四的午餐)有17000多封邮件、E Max si sposa!(意大利语——和Max要结婚了)有10000多封邮件,从收件人地址来看,是内部群发邮件,有40多个地址,而从所有邮件中过滤出来@hackingteam.com的地址则有接近100(包含很多类似noreply的地址)个,估计这40多人都是主要人员了。

从Top N主题中看出还有讨论Lawful hacking、exploit、Gmail Passwords Leaked等等也很热烈。

3、包含GOV域名的分析

3.1 Top N Sender

4

看来nabil@dmi.gov.lb这家伙很勤奋,发了接近600封邮件,按主题Group一下,基本是讨论订单事宜。

 

3.2 Top 10 Mail Domain

5

通过Top N Mail Domain可以看看哪个组织有更多的人与HackingTeam联系,看来usdoj人最多有10几个人与之联系,mise.gov.it、state.gov等等均有多人与之联系。按usdoj.gov搜索了下邮件,通过主题大概看出usdoj与其合作已久,购买过RCS,并且还在谈后续合作。

3.3 Top N Mail Server

Sends

6

从Top N Mail Server Sends可以看出哪个组织与HackingTeam联系较多。

 

3.4 SNA分析

3.4.1 所有GOV之间关系分析

7

通过邮件发送者之间的邮件发送与接收关系,可以分析下这些GOV之间是否存在关联。或者一个GOV的多人之间的联系关系。从上面的图中可以看出,usdoj的Paul.J.Cibas在usdoj与HackingTeam的联系中应该是比较重要的角色。

 

3.4.2 由GOV发出的或由GOV接收的关系分析

8

图:所有GOV相关邮件关系分析

9

 

图:部分GOV相关邮件关系分析

10

 

图:所有GOV相关邮件关系分析[3次以上关联]

11

 

3.4.3 MIL关联分析

 

 

3.5 时间分析

3.5.1 GOV发邮件时间分析

安全威胁情报之HackingTeam邮件分析 - 第13张  | Sec-UN 安全圈

通过时间分析,可以大致了解特定组织的一些工作习惯或业务量趋势。上图为由GOV发出的邮件的每日时间范围和数量关系,从中可以看出10-15点间邮件量很少,5点前后,20点前后,邮件数量较多。从12年到13年下半年,邮件量较少,而从13年下半年开始邮件量大增。

注:0-24点的时间是从Outlook API提取,应该是北京时间,后续提取时可以修改系统时区后再提取。

3.5.2 HackingTeam发邮件时间分析

安全威胁情报之HackingTeam邮件分析 - 第14张  | Sec-UN 安全圈

HackingTeam的邮件量集中在15点到凌晨1点之间(北京时间),基本上是意大利的工作时间。从邮件总量分布上来看,逐年递增特别到15年增加明显,应该是业务发展不错。

【via@Sec-UN安全圈