简况
APT35组织在目标应用安全更新之前率先利用该漏洞扫描易受攻击的系统。模块化有效载荷名为CharmPower,可以处理 C2 通信、执行系统枚举,并最终接收、解密和加载其他模块。APT35组织活动的感染链如下图:
该核心模块可以执行以下主要功能:
- 验证网络连接:执行后,脚本通过使用参数 hi=hi 向 Google.com 发出 HTTP POST 请求来等待活动的网络连接。
- 基本系统枚举:该脚本收集 Windows 操作系统版本、计算机名称以及 $APPDATA 路径中的文件 Ni.txt 的内容;该文件可能由不同模块创建和填充。
- 检索 C&C 域:恶意软件解码从硬编码 URL hxxps://s3[.]amazonaws[.]com/doclibrarysales/3 检索的 C&C 域。
- 接收、解密、执行后续模块。
核心模块不断向 C2 发送 HTTP POST 请求,C&C 服务器可以通过以下两种方式之一进行响应:
- NoComm:无命令,脚本继续发送 POST 请求。
- Base64 字符串:要执行的模块。该模块使用简单的替换密码进行加密,并以 base64 编码。
Base64 字符串启动下载额外的 PowerShell 或 C# 模块。“CharmPower”负责解密和加载这些模块,然后这些模块与 C2 建立独立的通信通道。要发送到受感染端点的模块列表是根据 CharmPower 在侦察阶段检索到的基本系统数据自动生成的。
C2发送的附加模块如下:
- 应用程序:枚举卸载注册表值并使用“wmic”命令确定受感染系统上安装了哪些应用程序。
- 屏幕截图:根据指定的频率捕获屏幕截图,并使用硬编码凭据将它们上传到 FTP 服务器。
- 进程:使用 tasklist 命令获取正在运行的进程。
- 系统信息:执行“systeminfo”命令以收集系统信息。
- 命令执行:具有 Invoke-Expression、cmd 和 PowerShell 选项的远程命令执行模块。
- 清理:删除受感染系统中留下的所有痕迹,例如注册表和启动文件夹条目、文件和进程。
归因
“CharmPower”后门与 APT35 过去使用的 Android 间谍软件之间具有相似之处,包括实现相同的日志记录功能并使用相同的格式和语法。此外,在两个样本中都可以看到 C2 通信中的“Stack=Overflow”参数,这是仅在 APT35 工具中观察到的独特参数。研究人员基于这些代码的相似性和基础设施重叠将活动归因于 APT35。