背景
HackingTeam是全世界知名的网络军火商,在2015年遭遇攻击后近400G的内部数据和工程化武器几乎被完全公开,在此之后一家名为Tablem的公司并购了"被破产"的HackingTeam,此后HackingTeam陷入沉寂。
360安全大脑在2018年"刻赤海峡"事件中捕获的一起针对俄罗斯的APT事件中,使用的后门疑似来自HackingTeam,在2019年一起影响中亚地区的APT事件中,同样发现了HackingTeam后门的身影,诸多信息表明HackingTeam依旧在全球恶意网络活动中活跃。
2020年1月,360安全大脑下诺亚实验室在日常的狩猎运营工作中,发现了一例高度模块化的RAT,并认定为HackingTeam RCS框架中的Soldier木马程序,在3月前夕,我们再次关联到该次活动使用Soldier的前置片段,并将其认定为HackingTeam RCS框架中的Scout木马程序,自此形成较为完整的活动拼图。
攻击流程及特点
从目前掌握的情况,本次HackingTeam RCS重现主要分为两个阶段
- 第一阶段 通过伪装网络电视软件LiveNetTV,释放RCS框架中的Scout木马,进行系统基础信息收集,并具有一定ANTI机制
- 第二阶段 通过伪装Java程序并执行RCS框架中Soldier木马,进行系统信息获取并窃取浏览器密码和cookie,窃取Facebook,Gmail,Twitter等信息
两个阶段的木马程序均使用了VMProtect加壳,通过历史HackingTeam泄露资料研究可知,两个木马具备创建共享内存空间联动的特性,这也是二者经常伴生出现的原因。
在本次捕获的样本中,我们发现样本具备以下特点:
- 使用了此前未知的有效证书签名
- 与此前泄露的RCS相比,现活跃的攻击样本均做了一定程度订制和变种
- 活动集中出现于2019年10月-2020年3月
- 依旧使用VMP壳保护
Unpack VMP
此处我们用到两种脱壳VMP的方式,一种用于提取关键信息,另一种则是进行完全脱壳。
方法一 通过运行样本,当样本开始解包自身时可以进行内存dump,一些关键信息可以在这个阶段dump拿到,且该方法也是HackingTeam团队自己处理VMP时的常用手段,并以此开发了工具VMProtect Dumper。
方法二 找到程序原始入口,找到.vmp部分调用,对原始API进行调用重写,最后对重写后的程序进行rebuild。
由于解决了VMP的问题,所以在接下来的样本分析过程中得到比较清晰的结果。
Stage1 分析
MD5 | 3f67b25082212393668c51710fe8191d |
---|---|
文件名 | LiveNetTV.exe |
签名 | CODEMAT LTD |
描述 | Scout木马 |
文件伪装
样本从远端进行下发压缩包hxxp://srv[.]cloudcepvep[.]ru/video.rar,内容包含两个视频内容和通过伪装网络电视直播软件LiveNetTV的Scout木马进行感染,并通过CODEMAT LTD签名(现已失效)。


同时伪装成微软的同步软件rapimgr:

杀软检测
样本进行了简单的杀软黑名单检测:

并针对Windows Defender进行了变种检测,通过WMI命令查看Windows Defender状态并关闭实时保护:

持久化准备
样本会判断当前运行的目录是否在指定目录中,不在则创建文件到指定目录。



通过创建计划任务做持久化准备:



信息收集
在核心功能信息收集部分,Scout变种通过WMI获取系统基础信息


最后收集常规系统信息

上线和回连
将收集的数据拼接后通过AES-CBC-128加密,并用base64进行编码

BACKDOOR_ID " b1970000000163"
Key:"B69254EE7A348B4BD87A9BC536E2692835504D328E746BE5C4C2B4C65C84FC85"
加密并编码后的数据:

当木马接收消息匹配时,将与C2 hxxp://89[.]45[.]67[.]29进行通联并渗出信息:

通过POST方式将加密数据发送到hxxp://89[.]45[.]67[.]29/search

Stage2 分析
MD5 | 51a2646f7586c1864507d057ef1f3500 |
---|---|
文件名 | Java.exe |
签名 | CODEMAT LTD |
描述 | Soldier木马 |
Soldier木马同样进行文件伪装和签名(依旧有效)

相比较Stage1阶段的Scout,Soldier功能更丰富,模块化完成度非常高。
与Scout联动
木马程序首先会检查当前是否为系统进程

此前在HackingTeam的泄露资料和邮件答疑中看到Soldier常被用于和Scout和Elite(另一款HackingTeam木马程序)联动,在本次分析中也得到了验证:

加解密操作
木马程序使用AES-CBC-128进行加解密操作,IV为0,首先会初始化加解密使用的KEY,包括向服务器发送数据时的ServerKey,解密配置的ConfKey

并从自身数据中解密配置文件


通过key解密得到指令配置文件,得到C2地址和端口如下:

此外还包含了丰富的远控和窃密功能
camera | 摄像头监控 |
---|---|
position | 位置获取 |
screenshot | 截屏 |
photo | 图片窃取 |
file | 文件操作 |
addressbook | 通讯录获取 |
chat | 聊天信息窃取 |
clipboard | 粘贴板信息获取 |
device | 基础设备信息 |
call | 通话信息 |
message | 短信信息 |
password | 密码窃取 |
keylog | 键盘记录 |
mouse | 鼠标事件记录 |
uninstall | 自毁 |
信息获取和上线
获取计算机基础信息

与Stage1中的渗出方式一样,将数据拼接后通过AES-CBC-128加密,夹杂标识数据后发送到C2

BACKDOOR_ID:"e2df0000000166" // stage 2 表示当前为soldier
ServerKey:"B6 92 54 EE 7A 34 8B 4B D8 7A 9B C5 36 E2 69 28 5E 84 CB B2 70 77 68 89 69 D0 FC 43 4A 7D 48 49"

窃密功能
作为一款高度模块化的间谍软件,Soldier的主要工作是是进行窃密行为,我们发现本次捕获的木马程序依旧保留了强大的窃密功能,分别能对Gmail,Facebook,Twitter,Yahoo等敏感信息进行窃密,并对应解密后的指令渗出。

除邮件,社交平台,IM之外,木马程序还会对Chrome,IE,Firefox主流浏览器进行保存密码窃取和cookie盗取。


与HackingTeam的归因
我们发现本次木马样本与2015年泄露的文件在大部分功能上均保持一致,且代码风格也在一些深度函数编写上保持一致,在这样的延续性下做False Flag的可能性不会很大。
唯一的差别在于我们发现前后两个版本的启动文件大小不一致,从之前的4MB大小扩充到了6MB,我们推测其是为了做沙箱的ANTI。
以下左侧为源码部分,右侧为样本部分,我们对代码和流程层面进行归因。
启动文件填充大小:

MySleep函数比对:

附加垃圾数据函数比对:

综合友商的数据可以发现其平滑更新的版本号:

Scout

Soldier

未被披露的有效证书
HackingTeam常使用有效证书对恶意文件签名,以此规避杀软检测,在此前的泄露中,我们也能清晰看到HackingTeam掌握大量证书:
https://github.com/Rafiot/HackedTeamCerts

本次我们获取到两个有效证书:


其中CODEMAT签发的Soldier依旧有效,其他均已被吊销,与此前ESET从Citizen Lab拿到的签发给个人的证书不同,这次捕到的证书更像是泄露盗用。
通过对人员的研究,我们也排除了两位签发人员参与HackingTeam相关黑客行为的可能性。
Timeline
2020年1月12日 -- 360安全大脑诺亚实验室捕获Soldier变种
2020年3月9日 -- 360安全大脑诺亚实验室关联捕获Scout变种
总结
网络军火商HackingTeam自从被黑后便逐渐淡出人们视野,2018年出现在针对俄罗斯的"毒针"行动中出现后再次沉寂两年,可以看到的是网络军火交易从未停止,诸如HackingTeam,EquationGroup等相关团体被攻击引发的资料泄露,使得网络武器民用化加剧,在网络战时代,各国都应该对网络军火重新审视。
IoC
User agents
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36
Mozilla / 5.0 (compatible; MSIE 10.0; Windows NT 7.0; InfoPath.3;.NET CLR 3.1.40767; Trident / 6.0; en - IN)
backdoor id
b1970000000163
cac70000000146
00560000000140
e2df0000000166
URL:
http://srv.cloudcepvep.ru/video.rar
http:// 89.45.67.29/search
http:// 45.11.181.17/search
http:// 178.128.215.46/search
IP:
178.128.215.46
45.11.181.17
89.45.67.29
165.227.232.154
签名:
KELSUREIWT LTD
有效期:2018年10月13日- 2019年10月14日
样本HASH:
Scout:
B4692BB8776AB351A8104346B858AEA5
CODEMAT LTD
有效期:2019年6月17日- 2020年6月17日
样本HASH:
Scout:
812C81BF15535E90DC479D6BD69DD426
3AF02E9EFCF30224FEE6DAE3C1F41EDE
DCDA748387C572ED1AA7424E26278F70
3F67B25082212393668C51710FE8191D
Soldier
51A2646F7586C1864507D057EF1F3500