前言
在应急的过程中,时不时会遭遇lockbit勒索事件,那在没有密钥的情况下,如何修复被加密的文件,及时止损呢?这里,针对此勒索分享些恢复文件的小技巧。
如何恢复
网上有很多lockbit2.0勒索病毒的样本分析,我们可以获知到lockbit2.0加密速度是很快的,所以这也导致他是只加密文件的前256KB or 4KB(网上文章都是256KB,我这里遇到的是加密4KB),那这也导致了文件的可恢复性。
因为一个文件的开头部分往往是文件头信息,针对不同的文件类型有不同的文件头和文件尾。这里摘取部分文件类型的文件头信息。故我们在恢复特定文件的时候就存在了可能性。
文件类型 | 文件头 | 文件尾 |
---|---|---|
JPG | FF D8 FF E0 | FFD9 |
GIF | 47 49 46 38 | |
PSD | 38 42 50 53 | |
PNG | 89 50 4E 47 | AE 42 60 82 |
GIF | 47 49 46 38 | 00 3B |
BMP | 42 4D | |
TIFF | 49 49 2A 00 | |
ZIP | 50 4B 03 04 | 50 4B |
MS Word/Excel (xls.or.doc) | D0 CF 11 E0 | |
25 50 44 46 2D 31 2E | ||
RAR | 52 61 72 21 |
我们这里针对sqlserver数据库来说,SQLServe数据文件MDF格式,8KB是一个页面。病毒如果加密前256KB数据,也就是 32 个页面。
而对于SQLServe来说,前32个页面基本是数据库创建时就填充的数据库系统信息,很少有用户表数据存储于前32页面中。那么数据恢复的方法也就明确了:跳过前32个页面,扫描32页之后的有效数据,将其恢复到新的数据库中。
使用xxd命令查看已经加密的mdf文件,可以发现加密的部分为文件头部分,填充随机字符。

故针对这种情况,我们可以使用数据库修复工具,可以挽救大部分数据。这里推荐两款”Stellar Repair for MS SQL“和”Aryson SQL Database Recovery“,网上针对不同的数据库修复有不同的修复工具,不过大部分都是商业的。


总结
故针对这种:只加密文件头,且文件类型已知的情况下,还是有很大的可能挽回数据的,即使有损毁也不会太多,这里只是提供一点思路。更多针对文件恢复的内容可以参考:
https://zgao.top/%e6%95%b0%e6%8d%ae%e6%81%a2%e5%a4%8d%e4%ba%8c-linux%e4%b8%8bext%e6%96%87%e4%bb%b6%e7%b3%bb%e7%bb%9f%e6%95%b0%e6%8d%ae%e6%81%a2%e5%a4%8d%e6%80%9d%e8%b7%af%e6%b7%b1%e5%85%a5%e5%88%86%e6%9e%90/
https://zgao.top/%e6%95%b0%e6%8d%ae%e6%81%a2%e5%a4%8d%e4%b8%80-linux%e4%b8%8bext%e6%96%87%e4%bb%b6%e7%b3%bb%e7%bb%9f%e6%95%b0%e6%8d%ae%e5%88%a0%e9%99%a4%e5%8e%9f%e7%90%86%e6%b5%85%e6%9e%90/