grepstrength/malsnitch

GitHub: grepstrength/malsnitch

面向恶意软件分析的秘密提取工具,用于从字符串转储、内存镜像等工件中自动挖掘硬编码凭据与加密密钥。

Stars: 20 | Forks: 0

![替代文本](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/e42e9d642c194653.png) # malsnitch - 正在逆向分析一些恶意软件? - 厌倦了盯着字符串转储找硬编码凭据? - 时间紧迫? 别担心! malsnitch 是一个 CLI 工具,旨在通过扫描字符串转储、FLOSS 输出或 Binja 导出等工件来辅助逆向工程工作流。它能提取恶意软件作者嵌入在二进制文件中的秘密信息。 - C2 凭据 - 加密密钥 - API Token - 数据外泄通道配置 - 更多内容! 需要明确的是——这不是另一个开发者秘密扫描器。像 TruffleHog 或 Gitleaks 这样的工具用于捕获提交到合法仓库中的 API 密钥。而 malsnitch 提取的是隐藏在 `.rdata` 中的 RC4 密钥,或某个随机 C2 服务器的 SMTP 密码。 (另外,我很自豪没有在标题中强行塞入“Go”。) ## 功能特性 - 检测嵌入的加密密钥(AES-128、AES-256、RC4) - 检测 C2 基础设施 - 检测数据外泄通道凭据(Discord Webhook、Telegram Bot Token) - 检测硬编码凭据(SMTP、FTP、HTTP 等) - 检测 API 密钥(GitHub PAT、AWS、Stripe、Slack、SendGrid、Mailgun) - 内存转储扫描 - 自动去重和子串抑制 - 结构化 JSON 输出到标准输出 - 支持多种输入格式: - `text`:原始字符串转储(例如 strings.exe 或 FLOSS 原始输出) - `floss`:FLOSS JSON 输出 - `binja`:Binary Ninja 导出 JSON(通过附带的 `bn_export.py`) ## 使用说明 1. 克隆仓库或安装 Go 包: ``` git clone https://github.com/grepstrength/malsnitch.git cd malsnitch ``` 或 ``` go install github.com/grepstrength/malsnitch@latest ``` 2. 构建: ``` go build -o malsnitch.exe . ``` 3. 对字符串转储运行: ``` .\malsnitch.exe -file strings_output.txt -type text ``` 4. 对 FLOSS JSON 输出运行: ``` .\malsnitch.exe -file floss_report.json -type floss ``` 5. 对 Binary Ninja 导出运行: ``` .\malsnitch.exe -file bn_export.json -type binja ``` 6. 对内存转储运行: ``` .\malsnitch.exe -file memdump.bin -type memdump ``` 7. 将 JSON 输出通过管道写入文件: ``` .\malsnitch.exe -file sample_strings.txt > .json ``` 8. 将结果保存为 CSV: ``` .\malsnitch.exe -file sample_strings.txt -type text -output csv > .csv ``` ## 示例 ### 亲自尝试 ``` .\malsnitch.exe -file examples\test_strings.txt -type text .\malsnitch.exe -file examples\test_binja.json -type binja .\malsnitch.exe -file examples\test_floss.json -type floss .\malsnitch.exe -file examples\test_memdump.bin -type memdump ``` ### 输出 ![替代文本](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/13a20860c0194700.png) ## Binary Ninja 插件 `scripts/bn_export.py` 中包含一个 Python 导出脚本。你可以在 Binja 的脚本控制台或无头模式中运行它: ``` python bn_export.py sample.exe output.json ``` 这将生成 malsnitch 使用 `-type binja` 接受的 JSON 格式。 ## 退出码 | 退出码 | 含义 | |--------|------| | 0 | 发现秘密 | | 1 | 错误(输入、文件缺失等) | | 2 | 扫描干净,未检测到秘密 | ## 未来路线图 1. PCAP 输入 2. MITRE ATT&CK 映射 ## 许可证 MIT 许可证。无限制。
标签:API安全, API密钥检测, Binary Ninja集成, C2基础设施检测, DAST, EVTX分析, FLOSS输出分析, Go语言, JSON输出, 云资产清单, 内存转储扫描, 加密密钥检测, 威胁情报, 威胁行为者凭据, 字符串提取, 嵌入式密钥, 开发者工具, 恶意软件分析, 日志审计, 硬编码凭据检测, 秘密检测, 程序破解, 自动去重, 输入验证, 逆向工具, 逆向工程