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、分类统计
4、其他分析
(4)部分结果
在分析过程中,出于有效分析考虑,部分数据在分析前需要进行清洗,清洗之后的数据再进行分析,在分析过程中使用了pandas、numpy、matplotlib、bokeh等python模块进行数据分析和可视化展示:
1、Top 50 Folder
列出所有folder有利于我们发现感兴趣的邮件可能存在的位置,Top N Folder有利于快速发现重要目录。后续可以按照目录名导出数据情报分析。从Top 50结果来看,可以发现一些像WASHINGTON、SINGAPORE、NICE*、很多按国家或特殊分类的目录,值得进一步过滤分析。
2、Top 50 Sender
通过Top N Sender,可以看看谁发的邮件最多,谁是Hot Person,里面包含大量支持性邮件,可以经过清洗在分析。也可以经过多维分析,比如发件人发送的邮件的目录名、收件人分类等等,可以粗略判断出发件人的角色,比如商务人员、支持人员、R&D等等。
3、Top 50 Subject
从热门主题中可以了解讨论最多的是事情是什么: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
看来nabil@dmi.gov.lb这家伙很勤奋,发了接近600封邮件,按主题Group一下,基本是讨论订单事宜。
3.2 Top 10 Mail Domain
通过Top N Mail Domain可以看看哪个组织有更多的人与HackingTeam联系,看来usdoj人最多有10几个人与之联系,mise.gov.it、state.gov等等均有多人与之联系。按usdoj.gov搜索了下邮件,通过主题大概看出usdoj与其合作已久,购买过RCS,并且还在谈后续合作。
3.3 Top N Mail Server
Sends
从Top N Mail Server Sends可以看出哪个组织与HackingTeam联系较多。
3.4 SNA分析
3.4.1 所有GOV之间关系分析
通过邮件发送者之间的邮件发送与接收关系,可以分析下这些GOV之间是否存在关联。或者一个GOV的多人之间的联系关系。从上面的图中可以看出,usdoj的Paul.J.Cibas在usdoj与HackingTeam的联系中应该是比较重要的角色。
3.4.2 由GOV发出的或由GOV接收的关系分析
图:所有GOV相关邮件关系分析
图:部分GOV相关邮件关系分析
图:所有GOV相关邮件关系分析[3次以上关联]
3.4.3 MIL关联分析
3.5 时间分析
3.5.1 GOV发邮件时间分析
通过时间分析,可以大致了解特定组织的一些工作习惯或业务量趋势。上图为由GOV发出的邮件的每日时间范围和数量关系,从中可以看出10-15点间邮件量很少,5点前后,20点前后,邮件数量较多。从12年到13年下半年,邮件量较少,而从13年下半年开始邮件量大增。
注:0-24点的时间是从Outlook API提取,应该是北京时间,后续提取时可以修改系统时区后再提取。
3.5.2 HackingTeam发邮件时间分析
HackingTeam的邮件量集中在15点到凌晨1点之间(北京时间),基本上是意大利的工作时间。从邮件总量分布上来看,逐年递增特别到15年增加明显,应该是业务发展不错。
【via@Sec-UN安全圈】
Copyright © hongdaChiaki. All Rights Reserved. 鸿大千秋 版权所有
联系方式:
地址: 深圳市南山区招商街道沿山社区沿山路43号创业壹号大楼A栋107室
邮箱:service@hongdaqianqiu.com
备案号:粤ICP备15078875号