SideCopy组织自2020年被披露以来长期处于活跃之中,并主要针对印度等南亚国家持续发动网络攻击。近期,360高级威胁研究院发现了该组织的最新攻击活动,通过对其分析发现本次攻击行动呈现出如下特点:
1、反射加载的DLL会向服务器反馈程序的执行流程,即主要功能是否成功执行,若失败则反馈异常;2、恶意文件托管在谷歌云端硬盘,并且其下载链接通过谷歌邮箱传播,极具迷惑性;3、在实际行动中罕见的发现该组织使用了基于Golang语言的Windows平台木马Spark RAT。 一、攻击活动分析
1.攻击流程分析
完整的攻击流如下图所示:
攻击者制作钓鱼邮件诱导用户下载恶意压缩包,当受害者点击恶意压缩包中的lnk文件时,则远程下载执行hta文件。该hta文件采用无文件的方式反射加载携带参数的Goslek.dll,对参数解码依次释放诱饵文件,恶意msftedit.dll和恶意MicrosoftEdge.exe,接着复制mspaint.exe程序到指定目录并启动,该程序会侧加载msftedit.dll,进而通过DLL加载恶意RAT,值得注意的是该RAT是基于Golang编写的针对Windows平台的远控工具。2.载荷投递分析
攻击者通过谷歌邮箱传播并诱导用户下载恶意程序, 其下载的文件相关信息如下: | |
| |
| 8bda519e8283d8557d7c44d4e76e8c63 |
| https://docs.google.com/a/mfa.gov.lk/uc?id=1ZQiWVLi9WtntfMWN-WLtxN9pZ_SY-te9&export=download |
样本为ZIP格式的压缩包文件,其中含有伪装成pdf的恶意lnk文件,该lnk从恶意链接https://theboxart.xyz/auth/icvgOpijn/crises/下载后续载荷,解压后信息如下。
执行时先base64解码并反射加载Goslek.dll,调用其Mybadhabits.adoreader()方法,参数依次为恶意RAT,恶意dll,诱饵文件,文件名。
Goslek.dll的功能为解码相关文件,并打开诱饵文件(%TEMP%\docxcrises.pdf.docx)和执行恶意文件。
其中执行恶意文件的具体流程如下,先从网站http://checkip.dyndns.org/获取当前网络出口IP地址并拼接到https://theboxart.xyz/auth/icvgOpijn/crises/errfraud.php?name=ipadr:后面再发送给服务器,接着将系统文件mspaint.exe文件复制到%AppData%\Local\MicrosoftEdge\MicrosoftEdge\mspaint.exe,作为白程序启动DLL,若复制出现异常则将异常反馈给服务器。
然后释放MSFTEDIT.dll ,成功释放DLL将设置url中的name参数的值为dlluploaded,反之则设置name为dllerror并报告异常。
同时,向%AppData%Local\temp\tmp.bat文件写入“REG ADD "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /V "Edge" /t REG_SZ /F /D "C:\Users\admin\AppData\Local\MicrosoftEdge\MicrosoftEdge\mspaint.exe"”并执行,通过添加注册表的方式实现自启动。
最后释放MicrosoftEdge.exe,并启动白文件mspaint.exe,侧加载同目录下的MSFTEDIT.dll,通过MSFTEDIT.dll加载最终MicrosoftEdge.exe恶意程序。
3.最终攻击组件分析
| |
| |
| 0c500ae37ddcac48262c3c35d787a4f1 |
其功能就是利用WinExec执行MicrosoftEdge.exe。
最终恶意载荷的信息如下:
| |
| |
| b3fd3d932fa7af749f4a0eb52a8dd811 |
MicrosoftEdge.exe是SideCopy组织最新使用的基于Golang语言的Windows远控木马。通过恢复Golang木马的符号信息,发现攻击者使用的RAT组件是基于开源Spark RAT木马进行修改的。
其使用的Spark RAT通过开源的websocket库与C2进行交互。
然后通过开源的machineid和gopsutil库获取主机ID、IP地址、MAC地址、CPU信息、内存信息、主机名、用户名等主机信息进行上传。
此外,本次捕获到的最终载荷支持如下多种远控功能,与最新版Spark相比,删除了一些网络状态、文件删除、远程桌面管理等部分功能。命令号 | 功能 |
OFFLINE | 关闭连接 |
LOCK | 锁屏 |
LOGOFF | 注销 |
HIBERNATE | 休眠 |
SUSPEND | 挂起 |
RESTART | 重启 |
SHUTDOWN | 关机 |
SCREENSHOT | 截图 |
FILES_LIST | 枚举文件 |
FILES_FETCH | 取文件 |
PROCESSES_LIST | 枚举进程 |
PROCESS_KILL | 杀死进程 |
TERMINAL_* | 远程终端 |
1.本次攻击流程与SideCopy组织的以往攻击流程呈现出高度一致性,都是以zip文件为入口诱导点击恶意的lnk文件,从而远程加载hta文件,该脚本无文件反射加载dll,dll文件的功能为释放诱饵文件和恶意载荷,接着复制系统白文件并启动从而劫持dll执行,最终加载RAT执行。2.释放文件的方式和以前样本采用了完全相同的方法即先base64解码再解压缩,而且都采用了批处理的方式来添加注册表实现自启动,其函数的部分参数名也完全一致,例如。
另外需要特别注意的是,该组织释放的伪装文件命名方式常为xxx.pdf.docx,通常都会在.docx前面加入.pdf,以迷惑用户,本次捕获的样本也不例外。3.通过对dll文件分析发现其PDB路径(c:\users\zombie\documents\visual studio 2013\Projects\thedll\Release\thedll.pdb)与《Suspected Pakistani Actor Compromises Indian Power Company With New ReverseRat》[1]一文中提到的PDB中的username一致,均为“zombie”,该文章认为该PDB与 SideCopy组织有关。4.该组织常使用开源木马作为RAT,如AllaKore和CetaRAT等,本次使用基于Golang的开源木马Spark作为最终RAT,结合以前有使用过基于Golang的Linux窃密工具的经历,综上,我们将其归纳到SideCopy组织。
总结
SideCopy组织近年来攻击活动频繁,其攻击武器也涵盖了多种语言,如C#、Delphi、GoLang。本次攻击最终载荷采用了全新的基于Golang开源的Spark木马。Golang作为一款可移植性强的语言,能满足不同平台的需求,并且能较好的干扰安全人员的分析。目前虽然少有APT组织在Windows端使用这类木马,但是不代表可以忽略此类型的攻击。
此外,本次攻击中SideCopy组织将恶意文件托管在谷歌云端硬盘,并通过谷歌邮箱分享下载链接来迷惑用户,说明该组织在伪装方面也是下足了功夫,不遗余力的针对南亚国家相关部门进行多次攻击,体现出其幕后组织意志的坚定性与目标的一致性。
8bda519e8283d8557d7c44d4e76e8c63
0c500ae37ddcac48262c3c35d787a4f1
b3fd3d932fa7af749f4a0eb52a8dd811
dfc7ee57c86d0eac5b31ce30a763b745
dbfcbc2360c3e6a3b3db0de9a109a0fd
6551d710955dfd62da40f52fb3bd146chttps://theboxart.xyz/auth/icvgOpijn/crises/
[1]https://blog.lumen.com/suspected-pakistani-actor-compromises-indian-power-company-with-new-reverserat/
360高级威胁研究院
360高级威胁研究院是360数字安全集团的核心能力支持部门,由360资深安全专家组成,专注于高级威胁的发现、防御、处置和研究,曾在全球范围内率先捕获双杀、双星、噩梦公式等多起业界知名的0day在野攻击,独家披露多个国家级APT组织的高级行动,赢得业内外的广泛认可,为360保障国家网络安全提供有力支撑。