Malduck是您的恶意软件分析之旅中的鸭伴
项目描述
:duck: Malduck
安装 ⚙️ | 文档 📚
Malduck是您的恶意软件分析之旅中的鸭伴。它主要基于Roach项目,该项目从mlib库中汲取了许多概念,该库由Maciej Kotowicz创建。分支的目的是使Roach独立于Cuckoo Sandbox项目,但仍支持其内部的procmem
格式。
Malduck提供了许多由CERT.pl代码库带来的改进,使得针对恶意软件分析编写的脚本变得更短、更强大。
功能
- 密码学 (AES, Blowfish, Camelie, ChaCha20, Serpent等)
- 压缩算法 (aPLib, gzip, LZNT1 (RtlDecompressBuffer))
- 内存模型对象 (在内存转储、PE/ELF、原始文件和IDA转储上使用相同代码工作)
- 提取引擎 (用于从文件/转储中提取配置的模块化提取框架)
- 固定整数类型(如Uint64)和位运算工具
- 字符串操作(块、填充、打包/解包等)
- 哈希算法(CRC32、MD5、SHA1、SHA256)
使用示例
AES
from malduck import aes
key = b'A'*16
iv = b'B'*16
plaintext = b'data'*16
ciphertext = aes.cbc.encrypt(key, iv, plaintext)
Serpent
from malduck import serpent
key = b'a'*16
iv = b'b'*16
plaintext = b'data'*16
ciphertext = serpent.cbc.encrypt(key, plaintext, iv)
APLib解压缩
from malduck import aplib
# Headerless compressed buffer
aplib(b'T\x00he quick\xecb\x0erown\xcef\xaex\x80jumps\xed\xe4veur`t?lazy\xead\xfeg\xc0\x00')
固定整数类型
from malduck import DWORD
def sdbm_hash(name: bytes) -> int:
hh = 0
for c in name:
# operations on the DWORD type produce a dword, so a result
# is also a DWORD.
hh = DWORD(c) + (hh << 6) + (hh << 16) - hh
return int(hh)
提取引擎 - 模块示例
from malduck import Extractor
class Citadel(Extractor):
family = "citadel"
yara_rules = ("citadel",)
overrides = ("zeus",)
@Extractor.string("briankerbs")
def citadel_found(self, p, addr, match):
log.info('[+] `Coded by Brian Krebs` str @ %X' % addr)
return True
@Extractor.string
def cit_login(self, p, addr, match):
log.info('[+] Found login_key xor @ %X' % addr)
hit = p.uint32v(addr + 4)
print(hex(hit))
if p.is_addr(hit):
return {'login_key': p.asciiz(hit)}
hit = p.uint32v(addr + 5)
print(hex(hit))
if p.is_addr(hit):
return {'login_key': p.asciiz(hit)}
内存模型对象
from malduck import procmempe
with procmempe.from_file("notepad.exe", image=True) as p:
resource_data = p.pe.resource("NPENCODINGDIALOG")
如何开始
通过运行以下命令进行安装
pip install malduck
更多文档可以在readthedocs上找到。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
此版本没有可用的源分布文件。请参阅生成分布存档的教程。
构建分布
malduck-4.4.1-py3-none-any.whl (94.1 kB 查看哈希值)