alitalhahere/Attack-Detection-Lab

GitHub: alitalhahere/Attack-Detection-Lab

基于Snort 3的一键式入侵检测实验室,集成攻击机与靶机,帮助安全初学者快速掌握网络攻击检测与告警分析技能。

Stars: 0 | Forks: 0

# 🛡️ 攻击检测实验室 **一个用于学习入侵检测的完整虚拟实验室:Snort 3 IDS/IPS + Kali 攻击机 + Metasploitable 2 靶机。** ![Snort](https://img.shields.io/badge/Snort-3.9.3.0-red) ![Ubuntu](https://img.shields.io/badge/Ubuntu-22.04-orange) ![Kali](https://img.shields.io/badge/Kali-Linux-blue) ![Metasploitable](https://img.shields.io/badge/Metasploitable-2-green) ## 🎯 目的 本实验室演示了如何: - 在 Ubuntu 上搭建专用的 **Snort 3 IDS/IPS** - 从 **Kali Linux** 向 **Metasploitable 2** 发起真实攻击 - 使用**自定义 Snort 规则**检测攻击 - 实时分析警报 非常适合蓝队训练、SOC 分析师和网络安全专业的学生。 ## 实验室架构 所有三台虚拟机连接到同一个虚拟网络。Snort 的网络接口被设置为**混杂模式**,以便它能够监听 Kali 和 Metasploitable 之间的所有流量。 | 角色 | 虚拟机 | |------------|-----------------| | 攻击者 | Kali Linux | | IDS/IPS | Snort (Ubuntu) | | 靶机 | Metasploitable 2 | 相同的 NAT / 仅主机网络 所有三台虚拟机连接到同一个虚拟网络。Snort 的网络接口被设置为**混杂模式**,以便它能够监听 Kali 和 Metasploitable 之间的所有流量。 ## 📦 环境要求 - **宿主机**:8+ GB 内存,50+ GB 可用磁盘空间,VirtualBox 或 VMware - **客户虚拟机**: - Kali Linux(攻击机)—— 您可以使用您现有的 Kali - Metasploitable 2(靶机)—— [下载](https://sourceforge.net/projects/metasploitable/) - Ubuntu 22.04(Snort)—— 全新安装 ## 🚀 快速设置(Snort 虚拟机) 1. **创建一个新的 Ubuntu 22.04 虚拟机**(2 GB 内存,20 GB 磁盘)。 将其网络接口连接到与 Kali 和 Metasploitable 相同的虚拟网络。 启用**混杂模式**(VirtualBox:虚拟机设置 → 网络 → 高级 → 混杂模式 → 允许全部)。 2. 在 Ubuntu 虚拟机内部**克隆此仓库**: ``` sudo apt update && sudo apt install git -y git clone https://github.com/alitalhahere/Attack-Detection-Lab.git cd Attack-Detection-Lab ``` 运行 Snort 安装脚本: ``` chmod +x install_snort3.sh sudo ./install_snort3.sh ``` 这将安装 Snort 3、配置自定义规则并添加 snort-run 别名。 3. 重新加载您的 Shell 以使用该别名: ``` source ~/.bashrc ``` 5. 在正确的接口(例如 eth0)上启动 Snort: ``` snort-run ``` 您将不会看到任何输出——Snort 在后台静默运行。按 Ctrl+C 停止并查看警报。 ## 通过攻击进行测试 在您的 Kali 虚拟机中,针对 **Snort 虚拟机 IP**(用于基于 ICMP 的攻击)或 **Metasploitable-2 IP**(用于基于服务的攻击)运行以下命令。 将 `` 替换为相应的 IP 地址。 | 攻击 | 命令 | 预期的 Snort 警报 | |------------------|--------------------------------------------------------|----------------------------------------------| | 基本 Ping | `ping -c 3 ` | ICMP Test (sid:1000001) | | 死亡之 Ping | `ping -l 65500 -c 1 ` | ICMP Ping of Death Detected (sid:1000002) | | ICMP 洪水 | `sudo hping3 --icmp --flood ` | ICMP Flood Attack Detected (sid:1000004) | | SYN 洪水 | `sudo hping3 -S --flood ` | SYN Flood Attack Detected (sid:1000005) | | UDP 洪水 | `sudo hping3 --udp -p 445 --flood ` | UDP Flood Attack Detected (sid:1000006) | ⚠️ **警告:** 洪水攻击会产生大量网络流量。请仅在此隔离的实验室环境中使用它们。 每次攻击后,在 Snort 终端上按 Ctrl+C。警报将立即显示。 ## 📝 自定义 Snort 规则 所有自定义规则都存储在 /usr/local/etc/snort/rules/local.rules 中。 它们也可以在此仓库的 rules/local.rules 目录下找到。 ## 🛠️ 故障排除 **Snort 无法看到任何流量:** 确保 Snort 虚拟机的接口处于混杂模式,并且所有虚拟机都在同一个网络中。 **找不到 snort-run 命令:** 运行 source ~/.bashrc 或打开一个新的终端。 **安装失败:** 检查您的互联网连接,并确保您正在运行 Ubuntu 20.04/22.04。 ## 👤 作者 Ali Talna – [LinkedIn](https://www.linkedin.com/in/imalitalha) 建立您自己的 IDS 实验室——在被黑客攻击之前进行检测。
标签:CISA项目, IPS, Metasploitable 2, OPA, PFX证书, Snort3, SOC分析师, VirtualBox, VMware, XXE攻击, 入侵检测系统, 威胁检测与响应, 安全实验室, 安全数据湖, 密码管理, 应用安全, 插件系统, 攻击检测, 混杂模式, 漏洞修复, 生成式AI安全, 网络安全, 网络安全培训, 网络安全实验环境, 自定义检测规则, 虚拟机, 隐私保护, 靶场