“幼象”组织在南亚地区的网络攻击活动分析
2020年1月25日安天安全研究与应急处理中心(安天CERT)发布报告《折纸行动:针对南亚多国军政机构的网络攻击》[1]其中披露了2017年以来针对南亚国家政府、军事、国防等实体的规模性定向网络攻击,由于其攻击资源和手段的相对独立,可以猜测是一个独立运行的攻击团队,安天CERT给与了一个新的高级威胁组织命名——“幼象”。
近5年以来,该组织典型的历史攻击活动有如:
2017年中开始,向巴基斯坦、斯里兰卡等国家的军队、政府机构投递针对性的自解压攻击文件。
2017年底开始,向巴基斯坦、尼泊尔等国家的教育、政府机构投递Office文档攻击文件。
2018年底开始,向巴基斯坦等国家的军队投递针对性的隔离网渗透木马。
2019年中开始,向南亚众多国家发起针对性的大规模钓鱼网站攻击。
2019年底开始,向巴基斯坦、斯里兰卡等国家的军队投递LNK类攻击文件。
2020年底开始,向尼泊尔等国家政治相关目标投递恶意的安卓木马。
2021年中旬,向中国的相关机构进行情报窃取的定向攻击活动。
本报告对2020年至今发现的幼象组织攻击活动、手法和工具做一定程度的总结,整体活动的特征可简要总结如下表:
攻击时间 | 2020年1月至今 |
攻击意图 | 持久化、持续控制、窃密 |
针对目标 | 南亚国家,如尼泊尔、马尔代夫、斯里兰卡以及阿富汗等。 |
针对行业/领域 | 政府、军事、国防 |
攻击手法 | 鱼叉邮件、钓鱼网站 |
目标系统平台 | Windows、Android |
攻击技术 | 纯脚本载荷、恶意宏、域名伪装等涉及ATT&CK框架中的23个技术点 |
诱饵类型 | 恶意宏文档、快捷方式、安卓应用程序等 |
开发语言 | C++、Python、VBScript、Java和Go语言 |
武器装备 | HTA下载器、C++后门木马,Python窃密组件、安卓远控 |
通过安天赛博超脑威胁情报分析子系统、样本分析子系统扩线分析,我们对相关攻击载荷的进行了全面的关联,幼象组织在2020年年初利用指向恶意HTA脚本URL的快捷方式文件对斯里兰卡、马尔代夫进行攻击。安天发现幼象组织不止入侵攻击传统主机节点,同样入侵攻击智能终端节点,在2020年8月份,其将恶意程序、伪装成印度-尼泊尔领土争端问题的民意调查安卓应用程序对尼泊尔进行攻击。
活动中攻击者使用的域名既有自行注册的也有免费动态的,仿造域名命名皆仿冒尼泊尔、马尔代夫、阿富汗以及巴基斯坦的政府机构、国企官方域名:
域名 | 仿冒对象 | 对应机构 |
foreign-mv. *.net | foreign.gov.mv | 马尔代夫外交部 |
cpanel-nctc. *.net | nctc.gov.mv | 马尔代国家反恐中心 |
ncit-gov. *.net | ncit.gov.mv | 马尔代夫国家信息技术中心 |
avas-mv. *.net | avas.mv | 阿瓦斯(马尔代夫传媒公司) |
mail-nepalgovnp. *.org | mail.nepal.gov.np | 尼泊尔政府官方门户网站 |
mail-opmcmgavnp. *.org | mail.opmcm.gov.np | 尼泊尔总理办公室和部长理事会 |
mail-ppmo. *.org | mail.ppmo.gov.np | 尼泊尔公共采购监督办公室 |
mail.parliament. *.org | mail.parliament.gov.np | 尼泊尔众议院 |
mail-modgovnp. *.net | mail.mod.gov.np | 尼泊尔国防部 |
mail.ncp. *.org | mail.ncp.gov.np | 尼泊尔国家计划委员会 |
mail-apfgavnp. *.org | mail.apf.gov.np | 尼泊尔武装警察部队 |
mail-nepalpolice. *.org | mail.nepalpolice.gov.np | 尼泊尔警察 |
mail-mofagagovnp. *.org | mail.mofaga.gov.np | 尼泊尔联邦事务和总务部 |
mail-ntcnetnp. *.com | mail.ntc.net.np | 尼泊尔电信 |
mail-kmgcom. *.net | mail.kmg.com.np | Kantipur Media Group(尼泊尔第一大的媒体集团) |
mail-mofagovpk. *.org | mail.mofa.gov.pk | 巴基斯坦外交部 |
mail.aop. *.org | mail.aop.gov.af | 阿富汗内政部 |
webmail.morr. *.org | mail.morr.gov.af | 阿富汗难民和遣返部 |
webmail.mcit. *.org | webmail.mcit.gov.af | 阿富汗通信和信息化部 |
webmail.moci. *.org | webmail.moci.gov.af | 阿富汗工商部 |
imail.aop. *.org | mail.aop.gov.af | 阿富汗内政部 |
webmail.afghanpost. *.org | webmail.afghanpost.gov.af | 阿富汗邮报 |
2.1 钓鱼网站攻击
攻击意图 | 账号密码窃取、情报收集、二次跳板攻击 |
组织来源 | 印度 |
攻击手法 | 鱼叉式钓鱼邮件、钓鱼网站 |
攻击时间 | 2020年10月份至今 |
攻击目标 | 尼泊尔政府、军队、警察部门 |
攻击者主要将搭建的钓鱼网站仿冒成尼泊尔军队、警察、政府等部门(如尼泊尔外交部、内政部、国防部、国家信息技术中心、总理办公室和部长理事会)的邮件系统,针对性地向目标人群进行钓鱼攻击,其主要目的是获取目标人群邮箱账号信息,以便为后续的攻击活动做储备。
经过统计整理,这些钓鱼网站可分为两大主要的类型:
1. 直接展示型:受害者通过钓鱼链接访问钓鱼网站后,仿冒的邮件系统登陆页面会直接展示给受害者,当受害者输入账号密码进行登录后,钓鱼网站便会将账号密码信息回传至钓鱼后台,随后钓鱼后台便会将网页跳转至仿冒对象的官方邮件系统网站。
2.诱饵展示型:受害者通过钓鱼链接访问钓鱼网站后,钓鱼网站首先会给受害者展示嵌入与仿冒对象相关的PDF、图片文件的诱饵网页,数秒后钓鱼网站便会跳转至仿冒的邮件系统登录页面。当受害者输入账号密码进行登录后,钓鱼网站便会将账号密码信息回传至钓鱼后台,同时钓鱼后台便会将网页跳转回之前所展示的诱饵网页。
其中网页所嵌入的PDF、图片等资源文件大都存放在钓鱼页面的同级目录下:
但也有少量案例是嵌入来自官方网站的新闻页面、文档文件等:
图2-10 嵌入的官方PDF文件链接
2.2 恶意LNK攻击
幼象组织基于社会工程技巧构造LNK文件名,通过恶意链接的方式进行攻击。
表2-3 关联出的LNK类型样本
MD5 | 文件名 | 时间戳 | 恶意HTA脚本挂载地址 | 针对国家 |
00648C4A077***************4B392D | Command Centre.png.lnk | 2019-11-19 06:44:13+00:00 | http://foreign-mv.*.net/Command_Centre_.hta | 马尔代夫 |
DC7B7EB1A93***************508D00 | info.pdf.lnk | 2019-12-24 06:31:07+00:00 | http://domain-lk.*.net/Pdf_Error.hta | 斯里兰卡 |
图2-11 包含info.pdf.lnk的压缩包info.zip
图2-12 Flag_of_Sri_Lanka..png
通过安天样本关联分析平台对Command Centre.png.lnk样本进行关联,可得到MNDF.jpg(MNDF全称为Maldives National Defence Force,即马尔代夫国防军)、MNDF Male Area Command Centre.pdf这两个同源文件,通过对其内容进行分析后,可以确定上述文件是与Command Centre.png.lnk在同一压缩包中的诱饵文件:
图2-13 MNDF.jpg
图2-14 MNDF Male Area Command Centre.pdf
2.3 恶意安卓应用
幼象组织在2020年8月等时间段利用恶意安卓应用程序针对尼泊尔进行的攻击活动。
表2-4 恶意安卓应用程序
病毒名称 | Trojan/Generic.ASMalwAD.4B7 |
原始文件名 | OpinionPoll_V2.0.apk |
MD5 | BC061428428***************9CBAFC |
包名 | com.example.opinionpoll |
文件大小 | 1.84 MB (1928373 字节) |
文件格式 | Android APK |
证书有效期 | 2020-08-25 12:17:58至2045-08-19 12:17:58 |
证书指纹 | 0377e6b5f99***************59bbd40a06815d |
VT检测结果 | 2/63 |
恶意安卓应用程序伪装成印度-尼泊尔领土争端问题的民意调查App,当受害者安装并打开恶意安卓应用程序后,恶意安卓应用程序便会要求受害者授予其系统权限,成功获得权限后,其便通过AccessibilityService(无障碍辅助服务,AccessibilityService是Google专门为残障人士设计的一个服务,可以让他们更方便的来操作手机)来监控受害者手机。当受害者在手机上输入文本、点击控件以及点击按钮时,其便会将手机IP地址、当前时间以及对应事件类型等数据回传至C2服务器。根据同C2的大多安卓样本皆绑定Metasploit子包的情况,不排除该民意调查App在实际投放前也会绑定Metasploit远控木马的可能。
图2-15 OpinionPoll_V2.0应用程序
图2-16 要求受害者给予权限
图2-17 OpinionPoll_V2.0包结构
图2-19 根据事件类型回传指定数据
图2-20 回传数据
C2服务器除开放多个安卓木马的控制端口外,攻击者还搭建了似乎供自身使用的聊天工具服务:
图2-21 安卓C2的服务端口开放
2.4 恶意宏文档投放
幼象组织基于构造带有宏病毒的OFFICE文档,通过文件名社工欺骗的方式进行攻击。
表2-5 恶意宏文档样例
病毒名称 | Trojan[Downloader]/MSOffice.Agent.ccd |
原始文件名 | List of Nomination of the Candidates1.xltm |
MD5 | 6856AE442ED***************39F7B7 |
文件大小 | 324.53 KB (332316字节) |
文件格式 | Document/Microsoft.XLTM[:xls 2007-2013] |
创建时间 | 2006-09-16 00:00:00Z |
最后修改时间 | 2021-07-28 09:46:52Z |
创建者 | 无 |
最后修改者 | 无 |
VT检测结果 | 35/63 |
恶意文档文件名为“List of Nomination of the Candidates1.xltm”,中文译为“候选人提名名单1.xltm”,最后编辑时间为2021年7月28日。文档正文为空白,未进行社工内容构造,但根据样本投放地为尼泊尔,猜测攻击者可能通过文件名暗示与同期尼泊尔议会选举的新闻信息相关。
文档的宏代码被受害者启用后,会首先在宿主机%appdata%目录下创建WindowsSecurity.zip,并将UserForm1窗体中嵌入的数据提取出来,写入至WindowsSecurity.zip。
图2-22 释放WindowsSecurity.zip的宏代码
图2-23 嵌入UserForm1中的数据
然后宏代码会释放invisible.vbs至宿主机自启动目录下,invisible.vbs的作用是启动宏代码后续释放的a.bat与invisible1.vbs。
图2-25 释放invisible.vbs的宏代码
图2-26 invisible.vbs
接着,宏代码会继续释放a.bat与invisible1.vbs,invisible1.vbs的作用是从WindowsSecurity.zip中提取WindowsSecurity.exe至当前目录,而a.bat的作用则是删除invisible.vba以及创建每两分钟运行WindowsSecurity.exe的计划任务。
图2-27 释放a.bat与invisible2.vbs的宏代码
图2-28 invisible2.vbs
图2-29 a.bat
图2-30 伪装成office错误弹窗
2.5 使用下载器组件
幼象组织主要利用恶意快捷方式执行远程HTA脚本文件。HTA脚本文件的功能主要是下载诱饵文件以及后续的恶意载荷,然后通过创建计划任务对恶意载荷进行持久化操作。
表2-6 HTA下载器样例1
病毒名称 | Trojan[Downloader]/Scripts.Agent.hta |
原始文件名 | latest.hta |
MD5 | 39BCCFE10FC***************BEF3A7 |
文件大小 | 1.31 KB (1347字节) |
解释语言 | VBScript |
幼象组织主要利用恶意快捷方式执行远程HTA脚本文件。HTA脚本文件的功能主要是下载诱饵文件以及后续的恶意载荷,然后通过创建计划任务对恶意载荷进行持久化操作。
图2-31 下载后续载荷
图2-32 创建计划任务启动下载的载荷
表2-7 HTA下载器样例2
病毒名称 | Trojan[Downloader]/Scripts.Agent.hta |
原始文件名 | mod.hta |
MD5 | 89E8FBAF59F***************EA7D4A |
文件大小 | 3.87 KB (3967 字节) |
解释语言 | VBScript |
同时,攻击者还将脚本字符转化成ASCII码以达到逃避杀毒软件检测的目的。
图2-33 被混淆的HTA源码
图2-34 解混淆后的HTA代码
2.6 使用综合窃密组件
幼象组织使用Python编写的木马窃取各种文档文件、浏览器缓存密码和其他一些主机系统环境信息。
表2-8 Python窃密木马早期版本样例
病毒名称 | Trojan[PSW]/Python.Stealer |
原始文件名 | python.exe |
MD5 | A38B3051097***************B37EF0 |
处理器架构 | AMD AMD64 |
文件大小 | 10.7 MB (11,236,530 bytes) |
文件格式 | BinExecute/Microsoft.EXE[:X86] |
时间戳 | 2020-11-18 08:53:29+00:00 |
编译语言 | Microsoft Visual C/C++(2015 v.14.0)[-] |
VT检测结果 | 7/72 |
早期的窃密木马功能比较简单,其主要利用第三方Python库PyPDF2、PDFMiner、Docx对宿主机中的Docx、PDF文件进行解析,提取其中关键数据,最后将经过Base64编码的数据发送至攻击者的Gmail邮箱中。
图2-35 预定义的变量
图2-36 窃密木马整体流程
图2-37 解析文件功能
图2-38 解析Docx类型文件
图2-39 解析PDF类型文件
同时,通过在代码中还有未使用的功能函数,可以看出当时该窃密木马正处于开发完善之中。
图2-40 获取文件元组信息
后期,窃密木马经过攻击者完善后,在代码结构、功能方面相较之前有所改变。如,可以窃取宿主机Chrome浏览器所保存的网站账户密码信息以及Desktop、Downloads、Documents目录下txt、docx、pdf、xlsx、pptx、snt、jpg、png类型的文件。
表2-9 Python窃密木马完善版本样例
病毒名称 | Trojan[PSW]/Python.Stealer |
原始文件名 | ch.txt |
MD5 | 6213D95F582***************B30E7E |
处理器架构 | Intel 386 or later, and compatibles |
文件大小 | 11.1 MB (11,736,460 bytes) |
文件格式 | BinExecute/Microsoft.EXE[:X86] |
时间戳 | 2021-03-22 10:43:24+00:00 |
编译语言 | Microsoft Visual C/C++(2015 v.14.0)[-] |
VT检测结果 | 43/69 |
图2-41 获取桌面文件列表
图2-42 获取Chrome浏览器所保存的网站账号密码信息
图2-43 获取主机名、内网IP、外网IP
图2-44 将上述的信息发送至攻击者的Gmail邮箱
图2-45 攻击者所要窃取文件的类型
图2-46 收集指定目录中指定类型文件的完整路径
图2-47 攻击者C2服务器IP
图2-48 将窃取的文件回传至C2服务器
2.7 击键窃密组件
表2-10 Python键盘记录器木马样例
病毒名称 | Trojan[PSW]/Python.Stealer |
原始文件名 | python.exe |
MD5 | EFC865C91F2***************8D43EE |
处理器架构 | AMD AMD64 |
文件大小 | 5.38 MB (5,649,251 bytes) |
文件格式 | BinExecute/Microsoft.EXE[:X86] |
时间戳 | 2020-11-18 08:53:29+00:00 |
编译语言 | Microsoft Visual C/C++(2015 v.14.0)[-] |
VT检测结果 | 35/71 |
该木马是攻击者在Github上开源Keylogger脚本[2]的基础上进行修改而来,其主要是通过第三方Python库pynput来实现对宿主机进行键盘记录功能。木马运行后,每30秒会将记录的宿主机键盘日志发送至攻击者的Gmail邮箱,同时将自身拷贝至自启动目录下并重命名为“Windows system.exe”进行持久化。
图2-49 整体流程
图2-50 键盘记录功能
图2-51 记录键盘按键
图2-52 将键盘记录日志发送至攻击者Gmail邮箱
图2-53 获取当前用户名
图2-54 将自身拷贝至自启动目录下并重命名为“Windows system.exe”进行持久化
2.8 SHELL后门组件
幼象组织使用C++编写的SHELL木马,实现远程控制连接。早期的C++木马功能十分单一,只有执行CMD命令、下载后续攻击载荷功能。在后续完善版本中,攻击者增加了检测虚拟机沙箱、回传窃取数据、下载文件以及休眠指定时间等功能,同时攻击者还利用ICMP协议实现反弹Shell,以及利用第三方合法服务Telegram Bot将窃取的信息回传至自建的TelegramChat。
接下来对不同版本的C++木马进行具体分析:
2.8.1 早期版本
早期版本的木马功能十分简单只有执行CMD命令以及下载后续攻击载荷,同时攻击者对C2域名、URL以及CMD命令等字符串进行Base64编码,以逃避杀毒软件的检测。
表2-11 C++木马早期版本样例
病毒名称 | Backdoor/Win32.Agent.myucfu |
原始文件名 | host.exe |
MD5 | FC2221F653E***************503B01 |
处理器架构 | AMD AMD64 |
文件大小 | 285,184 字节 |
文件格式 | BinExecute/Microsoft.EXE[:X86] |
时间戳 | 2021-03-22 10:43:24 |
编译语言 | Microsoft Visual C/C++ |
VT检测结果 | 34/70 |
木马运行后,会循环地向C2服务器发送请求获取命令,当接收到C2服务器下发的命令,则会通过CMD执行,反之,则跳出本次循环,重新发送请求获取命令。同时,当从C2服务器接收的命令为“exit”,木马就结束自身进程。
图2-55 Base64编码的C2域名
图2-56 获取C2服务器下发命令
图2-57 创建CMD管道执行命令
图2-58 判断是否退出程序
在循环次数为20次后,木马通过硬编码的URL下载后续攻击载荷,将攻击载荷命名为filename.txt保存至Temp目录。
图2-59 解密下载URL
图2-60 下载后续攻击载荷
下载完成后,通过CMD执行解密后的命令,该命令功能为利用系统工具certutil将filename.txt进行解密为WindowsUpdate.exe,并且创建每天11点运行计划任务对WindowsUpdate.exe进行持久化操作。
图2-61 解密CMD命令
图2-62 执行CMD命令
2.8.2 Telegram版本
表2-12 C++木马Telegram版本样例
病毒名称 | Trojan/Generic.ASMalwS.3395B44 |
原始文件名 | WindowsSecurity.exe |
MD5 | 04F7EE1AA5E***************D20709 |
处理器架构 | Intel 386 or later, and compatibles |
文件大小 | 659 KB (675,331 字节) |
文件格式 | BinExecute/Microsoft.EXE[:X86] |
时间戳 | 2021-05-28 04:45:41 |
编译语言 | Microsoft Visual C/C++(-)[-] |
VT检测结果 | 50/69 |
Telegram版本木马在早期版本的基础上增加了如下功能:
虚拟机、沙箱对抗技术,通过宿主机逻辑处理器数量、运行内存大小、鼠标指针移动距离以及系统启动时间来判断自身是否处于虚拟机、沙箱。
图2-63 通过宿主机逻辑处理器数量、运行内存大小判断自身是否处于沙箱
图2-64 获取鼠标移动距离
图2-65 获取系统启动时间
利用合法服务回传数据,攻击者利用自建的Telegram Bot将数据回传至TelegramChat,回传数据通过Base64进行编码。同时,当回传数据字符长度超过4096,则会将回传数据进行分段回传。最后,回传“END_OF_FILE”字符来与后续的数据做区分。
使用的URL形式为https[:]//api.telegram.org/<botid>/sendMessage?chat_id=-<chat id>&text=< Base64编码的数据>OR< END_OF_FILE >。
图2-66 判断回传字符长度是否大于4096
图2-67 对回传信息Base64编码以及对URL进行解密
图2-68 发送数据
图2-69 回传字符“END_OF_FILE”
图2-71 攻击者创建的Telegram Chat
持久化手段,通过将自身拷贝至当前目录并命名为“WindowsSecurity.exe”,同时创建每天11点运行“WindowsSecurity.exe”的计划任务来实现持久化。
图2-72 将自身拷贝至当前运行目录并命名为“WindowsSecurity.exe”
图2-73 创建计划任务进行持久化操作
采用文本文件传递命令,攻击者提前将命令写入C2服务器的tele.txt文本文件中,而木马只需通过获取tele.txt的内容,便可以执行相应功能。可执行的命令如下:
图2-74 可执行的命令
图2-75 获取命令以及执行命令
下载功能,木马可以获取攻击者在tele.txt文本文件中写入的URL链接,下载对应文件至宿主机Temp目录。
图2-76 通过URL链接下载文件
图2-77 存放至Temp目录
执行CMD命令功能,木马可以执行攻击者在tele.txt文本文件中写入的CMD命令,且在命令执行完毕后关闭CMD窗口,并将执行结果通过Telegram Bot回传至TelegramChat。
图2-78 执行下发的CMD命令
图2-79 执行CMD命令,且在运行完成后关闭CMD窗口
休眠功能,攻击者在tele.txt文本文件中写入所需的休眠时间,时间单位为3600000毫秒(1小时),木马成功获取命令后便会执行休眠操作。
图2-80 休眠功能
2.8.3 ICMP版本
安天在7月份发现一例ICMP版本C++反弹Shell木马,其主要通过利用ICMP协议实现反弹Shell,以便逃避防火墙检测。
表2-13 C++木马ICMP版本样例
病毒名称 | Trojan/Generic.ASMalwS.348CACD |
原始文件名 | WindowsSecurity.exe |
MD5 | A5CB519B803***************30F651 |
处理器架构 | AMD AMD64 |
文件大小 | 629 KB (644,608 字节) |
文件格式 | BinExecute/Microsoft.EXE[:X64] |
时间戳 | 2021-07-06 09:56:09+00:00 |
编译语言 | Microsoft Visual C/C++(-)[-] |
VT检测结果 | 42/70 |
与Telegram版本一样都是通过宿主机逻辑处理器数量、运行内存、鼠标指针移动距离以及系统启动时间来判断自身是否处于虚拟机、沙箱。当确认所处环境不是虚拟机以及沙箱,便会利用ICMP协议实现反弹Shell。
图2-81 判断自身是否处于沙箱
图2-82 Base64编码的C2域名
图2-83 获取域名解析的IP地址
图2-84 建立CMD匿名通道
图2-85 执行失败
图2-86 回传CMD命令执行结果
2.8.4 最新版本
在最新版本中,其功能基本没有太大变化,只是攻击者摒弃了采用Telegram Bot回传数据,而是采用通过URL参数传递加密后的数据,回传的数据存储在C2服务器Apache访问日志access.log中。攻击者可以利用与之配套的后台Python脚本可以实现对访问日志进行读取、过滤以及解密,同时还可以实现下发命令操作。
表2-14 C++木马最新版本样例
病毒名称 | Trojan/Generic.ASMalwS.3395B44 |
原始文件名 | WindowSecurity.exe |
MD5 | E07C8D25CD0***************7105A8 |
处理器架构 | Intel 386 or later, and compatibles |
文件大小 | 886 KB (907,265 字节) |
文件格式 | BinExecute/Microsoft.EXE[:X64] |
时间戳 | 2021-09-10 10:38:52 |
编译语言 | Microsoft Visual C/C++(-)[-] |
VT检测结果 | 20/68 |
相较于之前的版本,在最新版本中攻击者采用了多个C2域名进行备用,来保证木马的通讯正常运行。当需要连接C2服务器时,木马则会随机选择一个C2域名,若该C2域名失效,则重新选择C2域名。
图2-87 随机选择C2
采用URL参数形式回传数据,木马会将所有回传数据通过两层Base64以及“NPA”字符密钥进行加密,同时会将宿主机主机名以上述形式进行加密形成唯一标识符。回传数据的URL形式为http[:]//<c2>/id=<两层Base64以及密钥加密的主机名>/session=0?/value=<两层Base64以及密钥加密的数据>/return=True。
图2-88 “NPA”字符密钥加密
图2-89 拼接完整URL
在C2服务器后台,攻击者会利用后台Python脚本根据标识符在C2服务器创建对应目录,并且在相应目录下创建d.txt文本文件,d.txt文本文件的作用是传递攻击者命令。木马只需读取对应目录下d.txt文本文件中命令,执行相应操作。
图2-90 获取对应文件夹d.txt文本文件中的命令
图2-91 下发的命令
当获取不到对应目录中的命令时,木马则会采用备用方案,即获取C2服务器“@/@/h31l0”目录下的d.txt文本文件中命令。
图2-92 执行备用方案
图2-93 @/@/h31l0目录下的d.txt
攻击者利用与之配套的后台Python脚本可以实现对访问日志进行读取、过滤以及解密,从而获取受害者机器回传的信息。
图2-94 后台Python脚本可执行的操作
图2-95 对access.log进行过滤、解密
图2-96 对access.log中的信息进行解密
同时,攻击者还可以通过唯一标识符对特定主机进行下发命令,下发命令的方式为在相应目录下的d.txt文本文件中写入需要下发的命令。在最新版本后台Python脚本中,下发的命令是通过Base64以及“APN”字符密钥进行加密。
图2-97 唯一标识符
图2-98 经过加密的命令
图2-99 对特定主机进行操作
图2-100 对sessionsid进行解密
图2-101 将命令写入对应文件夹下的d.txt
图2-102 将命令写入@/@/h31l0/d.txt
图3-1 幼象攻击组织载荷与C2等攻击基础设施关联图(部分)
幼象攻击者通过向国际公开的安全资源上传自己编写的木马,来测试木马逃逸杀毒软件的能力,但也因此暴露了其所在位置。通过资源检索,至少一名样本的上传者来自印度德里,其在2020-11-23至2020-11-24期间一共上传了8个测试性的恶意文件,而这些测试文件与已知的幼象样本在代码内容上也存在高度同源。
表3-1 ID为106481a3 -web(IN)所上传的测试样本
MD5 | 时间戳 | 文件名 | 上传时间 |
B7E5BC46E82D7*************770D53 | None | hhh.hta | 2020-11-23 07:36:41 |
A38B30510978C*************B37EF0 | 2020-11-18 08:53:29+00:00 | python.exe | 2020-11-23 08:53:24 |
EFC865C91F266*************8D43EE | 2020-11-18 08:53:29+00:00 | python.exe | 2020-11-23 09:04:44 |
CE9D6FE4F889D*************29FC54 | 2020-11-18 08:53:29+00:00 | 1.exe | 2020-11-23 10:28:58 |
5CE14E7305EB8*************93B9E5 | 2020-11-18 08:53:29+00:00 | python.exe | 2020-11-23 10:31:17 |
5C48467FD3E19*************C5E916 | 2020-11-18 08:53:29+00:00 | anyname.exe | 2020-11-23 10:49:56 |
2D01425976F60*************6B3641 | 2020-11-18 08:53:29+00:00 | anyname.exe | 2020-11-23 10:54:10 |
156A3B7370FBC*************206E44 | 2020-11-18 08:53:02+00:00 | driver.exe | 2020-11-24 10:54:43 |
图3-2 内网C2的测试样本
图3-3 内网C2的测试样本
图3-4 上传者大致地理位置
安天CERT通过对该起攻击活动的分析研判,发现其在攻击目标、技战术、诱饵类型以及武器装备等方面与幼象组织有许多相似之处,具体相似之处如下:
1) 两者的攻击目标高度重叠,如尼泊尔、斯里兰卡、马尔代夫、巴基斯坦、阿富汗等印度周边国家。
2) 使用的技战术、诱饵类型以及武器装备与安天在《“折纸”行动:针对南亚多国军政机构的网络攻击》[1]报告中所披露的十分吻合,如恶意的快捷方式、恶意宏文档、恶意HTA脚本、go语言木马、自研的Python木马以及自研的C++木马。同时两者的Python窃密木马都会将窃取的数据回传至自建的Gmail邮箱账号。
3) 两者的域名命名方式十分相似,都是模仿巴基斯坦、尼泊尔、斯里兰卡、马尔代夫等国家的政府机构、国企单位官方域名,同时两者都还喜欢使用美国网络服务提供商No-IP旗下的动态域名,如hopto.org、myftp.org、servehttp.com、sytes.net等
表3-2 使用部分域名对比
以往攻击活动 | 本次攻击活动 |
gov-pk.org | gov-af.org |
mail.paec.gov-pk.org | mail.arg.gov-af.org |
ntc-pk.sytes.net | cpanel-nctc.sytes.net |
quwa-paf.servehttp.com | webmail-org.servehttp.com |
nhsrcgovpk.servehttp.com | unssc.servehttp.com |
pakcert.hopto.org | covid19mndf.hopto.org |
ntc-pk.sytes.net | ncit-gov.sytes.net |
support-gov.myftp.org | mail-argaf.myftp.org |
综合以上几点,我们判断这些攻击活动归属于幼象组织。
表4-1 近期幼象攻击活动的技术行为描述表
ATT&CK阶段 | 具体行为 | 注释 |
侦察 | 搜集受害者网络信息 | 搜集目标邮箱地址 |
搜索受害者自有网站 | 搜索目标官方邮箱网站,以供后续仿制 | |
资源开发 | 获取基础设施 | 购买服务器 |
初始访问 | 网络钓鱼 | 猜测攻击者通过鱼叉邮件投递恶意链接和恶意文件 |
执行 | 利用命令和脚本解释器 | 如文档类和LNK类诱饵皆有通过命令执行载荷 |
诱导用户执行 | 对Windows和安卓平台的诱饵皆有诱导用户执行文件 | |
持久化 | 利用自动启动执行引导或登录 | 如击键窃密组件会拷贝自身至系统的启动目录 |
利用计划任务/工作 | 如综合窃密组件和后门组件会添加系统任务计划执行自身 | |
防御规避 | 仿冒 | 如恶意宏文档会弹出虚假的报错窗口降低目标的防备心; 再如钓鱼网站最后会返回貌似官方的文件迷惑攻击目标 |
虚拟化/沙箱逃逸 | 如后门组件会判断是否处于虚拟机或沙箱中 | |
凭证访问 | 从存储密码的位置获取凭证 | 如综合窃密组件会从浏览器的固定文件中提取账号密码 |
输入捕捉 | 如击键窃密组件会收集目标的击键行为可供获取凭证 | |
发现 | 发现文件和目录 | 如综合窃密组件会对指定目录下指定后缀的文件进行收集 |
横向移动 | 执行内部鱼叉式钓鱼攻击 | 猜测攻击者会利用盗取的邮箱向通讯录再发送攻击邮件 |
收集 | 自动收集 | 如综合窃密组件通过脚本自动化执行搜索和回传工作 |
收集配置库的数据 | 如综合窃密组件从浏览器的固定配置数据库中获取凭证 | |
输入捕捉 | 如击键窃密组件会收集目标的击键行为 | |
命令与控制 | 使用应用层协议 | 本次活动大多工具皆使用如HTTP/HTTPS等应用层协议 |
编码数据 | 如综合窃密组件和后门组件会在数据回传前做Base64编码 | |
使用备用信道 | 如最新版的后门组件硬编码了多个备用的C2域名 | |
使用合法Web服务 | 如后门组件有利用合法的Telegram聊天机器人做C2通讯 | |
数据渗出 | 自动渗出数据 | 本次活动大多工具皆自动向外传输窃取的数据 |
使用Web服务回传 | 如后门组件会利用Web服务向聊天机器人传输窃密数据; 再如钓鱼网站会利用Web服务向指定域名传输账号密码; | |
使用Web服务回传 | 如后门组件会利用Web服务向聊天机器人传输窃密数据; 再如钓鱼网站会利用Web服务向指定域名传输账号密码; |
幼象组织相关攻击活动的行为技术点的ATT&CK框架图谱下图所示:
图4-1 幼象组织攻击活动对应ATT&CK威胁框架映射图
5.1 基于安天防御框架的能力改进指引
安天坚持借鉴吸收杀伤链、ATT&CK威胁框架等思路,通过持续跟踪、全量自动化分析、攻击技术提炼遍历等工作,正在逐步实现对安全威胁的知识图谱化运营,不断驱动产品能力提升,形成对威胁的形式化评价和认知能力。
与此同时,安天也坚持希望让防御能力也走入形式化评价和运营的轨道,安天基于二十余年的一线威胁对抗经验,在吸收和部分借鉴NIST CSF框架、SHIELD积极防御框架和D3FEND知识图谱等安全理念的基础之上,提出了安天防御技术框架,特别强调“塑造”环节,发挥建设方和运营方的先发优势,加大纵深防御、构筑欺骗环境,让安全保护措施与关键信息基础设施同步规划,同步建设,同步使用。
当前安天防御技术框架版本为初稿,我们将持续完善更新。针对本次攻击活动基于安天防御框架的关注点清单如下图所示:
图5-1 基于安天防御框架的关注点清单(针对幼象攻击组织)
5.2 安全防护建设清单
5.2.1 能力体系建设
针对幼象攻击组织,基于安天防御框架的关注点清单,机构应加强防御能力的建设,构筑体系化威胁对抗能力,并加强人员安全意识培训,完善实战化安全运营能力。根据防护框架关注点的指引,防护建议具体包括以下内容:
5.2.1.1 建设与运营建议
(1)塑造针对钓鱼攻击的欺骗环境,在机构邮箱系统配置具有较强迷惑性的诱饵信箱地址,诱捕恶意的钓鱼邮件,增加定向攻击者的判断分析成本,可以基于安天追影威胁分析系统(邮件版)进行信箱收取分析;在机构官方网站隐蔽位置布置正常用户不会点击的诱饵链接、诱饵页面等,诱捕恶意的爬取行为,增加定向攻击者的判断分析成本。
(2)提升端点对钓鱼攻击的有效防护能力,利用类似安天智甲终端防御系统产品家族等产品,完善恶意代码检测防护能力环境,对待邮件中的恶意附件、恶意链接地址,进行告警,并对可疑文件进行隔离;在隔离环境下对附件进行深度分析。
(3)强化统一端点防御能力,加强网络安全管理基础,建立对存在重大风险隐患的拒绝访问策略,屏蔽外联风险;同时建立黑、白名单机制,保障系统环境的安全性;监测用户行为,分析网络活动,避免攻击者通过合法的WEB服务做C2通讯;对系统进行加固配置,强化基线防护能力。这些工作可以依靠有经验的网管手动完成,同时可以利用类似安天智甲终端防御系统进行统一分组设定、批量化执行完成。
(4)进一步加强网络环境管控能力,增强积极防御主动性。在日常流量监测过程中,监测是否有自动收集信息的流量,避免攻击者通过脚本等自动化执行搜索和回传工作;监测是否有收集配置库数据,避免攻击者从流量器的固定配置数据中获取凭证;监测是否有WEB服务异常流量,及时上报,并留存流量。这些工作可以以来安天探海威胁检测系统完成。
(5)提升防护技术措施运营水平:通过规划、执行、检查和改进(PDCA环)构成闭合循环过程,持续驱动安全能力建设得到不断提升;通过观察、定位、决策和执行(OODA环)构成闭合循环过程,持续驱动技术措施的开发、部署和运营能力提升。追寻比攻击者更快的循环,以快速响应、协同联动的目标为指导,建立更快的响应处置闭环。这些工作可以由安天战术型态势感知平台来承载。
5.2.1.2 处置建议
(1)密切关注网络连接行为,及时了解和发现当前环境的详细信息,及时阻断横向运动,及时处置。这些工作可以由安天智甲终端防御系统、捕风蜜罐系统、探海威胁检测系统、镇关防火墙等产品联动机制完成。
(2)在隔离环境下对疑似载荷进行全面综合分析,产出私有威胁情报并在机构内进行安全预警,防止恶意样本落地与大面积传播。分析工作可以由安天追影威胁分析系统承载,情报输出给安天智甲终端防御系统联动完成。
(3)依据事件的响应处置结果,对重要系统进行配置加固,拒绝访问注册的行为;拒绝非必要启动项及修改启动的行为;调整并加强访问控制策略,限制文件和目录权限,使用文件系统访问控制来保护关键文件夹;调整并加强权限控制策略,只允许用户具备所需的最小权限。相关工作可以由安天智甲终端防御系统依托分组安全策略管理完成。
(4)终端及时安装更新补丁,避免漏洞被利用;定期使用安全软件扫描系统,及时定期更新库。相关工作可以由安天智甲终端防御系统统一系统补丁分发,定时扫描和更新设定完成。
(5)做好服务器与终端间访问控制,设定可以对服务器远程桌面的IP、协议、端口,尽量隔离服务器与终端。相关工作可以由安天智甲终端防御系统的分布式主机防火墙设定完成。
(6)依据详细的事件复盘分析,进一步塑造具备高仿真度的虚拟资产以及高仿真的网络/用户行为,强化迷惑攻击方,为保护真实资产营造利我环境。相关工作可以由安天捕风蜜罐系统、和安天智甲终端防御系统的主机欺骗防御工作完成。
5.2.2 人员意识提升
由于钓鱼攻击存在大量社工技巧,有可能存在针对性设计,在改善安全能力建设与运营、处置之外,要注意全员的安全意识提升:
(1)重视并培养员工网络安全意识,非必要不公开预留邮箱信息,以减小暴露面;如留邮箱信息可采用上传邮箱图片、用#等字符替代@、域名后缀插入空格字符等人可读但机器不易自动识别的方式,最大限度防止地址被自动化爬取。
(2)加强机构员工的针对钓鱼攻击的安全演练,模拟钓鱼攻击的场景,检查员工的网络安全意识,并形成专项活动的报告,验证员工的安全素质,以及应对该安全事件时的处置流程的正确性。
安天安全服务,可以为机构进行相关IT意识培训和对抗研训评估。
当然从目前看到的攻击装备图谱上看,其攻击载荷工具体系性不强,技术栈相对庞杂混乱,高度依赖社会工程学技巧,尚未看到具备0DAY漏洞的挖掘和利用能力,甚至很少看到对已知漏洞的使用。但这并不表明,幼象带来的攻击就是低成功率的。这种攻击能力一定真实反应了被攻击方真实的低水平防护和较弱的人员安全意识。这也和我们一致以来保持的观点一致,即APT(高级持续性威胁)的关键要素是P(持续性),因为P体现了攻击方的意图和意志,是判定APT攻击中决定性要素。而A是一种相对性要素,攻击方并不需要绝对“高级”的攻击技术,只要能构建出相对于防御水平包括意识短板的“位势差”或与攻击方脆弱性敞口碰撞,就能形成有效的攻击。这种攻击能频繁奏效,实际上真实体现了南亚国家、包括更多发展中国家真实的面临的网络安全风险挑战。
南亚是世界四大文明的发源地之一,在历史上,农业、手工业和文化艺术均曾达到较高水平。但受到长期殖民主义入侵影响,较长时间中断了悠久的文明历史、经济停滞,导致南亚一度成为世界上最贫穷落后的地区。而二战后,南亚民族解放运动的兴起。西方殖民者采用分而治之的方式,制造民族、宗教矛盾,造成了南亚国家从独立之日起,就存在错综复杂的地缘政治问题的恶果。我们今天看到的南亚次大陆的传统地缘到网络空间的诸多问题,都是这些恶果沿袭叠加在复杂的种族、民族、教派等问题上的综合体现。遭遇幼象攻击组织的南亚相关国家,其经济相对不发达,信息化和网络安全能力较弱,给了攻击组织可乘之机,但他们和其他国家一样,有在捍卫本国主权、安全和发展利益的权力,无论在物理空间还是网络空间,同样都是如此。
附录一:安天主线产品对相关攻击的防御价值
安天全线产品应对相关攻击安全防护价值简介表 | |||
产品品牌 | 产品定位 | 部署方式 | 对相关攻击安全防护上的价值 |
智甲 终端防御系统 | UES 统一端点防御 覆盖 EPP\EDR\CWPP | 安装(或原厂预装)在系统主机上。 | 智甲基于边界防护、浏览器防护以及邮件客户端防护等机制,实时检测、防护钓鱼邮件攻击行为,依托安天AVL SDK反病毒引擎进行精准的扫描、检测、告警,可及时检测出邮件中的钓鱼文件、网站的非法URL和下载的可疑应用,对文件、应用进行自动扫描,对钓鱼URL进行自动识别,判断是否为钓鱼类攻击,并对用户进行告警。 智甲通过主机配置加固、补丁管理、分布式防火墙与黑白双控等机制形成对系统侧防御环境的主动“塑造”,建立防御主动性,收缩可攻击面,限制攻击路径和执行成功率。 智甲统一端点防御针对易受钓鱼攻击的移动办公终端,通过wifi安全识别与管控手段,识别出私自搭建的WIFI基站并向管理平台进行告警,保障用户有效地防范钓鱼攻击。 同时,智甲在系统侧捕获的邮件附件可以与追影威胁分析系统实时联动,对邮件附件进行深度分析,揭示潜在的漏洞利用、恶意攻击行为,生产威胁情报同步至端侧、流量及边界侧形成协同防御效果。 |
探海 威胁检测系统 | NDR 网络检测响应 | 在政企网出口、关键网段等位置旁路部署,可以作为云资源池部署。 | 探海基于细粒度协议解析、多维度检测与全要素记录等机制,实现对网络钓鱼活动进行精准检测与告警。探海能够对邮件通讯实现网络元数据(如IP、域名、端口等),应用层传输要素(如HTTP URI、USER-AGENT、邮件收发件人、主题等),载荷对象要素(如邮件附件名、HASH、文件格式等)、载荷行为要素(如下载器、加密、发送版本信息等)、威胁判定要素(如威胁检出对象、威胁名称、攻击组织等)、内置大量知识化标签(如DDoS、跨境通讯、带链接邮件)及自定义标签等要素信息,并进行全要素的留存,更有效地支撑威胁研判、追踪溯源、线索挖掘与情报生产,更易于分析和关联,有效提高用户现场高级威胁的发现和识别能力。 探海基于自定义场景化规则,帮助用户构建攻击者难以预知的检测策略,例如针对网络钓鱼类攻击,结合客户场景特点,通过设定“跨境通讯”标签、“邮件通讯”标签、“文件格式为文档”、“载荷具有启动powershell的行为能力”这些要素的组合,可以构成基于邮件投放的无实体文件攻击的场景检测规则。 |
捕风 蜜罐系统 | 威胁欺骗捕获 | 支持企业内网、隔离网、私有云、公有云等部署场景。 | 捕风蜜罐系统支持通过构建诱饵信箱、模拟邮件服务等手段塑造欺骗式防御环境,诱捕相关攻击行为,实现攻击预警、情报生产与联动响应;同时可以与导流设备结合,针对定向钓鱼攻击行为,进一步分析和揭示攻击者攻击链与技战术,为后续威胁分析、取证、溯源、猎杀等工作提供必要的基础。 |
追影 威胁分析系统 | FA 文件分析 | 旁路部署,联动设备与查询结果终端路由可达即可。 | 追影可以与智甲、探海等安天全线产品以及邮件应用系统联动使用,或安全工程师手工交互,基于深度静态分析和高仿真沙箱环境执行双重机制分析文件对象,针对钓鱼攻击文件中的载荷,可以有效分析标定非法网络连接、后门程序、转发程序、木马植入、远程控制等行为,协助用户生产威胁情报,联动威胁响应和处置。 |
拓痕 应急处置工具箱 | 应急处置 | 基于U盘、光盘、便携设备与场景连接使用。 | 拓痕基于对系统层面进行深度威胁检测分析,包括进程、服务、扇区等对象的全要素提取解析,调用安天AVL SDK反病毒引擎进行更为精准的检测,检出和留存攻击载荷,提取可疑对象。从而有效发现钓鱼攻击在端点侧的活动,并通过底层处置能力,清除钓鱼文件、软件等威胁,完成威胁发现、分析、取证、处置业务闭环。 |
附录二:参考资料
[3] “苦象”组织上半年针对我国的攻击活动分析
https://www.antiy.cn/research/notice&report/research_report/20210705.html
[4] 白象的舞步——来自南亚次大陆的网络攻击
https://www.antiy.cn/research/notice&report/research_report/304.html