从勒索病毒加密的SQLServer数据库中恢复数据

1. 问题描述

用户的SQLServer数据库遭到"LockBit"勒索病毒攻击,数据库宕机无法访问。

SQLServer数据库数据文件被加密且扩展了文件后缀名:“.lockbit”。
如:
数据文件原有文件名为:“testdb1.mdf”
加密后的文件名则被修改为:“testdb1.mdf.lockbit

同时在被加密的文件目录下留了一封勒索信:“Restore-My-Files.txt”
在这里插入图片描述

2. "LockBit"病毒加密分析

知道了文件名被篡改,第一想法是把文件名改回原来的名字,看看是否能拉起数据库,但是尝试失败(想想也是,病毒没那么傻~~)。

那么就只有深入研究下被加密的数据文件,看看到底病毒做了哪些手脚。
通过十六进制编辑器工具打开被加密的文件, 发现文件确实被加密了。
左图是被加密的文件,右图是正常的数据文件。加密后的文件显示为乱码形式。
在这里插入图片描述
看到这一幕,有点绝望,在不知道加密算法和密钥的情况下,解密的可能性为0…

好吧,再往下看看,果然有惊喜!
勒索病毒只加密了文件头部256KB字节的内容,之后的数据没有被加密!
在这里插入图片描述

为什么只加密文件头的一部分数据?
想想是因为勒索病毒采用的加密算法加密强度太高了,加密时所需时间很长。而对于动不动就上百GB的数据库文件而言,加密时间就更长了。

对于对称加密算法而言,加密时间长,解密时间也长,黑客也不想给自己找麻烦。


3.数据恢复思路

SQLServe数据文件MDF格式,8KB是一个页面。
病毒加密了前256KB数据,也就是 32 个页面。
而对于SQLServe来说,前32个页面基本是数据库创建时就填充的数据库系统信息,很少有用户表数据存储于前32页面中。

那么数据恢复的方法也就明确了:跳过前32个页面,扫描32页之后的有效数据,将其恢复到新的数据库中!


4.恢复实战

根据SQLServer MDF 数据文件的组织格式,层层剖析,恢复页面中的有效数据。

具体实施起来挺复杂,不光要考虑普通表数据,还要考虑LOB大对象数据、视图/函数/存储过程 等对象的恢复,总之力求完美,SQLServer有的对象,都要考虑进去。

最终将加密的数据库成功恢复出来,数据验证使用正常!
在这里插入图片描述

5.友情提示

1)做好局域网防护
局域网内的主机密码不要使用相同的密码,一台攻陷,全网瘫痪!同时关闭不必要的网络端口。

2) 此方法只能恢复被加密的SQLServer数据库数据文件,其它类型的文件,如 word、图片等无法恢复出来。

要使用达思SQL数据库修复软件修复勒索病毒加密数据库,可以按照下面的步骤进行操作: 1. 首先,确保已经安装了达思SQL数据库修复软件,并且软件是最新版本。 2. 打开达思SQL数据库修复软件,选择“修复数据库”选项。这将打开修复向导,引导您完成修复过程。 3. 在修复向导,选择要修复的数据库文件。这通常是被勒索病毒加密数据库文件,通常以特定的文件扩展名结尾,如 ".db" 或 ".sql"。 4. 在下一步,选择修复选项。根据您的具体需求,选择合适的修复选项。通常可以选择完全修复、部分修复或者仅解密数据库。 5. 根据修复选项,软件将开始修复过程。这可能需要一些时间,具体取决于数据库的大小和复杂性。 6. 修复完成后,软件将显示修复结果。检查修复结果以确保数据库已成功修复并可以正常使用。 7. 如果修复结果满意,您可以将修复后的数据库文件保存在指定的位置。 8. 在保存修复后的数据库文件之后,建议立即进行数据库的备份。这将有助于避免未来的数据丢失和数据库故障。 请注意,使用达思SQL数据库修复软件修复勒索病毒加密数据库并不保证100%的成功。在进行修复之前,请确保已经制作了数据备份,并准备好其他应对紧急情况的方案。此外,建议将安全措施应变软件安装在系统,以降低再次受到勒索病毒攻击的风险。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

duanbeibei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值