暗渡陈仓:披着图片外衣的特洛伊木马

简介: InfoStealer是一种木马,功能为收集受害计算机系统用户的敏感信息,并将其转发到一个预定的位置,而搜集的信息包含财务信息,登录凭据,密码或者都有,这些信息可能被出售在黑市上。AVAST将其命名为MSIL:Agent-AKP。

InfoStealer是一种木马,功能为收集受害计算机系统用户的敏感信息,并将其转发到一个预定的位置,而搜集的信息包含财务信息,登录凭据,密码或者都有,这些信息可能被出售在黑市上。AVAST将其命名为MSIL:Agent-AKP。


下面,我们就来看看一个通过exploit kit(全自动攻击工具)部署在受害者电脑上的恶意.NET文件。用反编译器打开该文件后,发现资源中只包含如下干扰图片:

image.png

image.png

以位图方式打开图片,一个像素一个像素的处理。对于每个像素,它并不是非黑即白(ARGB不等于0×00000000),3种颜色提取并保存在一个列表中,一个值接着一个值,一列接着一列。

当我们提取出整张列表后,得到如下的结果。注意MZ标识,正是可执行文件的开头:

image.png

很明显,我们正在对付一个obfuscator(混淆器),它从位图中转换数据,构造可执行文件。

单单的查看这个位图文件,并不能立即意识到它还存储着可执行文件。对照BITMAPINFOHEADER和它的bitHeight项,我们可以看到它的值是0X134。

image.png

根据文档,如果biHeight是正值,相应的位图就是自底而上的DIB(与设备无关的位图),它的起始点在较低的靠左的位置。

image.png

下图展示了这个可执行文件的前9个字符是如何隐藏在位图中的。一个像素包含3个字符,随后的下一列是下一组3字符(自底而上)。我们发现红色标识的字符正是可执行文件的MZ特征:4D5A90 000300 000004。

image.png


仔细观察Payload

Payload从位图中被提取出来,原始文件有两个位图,其中一个解析后是用.NET写的加载器,装载进内存并执行第二个二进制文件。第一个二进制文件通过修改zone.identifier 来修改数据流。

硬盘上的任何文件都被赋予了<filename>:zone:identifier数据流,它包含了这个原始文件的zone信息。如果文件来自Internet,它的zone值是3;如果来自本地,zone值就是0。

image.png

这里的恶意文件试图将zone值设为2,表明是URLZONE_TRUSTED。

image.png

这个区域的存在是由于安全原因考虑。某些程序/操作系统可能会报告与此类文件有关的安全信息。

image.png

第二个汇编码是从第二个位图源文件中提取的。它通过创建Win7zip注册表Uuid值来生成。

image.png

通过创建[HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options],运行之后将禁用几个安全方案,将调试器的值设置成一个不存在的exe文件路径,每当用户试图使用受影响的程序时,Windows将运行“调试”出来的值来代替原本的值,这样就可以成功的禁用此类程序。下图显示了通过修改此注册表项禁用的程序的列表。

image.png

同样利用修改注册表项禁用安全组件:

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer]。将HideSCAHealth的值设置成1来禁用Action Center。Notification balloons的禁用可以通过修改TaskbarNoNotification的注册表项来达成。

在[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsBackup],修改DisableMonitoring注册表项,可以禁用Windows备份通知。

image.png

通过对注册表项2500键值进行设置,设置为3-禁用,就可以关闭Internet Explorer的保护模式。

image.png

image.png

如果发现装有如下的FTP软件,就会窃取它们的认证日志:

  • FileZilla
  • SmartFTP
  • CoreFTP
  • FlashFXP
  • WinSCP
  • FTP Commander

可以在它的body中看到下列字符:

FileZilla\sitemanager.xml


SmartFTP\Client2.0\Favorites


SmartFTP


Software\FTPWare\CoreFTP\Sites


FlashFXP


Sites.dat


Quick.dat


Software\Martin Prikryl\WinSCP2\Sessions


%s\FTP Commander


%s\FTP Commander Deluxe


Ftplist.txt


它同样可以修改注册表项:

注册表项[HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Plug-in\{version}\UseJava2IExplorer]的种类是REG_DWORD,设置成0的意思就是禁用JAVA;设置成1的意思就是启用JAVA。

注册表项 [HKEY_CURRENT_USER\Software\Adobe\Acrobat Reader\{version}\Privileged\bProtectedMode]的种类是REG_DWORD,设置成0就是禁用;设置成1就是启用。

image.png

(木马)作者力求保留将来再次感染该系统的可能。一旦用户再次登录exploit kit,感染将再次发生。

InfoStealer同时也向作者报告被入侵电脑上安装的一些软件,通过判断是否存在如下的文件、目录或者注册表键值:

  • Software\Valve\Steam
  • jagexcache
  • SOFTWARE\Blizzard Entertainment
  • .minecraft
  • League of Legends
  • Software\Skype

例如,“jagexcache”的出现表明在线游戏RuneScape,“.minecraft”表明Minecraft,注册表键值“SOFTWARE\\Blizzard Entertainment”或者“Software\Valve\Steam”告诉我们或许机器上安装着这来自这些游戏厂商的游戏。“League of legends”和”Software\Skype”这些字符不言自明。

InfoStealer禁用了一些系统服务。Wuauserv就是“Windows Update service”,wscsvc就是“Security Center”,mpssvc就是“Windows Firewall”,BITS是“Background Intelligent Transfer Service”。

image.png

它也拥有“洪水”攻击目标服务器的能力。

image.png

当我们试图搜寻上面提及的命令时,我们发现了一个地下论坛,如下描述:

image.png

通过向[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]下添加“AudioDriver32”值,就能达到永远存在的效果,即使机器重启。

image.png

InfoStealer木马通过展示如下的错误信息提示窗的聪明方式来迷惑用户,使其可以提升权限运行。

image.png

无论点“Restore files”还是“Restore files and check disk for errors”后,都执行下面j的代码。

image.png

InfoStealer使用ShellExecute函数执行自身。要注意“runas”命令,试图以提升的权限运行程序。如果一个用户被提示UAC(用户访问控制),他很可能会允许该程序运行,因为它需要“restore his corrupted document files”。

如果用户点击了“More details about this error”, 如下的页面将会打开。它是正常的微软社区页面,用户在此提问、答复相关问题。

这里的问题正是与“Corrupted Documents Folder”相关的,与展现给受害用户的出错信息窗口相关。

image.png

InfoStealer扫描所有正在运行的进程以及它们的启动命令行参数。这些命令行会被解析,如果匹配如下的模式,它们还会被报告给(木马)作者。这些模式代表着比特币挖掘的进行。如果cgminer在入侵电脑上运行,将会被报告。

image.png

所有获取的数据存放在[HKCU\Software\Classes\CLSID\{GUID}]注册表键值中,这些信息稍后会被发送给攻击者。

image.png


总结

上面所展现的恶意软件试图窃取多种程序的认证信息,或者至少报告它们的存在。通过修改多处系统注册表值来禁止安全软件或者action center的通知服务的运行,且该信息窃取者针对的对象为终端用户。


相关文章
|
存储 Rust 监控
Rust代码编写高性能屏幕监控软件的核心算法
本文介绍了使用Rust编写的高性能屏幕监控软件的实现方法。核心算法包括:1) 使用`image`和`winit`库捕获并转换屏幕图像;2) 对图像进行处理,检测特定对象或活动;3) 利用Rust的并发性并行处理多个帧以提高效率;4) 提取数据后,通过`reqwest`库自动提交到网站进行分析或存储。通过结合Rust的高性能和丰富的库,可构建满足各种需求的高效屏幕监控工具。
560 5
|
新零售 数据采集 分布式计算
6000字干货分享:数据中台项目管理实践分享
本文总结了企业级数据中台项目的实践经验,希望能够为正在规划或者已在实施数据中台类项目的企业和个人提供经验。
6000字干货分享:数据中台项目管理实践分享
|
Rust JavaScript 前端开发
【一起学Rust | 框架篇 | Frui框架】rust一个对开发者友好的GUI框架——Frui
【一起学Rust | 框架篇 | Frui框架】rust一个对开发者友好的GUI框架——Frui
3014 0
|
网络协议 SDN 数据中心
VXLAN的应用场景
VXLAN技术用于云数据中心间虚拟机迁移,确保迁移过程中业务连续性和网络无感知。通过在虚拟机上联交换机配置VXLAN信息,建立VXLAN隧道和网关,实现跨数据中心的大范围二层网络连接。在SDN环境下,SDN控制器可管理VXLAN的IP和VID对应关系,提高灵活性与扩展性。
468 3
|
开发工具 git
GitHub——Error: Process completed with exit code 126.
GitHub——Error: Process completed with exit code 126.
341 1
GitHub——Error: Process completed with exit code 126.
|
设计模式 存储 缓存
微服务架构下的数据库设计策略
本文探讨了在微服务架构中进行数据库设计时,如何平衡数据的一致性、独立性与系统整体性能之间的关系。文章首先介绍了微服务架构的基本概念及其对数据库设计的影响,随后深入分析了三种主流的数据库设计模式——集中式、去中心化和混合模式,并结合实际案例讨论了它们的适用场景与优缺点。此外,还提出了一系列最佳实践建议,旨在帮助开发者更好地应对微服务环境下的数据管理挑战。
|
数据采集 数据可视化 数据挖掘
基于Django的数据分析可视化系统,有后台,有增删改查,实现多用户登录
本文介绍了一个基于Django框架开发的今日头条数据分析可视化系统,该系统具备后台管理、增删改查功能以及多用户登录,利用数据可视化技术为新闻媒体行业提供数据管理和决策支持。
364 0
基于Django的数据分析可视化系统,有后台,有增删改查,实现多用户登录
|
开发框架 安全 .NET
冰蝎WebShell免杀工具(支持4.0.6)
冰蝎WebShell免杀工具(支持4.0.6)
1117 0
|
Rust 前端开发 安全
通过跨端程序tauri,来简单入门一下rust
Tauri 是一个跨平台 GUI 框架,与 Electron 的思想基本类似。Tauri 的前端实现也是基于 Web 系列语言,Tauri 的后端使用 Rust。Tauri 可以创建体积更小、运行更快、更加安全的跨平台桌面应用。
2242 0
|
消息中间件 存储 API
iOS小技能:队列管理推送通知,解决收款到账并发语音播报问题。
需求:收款到账语音提醒功能 NSE是比Voip更优雅的解决方案,完成迁移后,总体代码量也比Voip方案少了不少。
504 0
iOS小技能:队列管理推送通知,解决收款到账并发语音播报问题。