一个“txt文档”,就可以偷光你的秘密
qiyuwang 2024-10-14 14:30 10 浏览 0 评论
概述
近期,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
相关推荐
- 基于Docker方式安装与部署Camunda流程引擎
-
1Camunda简介官网:https://docs.camunda.org/manual/7.19/installation/docker/Camunda是一个轻量级、开源且高度灵活的工作流和决策自...
- 宝塔Linux面板如何部署Java项目?(宝塔面板 linux)
-
通过宝塔面板部署Java还是很方便的,至少不需要自己输入tomcat之类的安装命令了。在部署java项目前,我还是先说下目前的系统环境,如果和我的系统环境不一样,导致部署不成功,那你可能需要去找其他资...
- 浪潮服务器如何用IPMI安装Linux系统
-
【注意事项】此处以浪潮服务器为例进行演示所需使用的软件:Chrome浏览器个人PC中需要预先安装java,推荐使用jdk-8u181-windows-x64.exe【操作步骤】1、在服务器的BIOS中...
- Centos7环境Hadoop3集群搭建(hadoop集群环境搭建实验报告)
-
由于项目需要存储历史业务数据,经过评估数据量会达到100亿以上,在原有mongodb集群和ES集群基础上,需要搭建Hbase集群进行调研,所以首先总结一下Hadoop集群的搭建过程。一、三个节点的集群...
- Hadoop高可用集群搭建及API调用(hadoop高可用原理)
-
NameNodeHA背景在Hadoop1中NameNode存在一个单点故障问题,如果NameNode所在的机器发生故障,整个集群就将不可用(Hadoop1中虽然有个SecorndaryNameNo...
- 使用Wordpress搭建一个属于自己的网站
-
现在开源的博客很多,但是考虑到wordpress对网站的seo做的很好,插件也多。并且全世界流量排名前1000万的网站有33.4%是用Wordpress搭建的!所以尝试用Wordpress搭建一个网站...
- Centos 安装 Jenkins(centos 安装ssh)
-
1、Java安装查看系统是否已安装Javayumlistinstalled|grepjava...
- Java教程:gitlab-使用入门(java中的git)
-
1导读本教程主要讲解了GitLab在项目的环境搭建和基本的使用,可以帮助大家在企业中能够自主搭建GitLab服务,并且可以GitLab中的组、权限、项目自主操作...
- Dockerfile部署Java项目(docker部署java应用)
-
1、概述本文主要会简单介绍什么是Docker,什么是Dockerfile,如何安装Docker,Dockerfile如何编写,如何通过Dockerfile安装jar包并外置yaml文件以及如何通过do...
- 如何在Eclipse中搭建Zabbix源码的调试和开发环境
-
Zabbix是一款非常优秀的企业级软件,被设计用于对数万台服务器、虚拟机和网络设备的数百万个监控项进行实时监控。Zabbix是开放源码和免费的,这就意味着当出现bug时,我们可以很方便地通过调试源码来...
- Java路径-02-Java环境配置(java环境搭建及配置教程)
-
1Window环境配置1.1下载...
- 35.Centos中安装python和web.py框架
-
文章目录前言1.Centos7python:2.Centos8python:3.进行下载web.py框架然后应用:4.安装好之后进行验证:5.总结:前言...
- 《我的世界》服务器搭建(我的世界服务器如何搭建)
-
1.CentOS7环境1.1更改YUM源#下载YUM源文件curl-o/etc/yum.repos.d/CentOS-Base.repohttps://mirrors.aliyun.com...
- CentOS 7 升级 GCC 版本(centos7.4升级7.5)
-
1.GCC工具介绍GCC编译器:...
- Linux安装Nginx详细教程(linux安装配置nginx)
-
环境准备1.因为Nginx依赖于gcc的编译环境,所以,需要安装编译环境来使Nginx能够编译起来。命令:yuminstallgcc-c++显示完毕,表示安装完成:2.Nginx的http模块需要...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- 基于Docker方式安装与部署Camunda流程引擎
- 宝塔Linux面板如何部署Java项目?(宝塔面板 linux)
- 浪潮服务器如何用IPMI安装Linux系统
- Centos7环境Hadoop3集群搭建(hadoop集群环境搭建实验报告)
- Hadoop高可用集群搭建及API调用(hadoop高可用原理)
- 使用Wordpress搭建一个属于自己的网站
- Centos 安装 Jenkins(centos 安装ssh)
- Java教程:gitlab-使用入门(java中的git)
- Dockerfile部署Java项目(docker部署java应用)
- 如何在Eclipse中搭建Zabbix源码的调试和开发环境
- 标签列表
-
- navicat无法连接mysql服务器 (65)
- 下横线怎么打 (71)
- flash插件怎么安装 (60)
- lol体验服怎么进 (66)
- ae插件怎么安装 (62)
- yum卸载 (75)
- .key文件 (63)
- cad一打开就致命错误是怎么回事 (61)
- rpm文件怎么安装 (66)
- linux取消挂载 (81)
- ie代理配置错误 (61)
- ajax error (67)
- centos7 重启网络 (67)
- centos6下载 (58)
- mysql 外网访问权限 (69)
- centos查看内核版本 (61)
- ps错误16 (66)
- nodejs读取json文件 (64)
- centos7 1810 (59)
- 加载com加载项时运行错误 (67)
- php打乱数组顺序 (68)
- cad安装失败怎么解决 (58)
- 因文件头错误而不能打开怎么解决 (68)
- js判断字符串为空 (62)
- centos查看端口 (64)