近日,研究人员发现 Phosphorus(又名 Charming Kitten、APT35)组织的攻击行动有所增长。业界多次发现该组织对各行各业机构或人士发起攻击,甚至干预美国总统选举。
Cybereason 的研究人员最近发现 APT35 使用了名为 PowerLess的新型 PowerShell 后门。该后门通过在 .NET 上下文中直接运行而非生成 PowerShell 进程来规避 PowerShell 安全检测。
在攻击行动中使用的新工具集并不止新的 PowerShell 后门,还有恶意软件加载程序、浏览器信息窃取程序和键盘记录工具。近期该组织频繁在攻击中使用开源工具,例如 DiskCryptor、BitLocker、Fast Reverse Proxy等。
从已知出发
IP 地址 162.55.136.20已经被包括美国国家应急响应中心(USCERT)在内的多方认定为 APT35 组织使用的攻击基础设施。
通过该 IP 地址下载的文件中,发现了名为 WindowsProcesses.exe的文件:
△ 关联文件
根据 VirusTotal 的检测结果,该文件被 35/68 个引擎检出:
△ 检测结果
WINDOWSPROCESSES.EXE
名为 WINDOWSPROCESSES.EXE的文件是一个 64 位的 Loader,用于解析 %windir%Tempdll.dll路径的 DLL 文件。
△ 执行流程
解析了相关的 DLL 文件和 API 调用后,开始执行 dll.dll:
△ 主要代码
攻击者应该是借鉴了 GitHub 上的公开代码片段,在运行时使用 CLR 运行 PowerShell。攻击者保留了这段代码的命名为 Powerless,其 PDB 路径为 C:\Users\pugna\Desktop\126\V1\PowerLessCLR\x64\Release\PowerLessCLR.pdb。
dll.dll
dll.dll是一个 .NET 编写的 AES 解密程序,使用硬编码密钥 ()*&3dCfabE2/123解密另一个名为 upc的文件,最终执行 PowerShell 代码。
△ 文件代码
△ 文件代码
upc
upc 文件中的数据块经过多层加密,需要通过 base64 和 AES ECB 算法分阶段解密。
解密密钥如下所示:
()*&3dCfabE2/123 0123654789mkiujn 25sL(*14@#SDFCgd
在解密 PowerShell 后门前,会为失陷主机生成一个唯一标识符并将该标识符发送到 C&C 服务器下载配置文件。
△ C&C 通信
PowerLess
所有解密都完成后,PowerLess 后门将会被执行:
△ 后门命令解析
PowerLess 具备以下主要功能:
下载并执行其他恶意软件 使用加密 C&C 信道 任意命令执行 终止进程 窃取浏览器数据 键盘记录
该后门在 .NET 的上下文中运行,并不会产生 powershell.exe进程。
△ 进程检测
但当后门接收到终止进程的命令时,后门反而会生成 powershell.exe` 进程。
△ 部分代码
代码中存在大量拼写错误和语法错误,可以认为后门开发者的母语并非英语。
△ 日志拼写错误
键盘记录
PowerLess 后门能够下载的其中一个模块就是使用 .NET 编写的键盘记录工具:
△ 部分代码
键盘记录的日志存储在 “C:\Windows\Temp\Report.06E17A5A-7325-4325-8E5D-E172EBA7FC5BK:
△ 日志路径
信息窃密
另一个模块是信息窃密工具,也是使用 .NET 编写的。读取 Chrome 和 Edge 浏览器的数据库文件,加密后以 JSON 格式写入文件中。
△ 部分代码
日志存储在 C:\Windows\Temp\cup.tmp。
△ 日志路径
其他工具
除 PowerLess 外,研究人员还发现了其他工具。尽管目前没有确切的证据证明都来自 APT35,但研究人员认为是来自同一开发者的。
根据 WindowsProcesses.exe的 PDB 路径 C:UserspugnaDesktop126V1PowerLessCLRx64ReleasePowerLessCLR.pdb:
△ PDB 路径
检索前缀发现其他工具:
△ 其他样本
Chromium F
Chromium F.exe是一个浏览器信息窃取程序,功能与前述模块类似。
△ 部分代码
Sou.exe
Sou.exe基于开源 NAudio录音程序修改而来。
△ 部分代码
新样本
可能来自同一开发者的新样本似乎是尚未完成的勒索软件样本,也是基于 .NET 开发,目前的功能只有锁定屏幕。尚未完成勒索赎金、邮箱等字段的填充设置。该样本是在伊朗上传的,有可能攻击者正在筹划利用勒索软件。
△ 样本上传信息
△ 勒索软件截图
FRP Loader
在过往利用的 ProxyShell 攻击中,较为活跃的 IP 是 148.251.71.182。最近发现,该 IP 开始利用 Log4j 漏洞发起攻击。
△ 相关文件
其中,RCE为一个 Java Loader 用于根据操作系统使用对应版本的 FRP 程序。
△ RCE 文件
Loader 有两种变种,检查操作系统的文件分割符来判断操作系统,再下载 Payload 并执行持久化。
△ 部分代码
PowerShell
另一种方式是通过 PowerShell 代码进行投递,由开源工具Ps1 To Exe转换为可执行文件。
△ 文件信息
Loader 会为 FRP 创建计划任务,完整的进程树如下所示:
△ 进程树
勒索软件
美国国家应急响应中心(USCERT)披露的另一个 IP 地址为 91.214.124.143,该 IP 地址与 Memento 勒索软件存在关联。
△关联信息
△ 关联信息
结论
攻击者启用了新的 PowerShell 后门 PowerLess,但该攻击者可能缺乏专业的编码经验。为分析人员提供了追踪线索,如复用已知的攻击基础设施、保留了 PDB 路径等。
参考来源
https://www.cybereason.com/blog/powerless-trojan-iranian-apt-phosphorus-adds-new-powershell-backdoor-for-espionage