jeffersoncesarantunes/S.I.R.E.N

GitHub: jeffersoncesarantunes/S.I.R.E.N

基于 Bash 的 Linux 实时内存获取与流式取证工具,支持完整性校验和远程零痕迹传输。

Stars: 0 | Forks: 0

# 🐧 S.I.R.E.N. - Shell Interactive Runtime Entity Notifier 专注于实时流式传输和完整性校验的高速取证内存获取工具。 ## ● 词源与起源 S.I.R.E.N. 这个名字是一个递归缩写,反映了该工具的双重属性:既是一个警报系统,也是一个数据采集器。 在取证传说中,Siren 呼唤着隐藏在深处的真相。在此语境下,它象征着在运行时对内存状态的系统性通知(Entity Notifier)。它充当着数字信标的角色,确保即使在数据被流式传输(Runtime Entity)时,其完整性依然受到监控和审计;一旦有任何硬件保留区或内核限制被突破,它便会发出“警报”。 ## ● 概述 S.I.R.E.N. 是一款专用的取证工具,专为高速内存获取和实时完整性审计而设计。 它通过实现流式管道绕过了传统的“文件优先”转储模式,允许分析人员: - 识别安全的 System RAM 区域。 - 通过网络套接字执行实时取证渗出。 - 同时计算完整性哈希(SHA256)并提取字符串。 该工具完全使用 Bash 编写,确保在紧急事件响应场景下实现零依赖运行。 ## ● 工作原理 S.I.R.E.N. 通过 `/proc/iomem` 接口和 `/dev/mem` 字符设备与 Linux Kernel 交互。 其获取逻辑遵循非破坏性路径: 1. **内存映射:** 它解析 `/proc/iomem` 以区分“System RAM”和保留的硬件偏移量。 2. **流式管道:** 它不使用临时文件,而是使用进程替换和管道将数据并行输入到 `sha256sum` 和 `strings` 中。 3. **网络渗出:** 它利用 Netcat (nc) 将原始内存块直接流式传输到远程工作站。 所有检查机制旨在最大限度地减少对目标系统的取证痕迹。 ## ● 输出示例 ``` ┌────────────────────────────────────────────────────────┐ │ [+] Mapping safe System RAM regions... │ ├────────────────────────────────────────────────────────┤ │ Address: 00001000-0009fbff [SAFE RANGE] │ │ Address: 00100000-b697efff [SAFE RANGE] │ │ Address: b6b5f000-b6b5ffff [SAFE RANGE] │ └────────────────────────────────────────────────────────┘ [!] Starting acquisition from: /dev/mem [+] Pipeline completed successfully. Results in ../dumps ``` ## ● 远程取证流式传输 (选项 5) 此功能允许提取 RAM 而无需将大文件写入目标的本地磁盘(零痕迹方案)。 1. **在取证工作站(接收端):** ``` nc -l -p 4444 > remote_mem_dump.bin ``` 2. **在目标机器上(S.I.R.E.N.):** 选择选项 5,输入 IP 和端口。脚本在流式传输数据的同时会生成本地哈希以供验证。 ## ● 关键安全:“需要操作”警告 执行选项 3(实时内存提取)时,系统会访问 `/dev/mem`。 ## ● 功能特性 - 通过 Netcat 进行远程渗出。 - 实时 SHA256 完整性审计。 - 实时字符串提取。 - 获取前磁盘空间验证。 - `/proc/iomem` 安全范围映射。 - STRICT_DEVMEM 限制检测。 ## ● 运行完整性 ## *S.I.R.E.N. 专为取证稳定性而设计:* - 对系统内存设备进行只读访问。 - 并行处理以减少 I/O 等待时间。 - 不修改内核结构或进程状态。 - 在内核级拒绝访问时优雅终止。 ## ● 调查工作流 在成功转储或流式传输后,分析人员可以执行以下操作: 1. **完整性验证:** ``` sha256sum -c dump_filename.sha256 ``` 2. **取证字符串搜索:** ``` grep -Ei "pass|user|config" mem_strings.txt ``` 3. **十六进制检查:** ``` hexdump -C mem_dump.bin | head -n 20 ``` ## ● 部署 **要求:** - Linux OS 且具有 root 权限。 - Netcat(用于远程渗出)。 - Bash 4.x 或更高版本。 **构建与执行:** ``` git clone https://github.com/jeffersoncesarantunes/S.I.R.E.N.git cd S.I.R.E.N chmod +x src/siren.sh sudo ./src/siren.sh ``` ## ● 故障排除:内核限制 如果转储在正好 **1.0MB** 处停止,或者您看到 `[DENIED BY KERNEL]`,说明您的内核受 `CONFIG_STRICT_DEVMEM` 保护。 为了取证目的绕过此限制,请将 `iomem=relaxed` 添加到您的引导参数(GRUB/systemd-boot)中并重新启动。 ## ● 技术栈 - **语言:** Bash Script - **数据源:** `/dev/mem`, `/proc/iomem` - **工具:** `dd`, `sha256sum`, `strings`, `nc` ## ● 路线图 - [x] 自动化安全范围提取(Beta 优化)。 - [ ] 渗出期间集成 RAM 压缩。 - [ ] 支持 Lime/LiME 内存驱动程序。 - [ ] JSON 元数据报告生成。 ## ● 许可证 根据 MIT License 发布。详情请参见 [LICENSE](./LICENSE)。
标签:Dev/Mem, DevMem, HTTP工具, HTTP请求, ITDR, Linux取证, Netcat, Proc文件系统, RAM流式传输, SecList, SHA256, Shell脚本, TCP流, 二进制分析, 云安全运维, 内存取证, 内存映射, 内核接口, 取证工具, 命令控制, 哈希计算, 字符串提取, 完整性校验, 实时内存获取, 审计工具, 库, 应急响应, 应用安全, 数字取证, 数据渗漏, 数据采集, 杀软绕过, 硬件保留区, 系统RAM, 网络安全, 自动化脚本, 证据保全, 隐私保护, 零依赖