概述
近期,360安全大脑主防威胁监控平台,监测到一起邮件钓鱼攻击事件。此次攻击使用了一款名为Poulight的窃密木马,Poulight木马从去年开始投入使用,功能齐全强大,此次攻击事件,证明其已开始在国内传播使用。
攻击过程分析
攻击者首先会投放一个使用RLO(Right-to-LeftOverride)技术的钓鱼文件,利用RLO技术,使得原本名为”ReadMe_”的钓鱼文件,在用户计算机显示为”ReadMe_”。同时,攻击者将该lnk文件的图标设置为记事本图标,很容易是用户误以为是一个没什么危害的txt文档,极具迷惑性。

这样用户原本以为打开一个txt文档,而实际则执行了攻击者准备的代码。系统会根据攻击者自定义的“目标”内容,执行powershell命令,下载恶意程序https[:]//iwillcreatemedia[.]com/,将其设置为隐藏属性后运行。

下载的恶意程序经分析,是使用.net编译而成,内部名称为,开发者并未对代码进行混淆。
代码分析
运行环境检测
被下载到本地的会先检查当前环境是否为虚拟机或病毒分析环境,若是即退出,此举是用来对抗一些样本分析沙箱。

通过环境检查后,木马开始创建线程执行其真正的恶意功能模块。
首先木马会加载自身资源,并对其进行Base64解码,最终得到配置内容:
=|MQ==|MA==/
titleUG91bGlnaHQ=/title
cpdataMHwwfDEyQ051S2tLSzF4TEZvTTlQNTh6V1hrRUxNeDF5NTF6Nll8MTJDTnVLa0tLMXhMRm9NOVA1OHpXWGtFTE14MXk1MXo2WXww/cpdata
ulfileaHR0cDovL3J1LXVpZC01MDczNTI5MjAucHAucnUvZXhhbXBsZS5leGU=/ulfile
mutexPL2d4vFEgVbQddddkms0ZhQiI0I/mutex
其中mutex项的值转小写后”pl2d4vfegvbqddddkms0zhqii0i”作为文件名被创建于%TEMP%目录下,写入内容为8至32字节的随机值。但分析人员发现这部分代码似乎存在问题,或是我们拿到的木马程序尚处于前期测试阶段,导致其无法正常运行。

数据窃取
除了对运行环境的检测,木马还会记录用户名、机器名、系统名以及包括已安装的反病毒产品、显卡标签、处理器标签在内的其他机器信息。
将上述所有数据写入文件%LocalAppData%\\8字节随机字符\\。从反编译后的代码中可见,程序中使用了大量俄文描述。

之后木马获取当前正在活动进程列表,写入文件%LocalAppData%\\1z9sq09u\\中,其中还会在木马进程名后标记”(Injected)”。
接着,获取前文提及被解码的配置文件中的项目值中的第三个元素再次进行Base64解码,如果该值为”1”,执行函数()。该函数将会解密名为”cpp”的资源,连接字符串:
clbase0|0|12CNuKkKK1xLFoM9P58zWXkELMx1y51z6Y|12CNuKkKK1xLFoM9P58zWXkELMx1y51z6Y|0/clbase
写入文件%TEMP%\\并执行(测试环境中并不存在该文件)。其中clbase中的值由前文解码出的中cpdata值再次Base64解码产生。
下面是Poulight窃取的数据和其动作:
桌面截屏;
以下文件夹中的文档,若文件名中包含password、login、account、аккаунт、парол、вход、важно、сайта、site等字符串,或后缀为.txt、.rtf、.log、.doc、.docx、.rdp、.sql的文件,全部复制到目录”\\StealerFiles\\DisksFiles\\”下:
桌面目录、文档、%AppData%、%LocalAppData%;
磁盘根目录下除\Windows\、\programdata\、\programfiles(x86)\、\programfiles\、\users\、\perflogs\、\пользователи\;
网络摄像头拍照;
FileZilla服务器登录凭证:FileZilla\;
Pidgin登录配置:.purple\;
Discord数据存储备份:discord\LocalStorage;
Telegram的数据存储文件:
TelegramDesktop\tdata\D877F783D5D3EF8C1
TelegramDesktop\tdata\D877F783D5D3EF8C0
TelegramDesktop\tdata\D877F783D5D3EF8C\\map1
TelegramDesktop\tdata\D877F783D5D3EF8C\\map0
Skype数据:Microsoft\\SkypeforDesktop\\LocalStorage;
窃取steamssfn授权文件;
窃取各类加密货币钱包相关文件,包括:
BTC-BitCoin关键数据文件,包含钱包地址密钥对、钱包交易等信息;
BTC-Bytecoin钱包密钥文件,以.wallet后缀查找;
BTC-Dash钱包文件;
BTC-Ethereum钱包密钥相关文件存储目录Ethereum\\keystore下的所有文件;
BTC-Monero钱包相关文件;
窃取25款浏览器的Cookies、访问URLs、账户、密码、Autofill数据、付款卡信息等;
文件名通过通配字符串查找:"co*es"、"log*ta"、"we*ata"、"loc*ate",搜索范围为从浏览器目录开始往下三级目录:
yandex
operasoftware
amigo
orbitum
kometa
maxthon
torch
epicbrowser
comodo
ucozmedia
centbrowser
go!
sputnik
titanbrowser
acwebbrowser
vivaldi
flock
srwareiron
sleipnir
rockmelt
baiduspark
coolnovo
blackhawk
maplestudio

所有窃取到的数据的存放目录%LocalAppData%\\\1z9sq09u\\(字符串”1z9sq09u”为随机生成)中。

之后,将窃取的数据上传至两个远程CC服务器之一:
http[:]//poullight[.]ru/(未使用)
http[:]//[.]pk/Panel/。
数据进行编码后按序上传至服务器,等待远端返回字符串”good”则执行后续代码,否则将每隔2秒进行一次上传尝试,直至成功为止。
以上动作结束后,木马将下载URL资源hxxp:///,保存为”%LocalAppData%\\8字节随机字符1\\8字节随机字符2.exe”,例:%LocalAppData%\\en0mp4o4\8。
该程序主要功能也是搜集机器上各项信息,但是搜集后又将所在文件夹删除,推测尚处于测试阶段。

IOCs
Hash
dcb4dfc4c91e5af6d6465529fefef26f
083119acb60804c6150d895d133c445a
b874da17a923cf367ebb608b129579e1
C2
hxxp:///Panel/
hxxp:///(未被使用)
URL
hxxps:///
hxxp:///