事件概述
近期鹰眼威胁情报中心 (https://ti.duba.net/) 陆续捕获到多个以“举报”为诱饵的一批的钓鱼攻击,攻击者对多个目标投放诱饵,涉及高校,金融公司,高新技术企业等,诱饵文件名包含如下字样:“举报材料”、“作弊证据”、“举报证据”等。其中一些是对企事业单位信访科的攻击可见是非常有预谋的定向攻击。这些诱饵最终都会释放 Cobalt Strike 远控,企图对目标进行长期监控和对内网的进一步渗透攻击。攻击者对不同的目标都做了定制化的免杀,样本都不重复,推测攻击者对目标环境有一定的了解。例如在针对某信访科的攻击中使用了双诱饵,内存中执行的 CS Shellcode 利用 SEH 异常机制动态解密和执行指令,每次执行一条指令后就清空上一条指令,内存中始终只保留一条指令,躲避启发式查杀和内存扫描。其他几例攻击中分别使用了 Go 语言和 Python 打包混合执行以及文件膨胀免杀。最终的 C2 都指向腾讯云的 API 网关从而隐藏真实的 C2 地址,可以看出攻击者有较强免杀和隐藏技巧。
1. 针对某单位信访科的钓鱼分析
此次攻击使用电子刊物格式 caj 和可携带文档格式 pdf 的图标,并配以举报材料和作弊证据的名字进行迷惑用户点击。用户无论打开哪一个,其攻击手段如出一辙。
样本运行后,都是通过先安装 SEH,然后去执行 0xcc 地址触发异常,利用某些引擎对 SEH 的模拟处理不完善,从而绕过其动态启发式的查杀。在进入异常处理流程后,进行动态链式的解密清空执行所需的 ShellCode,这种处理明显是为了躲避杀软的内存扫描,在异常的“加持”下内存始终保持着最长 20 字节的指令。
该 ShellCode 实际为 Cobalt Strike Stager 用于从 https://service-iywh4vgv-1301088967.cd.apigw.tencentcs.com/vue.min.js 下载加密的 beacon.dll,在内存中展开执行。我们还追踪到 beacon 模块又下发了一个 CS 组件“invokeassembly.x64.dll”用于后渗透攻击。
beacon 部分配置如下:
BeaconType - HTTP
Port - 80
SleepTime - 45000
MaxGetSize - 1398104
Jitter - 0
MaxDNS - Not Found
PublicKey_MD5 - e9ae865f5ce035176457188409f6020a
C2Server - service-iywh4vgv-1301088967.cd.apigw.tencentcs.com,/api/x
UserAgent - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.2121 Safari/537.36
HttpPostUri - /api/y
Malleable_C2_Instructions - Base64 decode
HttpGet_Metadata - ConstHeaders
Accept: */*
Metadata
base64
prepend "SESSIONID="
header "Cookie"
HttpPost_Metadata - ConstHeaders
Accept: */*
SessionId
base64
prepend "JSESSION="
header "Cookie"
Output
base64
2. 针对某半导体企业的攻击分析
攻击流程:
该样本使用 Go 语言进行编写,使用压缩包隐藏在邮件中进行传播,使用超长名字以隐藏 exe 后缀并伪装成 docx 后缀形式进行迷惑用户点击,样本启动后会在同目录下写入 举报证据.docx,如下图所示。并调用 cmd 进行打开此文档。释放 pycode.exe 文件到 C:UsersPublic 目录下并执行启动后续的攻击流程。
pycode.exe 分析:
此模块属于Pyinstaller 打包的 Python模块,在运行此模块后会进行释放 Python 所需要的文件至 %Temp% 的 _MEI20042 文件夹下进行作为 Python 环境所需要的支持。通过对 Pyinstaller 的解包分析,此模块下的 Python 核心源码文件均被加密为字节码,使得无法轻易获得其源码,通过 PyEval_EvalCode 函数中进行解析字节码指令执行。
然后执行后在内存中写入一段 Cobalt Strike Stager 并执行,后续逻辑与前一案例一致:下载 Cobalt Strike beacon.dll 到内存中执行,C2 地址同样为中转的腾讯云函数:https://service-rs0iggq1-1305836665.sh.apigw.tencentcs.com//bootstrap-2.min.js 。
beacon 部分配置如下:
BeaconType - HTTPS
Port - 443
SleepTime - 3000
MaxGetSize - 1398104
Jitter - 0
MaxDNS - 255
PublicKey_MD5 - 1f1410c901d9d89b09784d0c2b5f945a
C2Server - service-rs0iggq1-1305836665.sh.apigw.tencentcs.com,/api/getit
UserAgent - Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/5.0)
HttpPostUri - /api/postit
Malleable_C2_Instructions - Base64 decode
HttpGet_Metadata - ConstHeaders
Accept: */*
Metadata
base64
prepend "SESSIONID="
header "Cookie"
HttpPost_Metadata - ConstHeaders
Accept: */*
SessionId
base64
prepend "JSESSION="
header "Cookie"
Output
base64
目前 Ti 鹰眼威胁中心已支持查询该样本的相关情报信息,此外,还可以使用Ti 鹰眼威胁中心的高级检索功能获取以“举报”命名的情报:https://ti.duba.net/search-result?search_key=file_names%3A%E4%B8%BE%E6%8A%A5。如下图所示:
总结
通过对上述样本的分析和鹰眼情报中心关联的情报溯源,此次攻击采用了“举报”之类的命名以吸引眼球迷惑用户进行点击,用户稍有不慎就可能掉入陷阱,而且攻击者使用的 C2 均为腾讯云的微服务架构 API 网关,利用网关转发隐藏真实的服务器地址,每次攻击都可以创建一个新的网关触发器,攻击成本低且隐藏效果好。
近年来,Cobalt Strike 在攻击活动中扮演着越来越重要的角色,它可以帮助攻击者窃取数据,进行各种恶意操作,比如盗取企业信息、密码、电子邮件等。安全意识稍有不足,攻击非常容易得逞,继而对内网进行横向移动或钓鱼攻击等。甚至最近超过三分之一的 APT 攻击中都有 Cobalt Strike 的参与,在 Cobalt Strike 的滥用下,信息窃取,数据泄露事件频发给许多企事业单位造成重大损失,可见其危害性之大。相关人员需要提高个人的安全意识,安装杀软实时监控。现毒霸已支持相关模块的查杀:
IOC
MD5
5DE944206BB2112DBC544EF23855309C
92D49C67CD9CC2CAC86C170E85ACAF6F
E865C4F13E3B5C2F278EC51B17825647
BB4419982D18ED98E020F2C23600E6AB
C2
service-iywh4vgv-1301088967.cd.apigw.tencentcs.com
service-rs0iggq1-1305836665.sh.apigw.tencentcs.com
service-hx4caudh-1253827968.sh.apigw.tencentcs.com
原文始发于微信公众号(鹰眼威胁情报中心):黑客组织以举报为诱饵针对信访机构发起攻击