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

揭开新型窃密软件的面纱:伪装成CDR画图应用安装包

bigegpt 2024-08-10 12:07 15 浏览

新型窃密软件伪装成一款图形编辑软件,运行后持续窃取用户信息,并发送给攻击者服务器。

恶意文件分析

1.恶意文件描述

近期,深信服深盾终端实验室在运营工作中捕获到一款功能复杂的新型信息窃取软件,该病毒由 C++ 语言编写,套用了开源软件 ZLMediaKit 的部分代码并在其基础上开发恶意模块。该程序的释放的文件包含具有数字签名的正常的库文件,以及没有数字签名但伪装成正常系统文件的 exe 程序。

该软件疑似为 Gitee 上的一个私人的名称为 Aps 的项目,其所释放的自行开发或二次开发的文件中,仍然存在部分调试信息。攻击者在开发时采用强链接的方式,将库函数的代码尽可能多的链接到程序中,增加程序的兼容性。

2.恶意文件分析

一、程序运行流程

进程启动后,会正常显示安装程序结束后的界面。同时,进程会执行 cmd 命令,结束系统安全服务。

同时,程序开始释放大量的文件,路径分别为:C:\Users\Sangfor\AppData\Roaming\Microsoft\Network、C:\Windows\SysWOW64\security。其中包含众多有数字签名正常文件,以及用于进行恶意行为的 NetworkService.exe 、SearchIndexerService.exe 。

plugin 目录下为病毒要加载的重要 DLL 文件。

DreamApslop.dll 主要功能为搜集主机信息、反调试以及向攻击者服务器发送窃取到的主机信息。

libssl-3.dll 、 libcrypto-3.dll 为通信过程中对数据加密时所需要调用的导出函数的库文件。

mk_api.dll 为开源软件 ZLMediaKit 所提供的导出函数库文件,攻击者基于此开源库再开发,增加了恶意代码模块。

使用释放的NetworkService.exe 启动进程。

二、释放的程序的运行流程

创建互斥量,防止进程重复运行。

使用不同的命令行再次启动,第二个参数为当前进程的窗口句柄,用于接收窗口消息,后续将用此接收消息并循环运行:

如果 Network 目录下不存在 para.ini 文件,则创建一个该名称的配置文件。

拼接字符串,调用开源软件的导出函数,并第一次发送网络请求给攻击者服务器,此处的 mk_http_requester_call为攻击者自行编写。

在此函数执行过程中,将会创建诸多线程,大多数线程为进程的辅助线程或 TPPworker,其中一个特殊的线程会调 CreateProcess 函数,再次运行一个 NetworkService.exe,参数与本进程相同但传入的CreationFlags 中含有 Suspend 属性。也就意味着,每次调用该函数都会向攻击者发送搜集的信息。

随后向服务器发送一个网络请求,并将接收到的数据存储到同目录下的 index.ini 文件下。

查找 plugin 目录下的文件,并将查找到的文件路径存储在结构体中。


加载 plugin 目录下所有的 DLL 文件,并尝试调用每一个DLL 文件的导出函数 Plugin_Create,并调用目标 DLL 的其它导出函数。

该导出函数会尝试加载四个 DLL 文件,分别为:plugin\\libcrypto-3.dll、plugin\\sqlite3.dll、plugin\\mk_api.dll、plugin\\libssl-3.dll。

随后获取磁盘序列号,加密并将数据转为 base64 后,发送给目标服务器。

服务器返回的数据解码后得到:

同时还搜集如下信息:

1. 通过 "cmd.exe /c ipconfig /all" 搜集所有的网卡信息。

2. 通过 "Process32Next"、"GetNativeSystemInfo" 获取当前系统运行的所有进程。

3. 通过 "cmd.exe /c whoami" 获取当前登录的用户名称。

4. 通过 "cmd.exe /c netsh wlan show profiles" 获取无线网卡配置信息。

向服务器发送的数据包如下:

相关推荐

10w qps缓存数据库——Redis(redis缓存调优)

一、Redis数据库介绍:Redis:非关系型缓存数据库nosql:非关系型数据库没有表,没有表与表之间的关系,更不存在外键存储数据的形式为key:values的形式c语言写的服务(监听端口),用来存...

Redis系列专题4--Redis配置参数详解

本文基于windowsX64,3.2.100版本讲解,不同版本默认配置参数不同在Redis中,Redis的根目录中有一个配置文件(redis.conf,windows下为redis.windows....

开源一夏 | 23 张图,4500 字从入门到精通解释 Redis

redis是目前出场率最高的NoSQL数据库,同时也是一个开源的数据结构存储系统,在缓存、数据库、消息处理等场景使用的非常多,本文瑞哥就带着大家用一篇文章入门这个强大的开源数据库——Redis。...

redis的简单与集群搭建(redis建立集群)

Redis是什么?是开源免费用c语言编写的单线程高性能的(key-value形式)内存数据库,基于内存运行并支持持久化的nosql数据库作用主要用来做缓存,单不仅仅是做缓存,比如:redis的计数器生...

推荐几个好用Redis图形化客户端工具

RedisPlushttps://gitee.com/MaxBill/RedisPlusRedisPlus是为Redis可视化管理开发的一款开源免费的桌面客户端软件,支持Windows、Linux...

关于Redis在windows上运行及fork函数问题

Redis在将数据库进行持久化操作时,需要fork一个进程,但是windows并不支持fork,导致在持久化操作期间,Redis必须阻塞所有的客户端直至持久化操作完成。微软的一些工程师花费时间在解决在...

你必须懂的Redis十大应用场景(redis常见应用场景)

Redis作为一款高性能的键值存储数据库,在互联网业务中有着广泛的应用。今天,我们就来详细盘点一下Redis的十大常用业务场景,并附上Golang的示例代码和简图,帮助大家更好地理解和应用Redis。...

极简Redis配置(redis的配置)

一、概述Redis的配置文件位于Redis安装目录下,文件名为redis.conf(Windows名为redis.windows.conf,linux下的是redis.conf)你可以通过C...

什么是redis,怎么启动及如何压测

从今天起咱们一起来学习一下关于“redis监控与调优”的内容。一、Redis介绍Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。...

一款全新Redis UI可视化管理工具,支持WebUI和桌面——P3X Redis UI

介绍P3XRedisUI这是一个非常实用的RedisGUI,提供响应式WebUI访问或作为桌面应用程序使用,桌面端是跨平台的,而且完美支持中文界面。Githubhttps://github....

windows系统的服务器快速部署java项目环境地址

1、mysql:https://dev.mysql.com/downloads/mysql/(msi安装包)2、redis:https://github.com/tporadowski/redis/r...

window11 下 redis 下载与安装(windows安装redis客户端)

#热爱编程是一种怎样的体验#window11下redis下载与安装1)各个版本redis下载(windows)https://github.com/MicrosoftArchive/r...

一款轻量级的Redis客户端工具,贼好用!

使用命令行来操作Redis是一件非常麻烦的事情,我们一般会选用客户端工具来操作Redis。今天给大家分享一款好用的Redis客户端工具TinyRDM,它的界面清新又优雅,希望对大家有所帮助!简介Ti...

一个.NET开发且功能强大的Windows远程控制系统

我们致力于探索、分享和推荐最新的实用技术栈、开源项目、框架和实用工具。每天都有新鲜的开源资讯等待你的发现!项目介绍SiMayRemoteMonitorOS是一个基于Windows的远程控制系统,完...

Redis客户端工具详解(4款主流工具)

大家好,我是mikechen。Redis是大型架构的基石,也是大厂最爱考察内容,今天就给大家重点详解4款Redis工具@mikechen本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集...