LockBit多版本简单对比

ops/2024/10/25 2:50:39/

LockBit家族介绍

LockBit是一种非常知名且活跃的勒索软件家族,自2019年首次被发现以来,已经经历了多个版本的演变。它以其高效的加密速度和自动化攻击能力而闻名,对各类组织构成了严重威胁。

发展时间线如下:

时间

事件

2019年9月

LockBit首次出现,由于加密拓展名为.abcd,也被称为ABCD勒索

2021年6月

LockBit 2.0出现,携带窃密工具StealBit

2021年10月

LockBit出现Linux版本

2022年3月

LockBit 3.0出现,也被称为LockBit Black

2023年1月

LockBit Green出现,融入了Conti勒索的源代码

2023年4月

LockBit出现MacOS版本

本部分将列举LockBit勒索本体使用的主要技术点,并分析其在1.0到3.0版本演变中的对抗技术和成熟度的变化。

一、勒索的主要技术点

权限提升

从1.0到3.0,都主要使用了通过COM接口IColorDataProxy和ICMLuaUtil进行BypassUAC提权

两个CLSID

{3E5FC7F9-9A51-4367-9063-A120244FBEC7}

{D2E7041B-2927-42fb-8E9F-7CE93B6DC937}

持久化

创建RUN项注册表自启动

内网扫描

发起内网扫描,枚举网络共享,构造共享路径对文件进行加密

禁止系统恢复

删除卷影还原点、关闭系统启动修复等操作

二、LockBit版本演变中的对抗技术

从1.0版本到3.0版本,LockBit在不断演变, 显著提高了对系统防御的绕过能力,并引入了更多高级的反调试和混淆技术。

勒索软件的不断升级

LockBit 1.0

LockBit 2.0

LockBit 3.0

加密扩展名

.abcd

.lockbit

随机后缀

代码混淆/分析对抗

基本无混淆

堆栈字符串混淆

API Hashing

NtGlobalFlag反调试

堆栈字符串混淆

数据混淆和控制流混淆

混淆器区段加密

代码动态解密

API Hashing

NtSetInformationThread反调试

DbgUiRemoteBreakin反调试

痕迹清理

调用命令行del自删除

调用命令行fsutil和del自删除

调用系统API函数多次重命名后删除

勒索配置数据

硬编码字符串

将配置字符串编码后写入二进制

将配置字符串编码后写入二进制,且配置更丰富

反调试

NtGlobalFlag反调试

通过FS寄存器查找PEB,获取偏移0x68位置的NtGlobalFlag字段中的值和0x70进行比较,如果判断相等,说明处于调试状态,样本将进入循环

NtSetInformationThread 反调试

NTSTATUS status = NtSetInformationThread(GetCurrentThread(), (THREADINFOCLASS)0x11, NULL, 0);

调用NtSetInformationThread函数,其中GetCurrentThread()获取当前线程句柄,(THREADINFOCLASS)0x11表示隐藏线程的信息类。

代码混淆

堆栈字符串混淆

API Hashing

通过PEB获取模块列表,遍历模块导出表,将每个API函数字符串进行Hash处理

痕迹清理

LockBit1.0

ping 1.1.1.1 -n 22 > Nul & \”%s\”

LockBit2.0

"C:\Windows\System32\cmd.exe" /C ping 127.0.0.7 -n 3 > Nul & fsutil file setZeroData offset=0 length=524288 "C:\Users\0x17\Desktop\1.exe" & Del /f /q "C:\Users\0x17\Desktop\1.exe"

勒索数据配置

硬编码字符串

LockBit 1.0将要结束的服务直接硬编码字符串在二进制中

配置化

和1.0版本对比,2.0将要停止的服务列表和进程列表数据编码后静态存储在可执行文件中

解码后的部分数据

泄露的3.0构建器配置


http://www.ppmy.cn/ops/128219.html

相关文章

从0到1学习node.js(path模块以及HTTP协议)

文章目录 一、path模块二、HTTP协议1、常见状态码分类2、IP地址3、端口 一、path模块 // 引入path模块 const path require(path)// 拼接地址 const resolveData path.resolve(__dirname, ./index) console.log(__dirname, __dirname) console.log(resolveData, resolveData…

机器视觉相机自动对焦算法

第一,Brenner梯度法、 第二,Tenegrad梯度法、 第三,laplace梯度法、 第四,方差法、 第五,能量梯度法。 此实例通过使用Halcon实现5种清晰度算法函数: 1. 方差算法函数; 2. 拉普拉斯能量函数…

Pandas分组与分箱

目录 分组 df.groupby分组函数返回分组对象 去除每组第一条或最后一条数据 获取分组后的每组名称 get_group()按组依据获取其中一组 分组聚合 分组后直接聚合 分组后指定单列或多列聚合 分组后使用多个聚合函数 分组后对多列分别使用不同的聚合函数 分组后使用自定义…

Ansible for Windows hosts(ansible.windows 模块介绍)

Ansible 具有许多专为 Windows 操作系统设计的模块,它使得自动化 Windows 任务变得简单。下面我将介绍一些常用的 Ansible Windows 模块,以及如何配置 Ansible 以管理 Windows 主机。 更详细的用法请参考:Using Ansible and Windows — Ansi…

使用预训练的BERT进行金融领域问答

获取更多完整项目代码数据集,点此加入免费社区群 : 首页-置顶必看 1. 项目简介 本项目旨在开发并优化一个基于预训练BERT模型的问答系统,专注于金融领域的应用。随着金融市场信息复杂性和规模的增加,传统的信息检索方法难以高效…

高效车辆管理:SpringBoot实现指南

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理车辆管理系统的相关信息成为必然。开发合适…

【黑马Redis原理篇】Redis网络模型

来源视频 [16,27] 文章目录 1.用户空间和内核空间空间划分缓冲区 2.IO模型2.1 阻塞IO2.2 非阻塞IO2.3 IO多路复用2.3.1 阻塞和非阻塞的对比2.3.2 IO多路复用2.3.3 监听FD方式、通知的方式,有多种实现 2.4 信号驱动IO2.5 异步IO2.6 真正的同步和异步 3.Redis是单线程…

十六、行为型(责任链模式)

责任链模式(Chain of Responsibility Pattern) 概念 责任链模式是一种行为型设计模式,它使多个对象都有机会处理请求,从而避免请求的发送者与接收者之间的耦合。将这些对象连成一条链,并沿着这条链传递请求&#xff0…