Phobos捆绑某数控软件AdobeIPCBroker组件定向勒索

前言

Phobos勒索病毒最早于2019年被首次发现并开始流行起来,该勒索病毒的勒索提示信息特征与CrySiS(Dharma)勒索病毒非常相似,但是两款勒索病毒的代码特征却是完全不一样,近日笔者在逛某开源恶意软件沙箱的时候发现了一款Phobos勒索病毒捆绑某数控软件目录下的AdobeIPCBroker组件模块加载执行,这种通过正常软件捆绑勒索病毒的加载方式,此前也被应用于一些主流的勒索病毒攻击活动,出与好奇,笔者对这款Phobos勒索病毒进行了深度的分析与研究。

深度分析

从开源沙箱平台下载到该勒索病毒样本,运行之后,启动AdobeIPCBroker组件程序,如下所示:

该组件程序目录下,包含的文件,如下所示:

加载执行的AdobeIPCBroker组件为正常软件,如下所示:

通过初步分析,发现该目录文件夹里面有几个可疑文件,这几个可疑的文件分别为:TmEvent.dll、libcui40.dll、ground,至于我是如何能快速定位发现这几个可疑模块的,可能是我个人经验与直觉吧,这里也教大家一个比较笨的方法,就是查看这个组件程序加载了哪些模块,然后再一个一个去人工逆向分析排查,这个时候也不能依靠VT,因为大多数情况下VT上是没有这些样本文件的,除非样本已经被人传到了VT上,有时候就算VT上有了这些样本,也可能显示为正常的,因为黑客在攻击的时候已经做了相应的免杀处理,所以针对一些高端的黑客组织定向攻击行动,任何工具以及平台都只是起到辅助分析的作用,最后还是需要人工分析才能确认,安全永远是人与人的对抗,这款软件加载的相关DLL,如下所示:

该组件通过加载TmEvent.dll恶意模块,动态加载libcui40.dll模块的导出函数RenderObject,如下所示:

libcui40.dll模块,加载ground恶意代码到内存并解密执行,如下所示:

然后执行到解密的shellcode代码处,如下所示:

解密出第二阶段的shellcode代码并跳转执行,如下所示:

第二阶段shellcode再次分配内存空间,如下所示:

在内存解密出勒索病毒核心代码,如下所示:

通过对比之前phobos的Devos变种样本,内存解密出来的勒索病毒核心代码与此前勒索病毒核心代码高度相似,可以判定该勒索病毒为Phobos勒索病毒Devos的变种家族,如下所示:

该勒索病毒加密后的文件,如下所示:

弹出的勒索提示信息,如下所示:

黑客留下的相关联系方式,如下:

邮箱地址:

martin1993douglas@pressmail.ch

bryan1984jackson@tutanota.com

Telegram联系方式:

@devos_support

联系方式:

cris_nickson@xmpp.jp

总结

从上面的分析可以猜测这可能是一次定向勒索攻击行动,该攻击行动主要针对使用某数控机床仿真软件的行业公司进行定向攻击,免杀方面也做的很好,初期几个恶意模块在VT上基本都是显示为正常的,黑客通过二次打包捆绑某数控机床仿真软件程序,欺骗受害者安装恶意程序,加载目录下的勒索病毒恶意模块文件。

通过一些常用的软件捆绑勒索病毒的方式,也是勒索病毒攻击的主要方式之一,大家在下载一些软件的时候,一定要到正规的官方网站进行下载,同时要检测安装包软件的数字签名等信息是否完整有效,目前主流的勒索病毒都是无法解密的,同时勒索病毒的攻击也会越来越向定向化攻击发展为主,“APT式”的勒索病毒攻击未来会成为勒索病毒攻击的主要方式,可以预见,未来几年“APT式”的勒索攻击活动将是全球网络安全最大的威胁之一,同时数据窃取类的高级威胁攻击活动也将会越来越向定向化攻击活动发展。

最后还是那句话,做安全,不忘初心,坚持去做就可以了。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

sql语句学习(一)--查询

【有道云笔记】基本sql语句2—查询基础 数据库表结构 DROP TABLE IF EXISTS class; CREATE TABLE class (id int(11) NOT NULL AUTO_INCREMENT,class_num varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT 班级号,class_name varchar(255) CHARACTE…

第24讲投票管理实现

投票管理实现 后端: package com.java1234.controller;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.java1234.entity.*; import com.java1234.service.…

QEMU使用步骤

1、安装虚拟机环境:ubuntu-16.04.7-desktop-amd64.iso,下载地址:Index of /ubuntu-releases/16.04.7/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 2、安装gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf.tar.xz到/opt目录&#xf…

SECS/GEM的HSMS通讯?金南瓜方案

High Speed SECS Message Service (HSMS) 是一种基于 TCP/IP 的协议,它使得 SECS 消息通信更加快速。这通常用作设备间通信的接口。 HSMS 状态逻辑变化(序列): 1.Not Connected:准备初始化 TCP/IP 连接,但尚…

第十九篇【传奇开心果系列】Python的OpenCV库技术点案例示例:文字识别与OCR

传奇开心果短博文系列 系列短博文目录Python的OpenCV库技术点案例示例系列 短博文目录前言一、OpenCV 文字识别介绍二、图像预处理示例代码三、文字区域检测示例代码四、文字识别示例代码五、文字后处理示例代码六、OpenCV结合Tesseract OCR库实现文字识别示例代码七、OpenCV结…

【Cocos入门】物理系统(物理碰撞)

物理碰撞 物理引擎默认是关闭状态以节省资源开销。开启方法和之前的普通碰撞类似:cc.director.getPhysicsManager().enabled true但有一个区别,物理引擎的开启必须放在onLoad函数内运行,否则不生效。 物理碰撞组件也同样具有碰撞回调函数。…

9 个管理 Windows 硬盘的最佳免费磁盘分区软件 [2024 排名]

管理分区可能是一项具有挑战性的任务。当您想到删除、缩小、移动、磁盘分区或合并分区等方面时,您会认为它们是很难做到的事情。然而,虽然 Windows 自己的磁盘管理可以处理大部分问题,但它无法处理管理分区的所有方面。 这时候优质的磁盘管理…

半导体通讯SECS-I是什么?

SECS-I(Semi Equipment Communications Standard 1 Message Transfer)是一个定义如何发送和接收通信内容(Content)的协议。此标准定义了通过RS-232C传输介质进行通信内容的发送和接收规约。 其主要特点如下: 1.使用RS2…

android 控制台输出 缺失

问题 android 控制台输出内容缺失 详细问题 笔者进行android开发,期望控制台打印Log日志或是输出内容 Log.i("tag","content");或 System.out.println("content")但是实际上,上述内容并没有按照笔者期望打印 解决方…

84 CTF夺旗-PHP弱类型异或取反序列化RCE

目录 案例1:PHP-相关总结知识点-后期复现案例2:PHP-弱类型对比绕过测试-常考点案例3:PHP-正则preg_match绕过-常考点案例4:PHP-命令执行RCE变异绕过-常考点案例5:PHP-反序列化考题分析构造复现-常考点涉及资源&#xf…

2024.02.14作业

1. 请编程实现二维数组的杨辉三角 #include <stdio.h> #include <stdlib.h> #include <string.h>int main() {int n;scanf("%d", &n);int a[n][n];memset(a, 0, sizeof(a));a[0][0] 1;for (int i 1; i < n; i){for (int j 0; j < i …

tick数据、盘口数据、成交明细数据详解

近期开始学习订单薄策略(order book strategy)、订单流策略(order flow strategy)&#xff0c;理清数据是第一步。 一、成交明细数据 用各个软件进行看盘&#xff0c;除了分时、k线最常用外&#xff0c;盘口数据/成交明细也会显示出来&#xff0c;下图是螺纹主力shfe.rb2401 …

auto关键字详讲

目录 1.问题思考 2.auto关键字介绍 3. 早期auto的缺陷&#xff1a; 4.什么叫自动存储器&#xff1f; 5. c标准auto关键字 5.1auto的使用细节 5.2 auto什么时候不能推导变量的类型呢&#xff1f; 5.3基于范围的for循环 5.3.1范围for的用法 5.3.2 范围for的使用条件 6.…

C语言学习day14:跳转语句

今天学习的跳转语句主要是三种&#xff1a; break continue goto 上一篇文章已经说过了break和continue break&#xff1a;结束这个循环 continue&#xff1a;结束当前的循环迭代&#xff0c;进行下一次的迭代 看看二者代码的区别 代码&#xff08;break&#xff09;&am…

奔跑吧小恐龙(Java)

前言 Google浏览器内含了一个小彩蛋当没有网络连接时&#xff0c;浏览器会弹出一个小恐龙&#xff0c;当我们点击它时游戏就会开始进行&#xff0c;大家也可以玩一下试试&#xff0c;网址&#xff1a;恐龙快跑 - 霸王龙游戏. (ur1.fun) 今天我们也可以用Java来简单的实现一下这…

Nodejs 第三十七章(连表and子查询)

子查询 子查询&#xff08;Subquery&#xff09;&#xff0c;也被称为嵌套查询&#xff08;Nested Query&#xff09;&#xff0c;是指在一个查询语句中嵌套使用另一个完整的查询语句。子查询可以被视为一个查询的结果集&#xff0c;它可以作为外层查询的一部分&#xff0c;用…

Spring Boot 笔记 015 创建接口_更新文章分类

1.1.1 实体类id增加NotNull注释&#xff0c;并做分组校验 1.1.1.1 定义分组 1.1.1.2 实体类中指定校验项属于哪个分组 如果说某个校验项没有指定分组,默认属于Default分组 分组之间可以继承, A extends B 那么A中拥有B中所有的校验项package com.geji.pojo;import com.faste…

linux安装mysql8且初始化表名忽略大小写

mysql8下载地址 MySQL8.0安装步骤 1、把安装包上传到linux系统&#xff0c;解压、重命名并移动到/usr/local/目录&#xff1a; cd ~ tar -xvf mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz mv mysql-8.0.32-linux-glibc2.12-x86_64/ mysql80/ mv mysql80/ /usr/local/2、在M…

基于HTML5实现动态烟花秀效果(含音效和文字)实战

目录 前言 一、烟花秀效果功能分解 1、功能分解 2、界面分解 二、HTML功能实现 1、html界面设计 2、背景音乐和燃放触发 3、燃放控制 4、对联展示 5、脚本引用即文本展示 三、脚本调用及实现 1、烟花燃放 2、燃放响应 3、烟花canvas创建 4、燃放声音控制 5、实际…

嵌入式中全面解析 SPI 通信协议方法

SPI 的英文全称为 Serial Peripheral Interface&#xff0c;顾名思义为串行外设接口。SPI 是一种同步串行通信接口规范&#xff0c;主要应用于嵌入式系统中的短距离通信。该接口由摩托罗拉在20世纪80年代中期开发&#xff0c;后发展成了行业规范。 SPI 是一种高速的、全双工的…
最新文章