概述
近期,360安全大脑主防威胁监控平台,监测到一起邮件钓鱼攻击事件。此次攻击使用了一款名为Poulight的窃密木马,Poulight木马从去年开始投入使用,功能齐全强大,此次攻击事件,证明其已开始在国内传播使用。
攻击过程分析
攻击者首先会投放一个使用RLO(Right-to-Left Override)技术的钓鱼文件,利用RLO技术,使得原本名为”ReadMe_txt.lnk.lnk”的钓鱼文件,在用户计算机显示为”ReadMe_knl.txt”。同时,攻击者将该lnk文件的图标设置为记事本图标,很容易是用户误以为是一个没什么危害的txt文档,极具迷惑性。
这样用户原本以为打开一个txt文档,而实际则执行了攻击者准备的代码。系统会根据攻击者自定义的“目标”内容,执行powershell命令,下载恶意程序https[:]//iwillcreatemedia[.]com/build.exe,将其设置为隐藏属性后运行。
下载的恶意程序经分析,是使用.net编译而成,内部名称为Poullight.exe,开发者并未对代码进行混淆。
代码分析
运行环境检测
被下载到本地的putty3.exe会先检查当前环境是否为虚拟机或病毒分析环境,若是即退出,此举是用来对抗一些样本分析沙箱。
通过环境检查后,木马开始创建线程执行其真正的恶意功能模块。
首先木马会加载自身资源,并对其进行Base64解码,最终得到配置内容:
<prog.params>YWRtaW4=|MQ==|MA==</prog.params>
<title>UG91bGlnaHQ=</title>
<cpdata>MHwwfDEyQ051S2tLSzF4TEZvTTlQNTh6V1hrRUxNeDF5NTF6Nll8MTJDTnVLa0tLMXhMRm9NOVA1OHpXWGtFTE14MXk1MXo2WXww</cpdata>
<ulfile>aHR0cDovL3J1LXVpZC01MDczNTI5MjAucHAucnUvZXhhbXBsZS5leGU=</ulfile>
<mutex>PL2d4vFEgVbQddddkms0ZhQiI0I</mutex>
其中<mutex>项的值转小写后”pl2d4vfegvbqddddkms0zhqii0i”作为文件名被创建于%TEMP%目录下,写入内容为8至32字节的随机值。但分析人员发现这部分代码似乎存在问题,或是我们拿到的木马程序尚处于前期测试阶段,导致其无法正常运行。
数据窃取
除了对运行环境的检测,木马还会记录用户名、机器名、系统名以及包括已安装的反病毒产品、显卡标签、处理器标签在内的其他机器信息。
将上述所有数据写入文件%LocalAppData%\\<8字节随机字符>\\PC-Information.txt。从反编译后的代码中可见,程序中使用了大量俄文描述。
之后木马获取当前正在活动进程列表,写入文件%LocalAppData%\\1z9sq09u\\ProcessList.txt中,其中还会在木马进程名后标记” (Injected)”。
接着,获取前文提及被解码的配置文件中的<prog.params>项目值中的第三个元素再次进行Base64解码, 如果该值为”1”,执行函数clipper.Start()。该函数将会解密名为”cpp”的资源,连接字符串:
<clbase>0|0|12CNuKkKK1xLFoM9P58zWXkELMx1y51z6Y|12CNuKkKK1xLFoM9P58zWXkELMx1y51z6Y|0</clbase>
写入文件%TEMP%\\Windows Defender.exe并执行(测试环境中并不存在该文件)。其中<clbase>中的值由前文解码出的中<cpdata>值再次Base64解码产生。
下面是Poulight窃取的数据和其动作:
桌面截屏;以下文件夹中的文档,若文件名中包含password、login、account、аккаунт、парол、вход、важно、сайта、site等字符串,或后缀为.txt、.rtf、.log、.doc、.docx、.rdp、.sql的文件,全部复制到目录”\\Stealer Files\\Disks Files\\”下:桌面目录、文档、%AppData%、%LocalAppData%;磁盘根目录下除\Windows\、\programdata\、\program files (x86)\、\program files\、\users\、\perflogs\、\пользователи\;网络摄像头拍照;FileZilla服务器登录凭证:FileZilla\recentservers.xml;Pidgin登录配置:.purple\accounts.xml;Discord数据存储备份:discord\Local Storage;Telegram的数据存储文件:Telegram Desktop\tdata\D877F783D5D3EF8C1Telegram Desktop\tdata\D877F783D5D3EF8C0Telegram Desktop\tdata\D877F783D5D3EF8C\\map1Telegram Desktop\tdata\D877F783D5D3EF8C\\map0Skype数据:Microsoft\\Skype for Desktop\\Local Storage;窃取steam ssfn授权文件;窃取各类加密货币钱包相关文件,包括:BTC-BitCoin关键数据文件wallet.dat,包含钱包地址密钥对、钱包交易等信息;BTC-Bytecoin钱包密钥文件,以.wallet后缀查找;BTC-Dash钱包wallet.dat文件;BTC-Ethereum钱包密钥相关文件存储目录Ethereum\\keystore下的所有文件;BTC-Monero钱包相关文件;窃取25款浏览器的Cookies、访问URLs、账户、密码、Autofill数据、付款卡信息等;文件名通过通配字符串查找:"co*es"、"log*ta"、"we*ata"、"loc*ate",搜索范围为从浏览器目录开始往下三级目录:
yandex
opera software
amigo
orbitum
kometa
maxthon
torch
epic browser
comodo
ucozmedia
centbrowser
go!
sputnik
titan browser
acwebbrowser
vivaldi
flock
srware iron
sleipnir
rockmelt
baidu spark
coolnovo
blackhawk
maplestudio
所有窃取到的数据的存放目录%LocalAppData%\\\1z9sq09u\\(字符串”1z9sq09u”为随机生成)中。
之后,将窃取的数据上传至两个远程C&C服务器之一:
http[:]//poullight[.]ru/handle.php(未使用)
http[:]//gfl.com[.]pk/Panel/gate.php。
数据进行编码后按序上传至服务器,等待远端返回字符串”good”则执行后续代码,否则将每隔2秒进行一次上传尝试,直至成功为止。
以上动作结束后,木马将下载URL资源hxxp://ru-uid-507352920.pp.ru/example.exe,保存为”%LocalAppData%\\<8字节随机字符1>\\<8字节随机字符2>.exe”,例:%LocalAppData%\\en0mp4o4\8ej8q80s.exe。
该程序主要功能也是搜集机器上各项信息,但是搜集后又将所在文件夹删除,推测尚处于测试阶段。
IOCs
Hash
dcb4dfc4c91e5af6d6465529fefef26f
083119acb60804c6150d895d133c445a
b874da17a923cf367ebb608b129579e1
C2
hxxp://gfl.com.pk/Panel/gate.php
hxxp://poullight.ru/handle.php(未被使用)
URL
hxxps://iwillcreatemedia.com/build.exe
hxxp://ru-uid-507352920.pp.ru/example.exe
电脑知识