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

释放出的 shell.exe 是攻击者的下载器,负责下载执行后续模块。值得注意的是,攻击者会查找老版本木马的代码,并将其删除,其中部分文件名如 “pku2u.exe”、“lsapip.exe” 都是已知的蔓灵花组织不同功能模块。
图 2 攻击者留下的文件名
而后续文件 “pku2u.exe” 则表明攻击者似乎对运行了某些特定进程的用户感兴趣,在木马成功运行后,会遍历进程列表,查找与攻击者 C2 地址返回的进程名相匹配的进程,匹配到对应进程后,再与 C2 地址建立通信。

图 3 以“llll”作为关键字
TelecomVPN.exe
该模块是一个 Dropper,通过提取攻击者添加在文件尾部的加密数据,解密后释放到指定目录,并运行释放出的文件。其中,释放出的文件包括正常的 OpenVPN 安装程序与后续木马。攻击者在解密完成后并没有删除原文件,导致文件的密文与明文都存放在主机的同一目录下。
静态信息:

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

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

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

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

图 7 执行释放出的文件
pku2u.exe
该模块为攻击者的下载器,木马向 C2 地址发起多次请求发送主机信息,并且判断 C2 地址返回内容,当请求次数大于等于5并且返回内容与主机名+用户名相同时,进入下载后续木马阶段。木马通过关键字“llll”判断后续木马文件结构的起始位置,将其保存到本地并执行。
静态信息:
攻击者使用了不同的加解密算法,不再是以往的同一个KEY,在调用每一个解密函数时传入不同的KEY值作为参数,并且循环KEY值每一位依次解密每个字符。

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

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

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

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

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

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

攻击者在前一阶段中的 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 攻击者列出的文件名

在与远程地址通信过程中,回传信息格式也与以往蔓灵花的攻击活动高度相似:
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” 程序的数据库文件:

在这两起攻击事件中,印巴攻击者都使用 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
安全加固
及时更新系统/应用程序补丁或版本;
谨慎点击未知 .exe 文件;
建立办公软件库,严格把控第三方软件下载渠道;
及时排查威胁检测设备告警,及时处置相关威胁。
公众号内回复“BT”,可获取完整版(含IOC) PDF 版报告。
(来源:阿乐你好)
发表评论