首页
社区
课程
招聘
[原创]南亚APT组织"蔓灵花"历史攻击活动浅析(上)
发表于: 2020-12-1 10:21 7019

[原创]南亚APT组织"蔓灵花"历史攻击活动浅析(上)

2020-12-1 10:21
7019

BITTER又名蔓灵花、APT-C-08,疑似来自南亚地区,主要攻击目标为巴基斯坦和中国。BITTER最早的攻击可追溯到2013年11月份,活跃高峰期为2015年至2016年。

BITTER 主要针对政府、军工业、电力、核等单位进行攻击,窃取敏感资料,具有强烈的政治背景。该组织最早在2016由美国安全公司Forcepoint进行了披露,并且命名为“BITTER”,同年360也跟进发布了分析报告,命名为“蔓灵花”。

由于该组织早期特马数据包头部以"BITTER"作为标识,因此国外厂商将其命名为BITTER,但是值得注意的是,自从该活动被曝光后,该组织就修改了数据包结构,不再以"BITTER"作为数据包的标识,改为五字节的随机字符进行代替。


在本文中,笔者初略的对BITTER一小类的样本进行了分析和总结。但因资源有限、C2存活时间短等原因,大部分样本都是以前都老样本,目前还有很多插件和后续payload未获取到或是还未来得及分析。也没有比较好的机会分析通信协议和C2的基础架构。但是管中窥豹,我们可以通过已有的一些资源去了解和推测,一步步揭开BIITER的神秘面纱。


根据红雨滴团队的APT_Digital_Weapon以及后来的收集,笔者整理收集到的BITTER相关样本约240个左右。截止到2020年10月,BITTER都还保持着一定的活跃度:

image.png


020 年度的攻击中,BITTER主要是使用了带0199远程模板注入漏洞的文档来替代之前的11882类文档。后续payload还是以Win32EXE为主。PE文件擅长使用Windows、Update等文件名以迷惑用户。


根据之前的分析来看,BITTER的攻击方式主要是:

鱼叉攻击->Dropper->Downloader->后续插件、RAT、Keylogger等。


通常来说,诱饵类样本类型一般有LNK、DOCX、RAR、RTF、ZIP等。

image.png


BITTER在鱼叉攻击阶段,主要是投递带有office漏洞的恶意文档,他们似乎并不喜欢使用宏进行攻击。由于BITTER所用的这些漏洞特征比较明显,笔者个人认为这类文档的免杀性应该不如带宏的文档。

image.png


其中11882漏洞文档主要是从指定地址下载文件保存到本地加载执行。

image.png



通过脚本解析文档,得到的模板注入地址去重后如下:

hxxp://maq.com.pk/wehsd        203.124.43.227

hxxp://comglobal.com.pk/wp-content/g     203.124.44.32

hxxp://oppak.com/one/opa        203.124.44.31

hxxp://netnsiservice.net/logs/crid

hxxp://w32infinitisupports.net/win/ctfd

hxxp://quartzu.hol.es/mso/x64/x32/section/update

hxxp://liveways.pk/images/rgnd    203.124.44.48

hxxp://tusdec.org.pk/ee        203.124.44.48


hxxp://sartetextile.com/news/pq

hxxp://maq.com.pk/wehsd        203.124.43.227

hxxp://quartzu.hol.es/mso/x64/x32/section/update    213.190.6.187

hxxp://quartzu.hol.es/cretmong/tangkrdg/uplandjt    213.190.6.187

hxxp://tusdec.org.pk/ee        203.124.44.48

hxxp://oppak.com/one/eths    203.124.44.31

hxxp://hartraders.com/wp-sig    203.124.44.31

hxxp://liveways.pk/images/rgnd    203.124.44.48




BITTER早期样本WinMain如下:

image.png


经过分析,该入口点是BITTER的惯用代码:

image.png


甚至从14年的样本到20年的样本都保留了该段代码

image.png


直接以这个入口点编写yara扫描一下,效果似乎还不错

image.png


早期样本在创建窗体之后,会在WinMain最后执行一个call,所有的操作都在这个函数中执行:

image.png


样本多处使用随机数sleep以逃避早期的一些沙箱检测。和其他常见的样本不同的是,BITTER比较喜欢通过CreateSemaphoreA来防止多开而不是CreateMute.

image.png


接下来,程序会通过简单的do while 给变量赋值,然后调用一个解密函数进行解密:

image.png


这里解密出了早期的C2地址和Windows的调试路径

image.png


通过多个循环将解密之后的C:\Windows\debug\WIA\ 路径存放到多个数组中

image.png


image.png


然后循环对构造出多个WIA相关的路径

image.png


获取当前路径并截取文件名

image.png


将截取到的文件名与WIA路径拼接,同时拼接出另外两个路径:

image.png


解密出指令REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Run /f /v SVC /t REG_SZ /d

image.png


接着解密出自启动的注册表键Software\\Microsoft\\Windows\\CurrentVersion\\Run

image.png


通过RegQueryValueEx查询是否存储SVC键值

image.png

image.png


由于此时未设置注册表键值,RegQueryValueEx将会返回2

image.png


然后传递到00401936函数中创建

image.png


首先创建一个输入管道和一个输出管道

image.png


获取CMD路径

image.png


创建cmd进程

image.png


PeekNamedPipe获取cmd进程返回值:

image.png


将拷贝指令传入到管道中,给cmd.exe执行,此处是将C:\Windows\debug\WIA\2.exe路径写入到开机自启动中。

REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Run /f /v SVC /t REG_SZ /d "C:\Windows\debug\WIA\2.exe"image.png


设置后如下:

image.png


image.png


image.png




接着通过管道将自身拷贝到WIA目录下:

image.png


再通过两次管道操作,将原始文件拷贝到WIA目录并分别另存为svcm.exe和svcs.exe

image.png


接着再次通过管道使用cmd启动svcs.exe

image.png


至此,原始进程完毕。

svcs.exe主要是通过管道启动svcm.exe

image.png



当程序检测当前进程名是svcm.exe的时候才会执行关键功能。


网络请求信息如下,请求方式为POST,参数为用户的计算机ID //m2s_reply_u2.php?x=WIN-IHN30SD7IMB

image.png


接着通过GetLogicalDriveStringsW获取计算机上所有的磁盘信息

image.png


接着进行文件夹遍历

image.png


遍历所有文件并上传

image.png


收集到信息则会尝试请求m2s_uploads_u2.php

image.png


将收集到的所有信息上传到C2,包括文件名,文件类型和文件内容

image.png


综上,该样本请求C2为:range7.com,由于该样本具备多次释放文件的功能,有的厂商将其报毒为Dropper,但从行为上来说,更像是Trojan/Backdrop


样本hash:4b0e5c5c4e0e22f2dfeef0531e021072

CreateTime:2019-06-18

SubTime:2019-09-09


在历史样本信息中,笔者还看到了一例被标注为keylooger的样本。

样本由VC编写,有一个名为KeyEvent的导出函数

image.png


在WinMain函数中,程序首先是拼接出一些字符串,然后创建一个名为hfyuwejffkkfa的信号量:

image.png


接着程序通过CreateThread创建一个新线程, 在新线程中通过SetWindowshook设置键盘钩子,调用KeyEvent导出函数实现键盘监听。

image.png


从已有的资料(信号量、请求域名)来看,好像只有一例KeyLooger。


样本hash:806626d6e7a283efffb53b3831d53346

外层样本是一个自解压包,内含一个恶意文件dlhost.exe和一个诱饵文件<开证装期邮件.pdf>

image.png


很明显这是一起针对我国境内的鱼叉攻击,用于迷惑用户的文档如下

image.png



核心代码在释放的dlhost.exe文件中,dlhost由VC编译,但WinMain已经被抹去:

image.png


main函数中前面大部分代码都是进行解密字符串的操作:

image.png


解密之后一些比较关键的字符串信息如下:

image.png


依旧通过CreateSemaphorA来防止多开,创建的信号量为:7t56yr54r

image.png



[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 5
支持
分享
最新回复 (2)
雪    币: 3998
活跃值: (5131)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
2
学习一下,感谢
2020-12-1 11:08
0
雪    币: 329
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
学习了
2020-12-1 14:42
0
游客
登录 | 注册 方可回帖
返回
//