过去的两个月中,研究人员发现了窃密恶意软件 Poulight Stealer 的技术进化与传播扩散,经过研究发现其可能源于俄罗斯。
介绍
如今,信息窃取是常见的威胁之一,例如 Azorult、Agent Tesla 和 Hawkeye。信息窃取是网络犯罪中最赚钱的领域之一,从失陷主机收集的信息会被转手到地下网络犯罪市场,或者用于凭据填充攻击。
Poulight 最早在 3 月中旬被MalwareBytes的研究人员发现,并且相关 IOC 指标已经在安全社区之间共享。恶意代码具有先进的信息窃取能力,而且还在不断进化中。
技术分析
属性 | 值 |
---|---|
哈希 | 8ef7b98e2fc129f59dd8f23d324df1f92277fcc16da362918655a1115c74ab95 |
威胁 | Poulight Stealer |
简要描述 | Poulight Stealer |
ssdeep | 1536:GJv5McKmdnrc4TXNGx1vZD8qlCGrUZ5Bx5M9D7wOHUN4ZKNJH:GJeunoMXNQC+E5B/MuO0Ogt |
像其他恶意软件一样,也提供给网络犯罪分子可订阅的恶意软件构建工具。结果为 .NET 可执行文件。
该样本的好处是它没有经过混淆,所以分析起来非常容易,可以很好地描述恶意软件的功能。当恶意软件启动后,也会执行经典的检测逃避技术:
其中,通过执行Select * from Win32_ComputerSystem命令使用 WMI 来进行检测逃避。这个方法对虚拟化相关的检测进行了一些检查,如:
vmware
VIRTUAL
VirtualBox
sbiedll.dll (Sandboxie)
snxhk.dll (Avast sandbox)
SxIn.dll (Avast sandbox)
Sf2.dll (Avast Sandbox)
这些检查也在 Al-Khaser 或 Pefish 工具中被列出来,这些工具旨在检测用于恶意软件分析的环境、测试沙盒的健壮性。执行相关的检测逃避技术后,恶意软件就开始进行感染,从而启动一个被称为Starter的新威胁。
Starter类包含用于加载恶意软件模块的代码。在此之前,有一些目录和文件用于存储失陷主机的相关信息。该操作由第一条指令global::Buffer.Start()执行。方法也非常简单,通过以下方式在 Windows 特殊文件夹(AppData、Local AppData、Personal、Desktop)中创建许多文件夹:
然后,恶意软件从名为String0的资源中提取配置信息与其他参数。数据是经过 base64 编码的字符串,然后通过以下方法进行解码:
配置文件的内容如下所示:
<settings>PHByb2cucGFyYW1zPllXUnRhVzQ9fE1RPT18TUE9PTwvcHJvZy5wYXJhbXM+PHRpdGxlPlVHOTFiR2xuYUhRPTwvdGl0bGU+PGNwZGF0YT5NSHd3ZkRFeVEwNTFTMnRMU3pGNFRFWnZUVGxRTlRoNlYxaHJSVXhOZURGNU5URjZObGw4TVRKRFRuVkxhMHRMTVhoTVJtOU5PVkExT0hwWFdHdEZURTE0TVhrMU1YbzJXWHd3PC9jcGRhdGE+PHVsZmlsZT5hSFIwY0RvdkwzSjFMWFZwWkMwMU1EY3pOVEk1TWpBdWNIQXVjblV2WlhoaGJYQnNaUzVsZUdVPTwvdWxmaWxlPjxtdXRleD5QTDJkNHZGRWdWYlFkZGRka21zMFpoUWlJMEk8L211dGV4Pg==</settings>
解码对应的 base64 字符串,就可以获得构建的参数列表。如下所示:
<prog.params>YWRtaW4=|MQ==|MA==</prog.params><title>UG91bGlnaHQ=</title><cpdata>MHwwfDEyQ051S2tLSzF4TEZvTTlQNTh6V1hrRUxNeDF5NTF6Nll8MTJDTnVLa0tLMXhMR**NOVA1OHpXWGtFTE14MXk1MXo2WXww</cpdata><ulfile>aHR0cDovL3J1LXVpZC01MDczNTI5MjAucHAucnUvZXhhbXBsZS5leGU=</ulfile><mutex>PL2d4vFEgVbQddddkms0ZhQiI0I</mutex>
prog.params
可在 HandlerParams.Start()
中进行检索。在开始新的感染行为前要检查是否重复感染,执行 AntiReplaySender.CheckReplayStart()
即可完成该任务:
恶意软件通过互斥量进行判断,该互斥量在参数列表中也可以看到。文件在%TEMP%文件夹中,如果该文件存在,恶意软件不会再次执行,肉则写入空文件开始执行。接着来看XS类的恶意代码,如下所示:
首先通过Information.Start()收集有关失陷主机的硬件和软件信息:
值得注意的是,恶意软件使用英语和俄语来记录收集的信息。随后,枚举并记录所有活动进程列表:
紧接着执行第三个参数的检查。如果等于 1 则执行clipper模块:
如上所示,使用存储在cpdata内的 AES 密钥解密clbase中的模块。但是,在特定配置中没有clbase字段,就没有需要安装的模块。最后一条命令是CBoard.start,如下所示:
窃取剪贴板数据后会在失陷主机中收集所有敏感信息:
该恶意软件窃取大量数据:
桌面快照
敏感文件
摄像头快照
Filezilla 凭据
Pidgin 凭据
Discord 凭据
Telegram
Skype
Steam
加密货币
Chrome
DFiles模块负责窃取敏感文档,搜索以下扩展名之一的文件:
在发现文件中,恶意软件会检索经典的关键字,这些关键字显示文件的内容中存在一些有用的凭据:
随后,恶意软件会将所有收集到的信息发送到另一个名为connect的资源提供的 C&C 服务器:
最后,从下载并执行其他模块。检索参数的方式与前述相同,在ulfile中标记了要下载的组件。
结论
Poulight Stealer 具有惊人的潜力,不排除它的异军突起将来可能会代替其他恶意软件家族。但该恶意软件缺乏代码混淆与数据保护功能,可能仍然处于开发的早期阶段,后续攻击者可能会增强这些功能。
IOC
8ef7b98e2fc129f59dd8f23d324df1f92277fcc16da362918655a1115c74ab95
http//fff[.gearhostpreview[.com/ARMBot
http[://u43692210a[.ha003.t.justns[.ru/
Yara
import "pe"
rule Poulight_Stealer_May_2020 {
meta:
description = "Yara rule for Poulight Stealer"
hash = "8ef7b98e2fc129f59dd8f23d324df1f92277fcc16da362918655a1115c74ab95"
author = "Cybaze - Yoroi ZLab"
last_updated = "2020-05-07"
tlp = "white"
category = "informational"
strings:
$s1 = "http//fff.gearhostpreview.com/ARMBot" ascii
$s2 = "WBcG91bGxpZ2h0Lhttp://poullight.ru/keys.txt" ascii
$s3 = "Poullight.exe"
$s4 = "\\wallets\\wallet.dat" wide ascii
$s5 = "=====================================" wide ascii
$s6 = {2F 7B 00 30 00 7D 00 3C 00 63 00 6C 00 62 00 61
00 73 00 65 00 3E 00 7B 00 ?? 00 7D 00 3C 00 2F
00 63 00 6C 00 62 00 61 00 73 00 65 00 3E 00}
$s7 = "Select * from Win32_ComputerSystem" wide ascii
condition:
uint16(0) == 0x5A4D and all of them
}
参考来源
*本文作者:Avenger ,转载请注明来自 FreeBuf.COM