百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程文章 > 正文

一个“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",搜索范围为从浏览器目录开始往下三级目录:

google

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模块需要...

取消回复欢迎 发表评论: