BackdoorAli/linux-less-persistence

GitHub: BackdoorAli/linux-less-persistence

一款专注于 Linux 低痕迹持久化机制检测的防御性审计工具包,帮助安全人员发现隐蔽的系统驻留迹象。

Stars: 1 | Forks: 0

# Linux Less-Persistence ![License](https://img.shields.io/badge/license-MIT-green.svg) ![Python](https://img.shields.io/badge/python-3.10%2B-blue.svg) ![Platform](https://img.shields.io/badge/platform-linux-lightgrey.svg) ![Status](https://img.shields.io/badge/status-active%20development-orange.svg) **用于 Linux 低痕迹持久化的防御性审计个人工具包/项目** ## 作者 **BackdoorAli** https://github.com/BackdoorAli ## 概述 **Linux Less‑Persistence** 是一个模块化的防御性安全项目/工具包,旨在帮助安全专业人员检查 Linux 系统上的*低痕迹持久化机制*。 它侧重于经常被攻击者滥用的持久化层面,同时特意避免提供操作或逐步指导。其目标是**可见性和理解**,而非赋能。 本项目适用于: - 防御性安全工程 - 事件响应和威胁搜寻 - 执行检测感知评估的红队 - Linux 加固和安全研究 这**不是**一个持久化部署框架。 它是一个**启发式审计和分析工具包**。 ## 道德使用与免责声明 本项目以**明确的防御和教育意图**发布。 它旨在帮助识别可能表明持久化滥用的*信号*和*模式*,而不提供关于如何建立或维持持久化的可操作指导。 您只能在自己拥有、管理或被明确授权评估的系统上使用本软件。 使用本工具即表示您同意遵守所有适用法律法规。 **Linux Less‑Persistence 不包含攻击性工具、Payload 或利用流程。** ## 威胁模型 试图长期访问 Linux 系统的攻击者越来越多地避开明显的持久化机制,例如: - 显眼的守护进程 - 知名的启动脚本 - 易于识别的二进制文件 相反,他们倾向于**低痕迹持久化**,即合法的系统行为与持久化潜力相重叠。 攻击者常见的考量包括: - 什么能在没有用户交互的情况下隐式执行? - 什么能混入正常配置中? - 什么能在没有明显二进制文件的情况下在重启后幸存? - 什么在常规审计中很少被检查? 本项目从**防御者的角度**反映了这一推理,识别了持久化*可能*隐藏的区域——而不演示如何将其放置在该处。 从概念层面理解攻击者的技术对于有效的防御、检测工程和事件响应至关重要。 ## 安装 ``` git clone https://github.com/BackdoorAli/linux-less-persistence.git cd linux-less-persistence python3 -m venv .venv source .venv/bin/activate pip install -e . ``` ## 模块与检测面 ### systemd Units 检查系统级和用户级服务,以发现: - 意外的本地覆盖 - Drop-in 配置片段 - 有风险或不寻常的执行路径 ### Cron Artifacts 审计 cron 表和 spool 条目,以查找值得审查的计划执行任务。 ### Shell 初始化 检查在登录或 Shell 启动时隐式执行的 Shell 启动文件(例如 `.bashrc`, `.profile`, `.zshrc`)。 ### XDG Autostart 审查在图形会话启动时执行的桌面自启动 `.desktop` 条目。 ### 运行时 / 仅内存进程 标记可执行文件源自临时或基于内存位置的正在运行的进程。 所有发现均为**启发式信号**,而非结论。需要结合上下文和分析判断。 ## 局限性 本工具包**不**保证: - 确定性地识别恶意活动 - 完全检测无文件攻击 - 覆盖内核级或固件级持久化 存在局限性是因为: - 某些合法软件表现出类似的模式 - 高级攻击者可能使用用户空间可见性之外的技术 - 需要上下文来区分配置错误和入侵 将发现视为**调查起点**,而非最终结论。 ## 基线比较 Linux Less‑Persistence 支持生成基线并进行比较,以检测随时间发生的漂移。 ``` # 保存已知的良好基线 llp --baseline-save baseline.json # 将当前状态与基线进行比较 llp --baseline-compare baseline.json ``` 这对于以下情况很有用: - 系统加固验证 - 事件后比较 - 变更监控 ## 使用示例 ``` # 运行所有模块 llp # 运行选定模块 llp --checks systemd,cron # 输出结果为 JSON llp --format json ``` ## 红队视角 从红队的角度来看,有效的持久化很少关乎复杂性——它关乎**不可见性**。 攻击者通常会评估: - 哪些执行路径受信任 - 哪些配置很少被审计 - 哪些机制在稍作修改后看起来是良性的 本项目承认这些现实,但不涉及操作指导。 其目的是帮助防御者——以及负责任的红队——思考**检测风险**,而非利用成功。 ## 许可证 根据 MIT 许可证分发。阅读 LICENSE.md 了解更多。 ## 状态 本项目正在积极开发中。 随着时间的推移,可能会添加额外的模块、改进和文档。
标签:DAST, Python, 低痕迹持久化, 后门检测, 启发式分析, 安全工具包, 库, 应急响应, 恶意软件分析, 持久化检测, 无后门, 权限维持分析, 系统加固, 红队评估, 防御性审计