黑吃黑的 Prynt Stealer 在恶意软件中嵌入后门

news2024/10/7 20:35:00

窃密对于网络犯罪来说,始终都是不可缺少的一部分。攻击者可以通过窃密获取更多信息,来判断攻击目标的价值高低,从而最大化自己的利益。为了使技术不太高的普通攻击者也能够使用,包括
Prynt Stealer 在内的信息窃取类恶意软件通常都使用构建工具进行配置。然而,Zscaler ThreatLabz 研究人员发现 Prynt
Stealer 构建工具中存在一个秘密后门,监控其他攻击者收集的受害者数据并回传给构建工具开发者的私人 Telegram 聊天,这就是俗称的“黑吃黑”。

Prynt Stealer 是一个新出现的窃密恶意软件家族,是通过 .NET 编写的恶意软件。分析人员确定 Prynt Stealer
与至少两个开源恶意软件家族存在代码共用。

Prynt Stealer 起源

Prynt Stealer 似乎直接从开源恶意软件的代码中进行复制粘贴,但借用的代码有很多并没有被实际使用。Prynt Stealer 的代码主要源自
AsyncRAT 与 StormKitty,其中 AsyncRAT 的代码作为主模块并随后调用 StormKitty 进行窃密。

Prynt Stealer 中大部分 AsyncRAT 的功能都被禁用了,C&C 服务器 URL 被设置为
127.0.0.1。但恶意软件中嵌入的证书如下所示:

image.png-40.7kB嵌入证书

值得注意的是,该证书是归属与 WorldWind 窃密恶意软件的,当然该恶意软件也由 Prynt Stealer 的开发者进行出售。

AsyncRAT/StormKitty 代码比较

Prynt Stealer 作者在 AsyncRAT 的配置中新增了两个字段,用于通过 Telegram 进行数据泄露。

image.png-340.2kB代码对比

向 Telegram 发送信息的主要代码是从 StormKitty 复制的,如下所示:

image.png-551.7kB代码对比

主要的区别在于字段的名称与顺序,并且在 Prynt Stealer 中缺少与检测色情网站相关的字段。

技术细节

反检测

Prynt Stealer 创建了一个线程,该线程在 AsyncRAT 的静态构造函数中调用名为 processChecker 的函数,如下所示。

image.png-230.9kBprocessChecker
代码

Prynt Stealer 使用该线程持续监控受害者的进程列表。如果检测到以下任何进程,恶意软件将阻止 Telegram 通信:

taskmgr

processhacker

netstat

netmon

tcpview

wireshark

filemon

regmon

cain

Telegram 通信

Prynt Stealer 创建一个线程使用 Telegram getUpdates API 轮询要下载的文件,如下所示。

image.png-147.2kB下载命令

数据窃密

Prynt Stealer 从各种应用程序中窃取数据,并将数据发送到构建工具中配置的 Telegram 通道,如下所示。

image.png-418.8kB构建工具

Prynt Stealer 的日志会发送到开发者的 Telegram,如下所示。

image.png-254.7kB后门回传日志文件

过去也有过免费使用的恶意软件,开发者在其中植入后门实现“黑吃黑”。但 Prynt Stealer
是一个收费的恶意软件,不仅恶意软件要收费还会窃取其他攻击者的劳动成果。

Prynt Stealer / WorldWind / DarkEye

ThreatLabz 已经确定了至少两个 Prynt Stealer 的变种,被称为 WorldWind 和
DarkEye。这三者非常相似,差别很小,应该是同一个开发者编写的恶意软件。下图显示了过去一年中发现的三类样本的百分比情况:

image.png-115.4kB在野分布情况

Prynt 和 WorldWind 均由同一开发者在以下网站上出售:

image.png-17.6kB销售渠道

网站的截图如下所示:

image.png-193.5kB销售网站截图

当然,各种地下论坛也都有流传 Prynt Stealer 的破解版,并且源代码也已经上传到 GitHub 上。Prynt Stealer 在犯罪分子常用的
Telegram 频道中也有免费提供的宣传,如下所示:

image.png-212.3kBTelegram
频道中的宣传

构建工具中嵌入了 DarkEye Stealer 和 Loda RAT 后门,这些免费版本可能就是开发者故意泄露的,以此实现“黑吃黑”。

三者功能比较

Prynt、WorldWind 和 DarkEye 之间的差异非常小,功能基本都相同,如下所示:

image.png-37.5kB三者功能对比

StormKitty、Prynt Stealer、WorldWind 和 DarkEye 之间的字段名称比较如下所示:

image.png-97.1kB字段名称比较

Prynt Stealer 构建工具

带有后门的构建工具执行过程如下所示:

image.png-142.9kB后门执行流程

Prynt Stealer 构建工具包括以下文件:

Stub.exe

Prynt Stealer.exe

Prynt Stealer sub.exe

Prynt.exe

Stub.exe

获取 Prynt Stealer sub.exe中的资源,并根据RCData资源部分中的设置执行操作,如下所示。

image.png-68.2kB资源枚举函数

从字符串 C:\Users\DarkCoderSc\Desktop\Celesty Binder\Stub\STATIC\Stub.pdb可见,Prynt Stealer sub.exe 是使用 Celesty Binder 生成的。

该二进制文件以明文形式将嵌入的 Payload 存储在 RBIND 资源下,被配置为在 %TEMP% 文件夹中释放并执行 Payload,如下所示:

image.png-97.8kB资源数据

DROPIN 的其他有效路径包括:

%APPDATA%

%PROGFILES%

%DEFDRIVE%

%STARTUPDIR%

%LAPPDATA%

%USERDIR%

Prynt Stealer.exe

Prynt Stealer 构建工具是 AsyncRAT 构建工具的定制化版本,修改了界面并且在 main 函数中添加了一行语句,以从 {Builder Path}/Stub/Prynt.exe运行加载程序。

Prynt.exe

该文件为 .NET 编写的加载程序,只是通过硬编码的 URL 下载 Payload 并执行,如下所示:

image.png-336.5kB混淆与去混淆操作

下载的 Payload 为 DarkEye Stealer,也算是 Prynt Stealer 的一个变种。

DarkEye Stealer

该文件本质上还是 Prynt Stealer,只在代码布局上存在细微差别。其配置相关的信息如下所示:

image.png-768.7kB配置信息

DarkEye 与 Prynt 和 Worldwind 的主要区别在于 AsyncRAT 的部分是通过配置相关设置来填充的,而且有些早期版本的
DarkEye 并没有使用 AsyncRAT。

Loda RAT

Loda RAT 是一个基于 Autoit 开发的远控木马,在 2017
年被首次发现。此后一直非常活跃,并且多年来一直在持续更新,是一个相当强大的恶意软件。

总结

现在互联网上有许多开源的恶意软件源码,这使攻击者开发恶意软件变得非常容易。Prynt Stealer 的开发者将 Telegram Token 与聊天 ID
硬编码到恶意软件中,添加了一个后门来窃取客户的信息。

IOC

d8469e32afc3499a04f9bcb0ca34fde63140c3b872c41e898f4e31f2a7c1f61f
f15e92c34dd8adfcd471d726e88292d6698217f05f1d2bcce8193eb2536f817c
3b948a0eb0e9bbca72fc363b63ffd3a5983e23c47f14f8296e8559fd98c25094
bb96db7406566ec0e9305acde9205763d4e9d7a65f257f3d5c47c15f393628ec
e48179c4629b5ab9e53ccb785ab3ee5eeb2e246e1897154a15fec8fd9237f44b
9678ca06068b705da310aa2f76713d2d59905b12b67097364160857cd1f90c58
654f080d5790054f0cd1a0f9b31cd7a82a4722ff3ce5093acdc31ff154f1ae24
cb132691793e93ad8065f857b4b1baba92e937cfc3d3a8042ce9109e12d32b4c
d37d0ae4c5ced373fe1960af5ea494a6131717d1c400da877d9daa13f55439bb
c79aed9551260daf74a2af2ec5b239332f3b89764ede670106389c3078e74d1a

https://cdn.discordapp.]com/attachments/523238636561629190/890007970207907871/vltn.exe
bigdaddy-service.biz:6606
bigdaddy-service.biz:7707
bigdaddy-service.biz:8808
daddy.linkpc.net:1199

参考来源

[Zscaler](https://www.zscaler.com/blogs/security-research/no-honor-among-
thieves-prynt-stealers-backdoor-exposed)

service.biz:7707

bigdaddy-service.biz:8808
daddy.linkpc.net:1199

最后

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:


当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

因篇幅有限,仅展示部分资料,有需要的小伙伴,可以【扫下方二维码】免费领取:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/365832.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

工赋开发者社区 | 工业数字孪生:西门子工业网络与设备虚拟调试案例(TIA+MCD+SINETPLAN)

PART1案例背景及基本情况新生产系统的设计和实施通常是耗时且高成本的过程,完成设计、采购、安装后,在移交生产运行之前还需要一个阶段,即调试阶段。如果在开发过程中的任何地方出现了错误而没有被发现,那么每个开发阶段的错误成本…

Linux服务:Nginx服务重写功能

目录 一、重写功能 1、重写功能作用 2、rewrite指令 ①if指令 ②return指令 ③ set指令 ④break指令 3、rewrite标志 ①redirect标志 ②permanent标志 ③break标志 ④last标志 ⑤rewrite标志实验 一、重写功能 1、重写功能作用 重写功能(rewrite)用于实现URL的重…

CentOS 8利用Apache安装部署下载服务器

1:部署的目的是做一个类似下面开源镜像网站,把一些软件或者资料上传到服务器上面,减少用户在互联网上下载资料,提高效率,减少病毒。 2:使用下面的命令配置本机的IP地址主机名等信息。后期使用IP地址进行访问…

CRF条件随机场 | 关键原理+面试知识点

😄 CRF之前跟人生导师:李航学习过,这里结合自己的理解,精简一波CRF,总结一下面试中高频出现的要点。个人觉得没网上说的那么复杂,我看网上很大部分都是一长篇先举个例子,然后再说原理。没必要原…

webservice接口开发详解(.Net)

环境:win10 工具:Visual Studio2015 语言:vb.net WebService: 1.打开vs2015,新建visual basic项目,选择ASP.NET Web应用程序,单击确定 2.右键解决方案,添加新建项-Web-Web 服务(ASMX) 3.生成的WebServi…

Qt QMAKE_MSC_VER

文章目录摘要修改conf文件参考链接关键字: Qt、 QMAKE_MSC_VER 、 conf、 version、 关键字5摘要 今天在又有了新的小项目需要CV一下,但是第三方提供的是COM组件的库,所以第一步还是老实使用VS版本的Qt 来开发,以防不测&#xf…

3个月,入门网络安全并找到工作

在我进入大学之前,我一直对计算机感兴趣。虽然只是考了一个一般大学,但是选专业的时候还是选了计算机专业。 本来以为自己会在大学里学到很多有用的知识,并且能够很快找到一份好工作。但是,事实并不是这样。在大学期间&#xff0c…

深入浅出C++ ——哈希

文章目录前言一、unordered系列关联式容器1. unordered_map2. unordered_set二、哈希1. 哈希概念2. 哈希冲突3. 哈希函数4. 哈希冲突解决方法三、模拟实现unordered系列容器1. 哈希表的改造2. 模拟实现 unordered_set3. 模拟实现 unordered_map前言 在C11中,STL又提…

git之创建远程仓库

创建远程仓库 以下操作为演示在Github网站上创建远程仓库 1.登陆注册Github 2.创建仓库入口 3.编辑仓库信息 4.仓库创建完成 5.查看仓库地址 配置SSH 选择SSH操作 如果某台电脑需要与Github上的仓库交互,那么就要把这台电脑的SSH公钥添加到…

TestNG和Junit的区别,测试框架该如何选择?

要想知道两个框架的区别,首先分别介绍一下两个框架。 TestNG是一个java中的开源自动化测试框架,其灵感来自JUnit和NUnit,TestNG还涵盖了JUnit4整个核心的功能,但引入了一些新的功能,使其功能更强大,使用更…

【更新公告】Airtest更新至1.2.9版本

1. 前言 本次更新为Airtest库更新,版本提升至1.2.9,主要新增 对Android13的支持 、新增Windows和iOS的录屏接口 等。 2. 更新功能 1)新增对Android13的支持 Airtest1.2.9版本新增了对Android13设备的支持,有该系统设备连接/自…

第二章 编写MBR主引导记录

主引导记录(MBR,Master Boot Record)是采用MBR分区表的硬盘的第一个扇区,即C/H/S地址的0柱面0磁头1扇区,也叫做MBR扇区 计算机的启动过程 为什么程序要载入内存 CPU的硬件电路被设计成只能运行处于内存中的程序&…

前端开发常用的18个JavaScript框架和库

JavaScript 可以说是最流行的编程语言之一,也是Web 开发人员必须学习的 3 种语言之一,JavaScript 几乎可以做任何事情,更可以在包括物联网在内的多个平台和设备上运行。在WebGL库和SVG/Canvas元素的支持下,JavaScript变得惊人的强…

Spring Cloud Nacos源码讲解(四)- Nacos服务端服务注册源码分析

Nacos服务端服务注册源码分析 服务端调用接口 ​ 我们已经知道客户端在注册服务的时候实际上是调用的NamingService.registerInstance这个方法来完成实例的注册,而且在最后我们也告诉了大家实际上从本质上讲服务注册就是调用的对应接口nacos/v1/ns/instance&#…

网络工程(三)ensp配置静态路由

配置静态路由 这里选择的路由器是AR2220 因为有三个GE接口 下面说拓扑图 一、定义AR路由ip地址和下一条 AR1system-viewsysname AR1interface g0/0/0ip address 10.0.0.254 8interface g0/0/1ip address 50.0.0.1 8下一条代码[AR1]ip route-static 0.0.0.0 0 50.0.0.2AR2 s…

Linux SID 开发指南

Linux SID 开发指南 1 前言 1.1 编写目的 介绍Linux 内核中基于Sunxi 硬件平台的SID 模块驱动的详细设计,为软件编码和维护提供基 础。 1.2 适用范围 内核版本Linux-5.4, Linux-4.9 的平台。 1.3 相关人员 SID 驱动、Efuse 驱动、Sysinfo 驱动的维护、应用开…

Java 方法超详细整理,适合新手入门

目录 一、什么是方法呢? 二、方法的优点 三、带返回值方法定义 语法: 示例: 四、带返回值方法调用 语法: 示例: 五、结果示例 一、什么是方法呢? Java方法是语句的集合,它们在一起执行…

Android 9.0 仿ios的hotseat效果修改hotseat样式

1.概述 在9.0的系统rom定制化的产品中,在launcher3的定制化需求中,有很多功能需求点需要开发,在对一下ui的定制化的过程中,会参考ios的样式进行定制化,所以最近项目需求 要求仿ios的hotseat的样式来进行产品的定制,开发一款仿ios的hotseat,所以需要对hotseat进行分析,然…

C语言进阶(八)—— 链表

1. 链表基本概念1.1 什么是链表链表是一种常用的数据结构,它通过指针将一些列数据结点,连接成一个数据链。相对于数组,链表具有更好的动态性(非顺序存储)。数据域用来存储数据,指针域用于建立与下一个结点的…

【CKA】

— k8s basic — 安装版本信息查询 命令行自动补全功能设置 01. Namespaces and Pods 02. Assigning Pods to Nodes 03. Basic Deployments 04. Advanced Deployment 05. Jobs, Init Containers and Cron Jobs 06. Manage DaemonSets 07. Manage Services 08. Manage Ingress …