1.背景
本篇文章主要讲解mallox家族lmallox勒索病毒的破解方法,背景详情可参考
【病毒分析】Mallox家族再进化:首次瞄准Linux,勒索新版本全面揭秘!
2.恶意文件基础信息
2.1 加密器基本信息
文件名: | encrypto |
---|---|
大小: | 26936(26.30 KiB) |
操作系统: | Ubuntu Linux(20.04.2,ABI: 3.2.0) |
架构: | AMD64 |
模式: | 64 位 |
类型: | DYN |
字节序: | LE |
MD5: | 8d0fd41d35df82d3e7e2ff5c1747b87c |
SHA1: | 93ef3578f9c3db304a979b0d9d36234396ec6ac9 |
SHA256: | f4b64976d7dcb04466f0a89d81cd2eb158158c752c042ec248549415799965bf |
3.逆向分析
加密算法分析:
解密核心代码:
func decode_file(wg *sync.WaitGroup, path string) bool { defer wg.Done() hexKey := "310e72d723af744be6377c08949965626b1df9c3db6db2a418331fb1344c9a90" key, err := hex.DecodeString(hexKey) key = xor0x9b(key) cipherText, err := ioutil.ReadFile(path) if err != nil { log.Fatalf("Error reading file: %v", err) return false } iv := cipherText[:16] // First 16 bytes for IV encryptedData := cipherText[16:] // Remaining part is encrypted data block, err := aes.NewCipher([]byte(key)) if err != nil { log.Fatalf("Error creating cipher: %v", err) return false } mode := cipher.NewCBCDecrypter(block, iv) decrypted := make([]byte, len(encryptedData)) mode.CryptBlocks(decrypted, encryptedData) decrypted = pkcs7Unpad(decrypted) if decrypted == nil { return false } outputpath := strings.Replace(path, ".lmallox", "", 1) err = ioutil.WriteFile(outputpath, decrypted, 0644) if err != nil { log.Fatalf("Error writing decrypted data to file: %v", err) } fmt.Printf("[+]文件: %s 解密成功!!n", path) os.Remove(path) return true }
解密结果:
工具下载地址
点击关注下方名片进入公众号
回复关键字【lmallox】获取下载链接
更多资讯 扫码加入群组交流
喜欢此内容的人还喜欢
索勒安全团队
索勒安全团队
【独家破解】揭秘境外黑客组织的20美元锁机病毒:深度逆向分析+破解攻略!赎金?给你付个🥚
索勒安全团队
原文始发于微信公众号(solar专业应急响应团队):从无解到破解:Mallox家族linux的解密器制作
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论