1.概述
最近有安全研究人员发现以前未被发现的APT组织正在滥用即将举行的巴基斯坦国际海事博览会和会议(PIMEC-2023)作为主题来对巴基斯坦组织进行鱼叉式钓鱼。
攻击者给受害者发送一封主题为PIMEC-23参展商的文档,该文档利用远程模板注入漏洞从服务器加载包含恶意宏代码的模板并执行。
最终投递到受害者机器上的payload时一种高级间谍工具,由于该工具使用”Penguin”作为xor密钥对数据进行加密解密,
在网络请求头部包含”getlatestnews”字段, 因此将这个APT组织称为”NewsPenguin”。
2.流程图

3.详细分析
1.钓鱼文档分析
钓鱼文档主题为”exhibitor manual”(参展商手册),主要针对即将来参展的访客。
在第一页内嵌了一张图片,用于提示受害者点击启用内容按钮以便远程模板能够执行恶意宏代码。从第二页开始文档的字体颜色被设置为白色, 结合第一页的提示图提高迷惑性。
在此次攻击中, 攻击者使用的模板地址如下, 为RTF文件格式, 域名IP地址为51.222.103.8,经过测试只有当受害者的IP在巴基斯坦时才会返回模板文件。
模板成功加载后,开始执行模板中的恶意宏代码函数AutoOpen。首先删除启用内容提示图和将字体颜色从白色改为黑色。
去掉启用提示图和修改字体颜色后文档显示如下:
在远程加载模板时,模板文件在不同操作系统中保存的位置不一样,在win10中保存的目录为:
1 | %appdata%\Local\Microsoft\Windows\INetCache\IE |
在win7中保存的位置为:
1 | %appdata%\Local\Microsoft\Windows\Temporary Internet Files |
根据指定路径是否存在和程序”curl.exe”是否存在来确定模板文件保存的位置和指定payload下载方式。
递归遍历模板文件下载缓存目录,找到所有后缀名为”docx”的文件。
攻击者在模板文件中嵌入了两个WSF脚本,如果在模板文件下载缓存目录中找到的文档包含WSF脚本则可能是攻击者使用的模板文件。
将模板文件使用type命令重写到文件”C:\Windows\Tasks\abc.wsf ”,创建注册表启动项, 启动项为”WindowsBoost”,值为执行wsf脚本的命令行。
内嵌在RTF内WSF脚本如下图,如果受害者操作系统是Win10则调用程序curl下载批处理文件”winint.bat”;如果是win7则执行powershell脚本下载文件”winint.crt”,winint.crt实际上为base64编码后的winint.bat。
winint.bat批处理文件如下, 从服务器下载5个文件, 其中smss和Taskhostw为同一文件。
2.间谍木马分析
1.解密
程序”Taskhostw.exe”的原始文件名为”gup.exe”,是程序”Notepad++”的合法组件,具有有效的数字签名。
攻击者利用侧加载技术使合法组件加载被修改的恶意文件libcurl.dll,libcurl.dll使用”penguin”作为异或密钥解密文件”updates”,解密完后注入到系统进程”C:\Windows\syswow64\explorer.exe”。
2.沙箱绕过
恶意程序执行多种检测用于判断自身是否在沙箱中执行。
1 | 1. 使用GetTickCount来识别绕过具有睡眠功能的沙盒 |
沙箱绕过代码如下:
3.创建互斥量
创建名为”Windows.20H2.85685475”的互斥量避免创建多个相同实例。
3.C&C上线包
恶意程序第一次与C&C服务器进行连接时, 会生成一个标识符用于标记受害者,该标识符生成算法如下图,首先将电脑名和用户名拼接成一个新的字符串后将该字符串的每一个字符都加1然后使用base64编码数据。
发送的请求如下:
1 | Host:updates.win32.live |
3.C&C指令
恶意程序从C&C服务器接收base64编码后的C&C指令并执行,如果C&C服务器失效,则恶意程序则会尝试重连,如果重连次数超过5次则会等待5分钟后再次尝试进行连接,重连次数超过10次则会退出进程。下表是恶意程序使用的所有C&C指令。
C&C指令 | 描述 |
---|---|
sh who | 用户名 |
sh dir | 获取指定目录下的所有文件的文件信息,包含文件创建时间、文件访问时间、文件修改时间、文件大小和文件名 |
sh spawn | 创建一个新的线程,在线程中执行程序c:\programdata\vpskg.exe |
sh tasklist | 获取正在允许的所有进程的进程信息,包括进程名、进程ID和会话ID。 |
sh hostname | 获取电脑名 |
sh cp | 拷贝文件 |
sh del | 删除文件 |
sh mkd | 创建目录 |
sh mv | 移动文件 |
sh spdel | 结束自身进程 |
sh type | 写文件 |
sh runpe | 执行PE文件,并将执行结果写入文件”c:\programdata\63921eef-8415-4368-9201-f0df4af5778f.devm” |
exit | |
sh ufi | 上传文件到C&C服务器 |
sh dfi | 从C&C服务器下载文件 |
sh pid | 获取当前进程的PID |
0xSL33P | 设置获取C&C指令失败后的等待时间并返回两种类型的等待时间 |
0xSL33Q | 设置恶意程序连接C&C服务器失败后每一次重连的间隔时间并返回两种类型的等待时间 |
0xSL33S | 返回两种类型的等待时间 |
4.IOC
Windows.20H2.85685475
185.198.59.109
updates.win32.live
hxxp://windowsupdates.shop/test.dotx
861B80A75ECFB083C46F6E52277B69A9
8B0BF3F5F0AC4605C8C5EF73EB121757
314328E63B2E55A9C20BBDA313AB4D04
C219A8C50624F9DD9FC0F3C32510EA77
1cb100825912dd70c3a8f8e11fadc97f
5abd9f1828e3c6d899b9c8ba79c16473
fcae6b88640b58d289df42ae2d15e3ca
BFEC9148F90D1565AE334302D79B890964DD4C89
5.ATT&CK矩阵
Tactic | ID | Name | Description |
---|---|---|---|
Initial Access | T1566.001 | Spearphishing Attachment | 鱼叉式网络钓鱼 |
Execution | T1059.001 | Command and Scripting Interpreter | 执行powershell命令 |
T1559.001 | Component Object Model | 文档使用远程模板注入 | |
T1059.005 | Visual Basic | 文档恶意宏代码 | |
T1059.003 | Windows Command Shell | 使用cmd命令行 | |
T1204.002 | User Execution | 恶意文档诱导执行 | |
T1203 | Exploitation for Client Execution | 利用office的远程模板注入漏洞 | |
Privilege Escalation | T1055.002 | Portable Executable Injection | 注入到系统进程 |
Defense Evasion | T1480 | Execution Guardrails | 满足特定条件才会被执行 |
T1221 | Template Injection | Office利用远程模板注入 | |
T1027 | Obfuscated Files or Information | 混淆文件数据 | |
T1140 | Deobfuscate/Decode Files or Information | 使用文件时需要先解密 | |
Command-and-Control | T1105 | Ingress Tool Transfer | 下载恶意程序 |
T1132.001 | Data Encoding:Data Encoding | 使用标准方法编码通信数据 | |
T1071.001 | Application Layer Protocol:Web Protocols | 使用http协议通信 | |
T1573.001 | Encrypted Channel:Encrypted Channel | 通信流量使用对称加密 | |
Exfiltration | T1041 | Exfiltration Over C2 Channel | 利用C&C泄露数据 |
T1029 | Scheduled Transfer | 定时回传数据 |
最后更新: 2023年10月18日 15:48:35
本文链接: http://shxi.cc/post/aa66881.html
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可,转载请注明出处!