HttpTroy 后门
一名与朝鲜有关联的黑客(网名为 Kimsuky)被发现向韩国境内的单个目标投放了一种此前未知的后门程序,该程序被追踪为“HttpTroy”。披露的信息并未包含事件发生的具体时间线,但研究人员报告称,此次入侵始于一个精心设计的钓鱼包裹,该包裹伪装成 VPN 发票,诱骗受害者打开恶意文件。
目录
交付和初始执行
感染始于一个伪装成 VPN 设备发票的 ZIP 压缩包。压缩包内包含一个 Windows SCR 文件,该文件执行后会启动一个自动化的三阶段执行链。第一阶段是一个用 Go 语言编写的小型投放器。该投放器包含三个嵌入式资源,其中一个是看似无害的 PDF 文件,用于诱骗用户打开,以便恶意活动在后台悄无声息地运行。
执行链
- 小型 Golang 投放器(包含嵌入式诱饵 PDF 和其他有效载荷)
- 名为 MemLoad 的加载器组件
- 最终版 DLL 后门,代号 HttpTroy
持久性和加载器行为
加载器 MemLoad 与投放器同时运行,负责持久化和有效载荷部署。它创建一个名为“AhnlabUpdate”的计划任务——这显然是为了模仿 AhnLab 以降低怀疑——并利用该任务持续加载后门。MemLoad 还负责解密 DLL 后门并将其注入到宿主进程空间中执行。
后门提供的功能
- 向受害主机上传和下载任意文件
- 截取桌面屏幕截图
- 以提升的权限执行命令并生成反向 shell
- 直接在内存中加载和运行可执行文件(无文件执行)
- 终止进程并清除活动痕迹
命令与控制和网络行为
HttpTroy 通过向名为 load.auraria.org 的 C2 域发送 POST 请求,以纯 HTTP 协议与其控制器通信。除非进行专门的流量分析,否则使用 HTTP POST 请求会使网络流量与正常的 Web 流量混淆。
反分析和混淆技术
该植入程序采用多层混淆措施来阻碍静态分析和签名检测。它并非将 API 名称和字符串硬编码到程序中,而是通过自定义哈希例程隐藏 API 调用,并使用 XOR 和 SIMD 等运算方式隐藏文本信息。更重要的是,它不会重复使用相同的哈希值或字符串编码——该恶意软件会使用不同的算术和逻辑运算动态地重构所需的 API 哈希值和字符串,从而增加了逆向工程和签名创建的成本。
归因与背景
行为指标和目标定位表明此次活动与 Kimsuky 有关。此次攻击似乎是一次针对韩国用户的定向鱼叉式网络钓鱼攻击。研究人员并未公布事件发生的确切时间。
结论
为了检测和缓解 HttpTroy 可能造成的感染,各组织应密切监控其系统,查找任何可疑的计划任务,尤其是那些伪装成合法供应商更新的任务。应配置网络防御措施,以识别并标记指向未知或不常见外部域的 HTTP POST 通信,以便在条件允许的情况下对传输的数据进行更深入的检查。
安全团队还应限制或阻止在各个端点上执行意外的 SCR 文件和无法识别的 Golang 二进制文件。此外,部署能够识别内存代码执行和检测异常进程注入活动的强大端点保护解决方案,可以显著降低安全风险。