相煎何急,印APT组织蔓灵花针对巴基斯坦政府机构展开定向攻击

 

一、概述

近期,微步在线发现一起蔓灵花组织针对巴基斯坦电信管理局的攻击活动,经过快速分析,得到如下结论:

  1. 攻击者使用仿冒的OpenVPN安装包对巴基斯坦电信管理局进行攻击,该安装包会同时运行木马与正常的OpenVPN安装程序。
  2. 木马运行过程中,会先删除以往的旧版本木马,再下载执行新的木马。
  3. 攻击者会依次判断受害主机,并且只对部分感兴趣的主机进行下发后续木马操作,根据代码来看,攻击者只对运行了某些特定进程的用户感兴趣,并通过关键词“llll”判断返回内容中恶意PE文件的起始位置。
  4. 微步情报局对当前样本提取了C2,并进行了拓线分析,发现了攻击者背后的当前其他资产,建议利用内部安全设备直接进行阻断,具体资产请参见附录。

 

二、事件详情

近期,微步在线捕获了一批蔓灵花组织针对巴基斯坦的攻击样本,攻击者仿冒OpenVPN的安装包,命名为“TelecomVPN”或“PTAOpenVPN”,其中PTA疑似指巴基斯坦电信管理局(Pakistan Telecommunication Authority)。

攻击者将木马程序与白文件OpenVPN的安装程序打包在一起,当用户执行后会从中释放并执行木马文件与真正的OpenVPN安装程序。

图1释放执行多个文件

释放出的shell.exe是攻击者的下载器,负责下载执行后续模块。值得注意的是,攻击者会查找老版本木马的代码,并将其删除,其中部分文件名如“pku2u.exe”、“lsapip.exe”都是已知的蔓灵花组织不同功能模块。

图2攻击者留下的文件名

而后续文件“pku2u.exe”则表明攻击者似乎对运行了某些特定进程的用户感兴趣,在木马成功运行后,会遍历进程列表,查找与攻击者C2地址返回的进程名相匹配的进程,匹配到对应进程后,再与C2地址建立通信。

攻击者不会对所有中招用户下发后续木马,而是通过判断受害者并定向选择攻击目标,只有当对应的C2地址页面返回内容为受害主机的计算机名时,才会进行下一步操作。攻击者在与主机通信过程中,使用了简单但有效的方式来判断有效数据的起始位置,通过使用关键词“llll”来判断有效的起始位置,进而读取C2地址的内容。

图3以“llll”作为关键字

 

三、样本分析

TelecomVPN.exe

该模块是一个Dropper,通过提取攻击者添加在文件尾部的加密数据,解密后释放到指定目录,并运行释放出的文件。其中,释放出的文件包括正常的OpenVPN安装程序与后续木马。攻击者在解密完成后并没有删除原文件,导致文件的密文与明文都存放在主机的同一目录下。

静态信息:

SHA256 8a30ae10d19e3b0853d45a886f578eac5235a18c5d7251382277174673d6cbcc
SHA1 75a9e1d2f6075cd7c905663eb520dffe99b3dd16
MD5 4b587ac091e7bd6ded61133683c91be5
样本大小 3,908,848 Bytes
样本格式 PE32 executable

样本是仿造OpenVPN客户端安装程序,在分析过程中发现了攻击者留下的PDB路径:“C:\Users\win10\source\repos\WinWord\Release\WinWord.pdb”。

图4 PDB路径

木马在运行后,会执行正常的OpenVPN安装程序,不过在此之前,会先将恶意代码执行完毕。

图5 OpenVPN安装程序

攻击者将正常的安装程序与后续木马存放在程序尾部,在运行过程中取出释放到指定文件中。

图6从文件中读取加密内容

通过Microsoft自带的加解密函数,对内容进行解密,解密后取出两个文件“shell.exe”、“msdtm.exe”。“shell.exe”为攻击者的后续木马,而“msdtm.exe”则为正常的OpenVPN安装程序,无恶意内容。解密完成后,执行两个释放出的文件。

图7执行释放出的文件

pku2u.exe

该模块为攻击者的下载器,木马向C2地址发起多次请求发送主机信息,并且判断C2地址返回内容,当请求次数大于等于5并且返回内容与主机名+用户名相同时,进入下载后续木马阶段。木马通过关键字“llll”判断后续木马文件结构的起始位置,将其保存到本地并执行。

静态信息:

SHA256 d49285d14532f28a0004cb2725f51c6a881471a95fb04f03d2fa343d2f2db614
SHA1 531e2386fd8333e3e48e6d6dcee452c2bf1610e9
MD5 2d61c8a200aae9609d1efc528eefd75d
样本大小 52,224 Bytes
样本格式 PE32 executable

攻击者使用了不同的加解密算法,不再是以往的同一个KEY,在调用每一个解密函数时传入不同的KEY值作为参数,并且循环KEY值每一位依次解密每个字符。

图8解密算法

木马还会遍历进程查找进程名为“MsMp”与“avp”的程序,“avp”为卡巴斯基杀毒软件进程,遍历到对应进程后,会在自启动注册表中创建自启。

图9修改后的注册表

将当前木马拷贝到文件“C:\Users\sam\AppData\Local\tm”,然后删除拷贝到该文件夹下的木马文件。

图10拷贝并删除

向C2地址“meeting.mswsceventlog.net”发起Http请求,当C2进行响应后,回传受害主机的计算机名、用户名等信息。

图11请求C2地址

木马会通过C2地址返回内容判断是否继续执行,还会从进程列表中遍历返回的指定进程名,遍历到指定进程后,又向C2地址发送一次请求,并且发送的请求拥有固定格式:“RNGllll[进程名]llll”。

当发送请求次数大于5时,并且当C2地址返回当前的计算机名与用户名,才会进入远程下载阶段。这样一来,攻击者就可以筛选针对哪些主机下发后续木马。

图12判断C2地址返回内容

攻击者通过关键字“llll”对C2地址返回的内容进行判断,当判断到关键字时,创建新文件夹“C:\Users\sam\Appdata\Local\Debug”,并将C2地址返回的内容写入到该目录下命名为“.exe”并执行这个文件。

图13执行下载的文件

shell.exe

该模块是攻击者的一个下载器,攻击者在代码中使用了大量的COM组件相关内容,通过判断路径是否存在的方式判断是否第一次运行,并且从C2地址“mswsceventlog.net”下载执行不同的木马。

静态信息:

SHA256 49eafb373231d6c77e427a146cd7e7dc40607c70d6a584674509cf99ecf46667
SHA1 c53b6db1a30366c214afadee4eb3a521412dcd74
MD5 eb3fe67c5e7b7c6221aae16f91fba357
样本大小 11,264 Bytes
样本格式 PE32 executable

攻击者在前一阶段中的pdb文件名为“WinWord”,而在该木马中又使用了“PowerPoint”。

图14 PDB路径

木马进行了大量COM组件操作,并且会判断路径“C:\\Users\\Public\\Music\\p2p”是否存在,如果存在则向C2地址“mswsceventlog.net”请求后续木马保存至本地并删除该目录。值得注意的是攻击者使用了Curl命令向C2地址发起请求,但是Curl在Windows7环境下并不是系统自带工具,所以在没有安装此工具的情况下会出现错误。

图15尝试下载后续木马

当目录“C:\\Users\\Public\\Music\\p2p”不存在时,木马会使用msiexec.exe安装攻击者存放在C2地址中的MSI安装程序,并创建目录“C:\\Users\\Public\\Music\\p2p”。

图16下载后续文件

为当前木马创建计划任务,每15分钟运行一次,并执行进程“C:\\Users\\Public\\Music\\zenapp.exe”,并且会判断路径“C:\\Windows\\SysNative\\Tasks\\Chsme”,当路径不存在时,执行新程序“C:\\Users\\Public\\Music\\zenapp.exe”。

图17创建计划任务、执行新进程

在该模块另一个版本中,攻击者还会删除以往投递的老版本木马“pku2u.exe”。除了该文件外,攻击者在代码中还列出了大量文件名,其中部分为已知的蔓灵花组织所使用的名称。

图18攻击者列出的文件名

 

四、关联分析

本次攻击活动中,攻击者所使用的后续载荷“pku2u.exe”,与以往的蔓灵花组织模块“update”十分相似,字符串的加解密代码完全相同。

在与远程地址通信过程中,回传信息格式也与以往蔓灵花的攻击活动高度相似:

helpdesk.autodefragapp.com/dFFrt3856ByutTs/xnb/data1.php?id=WORK&&user=adminZxxZWindows7Professional meeting.mswsceventlog.net/MeetingPlaceID/Logs/meetingid.php?id=WALKER-PC&&user=WALKER&&OS=Windows7Enterprise
以往攻击活动 此次攻击活动

 

五、相关活动

本次攻击中印度蔓灵花组织利用OpenVPN向巴基斯坦发起攻击。在其两国长久的网络战中,我们观察到之前也有巴基斯坦团伙SideCopy仿冒印度KAVACH发起攻击。

KAVACH是印度一款双因子身份验证软件。2021年2月,印度政府强制要求所有在@gov.in与@nic.in的域账户安装KAVACH软件,而2021年7月,Cisco的安全研究院披露了SideCopy组织使用一款名为“Nodachi”的插件窃取KAVACH的信息。“Nodachi”是一款巴基斯坦攻击者所使用的一款插件,在对印攻击中,攻击者使用该木马窃取受害者密码等信息,该木马调用Github开源项目“goLazagne”等对主机存储的各类密码进行窃取。除此之外攻击者还会尝试窃取“KAVACH”程序的数据库文件:

图19攻击者代码

在这两起攻击事件中,印巴攻击者都使用VPN或二步验证程序作为诱饵或仿冒其软件对目标发起攻击,且在双方的攻击中,恶意软件都出现了模块化特征,将其下载、窃取、搜集、回传等不同功能存放于不同模块中。

 

六、结论

印巴网络战持续已久,两国间冲突不断,在本次攻击活动中,蔓灵花组织针对巴基斯坦电信管理局发起攻击,将恶意木马与OpenVPN打包在一起,仿冒OpenVPN安装包,引诱用户运行恶意文件。

攻击者筛选某些执行特定进程的用户,针对此类用户下发后续木马,在下发过程中,需要攻击者C2页面返回内容与受害主机回传内容相同,才会进行下一步操作,其后可能攻击者会手动筛选部分特定主机。

 

七、处置建议

威胁处置

1、杀掉进程:

shell.exe

update.exe

2、删除文件:

C:\Users\Public\Music\power

C:\Users\Public\Music\Shell.exe

C:\Users\Public\Music\p2p

C:\Users\User\AppData\Local\Updates

3、删除计划任务

安全加固

  1. 及时更新系统/应用程序补丁或版本;
  2. 谨慎点击未知.exe文件;
  3. 建立办公软件库,严格把控第三方软件下载渠道;
  4. 及时排查威胁检测设备告警,及时处置相关威胁。

 

附录 – IOC

C2

mswsceventlog.net

Hash

8a30ae10d19e3b0853d45a886f578eac5235a18c5d7251382277174673d6cbcc

c940549ba2f1d7592c2336428ca3d2f9560ed1dfda5d4227a4132bc87bead58a

b0d1b6369ca1bb97d529819bb9ea64e63cf25e965147acff5663667adf1bfde8

49eafb373231d6c77e427a146cd7e7dc40607c70d6a584674509cf99ecf46667

d49285d14532f28a0004cb2725f51c6a881471a95fb04f03d2fa343d2f2db614

更多精彩内容,敬请关注“微步在线研究响应中心”微信公众号。

(完)