近期,微步在线发现一起蔓灵花组织针对巴基斯坦电信管理局的攻击活动,经过快速分析,得到如下结论:
近期,微步在线捕获了一批蔓灵花组织针对巴基斯坦的攻击样本,攻击者仿冒Open*VPN的安装包,命名为“TelecomVPN”或“PTAOpen*VPN”,其中PTA疑似指巴基斯坦电信管理局(Pakistan Telecommunication Authority)。
攻击者将木马程序与白文件Open*VPN的安装程序打包在一起,当用户执行后会从中释放并执行木马文件与真正的Open*VPN安装程序。
图 1 释放执行多个文件
释放出的shell.exe是攻击者的下载器,负责下载执行后续模块。值得注意的是,攻击者会查找老版本木马的代码,并将其删除,其中部分文件名如“pku2u.exe”、“lsapip.exe”都是已知的蔓灵花组织不同功能模块。
图 2 攻击者留下的文件名
而后续文件“pku2u.exe”则表明攻击者似乎对运行了某些特定进程的用户感兴趣,在木马成功运行后,会遍历进程列表,查找与攻击者C2地址返回的进程名相匹配的进程,匹配到对应进程后,再与C2地址建立通信。
攻击者不会对所有中招用户下发后续木马,而是通过判断受害者并定向选择攻击目标,只有当对应的C2地址页面返回内容为受害主机的计算机名时,才会进行下一步操作。攻击者在与主机通信过程中,使用了简单但有效的方式来判断有效数据的起始位置,通过使用关键词“llll”来判断有效的起始位置,进而读取C2地址的内容。
图 3 以“llll”作为关键字
该模块是一个Dropper,通过提取攻击者添加在文件尾部的加密数据,解密后释放到指定目录,并运行释放出的文件。其中,释放出的文件包括正常的Open*VPN安装程序与后续木马。攻击者在解密完成后并没有删除原文件,导致文件的密文与明文都存放在主机的同一目录下。
静态信息:
SHA256 | 8a30ae10d19e3b0853d45a886f578eac5235a18c5d7251382277174673d6cbcc |
SHA1 | 75a9e1d2f6075cd7c905663eb520dffe99b3dd16 |
MD5 | 4b*587ac091e7bd6ded61133683c91be5 |
样本大小 | 3,908,848 Bytes |
样本格式 | PE32 executable |
样本是仿造Open*VPN客户端安装程序,在分析过程中发现了攻击者留下的PDB路径:“C:\Users\win10\source\repos\WinWord\Release\WinWord.pdb”。
图 4 PDB路径
木马在运行后,会执行正常的Open*VPN安装程序,不过在此之前,会先将恶意代码执行完毕。
图 5 Open*VPN安装程序
攻击者将正常的安装程序与后续木马存放在程序尾部,在运行过程中取出释放到指定文件中。
图 6 从文件中读取加密内容
通过Microsoft自带的加解密函数,对内容进行解密,解密后取出两个文件“shell.exe”、“msdtm.exe”。“shell.exe”为攻击者的后续木马,而“msdtm.exe”则为正常的Open*VPN安装程序,无恶意内容。解密完成后,执行两个释放出的文件。
图 7 执行释放出的文件
该模块为攻击者的下载器,木马向C2地址发起多次请求发送主机信息,并且判断C2地址返回内容,当请求次数大于等于5并且返回内容与主机名+用户名相同时,进入下载后续木马阶段。木马通过关键字“llll”判断后续木马文件结构的起始位置,将其保存到本地并执行。
静态信息:
SHA256 | d49285d14532f28a0004cb2725f51c6a881471a95fb04f03d2fa343d2f2db614 |
SHA1 | 531e2386fd8333e3e48e6d6dcee452c2bf1610e9 |
MD5 | 2d61c8a200aae9609d1efc528eefd75d |
样本大小 | 52,224 Bytes |
样本格式 | PE32 executable |
攻击者使用了不同的加解密算法,不再是以往的同一个KEY,在调用每一个解密函数时传入不同的KEY值作为参数,并且循环KEY值每一位依次解密每个字符。
图 8 解密算法
木马还会遍历进程查找进程名为“MsMp”与“avp”的程序,“avp”为卡巴斯基杀毒软件进程,遍历到对应进程后,会在自启动注册表中创建自启。
图 9 修改后的注册表
图 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 执行下载的文件
该模块是攻击者的一个下载器,攻击者在代码中使用了大量的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 |
以往攻击活动 | 此次攻击活动 |
本次攻击中印度蔓灵花组织利用Open*VPN向巴基斯坦发起攻击。在其两国长久的网络战中,我们观察到之前也有巴基斯坦团伙SideCopy仿冒印度KAVACH发起攻击。
KAVACH是印度一款双因子身份验证软件。2021年2月,印度政府强制要求所有在@gov.in与@nic.in的域账户安装KAVACH软件,而2021年7月,Cisco的安全研究院披露了SideCopy组织使用一款名为“Nodachi”的插件窃取KAVACH的信息。“Nodachi”是一款巴基斯坦攻击者所使用的一款插件,在对印攻击中,攻击者使用该木马窃取受害者密码等信息,该木马调用Github开源项目“goLazagne”等对主机存储的各类密码进行窃取。除此之外攻击者还会尝试窃取“KAVACH”程序的数据库文件:
图 19 攻击者代码
在这两起攻击事件中,印巴攻击者都使用VPN或二步验证程序作为诱饵或仿冒其软件对目标发起攻击,且在双方的攻击中,恶意软件都出现了模块化特征,将其下载、窃取、搜集、回传等不同功能存放于不同模块中。
印巴网络战持续已久,两国间冲突不断,在本次攻击活动中,蔓灵花组织针对巴基斯坦电信管理局发起攻击,将恶意木马与Open*VPN打包在一起,仿冒Open*VPN安装包,引诱用户运行恶意文件。
攻击者筛选某些执行特定进程的用户,针对此类用户下发后续木马,在下发过程中,需要攻击者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、删除计划任务:
\Chems
mswsceventlog.net
8a30ae10d19e3b0853d45a886f578eac5235a18c5d7251382277174673d6cbcc
c940549ba2f1d7592c2336428ca3d2f9560ed1dfda5d4227a4132bc87bead58a
b0d1b6369ca1bb97d529819bb9ea64e63cf25e965147acff5663667adf1bfde8
49eafb373231d6c77e427a146cd7e7dc40607c70d6a584674509cf99ecf46667
d49285d14532f28a0004cb2725f51c6a881471a95fb04f03d2fa343d2f2db614