季风行动 - 蔓灵花(APT-C-08)组织大规模钓鱼攻击活动披露
蔓灵花(APT-C-08)是一个拥有南亚地区政府背景的APT组织,近几年来持续对南亚周边国家进行APT攻击,攻击目标涉及政府、军工、高校和驻外机构等企事业单位组织,是目前较活跃的针对我国境内目标进行攻击的境外APT组织之一。
2020年360安全大脑在全球范围内曾监测到蔓灵花组织多次攻击行动,如年初在COVID-19新冠病毒席卷我国之际,该组织就曾借疫情攻击过我国的相关单位。从7月开始,360安全大脑遥测发现蔓灵花组织针对南亚地区发起了大规模的钓鱼窃密攻击活动,通过360高级威胁研究院的追踪溯源,发现此次攻击行动的目标涉及包括我国和巴基斯坦在内的多个单位组织、政府机构,攻击活动一直持续活跃至今,本次攻击中继续沿用了之前仿冒目标邮箱系统钓鱼攻击的技战术,但其攻击规模和频次较之前大幅度增加,进一步针对部分重点目标还会以伪装会议文件或软件进行恶意载荷投递。
在南亚地区每年都会有特定的季风气候,每一年的季风来临时间一般出现在6-9月之间,根据南亚地区强烈的季风季节特点和攻击活动的时间周期,360高级威胁研究院将蔓灵花组织在此期间的攻击行动命名为“季风行动“,本报告将对此次”季风行动“的攻击进行全面的分析披露。
受影响情况
通过对钓鱼网站域名的模仿目标进行分析整理,其攻击针对的行业分布如下图所示:
对攻击者的钓鱼域名出现及活跃时间进行统计,发现钓鱼域名集中在7、8月份活跃
攻击行动分析
与蔓灵花组织以往的APT攻击手法不同,本次蔓灵花组织展现出了一种全新的攻击模式,该组织采用社会工程学的手段对目标受害者的邮箱账户进行了多种方式的钓鱼攻击。
首先该组织会选定部分容易攻破的邮箱进行针对性的攻击,期间可能通过暴力破解或伪造了目标单位对外邮箱服务的网站,掌握了部分种子受害者的邮箱账户及密码。然后攻击者会利用种子受害者邮箱账户,针对信任种子受害者的联系人定制诱饵邮件,再次发起二次攻击并扩大攻击范围。
这种利用信任关系发起的二次攻击,会使用多种社会工程学攻击手法:
通过精心构造的假附件链接,骗取用户登陆伪装的邮件网站登陆网页
假冒会议事件,骗取用户使用伪装的会议软件安装包(例如 Zoom)
常规的恶意文档,诱导用户点击执行DDE漏洞文档、伪装文档图标的EXE文件
攻击者的钓鱼网站直接克隆了目标的邮箱网站的前端页面代码和资源,因此钓鱼页面与真实网站相似度极高,普通用户难以辨别。
仿冒163邮箱门户
仿冒中华人民共和国***邮件系统
仿冒***研究中心邮件系统
仿冒***大学邮件系统
仿冒***工业集团有限公司
仿冒***大学邮件系统
仿冒***互联网邮件系统
攻击者将这些邮件系统中的账号登录POST表单地址替换成自定义的地址来记录账户密码。
在钓鱼邮件构造的上,攻击者会利用受害者联系人的信任关系,发出群发邮件,通过附件链接的形式诱导受害者点击,受害者将跳转到与当前邮箱相同的登录钓鱼页面中,被骗取密码重新登陆以获取附件,攻击过程极具欺骗性。
域名构造
通过分析钓鱼网站的域名,我们发现其主要针对目标的真实域名进行模仿,其模式是将域名中的"."变为“-”作为子域名前缀,并附加第三方主域名方式进行伪装。例如:
被仿冒网站:mail.tsinghua.edu.cn 钓鱼网站:mail-tsinghua-edu-cn.netlify.app
被仿冒网站:mail.nwpu.edu.cn 钓鱼网站:mail-nwpu-edu-cn.netlify.app |
资产分析
该组织的钓鱼攻击所使用的网络资产属于国外的第三方网络服务和VPS供应商
该组织使用了000webhostapp.com、netlify.app和herokuapp.com这些三方网页服务制作钓鱼网站
部分自主控制的域名和服务器资产hhwebmail.com、coremailxt5.com、jspsessionindex.com、system-e-mails.space等服务器供应商均为法国的OVH公司
其中system-e-mails.space域名的MX记录显示,其使用mailhostbox.com作为邮件服务代理
该组织投递的恶意附件,主要包含以下几类:
DDE漏洞文档
伪装的知名办公应用的安装包(如:Zoom)
恶意压缩包附件,其中包含伪装PDF文档图标的EXE文件
恶意载荷分析
在钓鱼邮件的相关攻击中,存在着较少数投递恶意代码的行为,目前观测到的恶意代码主要有以下两类:
该类样本使用Delphi进行编写,其使用了Bobsoft打包器打包的DarktrackRAT,主要运行逻辑如下图所示:
通过钓鱼邮件投递的ZIP压缩包包含一个无法运行的PDF文档和名字带有“Revised“的恶意程序。
解压后,可以看到恶意程序的图标也是pdf图标。
由于正常的PDF文件无法打开,从而诱使用户点击Revised Programmable Logic Control (PLC) System.exe。执行相应程序。
在RevisedProgrammable Logic Control (PLC) System.exe中,通过修改SEH异常处理,并通过div指令除以0来触发该异常,进入Shellcode解密执行的流程。
Shellcode会遍历当前进程列表,并通过以下方式来判断自身是否存在于沙箱环境或被调试。
“aswidsagent“ | ”avgsvc.exe“ | ”avgui.exe“ | ”avastsvc.exe“ | ”avastui.exe“ |
”avp.exe“ | “bdagent.exe“ | “bdwtxag.exe“ | “dwengine.exe“ | “msmpeng“ |
“mpcmdrun“ | “nissrv“ | “procmon.exe“ | “procmon64.exe“ | “procexp.exe“ |
“procexp64.exe“ | “ollydbg.exe“ | “windbg.exe“ |
通过RC4算法,对资源进行解密,获取文件名,将自身路径与文件名进行对比,若不一致的话,则创建Notepad.exe进程,并对其进行注入,进而复制自身到指定路径。并在目录
“%appdata%\Microsoft\Windows\StartMenu\Programs\Startup\
创建Msgr.exe.vbs用于实现自启动驻留。其中Msgr.exe.vbs的内容如下:
当程序以指定路径启动后,则再次获取资源文件,以RC4算法解密,获得PE文件,创建自身子进程,将其映像内存映射到子进程上,启动执行,此时执行的程序为DarktrackRAT。
其中功能列表如下表:
指令 | 功能 |
0x2 | 关闭连接 |
0x3 | 退出程序 |
0x4 | 关闭连接并完成自删除 |
0x5 | 遍历磁盘信息,并发送至服务器 |
0x6 | 遍历指定目录,并将文件信息发送至服务器 |
0x8 | 打开指定文件 |
0x9 | 以SW_HIDE模式打开指定文件 |
0xa | 删除指定文件 |
0xb | 移动指定文件到指定路径 |
0xc | 获取指定文件大小,创建线程,使用功能列表2进行交互。 |
0xe | 创建线程,使用功能列表2进行交互。 |
0xf | 遍历进程,获取进程名,发送至服务器 |
0x10 | 关闭指定进程 |
0x11 | 遍历当前窗口,获取窗口标题和状态,发送至服务器 |
0x12 | 将指定窗口最大化 |
0x13 | 将指定窗口最小化 |
0x14 | 向指定窗口发送WM_CLOSE消息 |
0x15 | 遍历服务信息,获取服务名和状态,发送至服务器 |
0x16 | 关闭指定服务 |
0x17 | 开启指定服务 |
0x18 | 获取屏幕高度和宽度,创建线程,使用功能列表2进行交互 |
0x1c | 遍历指定注册表项,将注册表数据发送至服务器 |
0x1e | 为服务器提供远程shell |
0x21 | 将接收到的数据写入全局变量,进行cmd.exe的交互 |
0x22 | 创建注册表项 |
0x23 | 删除指定注册表项 |
0x24 | 删除指定注册表项 |
0x26 | 创建线程,使用功能列表2进行交互。 |
0x27 | 创建线程,使用功能列表2进行交互。 |
0x31 | 获取指定文件大小,创建线程,使用功能列表2进行交互。 |
0x34 | 无特殊功能,发送数据给服务器 |
0x36 | 获取桌面或者我的文档的全路径 |
0x37 | 模拟按键 |
0x38 | 移动鼠标进行左键单击 |
0x39 | 移动鼠标进行右键单击 |
0x3a | 创建指定目录 |
0x3b | 批量删除指定文件 |
0x3c | 移动指定文件到指定路径 |
0x3d | 获取chrome,firefox的账号密码信息 |
0x3e | 删除指定文件,并从Url获取数据写入该文件,然后执行 |
0x3f | 删除指定文件,并从Url获取数据写入该文件,然后执行,并完成自删除 |
其中功能列表2如下:
指令 | 功能 |
0x1a | 清除屏幕截图缓存,获取屏幕截图发送至服务器 |
0x1b | 获取屏幕截图,发送至服务器。该方式会和上一张截图进行对比,若一致的地方覆写为’0’ |
0x25 | 发送文件键盘监控记录文件klog.dat到服务器,然后删除该文件 |
0x28 | 枚举本机的视频摄像设备名 |
0x29 | 绑定视频设备 |
0x2a | 发送视频设备的图像至服务器 |
0x2b | 关闭视频设备 |
0x2c | 循环接收数据,写到指定文件 |
0x32 | 把文件数据压缩,然后上传 |
0x33 | 上传指定文件 |
在最近的2个月时间内,我们发现该组织针对该恶意代码工具的迭代较为频繁。
首先,攻击者对Shellcode入口进行了多次更新,从而来达到逃避杀毒软件检测的目的,最开始其使用了简单的异或来处理Shellcode,随后又换成了RC4算法。
另外,起初是直接进行Shellcode的解密和执行,但是在8月份,发现该系列样本会首先通过除0操作触发异常0xC0000094,跳转进入设置为PAGE_GUARD(保护页)的地址,从而触发STATUS_GUARD_PAGE(0x80000001)异常,进入Shellcode的解密流程。
蔓灵花同时还在使用开源远控程序AsyncRAT,其主要执行逻辑如下:
首先从压缩包解压出伪装成PDF的VB Downloader程序“2020-07-28_RepairForConfirmation_PDF.exe”
其从hxxp://authowawebmailgo.com/securemail.auth/W.exe 和 hxxp://authowawebmailgo.com/securemail.auth/CETC/w.pdf 分别下载Loader程序和诱饵PDF文件到目录”%USERPROFILE%\my documents\“下,命名为msgrs.exe和CETC.pdf。
诱饵PDF文件内容如下,内容为CETC贸易相关:
其中msgrs.exe是一个经过混淆的.net程序,混淆类型为.NET Reactor。在该程序中,读取资源数据进行解密,获得Pj.dll,并反射加载执行,其大致功能如下:
数组下标 | 字段 | 功能 |
19 | “yes“ | 遍历进程是否存在“Fiddler“或”wireshark“,若存在则退出 |
18 | “T“ | 通过WMI判断是否为虚拟机环境,若是则退出。 |
17 | “T“ | 若为“T“,则退出,若不为”T“则获取资源”input“,解密后加载执行 |
5 | “T“ | 获取“Bindfile“资源,解密后写入目录”%appdata%\“下,并执行,其中文件名为array[6],Key为array[1] |
7 | “T” | 判断当前程序路径是否含有字符串“\AppData\Roaming\“,若没有,则不执行array[5]释放的文件 |
14 | 数值大于1 | 休眠对应秒数 |
9 | “T“ | 复制自身到“%appdata%“下,其中目录名为array[10],文件名为array[11],并在Startup启动目录下,创建lnk以实现自启动 |
其复制自身到路径“%AppData%\IEElements\ielowmic.exe“,并获取资源”input“,解密后加载执行,解密后程序为混淆过的AsyncRAT,其功能如下所示:
总结
根据我们的详细披露,可以看到蔓灵花(APT-C-08)组织正在定向瞄准大型机构,运用社会工程学开展长达数月的大规模钓鱼攻击行动,其攻击手法狡猾多变、令人防不慎防,一旦攻击成功致使机密数据资料泄漏,将会给政府机构、企业乃至个人都带来严重的损失。360高级威胁研究院将持续监测该组织的攻击活动,目前360威胁情报云、APT全景雷达等360全线安全产品已经支持对该组织的攻击检测,可以有效保护政企机构免受该组织的攻击。
ATABOYS小组
ATABOYS小组是360高级威胁研究院下设的新人团队,由部门新一代的实习生和新进员工组成。作为360高级威胁研究院的一股新生力量,团队以共同学习、共同进步为目标,专注于APT捕获、病毒样本分析、攻击追踪溯源等高级威胁研究领域。
360高级威胁研究院
360高级威胁研究院是360政企安全集团的核心能力支持部门,由360资深安全专家组成,专注于高级威胁的发现、防御、处置和研究,曾在全球范围内率先捕获双杀、双星、噩梦公式等多起业界知名的0day在野攻击,独家披露多个国家级APT组织的高级行动,赢得业内外的广泛认可,为360保障国家网络安全提供有力支撑。
hhwebmail.com/mfa/
hhwebmail.com/drc/
mail-tsinghua-edu-cn.netlify.app
maill-cnnc-com-cn.netlify.app
mail-nwpu-edu-cn.netlify.app
mail-customs-gov-cn.herokuapp.com
msword.windowsupdate.microsoft.msn.coremailxt5mainjsp.com
us02web.zoom.us.coremailxt5mainjsp.com
jspsessionindex.com
authowawebmailgo.com
23.152.0.221
79.141.168.109: 4975
3b092371db8d43f89de66683508982ac
f66d98a61c5b00423da7c7adf028cd0a
exe
151a8678be4bc674649dd64964e440f6
cdbcae04476261585322163bb02bde2d
82785755de64891dc16687c55ec951df
bcacf31865962868a5867e091f4627a8
9d9ea8060ca29139803dc7e0dc7d183c
zoominstaller
b28199f88697af8eb1e512a1df6cbf6d
msi
143d2add4e12aad52afe8d92865c1042
DDE doc
1331b068477e2974894a899c855bfc4b