Poulight窃密木马分析

发布于 2017-04-09 17:26:56

Poulight是一款C#语言编写的窃密木马,来自于俄罗斯,因为木马中含有大量的俄文,该木马窃取受控主机的多种敏感信息,包括:系统信息、进程信息、文件信息、特定软件的凭证、虚拟货币的钱包等信息,还可以下载并执行其他组件。

1、检测沙箱环境

木马运行后,首先检查沙箱环境,如

逃逸技术利用最经典的WMI 技术(Windows Management Instrumentation),通过执行查询“Select * from Win32_ComputerSystem”,检查以下虚拟环境标识字符串:
“vmware”
“VIRTUAL”
“VirtualBox”
“sbiedll.dll” (Sandboxie)
“snxhk.dll” (Avast sandbox)
“SxIn.dll” (Avast sandbox)
“Sf2.dll” (Avast Sandbox)
如果存在任何一个字符串,则返回True,不会执行重要代码部分。

之后,木马会创建一个名为“Starter”的新线程,“Starter”类函数定义了该木马的加载组件的过程。

其中第一条指令“global::Buffer.Start()”,在Windows特殊文件夹(AppData,Local AppData,Personal.Desktop)中创建了一系列文件夹,用于存储从受害主机收集的信息。

然后,木马从名为“String0”的资源中提取配置文件及其参数,它是Base64编码的字符串,通过以下方法解码:


Base解码后为:

YWRtaW4=|MQ==|MA==<>UG91bGlnaHQ=
MHwwfDEyQ051S2tLSzF4TEZvTTlQNTh6V1hrRUxNeDF5NTF6Nll8MTJDTnVLa0tLMXhMRm9NOVA1OHpXWGtFTE14MXk1MXo2WXww
aHR0cDovL3J1LXVpZC01MDczNTI5MjAucHAucnUvZXhhbXBsZS5leGU=PL2d4vFEgVbQddddkms0ZhQiI0I


AntiReplaySender.CheckReplayStart()函数是执行检查是否感染过该木马。

木马去查找%Temp%目录下,是否存在文件名称为前面Base64解密出的mutex id PL2d4vFEgVbQddddkms0ZhQiI0I,如果文件存在,则不会再次执行自身,否则将随机字符串写入该空文件以表示开始感染。

3、窃取敏感信息

“XS”类中包含实际的恶意主体代码:

第一条指令是“Information.Start()”,主要功能是收集受害主机的硬件和软件的所有信息:

我们可以注意到,该木马使用英语和俄语两种语言来记录收集的信息。之后,开始枚举并记录操作系统内部的所有活动进程信息。

如下图所示,将执行第三个参数的检查,如果等于1,则执行“clipper”模块。

然后执行“CBoard”模块功能,记录剪切板的内容信息:

下一步是在受害主机上收集所有敏感信息:

该木马窃取了大量数据:
桌面快照
敏感文件
网络摄像头快照
Filezilla凭证
Pidgin凭证
Discord凭证
Telegram
Skype
Steam
加密货币
Chromechronology
最有趣的部分是“DFiles”模块窃取敏感文件信息,搜索具有以下扩展名之一的文件:

在收集的文件内部,木马会查找经典的关键字,这些关键字指示文件的内容保留了一些有用的凭据。关键字如下:

然后,木马会将所有收集到的信息,压缩成zip文件,准备上传:


木马会在唯一的数据结构中收集所有信息,并将其发送到名为“connect”的资源中检索到的C2:

对应的上线报文:

HTTPPOST报文,包含关键字"&version="、"&skype="、"&fzilla="、"&cd_count=",数据内容为木马窃取的受害主机的敏感信息,上传到C2服务器。

4、下载执行其他组件

最后,木马从Internet下载并执行其他组件。检索参数名为“ulfile”的标记包含要下载的组件,Base64解码后为http://ru-uid-507352920.pp.ru/example.exe。

参考链接:
https://yoroi.company/research/poulight-stealer-a-new-comprehensive-stealer-from-russia/


5 条评论