Mkjones10/Layered-Honeypot-IDS-SOC-Project

GitHub: Mkjones10/Layered-Honeypot-IDS-SOC-Project

一个融合蜜罐、IDS 与 SIEM 的分层检测框架,实现从数据采集到风险量化与事件响应的完整 SOC 流程。

Stars: 0 | Forks: 0

```markdown # 分层网络安全监控与融合检测框架 **Suricata IDS + Cowrie 蜜罐 + Splunk 相关分析架构** ## 目录 - [项目概述](#project-overview) - [执行指标](#executive-metrics) - [架构](#architecture) - [检测工程模块](#detection-engineering-modules) - [检测 1:高严重性漏洞利用尝试](#detection-1-high-severity-exploit-attempts-suricata) - [检测 2:恶意文件传输](#detection-2-malware-file-transfers-suricata) - [检测 3:SSH 密钥注入与持久化](#detection-3-ssh-key-injection--persistence-cowrie) - [检测 4:恶意下载尝试](#detection-4-malware-download-attempts-cowrie) - [融合关联层](#fusion-correlation-layer) - [执行级风险量化](#executive-risk-quantification) - [事件响应集成](#incident-response-integration) - [关键发现](#key-findings) - [实验环境搭建指南](#lab-setup-guide) - [使用技术](#technologies-used) - [结论](#conclusion) - [参考文献](#references) ## 项目概述 本研究生级别项目实现了一个基于以下组件的分层入侵检测与欺骗监控架构: | 组件 | 角色 | |---|---| | **Suricata 网络入侵检测系统** | 网络层漏洞利用与恶意软件检测 | | **Cowrie SSH/Telnet 蜜罐** | 主机层攻击交互遥测 | | **Splunk 企业版 SIEM** | 日志聚合、分析与关联 | | **结构化事件响应剧本** | 可重复、标准化的响应流程 | | **风险量化模型** | 可能性 × 影响,与业务风险对齐 | | **多阶段杀伤链关联** | 跨来源攻击生命周期重建 | 该系统聚合网络层入侵检测数据与主机层攻击交互遥测,以: - 检测漏洞利用尝试 - 识别持久化行为 - 监控恶意投递 - 关联多阶段攻击进展 - 量化网络风险暴露 - 提供管理层安全报告 ## 执行指标 | 指标 | 数值 | |---|---| | 观察到的攻击事件总数 | **307,708** | | 高严重性漏洞利用尝试 | **30,649** | | 确认的多阶段杀伤链 | **18** | | 持久化尝试 | **109** | | 观察到的唯一恶意载荷 | **60** | ## 架构 ``` Internet Traffic ↓ Suricata IDS (Network Detection) ↓ T-Pot Honeypot Environment ↓ Cowrie SSH/Telnet Honeypot (Host Interaction) ↓ Splunk SIEM (Analytics + Correlation) ↓ Executive & Technical Dashboards ``` 该分层模型支持以下能力: - **早期漏洞利用检测** — 网络层 - **认证后行为跟踪** — 主机层 - **恶意 staging 可见性** - **入侵生命周期重建** - **基于风险的报告** ## 检测工程模块 ### 检测 1:高严重性漏洞利用尝试(Suricata) 严重等级 1–2 的 Suricata 告警代表最危险的漏洞利用类别,包括: - DoublePulsar 后门通信 - Apache ActiveMQ 远程代码执行尝试 - Dovecot 内存破坏 - `/bin/sh` URI Shell 执行尝试 **SPL 查询:** ``` index=suricata event_type=alert | rex field=alert "'severity':\s*(?\d+)" | rex field=alert "'signature':\s*'(?[^']+)'" | where severity<=2 | stats count by severity signature | sort severity -count ``` **MITRE ATT&CK 映射:** | 技术 ID | 技术名称 | |---|---| | T1203 | 客户端利用执行 | | T1210 | 远程服务利用 | ### 检测 2:恶意文件传输(Suricata) 重复下载相同的 MD5 哈希表明活跃的恶意分发基础设施。 **观察到的示例:** - `fb7cb2f4584c06d71077b3970b54aad3` - `ac56291293ec6186a86afc3495db6b7f` **SPL 查询:** ``` index=suricata event_type=fileinfo | rex field=fileinfo "'filename':\s*'(?[^']+)'" | rex field=fileinfo "'md5':\s*'(?[a-f0-9]{32})'" | rex field=fileinfo "'magic':\s*'(?[^']+)'" | search magic="*script*" OR magic="*executable*" OR filename="*.sh" OR filename="*.bin" OR filename="*.exe" | stats count by src_ip filename md5 magic | sort -count ``` **MITRE ATT&CK 映射:** | 技术 ID | 技术名称 | |---|---| | T1105 | 入境工具传输 | ### 检测 3:SSH 密钥注入与持久化(Cowrie) 攻击者尝试: - 删除并重建 `.ssh` - SSH 公钥注入 - 文件不可变修改(`chattr -ia`) **SPL 查询:** ``` index=cowrie eventid="cowrie.command.input" | search input="*authorized_keys*" OR input="*rm -rf .ssh*" OR input="*mkdir .ssh*" OR input="*chattr -ia*" OR input="*lockr -ia*" | stats count by src_ip input | sort -count ``` **MITRE ATT&CK 映射:** | 技术 ID | 技术名称 | |---|---| | T1098.004 | SSH 授权密钥 | | T1222 | 文件与目录权限修改 | ### 检测 4:恶意下载尝试(Cowrie) 攻击者使用 `wget`、`curl` 以及直接访问 `/dl/` 路径来准备恶意载荷。 **SPL 查询:** ``` index=cowrie eventid="cowrie.command.input" | search input="wget*" OR input="curl*" OR input="*dl/*" | stats count by src_ip input | sort -count ``` **MITRE ATT&CK 映射:** | 技术 ID | 技术名称 | |---|---| | T1105 | 入境工具传输 | | T1059 | 命令与脚本解释器 | ## 融合关联层 本项目关联 Suricata 与 Cowrie 遥测数据,以重建确认的攻击生命周期: ``` [1] Suricata exploit attempt ↓ [2] Cowrie session creation ↓ [3] Cowrie command execution ↓ [4] Suricata malware file transfer ``` ### 攻击进展速率 | 阶段 | 数量 | |---|---| | 高严重性漏洞利用尝试 | 30,649 | | 确认的多阶段杀伤链 | **18** | | **升级速率** | **~0.06%** | ## 执行级风险量化 | 检测类型 | 可能性(1–5) | 影响(1–5) | 风险评分 | |---|:---:|:---:|:---:| | 高严重性漏洞利用 | 4 | 5 | **20** | | 持久化尝试 | 3 | 5 | **15** | | 恶意传输 | 4 | 4 | **16** | 这将检测工程直接与网络安全风险管理原则联系起来。 ## 事件响应集成 每个检测都支持结构化剧本,涵盖: 1. **分类** 2. **升级阈值** 3. **证据保留** 4. **证据链 custody** 5. **遏制** 6. **根除** 7. **恢复** 8. **事后复盘** 这确保了攻击活动的可重复与标准化处理。 ## 关键发现 - 大规模 **自动化扫描** 主导攻击流量 - **僵尸网络驱动的漏洞利用活动** 针对暴露服务 - **相同的恶意哈希** 在多个会话中重复使用 - **持久化尝试** 紧随成功认证之后 - **极低** 的确认多阶段升级速率(~0.06%) ## 实验环境搭建指南 ### 1. 在 AWS 上部署 T-Pot ``` # 启动 Ubuntu EC2 实例(推荐 t2.medium 或更高) # 打开所需端口:22、80、443 等 # 安装 Docker & Docker Compose,然后: git clone https://github.com/telekom-security/tpotce cd tpotce sudo ./install.sh # 安装后重启,然后验证容器 docker ps ``` ### 2. 配置日志转发 - 启用 **Suricata EVE JSON** 日志 - 确认 **Cowrie JSON** 日志已启用 - 通过以下方式将日志转发到 Splunk: - Universal Forwarder,**或** - 手动提取并以 CSV 格式导入 ### 3. Splunk 设置 ``` # 创建索引 index = suricata index = cowrie ``` - 摄入 JSON 日志 - 配置字段提取 - 使用上述提供的 SPL 查询构建仪表板 ### 4. 验证数据收集 在构建检测之前,确保遥测数据已正确建立索引。 ### 5. 可选:自动化日志提取 开发 Python 脚本以: 1. 通过 SSH 登录 EC2 实例 2. 拉取最新的日志文件 3. 将 JSON 转换为结构化 CSV 4. 导入 Splunk ## 使用技术 | 工具 | 用途 | |---|---| | [Suricata IDS](https://suricata.io/) | 网络入侵检测 | | [Cowrie 蜜罐](https://github.com/cowrie/cowrie) | SSH/Telnet 欺骗与遥测 | | [T-Pot 平台](https://github.com/telekom-security/tpotce) | 蜜罐编排 | | [AWS EC2](https://aws.amazon.com/ec2/) | 云端部署基础设施 | |Splunk 企业版](https://www.splunk.com/) | SIEM、分析与仪表板 | | Python | 日志自动化脚本 | | [MITRE ATT&CK](https://attack.mitre.org/) | 威胁技术映射 | | 风险评分模型 | 可能性 × 影响量化 | ## 结论 本项目展示了一个完整的分层检测与响应框架,整合了: - 网络入侵检测 - 主机层欺骗遥测 - 多阶段关联分析 - 事件响应剧本 - 管理层风险报告 它将 **安全运营**、**威胁情报**、**事件响应** 与 **网络风险管理** 统一到一个与企业 SOC 标准对齐的监控架构中。 ## 参考文献 基于 ATT&CK 的 SOC 评估培训 | MITRE ATT&CK®. (n.d.-b). https://attack.mitre.org/resources/learn-more-about-attack/training/soc-assessments/ Jones, M. (2025). From honeypot noise to actionable risk: Building a fusion-based ML IDS. Medium. https://medium.com/@mkj00015/from-honeypot-noise-to-actionable-risk-building-a-fusion-based-ml-ids-41e6838812dd Kral, P. (n.d.). The incident handlers handbook. SANS Institute. https://sansorg.egnyte.com/dl/SzUc95nE0x Nelson, A., Rekhi, S., Souppaya, M., Scarfone, K., Computer Security Division, Information Technology Laboratory, National Institute of Standards and Technology, Cichonski, P., Millar, T., Grance, T., & Scarfone, K. (2012). Computer security incident handling guide. https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-61r2.pdf ```
标签:AMSI绕过, DNS 解析, GitHub, Metaprompt, PB级数据处理, PE 加载器, SOC 调查, SSH 劫持, Suricata, 企业安全, 分层蜜罐, 多阶段杀伤链关联, 威胁检测, 安全实验室, 安全架构, 安全运维, 恶意软件下载, 攻击 telemetry, 数字取证, 无线安全, 日志聚合, 漏洞利用检测, 现代安全运营, 研究生项目, 网络信息收集, 网络安全审计, 网络资产管理, 自动化脚本, 蜜罐, 融合检测, 证书利用, 逆向工具, 风险量化