Sanjay-Suresh2005/Honeypot-Simulation

GitHub: Sanjay-Suresh2005/Honeypot-Simulation

该项目是一个自包含的网络安全欺骗与 SOC 集成实验室,通过蜜罐、OS 审计与 ELK Stack 结合威胁情报富化和 MITRE ATT&CK 映射,实现集中化的实时威胁检测与可视化分析。

Stars: 1 | Forks: 0

# Deception Lab — Honeypot 与 SOC 集成实验室 一个自包含的、企业级的网络安全欺骗实验室,在私有 VirtualBox 网络上进行模拟,具有集中化的日志采集、处理、威胁情报丰富化,以及通过 ELK Stack(Elasticsearch、Logstash、Kibana)进行的 MITRE ATT&CK 映射功能。 ## 🏗️ 架构概述 该实验室由三台 VirtualBox 虚拟机(VM)和一个在 Docker 中运行的集中式日志管理/SOC 监控后端组成: ``` graph TD subgraph "Windows Host (Docker)" ELK[ELK Stack
port 5055/5601/9200] end subgraph "Mesh Subnet (192.168.100.0/24)" Kali[Attacker VM
192.168.100.40] Hub[Deception Hub
192.168.100.20] Sac[Sacrificial VM
192.168.100.30] end Kali -->|Attacks| Hub Kali -->|Attacks| Sac Hub -->|Filebeat Logs| ELK Sac -->|Filebeat Logs| ELK ``` 1. **仅主机网络接口(`192.168.56.x`):** 促进管理流量,并允许 VM 将日志发送到主机上地址为 `192.168.56.1:5055` 的 Logstash。 2. **网状内部网络(`192.168.100.x`):** 一个没有 Internet 访问权限的私有网络,所有的 VM 间攻击流量都在此进行。 3. **SOC 后端(ELK Stack):** 通过 Docker Compose 部署在主机上。Logstash 监听 `5055` 端口以采集日志事件、进行丰富化处理,并将它们存储在 Elasticsearch 中。 ## 📂 目录结构 ``` ├── docker-compose.yml # Runs Elasticsearch, Kibana, and Logstash ├── .env.example # Example environment variables template ├── .gitignore # Standard Git exclusions (protects .env and large files) ├── docs/ │ └── lab_setup_plan.md # Detailed lab design and reference runbook ├── kibana_configs/ │ └── kibana_guide.md # Guide to configure Index Patterns, Detection Rules, & Dashboards ├── logstash/ │ └── pipeline/ │ ├── logstash.conf # Ingests Beats events, enriches via Threat Intel, maps MITRE tags │ └── mitre_map.yml # Logstash translation map for MITRE ATT&CK tactics & techniques └── vm_configs/ ├── attacker-kali/ # Kali VM static IP setup and Scapy spoofed-attack script ├── deception-hub/ # Cowrie SSH, OpenCanary (SMB/HTTP/FTP/MSSQL), and Filebeat └── sacrificial-vm/ # Auditd rules, Sysmon, CanaryTokens, and Filebeat config ``` ## 🚀 快速启动与设置运行手册 ### 第一步:启动 ELK Stack 1. 将 `.env.example` 复制到 `.env`: cp .env.example .env 2. 打开 `.env` 并填写你在 **AbuseIPDB**、**VirusTotal** 和 **OTX** 的密码和 API 密钥。(密钥是可选的,但在进行威胁情报查询时是必需的)。 3. 使用 Docker Compose 启动容器: docker compose up -d 4. 验证 Kibana 是否已在 `http://localhost:5601` 成功启动。 ### 第二步:配置 VirtualBox 网络适配器 确保你的 VM 启用了两个网络接口: - **适配器 1:** 仅主机适配器(IP 范围 `192.168.56.x` - 用于将日志发送到主机)。 - **适配器 2:** 内部网络 / 仅主机适配器(IP 范围 `192.168.100.x` - 代表模拟的企业子网)。 ### 第三步:置备虚拟机 导航到 `vm_configs/` 下的每个子目录,并在你的 VM 上运行相应的 shell 设置脚本: - **欺骗中心(`192.168.100.20`):** 运行 [setup_hub.sh](file:///c:/PROJECTS/Honeypot/vm_configs/deception-hub/setup_hub.sh) 来安装 Cowrie、OpenCanary 和 Filebeat。 - **牺牲品 VM(`192.168.100.30`):** 运行 [setup_sacrificial.sh](file:///c:/PROJECTS/Honeypot/vm_configs/sacrificial-vm/setup_sacrificial.sh) 以配置 Auditd、Sysmon、Canary token 和 Filebeat。 - **攻击者 VM(`192.168.100.40`):** 运行 [setup_kali.sh](file:///c:/PROJECTS/Honeypot/vm_configs/attacker-kali/setup_kali.sh) 来设置静态网络路由。 ## 🔍 威胁情报与 MITRE ATT&CK 丰富化 Logstash 会动态解析、提取并丰富流经 pipeline 的日志: - **GeoIP 查询:** 将攻击者的公网 IP 地址解析为物理坐标。 - **API 丰富化:** 查询 AbuseIPDB、VirusTotal 和 AlienVault OTX,以确定 IP 地址的信誉和历史恶意状态。 - **MITRE 映射:** 使用 `mitre_map.yml` 转换字典,将 honeypot 登录成功/失败事件、Auditd 日志和 OpenCanary 警报直接映射到 MITRE ATT&CK 战术和技术(例如,凭据访问、发现、侦察)。 ## 🛡️ Kibana 安全监控与仪表板 按照 [kibana_guide.md](file:///c:/PROJECTS/Honeypot/kibana_configs/kibana_guide.md) 进行设置: - **检测规则:** 针对 SSH 暴力破解攻击、Canary token 文件读取和数据暂存命令(例如 `/tmp` 中的 `tar`、`zip`)触发警报。 - **仪表板:** 可视化攻击概览(GeoIP 热力图、VT 评分仪表)、杀伤链时间线和 honeypot 交互指标(密码词云、命令历史日志)。 ## ⚠️ 安全提示 请**勿**提交包含你实际 API 密钥或密码的 `.env` 文件。仓库根目录下已配置了 `.gitignore` 文件来防止这种情况。
标签:Docker, ELK, SOC实验室, 内容过滤, 威胁情报, 安全, 安全防御评估, 开发者工具, 版权保护, 蜜罐, 证书利用, 请求拦截, 超时处理