0xusmanismail/lure

GitHub: 0xusmanismail/lure

Lure 是一款零配置、完全本地化的 Linux 二进制文件沙箱分析工具,通过隔离执行帮助用户在运行前了解二进制文件的实际行为并给出安全判定。

Stars: 3 | Forks: 0

# lure ⚠️ **早期开发版本 (v0.2)。** 核心功能(`inspect`、`run`、`diff`)已在 x86_64 Linux 上端到端正常运行。这是一个年轻的项目 —— 预计会有不足之处、对异常输入的错误处理较为有限,以及功能缺失。我们非常欢迎 Bug 报告、反馈和贡献。 ![Lure run demo](https://raw.githubusercontent.com/0xusmanismail/lure/main/assets/run-1.png) ## 它能做什么 Lure 会在隔离的沙箱(Linux namespaces + strace)内运行不受信任的 Linux 二进制文件,并准确地告诉你它做了什么 —— 接触了哪些文件、尝试了哪些网络连接、派生了哪些进程 —— 然后给你一个明确的判定结果: **CLEAN**、**SUSPICIOUS** 或 **DANGEROUS**。 一切都在你的本地机器上运行。不会向任何地方上传任何数据。 ## 为什么选择它 - **隐私保护** —— 敏感或客户样本绝不会离开你的本地机器 - **零配置** —— 无需 VM,无需 Docker,无需安装 Cuckoo - **易读性** —— 提供结构化的报告,而非原始的 strace 噪音 - **免费** —— 采用 MIT 许可证,可在 Kali Linux 自带的工具上直接运行 ## 安装 ``` git clone https://github.com/0xusmanismail/lure.git cd lure pip install -e . --break-system-packages ``` 在 Arch Linux 和最近的 Debian/Ubuntu 版本中,`--break-system-packages` 标志是必需的,因为这些系统默认限制安装到系统 Python 环境(PEP 668)。你也可以选择运行 `./setup.sh` 来自动完成所有内容的安装(和重新安装)。 需要安装 `strace` 和 `unshare`。在 Arch 上:`sudo pacman -S strace`(`unshare` 是 `util-linux` 的一部分,默认已安装)。在 Debian/Ubuntu/Kali 上:`sudo apt install strace`。在 Fedora 上:`sudo dnf install strace`。 ## 用法 ### 检查二进制文件 ``` lure inspect /bin/ls ``` 读取 ELF 头、架构、安全缓解措施(NX、PIE、RELRO、stack canary)、链接库、文件哈希,并进行加壳检测 —— 而无需执行哪怕一字节的代码。 ![Lure inspect part 1](https://raw.githubusercontent.com/0xusmanismail/lure/main/assets/inspect-1.png) ![Lure inspect part 2](https://raw.githubusercontent.com/0xusmanismail/lure/main/assets/inspect-2.png) ### 在沙箱中运行二进制文件 ``` lure run /bin/ls ``` 在执行期间提供文件访问、网络尝试和派生进程的实时反馈,随后生成完整报告:执行摘要、访问的文件、网络活动、进程树、syscall 统计,以及 CLEAN / SUSPICIOUS / DANGEROUS 的判定结果。 ![Lure run part 1](https://raw.githubusercontent.com/0xusmanismail/lure/main/assets/run-1.png) ![Lure run part 2](https://raw.githubusercontent.com/0xusmanismail/lure/main/assets/run-2.png) ![Lure run part 3](https://static.pigsec.cn/wp-content/uploads/repos/cas/ae/ae66ba5198b66673d6772711c4e6779b590862e8b6a218d97e246b68b18be85a.png) ### 保存报告 ``` lure run --save /bin/ls ``` 将完整报告同时保存为纯文本 `.txt` 文件和结构化 `.json` 文件,路径为 `~/.lure/reports/`。 ### 比较两份报告 ``` lure diff ~/.lure/reports/a.json ~/.lure/reports/b.json ``` 显示两次已保存运行之间新增/删除的文件、新的网络连接、判定结果的变化,以及 syscall 数量的差值。 ## 状态与路线图 这是一个基于 Arch Linux (x86_64) 构建和测试的 v0.2 版本。 **目前已实现:** - 带有安全缓解措施检测的 ELF 检查 - 通过 `unshare` + `strace` 进行沙箱化执行 - 执行期间的实时事件反馈 - 带有判定结果和确切触发条件列表的完整行为分析报告 - 报告保存(`.txt` + `.json`) - 报告比较(`lure diff`) **计划中:** - 更好的边缘情况处理(无效二进制文件、缺失参数等) - 改进的判定启发式算法 - 打包发布的版本(无需手动执行 `pip install -e .`) 欢迎提交 Issues 和 pull requests —— 本项目正在积极开发中。 ## 许可证 MIT —— 详见 [LICENSE](LICENSE)
标签:DAST, 二进制分析, 云安全运维, 云资产清单, 恶意软件分析, 无线安全, 沙箱, 网络信息收集, 逆向工具, 逆向工程