omarbabba779xx/suricata-ids-threat-detection-lab

GitHub: omarbabba779xx/suricata-ids-threat-detection-lab

一个基于 Suricata 7.0.3 的网络入侵检测实验室,完整记录了在隔离环境中模拟网络侦察、Web扫描和SSH暴力破解攻击并成功触发IDS告警的端到端检测与取证过程。

Stars: 0 | Forks: 0

# Suricata IDS 威胁检测实验室
![Suricata](https://img.shields.io/badge/Suricata-7.0.3-orange?style=flat-square) ![Kali Linux](https://img.shields.io/badge/Kali_Linux-2026.1-557C94?style=flat-square&logo=kalilinux&logoColor=white) ![Ubuntu](https://img.shields.io/badge/Ubuntu-24.04_LTS-E95420?style=flat-square&logo=ubuntu&logoColor=white) ![Wireshark](https://img.shields.io/badge/Wireshark-4.2.2-1679A7?style=flat-square&logo=wireshark&logoColor=white) ![MITRE ATT&CK](https://img.shields.io/badge/MITRE_ATT%26CK-T1046%20%7C%20T1595%20%7C%20T1110-orange?style=flat-square) ![警报](https://img.shields.io/badge/Alerts-31-red?style=flat-square) ![状态](https://img.shields.io/badge/Status-Completed-brightgreen?style=flat-square) **端到端网络入侵检测实验室 — Suricata IDS 部署在 Ubuntu 上,包含 66,756 条 Emerging Threats 规则,用于检测从 Kali Linux 攻击者 VM 发起的 Nmap 端口扫描、Nikto Web 侦察和 SSH 暴力破解攻击。** [概述](#overview) · [实验室架构](#lab-architecture) · [环境搭建](#setup) · [攻击模拟](#attack-simulation) · [检测结果](#detection-results) · [PCAP 证据](#pcap-evidence) · [MITRE ATT&CK](#mitre-attck-mapping)
## 概述 在隔离的 VirtualBox 实验室环境中执行了受控的攻击模拟。Kali Linux 攻击者 VM 针对运行 Suricata IDS 的 Ubuntu 目标 VM 执行了网络侦察 (Nmap)、Web 应用程序扫描 (Nikto) 和 SSH 暴力破解。Suricata 在多个攻击类别(包括漏洞利用检测、Web 应用程序攻击和协议异常)中产生了 31 个警报。使用 tshark 捕获了网络流量(18,299 个数据包)。 | 字段 | 详情 | |-------|---------| | **分析师** | Omar Babba | | **日期** | 2026-06-29 | | **环境** | VirtualBox — 隔离的 Host-Only 网络 | | **攻击者** | Kali Linux 2026.1 — `192.168.56.10` | | **目标 / IDS 传感器** | Ubuntu 24.04 LTS — `192.168.56.103` | | **IDS 引擎** | Suricata 7.0.3 | | **规则集** | Emerging Threats Open — 50,829 条活动规则 | | **生成的警报总数** | 31 | | **捕获的数据包** | 18,299 | ## 实验室架构 ``` ┌──────────────────────┐ Host-Only Network (192.168.56.0/24) ┌──────────────────────────────┐ │ Kali Linux VM │ ──────────────────────────────────────────► │ Ubuntu 24.04 LTS (Target) │ │ 192.168.56.10 │ │ 192.168.56.103 │ │ │ │ │ │ ● Nmap 7.99 │ │ ● Suricata 7.0.3 (IDS) │ │ ● Nikto v2.6.0 │ │ ● Apache httpd 2.4.58 │ │ ● Hydra v9.7 │ │ ● OpenSSH 9.6p1 │ │ ● rockyou.txt │ │ ● tshark 4.2.2 │ └──────────────────────┘ └──────────────────────────────┘ ``` **网络隔离:** 两个 VM 共享一个 VirtualBox Host-Only 适配器。没有任何流量离开实验室环境。 ## 环境搭建 ### 1. Suricata 安装与规则更新 通过 apt 在 Ubuntu 24.04 LTS 上安装了 Suricata 7.0.3。使用 `suricata-update` 更新了规则,该命令获取了 Emerging Threats Open 规则集。 ``` sudo apt update && sudo apt install -y suricata sudo suricata-update ``` 验证结果: ``` Loaded 66,756 rules Enabled: 50,829 rules Source: Emerging Threats Open (rules.emergingthreatss.net) ``` 证据: ![Suricata-update 显示加载了 66,756 条 Emerging Threats 规则,其中 50,829 条已启用](https://raw.githubusercontent.com/omarbabba779xx/suricata-ids-threat-detection-lab/master/screenshots/01-suricata-update-et-rules.png) ### 2. Suricata 配置 — 绑定接口 在 `/etc/suricata/suricata.yaml` 中配置 Suricata 以在 Host-Only 接口 `enp0s3` (192.168.56.103) 上进行捕获: ``` af-packet: - interface: enp0s3 ``` 启动并验证了 Suricata 服务: ``` sudo systemctl start suricata sudo systemctl status suricata ``` 验证结果: ``` suricata.service — Suricata IDS/IDP daemon Active: active (running) Suricata version 7.0.3 RELEASE running in SYSTEM mode ``` 证据: ![Suricata 服务处于活动运行状态 — 版本 7.0.3,接口 enp0s3](https://raw.githubusercontent.com/omarbabba779xx/suricata-ids-threat-detection-lab/master/screenshots/02-suricata-service-running.png) ### 3. 网络连通性验证 在发起攻击之前,确认了攻击者 (Kali) 和目标 之间的 Host-Only 连通性。 ``` ping -c 3 192.168.56.103 ``` 验证结果: ``` 3 packets transmitted, 3 received, 0% packet loss rtt min/avg/max = 1.490/2.695/4.688 ms ``` 证据: ![Kali — ping 192.168.56.103,接收到 3 个数据包,0% 丢包](https://static.pigsec.cn/wp-content/uploads/repos/cas/39/39e8bd414c12c6e32b809e6bbaa432f18920e78a9af151d82cf7c6d34c4f110f.png) ## 攻击模拟 ### 攻击 1 — Nmap 端口扫描(侦察) 针对目标执行了 SYN + 服务版本扫描,以枚举开放端口和正在运行的服务。 ``` sudo nmap -sS -sV 192.168.56.103 ``` 验证结果: ``` PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 9.6p1 Ubuntu 3ubuntu13.16 80/tcp open http Apache httpd 2.4.58 ((Ubuntu)) Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel ``` MITRE ATT&CK 映射: - `T1046 — Network Service Discovery` - `T1595.002 — Active Scanning: Vulnerability Scanning` 证据: ![Nmap -sS -sV 扫描 — 192.168.56.103 上的端口 22 (OpenSSH) 和 80 (Apache) 处于开放状态](https://static.pigsec.cn/wp-content/uploads/repos/cas/8c/8cb9c7854e9f0f31071d3022ec01bc34f68b1c2d1b58d432fa7ed7e104bb1637.png) ### 攻击 2 — Hydra SSH 暴力破解 使用 rockyou.txt 字典发起了针对 SSH 的字典攻击,以模拟凭证填充。 ``` hydra -l root -P /usr/share/wordlists/rockyou.txt ssh://192.168.56.103 -t 4 -V ``` 验证结果: ``` [DATA] attacking ssh://192.168.56.103:22/ 14,344,399 login tries (l:1/p:14344399) [ATTEMPT] target 192.168.56.103 — login "root" — pass "123456" [ATTEMPT] target 192.168.56.103 — login "root" — pass "password" ... ``` MITRE ATT&CK 映射: - `T1110.001 — Brute Force: Password Guessing` 证据: ![Hydra — 使用 rockyou.txt 对 192.168.56.103:22 进行 SSH 暴力破解,可见多条 ATTEMPT 记录](https://raw.githubusercontent.com/omarbabba779xx/suricata-ids-threat-detection-lab/master/screenshots/05-hydra-ssh-bruteforce.png) ### 攻击 3 — Nikto Web 应用程序扫描 针对 Apache 服务器执行了全面的 Web 漏洞扫描,以触发基于 HTTP 的 IDS 特征码。 ``` nikto -h http://192.168.56.103 -maxtime 60 ``` 验证结果: ``` + Server: Apache/2.4.58 (Ubuntu) + Apache/2.4.58 appears to be outdated + CVE-2003-1418: Server may leak inodes via ETags + 8113 requests: 16 errors and 10 items reported ``` MITRE ATT&CK 映射: - `T1595.002 — Active Scanning: Vulnerability Scanning` - `T1190 — Exploit Public-Facing Application` 证据: ![Nikto v2.6.0 — 针对 192.168.56.103:80 的扫描,检测到 Apache 2.4.58,8113 个请求,报告了 10 个项目](https://static.pigsec.cn/wp-content/uploads/repos/cas/cd/cdb9afce892b05d54f4d593427674f338d2d360f7ecf7d49db38d2568a1395a5.png) ## 检测结果 ### Suricata 警报 — 检测到 Nmap 扫描 Suricata 通过 `ET SCAN Possible Nmap User-Agent Observed` 特征码检测到了 Nmap 服务版本扫描。在几毫秒内触发了四个警报,与 SYN 探测模式相匹配。 ``` 06/29/2026-20:19:50 [**] ET SCAN Possible Nmap User-Agent Observed [**] [Classification: Web Application Attack] [Priority: 1] {TCP} 192.168.56.10 -> 192.168.56.103:80 ``` 证据: ![Suricata fast.log — ET SCAN Possible Nmap User-Agent Observed,192.168.56.10 → 192.168.56.103:80](https://static.pigsec.cn/wp-content/uploads/repos/cas/db/db3c04e9323c63a8395a21cf6d60e0947995ef7ca4713b3497211511cae39178.png) ### Suricata 警报 — 检测到 Nikto Web 扫描 Nikto 的 Web 扫描触发了广泛的 Suricata 特征码 —— 包括协议异常、基于 CVE 的漏洞利用特征码和 Web 应用程序攻击模式。 检测到的警报类别: | 警报 | 分类 | 优先级 | |-------|----------------|----------| | `ET WEB_SERVER ColdFusion administrator access` | Web 应用程序攻击 | 1 | | `ET EXPLOIT D-Link DSL-2750B OS Command Injection (CVE-2016-20017)` | 尝试获取管理员权限 | 1 | | `ET EXPLOIT Citrix ADC Arbitrary Code Execution (CVE-2019-19781)` | 尝试获取管理员权限 | 1 | | `ET EXPLOIT Cisco ASA/Firepower Unauthenticated File Read (CVE-2020-3452)` | 尝试获取用户权限 | 1 | | `ET EXPLOIT Fortinet FortiOS SSL VPN Path Traversal (CVE-2018-13379)` | 尝试获取管理员权限 | 1 | | `ET WEB_SPECIFIC_APPS Wordpress LiteSpeed Cache CVE-2024-44000` | 凭证窃取成功 | 1 | | `SURICATA HTTP Host header invalid` | 通用协议命令解码 | 3 | 证据: ![Suricata fast.log 实时 — 来自 Nikto 扫描的多个 ET EXPLOIT 和 ET WEB_SERVER 警报](https://raw.githubusercontent.com/omarbabba779xx/suricata-ids-threat-detection-lab/master/screenshots/07-suricata-nikto-alerts-live.png) ![Suricata fast.log — 总共 31 个警报,包含基于 CVE 的漏洞利用特征码和 Web 应用程序攻击](https://raw.githubusercontent.com/omarbabba779xx/suricata-ids-threat-detection-lab/master/screenshots/09-suricata-31-alerts.png) ## PCAP 证据 在 Nmap + Nikto 攻击窗口期间,使用 tshark 捕获了网络流量。在接口 `enp0s3` 上记录了 18,299 个数据包。 ``` sudo tshark -i enp0s3 -w /tmp/capture-final.pcap -a duration:120 ``` 验证结果: ``` 18299 packets captured ``` 证据: ![tshark — 在攻击窗口期间于 enp0s3 上捕获了 18,299 个数据包](https://raw.githubusercontent.com/omarbabba779xx/suricata-ids-threat-detection-lab/master/screenshots/10-tshark-18299-packets.png) PCAP 内容确认了 Nmap SYN 扫描模式 — 从 `192.168.56.10` 到 `192.168.56.103` 的跨多个端口的快速连续 TCP SYN 数据包: ``` 1 0.000000 192.168.56.10 → 192.168.56.103 ARP Who has 192.168.56.103? 3 0.552334 192.168.56.10 → 192.168.56.103 TCP 40187 → 22 [SYN] 4 0.552537 192.168.56.103 → 192.168.56.10 TCP 22 → 40187 [SYN, ACK] 5 0.553007 192.168.56.10 → 192.168.56.103 TCP 40187 → 113 [SYN] ... ``` 证据: ![tshark pcap — 从 192.168.56.10 到 192.168.56.103 的 ARP + TCP SYN 数据包,可见 Nmap 扫描模式](https://raw.githubusercontent.com/omarbabba779xx/suricata-ids-threat-detection-lab/master/screenshots/11-tshark-pcap-content.png) ## MITRE ATT&CK 映射 | 战术 | 技术 | ID | 工具 | 已检测 | |--------|-----------|-----|------|---------| | 侦察 | Active Scanning: Vulnerability Scanning | **T1595.002** | Nmap, Nikto | ✅ ET SCAN | | 发现 | Network Service Discovery | **T1046** | Nmap | ✅ ET SCAN | | 凭证访问 | Brute Force: Password Guessing | **T1110.001** | Hydra | ⚠️ 部分 | | 初始访问 | Exploit Public-Facing Application | **T1190** | Nikto | ✅ ET EXPLOIT | ## 关键发现 - 在 3 个攻击类别中生成了 **31 个 Suricata 警报** - **ET SCAN** 特征码在第一个 SYN 探测后的几毫秒内检测到了 Nmap - **ET EXPLOIT** 特征码匹配了来自 Nikto HTTP 探测的 5 个 CVE — 包括活跃的 CVE (CVE-2024-44000, CVE-2019-19781, CVE-2020-3452) - **捕获了 18,299 个数据包** — PCAP 确认了 SYN 扫描模式和 HTTP 探测流量 - Suricata 准确地将攻击流量归类为漏洞利用尝试的 **Priority 1**(最高级别) ## 使用的工具 | 工具 | 版本 | 用途 | 平台 | |------|---------|---------|---------| | Suricata | 7.0.3 | 网络 IDS — 数据包检查与警报 | Ubuntu 24.04 | | Emerging Threats Open | — | 50,829 条检测规则 | Suricata 规则集 | | Nmap | 7.99 | 端口扫描与服务枚举 | Kali Linux | | Nikto | 2.6.0 | Web 应用程序漏洞扫描 | Kali Linux | | Hydra | 9.7 | SSH 暴力破解 | Kali Linux | | tshark | 4.2.2 | 网络数据包捕获 (PCAP) | Ubuntu 24.04 | | VirtualBox | 7.x | 隔离的实验室环境 | 宿主机 | ## 展示的技能 - **IDS 部署** — Suricata 安装、规则管理、接口绑定 - **规则集管理** — Emerging Threats Open 规则集、suricata-update 工作流 - **攻击模拟** — Nmap 侦察、Web 扫描、暴力破解 - **警报分析** — fast.log 解析、警报分类、优先级筛选 - **PCAP 分析** — tshark 捕获、流量模式识别 - **MITRE ATT&CK** — 技术识别与检测映射 - **实验室设计** — 隔离的双 VM 网络、攻击者/传感器分离 ## 项目结构 ``` suricata-ids-threat-detection-lab/ ├── README.md ├── screenshots/ │ ├── 01-suricata-update-et-rules.png │ ├── 02-suricata-service-running.png │ ├── 03-ping-connectivity.png │ ├── 04-nmap-scan-open-ports.png │ ├── 05-hydra-ssh-bruteforce.png │ ├── 06-suricata-nmap-alerts.png │ ├── 07-suricata-nikto-alerts-live.png │ ├── 08-nikto-scan-complete.png │ ├── 09-suricata-31-alerts.png │ ├── 10-tshark-18299-packets.png │ └── 11-tshark-pcap-content.png ├── config/ │ └── suricata-interface-config.md └── evidence/ └── fast-log-sample.txt ``` *系列 10 个项目中的第 3 个 — SOC 家庭实验室系列*
标签:CTI, Metaprompt, Suricata, 安全实验环境, 密码管理, 插件系统, 攻击模拟, 现代安全运营, 网络流量分析, 驱动签名利用