网站首页 > 教程文章 正文
概述
近期,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\D877F783D5D3EF8C1
- Telegram Desktop\tdata\D877F783D5D3EF8C0
- Telegram Desktop\tdata\D877F783D5D3EF8C\\map1
- Telegram Desktop\tdata\D877F783D5D3EF8C\\map0
- Skype数据: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
- 上一篇: C#+web=?微软Blazor
- 下一篇: 9.C#关系运算符与逻辑运算符
猜你喜欢
- 2024-12-04 C#最常用的语法和方法(备用查询)
- 2024-12-04 C# 高级编程——委托
- 2024-12-04 运算符 - C#入门教程
- 2024-12-04 学习笔记之C#基础——变量与常量
- 2024-12-04 C# 入门深度学习:万字长文讲解微积分和梯度下降
- 2024-12-04 如何使用 C# 扩展方法
- 2024-12-04 9.C#关系运算符与逻辑运算符
- 2024-12-04 C#之委托
- 2024-12-04 C#+web=?微软Blazor
- 2024-12-04 C#将窗口置于桌面下方实现动态桌面秀
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- md5 sha1 (32)
- mybatis plus page (35)
- semaphore 使用详解 (32)
- update from 语句 (32)
- vue @scroll (38)
- 堆栈区别 (33)
- 在线子域名爆破 (32)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)