batuthzcode/ESP32-Web-Based-Attack-Defense-System

GitHub: batuthzcode/ESP32-Web-Based-Attack-Defense-System

该项目是一个基于双 ESP32 设备与 Web Serial API 的无线安全攻防实验室系统,用于在受控环境中模拟无线攻击并实现防御监控与告警。

Stars: 0 | Forks: 0

# ESP32 基于 Web 的攻击模拟与防御系统 ### ESP32 基于 Web 的攻击模拟与防御系统 **由 Batuthz 开发的基于 ESP32 + OLED + Web Serial API 的双设备无线安全实验室。** [![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE) [![ESP32](https://img.shields.io/badge/ESP32-WROOM--32U-red)](#硬件--donanım) [![Web Serial](https://img.shields.io/badge/Web%20Serial-API-success)](#web-panel--web-paneli) [![Language](https://img.shields.io/badge/Language-Türkçe%20%7C%20English-purple)](#中文) [![Status](https://img.shields.io/badge/Status-Active-brightgreen)](#项目状态--proje-durumu)
[🇹🇷 Türkçe](#türkçe) • [🇬🇧 English](#english) • [🧩 架构](#system-architecture--sistem-mimarisi) • [💾 固件](#firmware-files--firmware-dosyaları) • [🌐 Web 面板](#web-panel--web-paneli) • [🖼️ 图库](#gallery--galeri) • [⚖️ License](#license--lisans)

ESP32 defense hardware Web panel defense modes

# 中文 ## 项目摘要 本项目是一个无线安全实验室系统,它将两个独立的 ESP32 设备与基于 Web 的管理面板结合在一起。 系统将三种不同的固件工作流分离开来: 1. **授权攻击/测试固件** 2. **安全的攻击模拟固件** 3. **防御与监控固件** 通过这种分离,真实的实验室测试、非破坏性的安全模拟以及防御/监控操作可以在同一项目内通过独立的文件进行管理。 ## 主要特性 - 双 ESP32 设备的攻击-防御架构 - 基于 OLED 的设备端菜单 - 通过 Web Serial API 从浏览器直接连接 ESP32 - CP2102 USB-UART 串口通信 - 实时串口日志查看 - 类 WIDS 的事件记录 - Honeypot 告警工作流 - SSID 广播与列表管理 - 手动 CLI 界面 - 授权的实验室测试控制 - 安全的非破坏性攻击模拟 - 中文与英文技术文档 ## 系统架构 ``` ┌──────────────────────────────┐ │ Saldırı/Test ESP32 │ │ attack-simulation-device.ino │ └──────────────┬───────────────┘ │ │ Yetkili laboratuvar test akışı │ ┌──────────────▼───────────────┐ │ Güvenli Simülasyon ESP32 │ │ simulation-password.ino │ └──────────────┬───────────────┘ │ │ Zararsız simülasyon olayı │ ┌──────────────▼───────────────┐ │ Savunma ESP32 │ │ defense-monitoring-device.ino│ └──────────────┬───────────────┘ │ USB / CP2102 │ ┌──────────────▼───────────────┐ │ Web Serial API │ └──────────────┬───────────────┘ │ ┌──────────────▼───────────────┐ │ Web Panel │ │ Log • WIDS • Alarm • CLI │ └──────────────────────────────┘ ``` ## 固件文件 ### `attack-simulation-device.ino` 在受控且明确授权的实验室环境中执行攻击/测试功能。 主要功能: - 启动和停止授权的测试工作流 - 在 OLED 上显示测试状态 - 接收来自 Web 面板的串口命令 - 通过手动 CLI 进行控制 - 生成测试和证据日志 ### `simulation-password.ino` 这是不会产生破坏性攻击流量的安全模拟固件。 工作流程: 1. 扫描无线网络 2. 寻找授权的防御接入点 3. 使用配置的实验室密码进行连接 4. 准备源 MAC 和目标 SSID 信息 5. 向防御设备的模拟端点发送无害事件 6. 防御设备记录该事件并将其转发至 Web 面板 ### `defense-monitoring-device.ino` 运行在防御和访问监控设备上。 主要功能: - 锁定的实验室接入点 - OLED 菜单和状态屏幕 - 类 WIDS 的事件记录 - Honeypot 告警处理 - SSID 广播和列表管理 - 串口日志 - 接收模拟事件 - 源 MAC 和目标 SSID 记录 - 自动防御模式 - 向 Web 面板实时传输数据 ## Web 面板 Web 面板利用浏览器的 **Web Serial API** 特性直接连接到 ESP32 设备。 连接流程: ``` ESP32 → CP2102 USB-UART → Web Serial API → Web Panel ``` 面板功能: - ESP32 连接管理 - 实时串口日志 - 防御模式 - Honeypot 启动/停止 - WIDS 事件日志 - 告警界面 - SSID 广播管理 - SSID 列表管理 - 手动 CLI - 授权的实验室测试按钮 - 状态和证据日志

Web Serial pairing

## 硬件 - ESP32-WROOM-32U 开发板 - 兼容 SH1106 / SSD1106 的 OLED 屏幕 - 外部天线 - 面包板 - 按钮 - 跳线 - CP2102 USB-UART 连接 ## 安装摘要 1. 在 Arduino IDE 中安装 ESP32 开发板包。 2. 添加所使用的 OLED 库。 3. 打开相关的 `.ino` 文件。 4. 将示例网络信息替换为您的实验室信息。 5. 将固件烧录到正确的 ESP32 设备中。 6. 通过 USB 将防御端 ESP32 连接到计算机。 7. 在支持 Web Serial 的浏览器中打开 Web 面板。 8. 选择 CP2102 串口设备。 9. 监控日志、告警状态和模拟事件。 # 英语 ## 项目概述 本项目是一个无线安全实验室系统,它将两个 ESP32 设备与基于 Web 的管理面板结合在一起。 它将三种不同的固件工作流分离开来: 1. **授权攻击/测试固件** 2. **安全攻击模拟固件** 3. **防御和监控固件** 这种分离使得授权的实验室测试、非破坏性模拟和防御监控可以在同一项目中共存,同时在不同的源文件中保持清晰的隔离。 ## 主要特性 - 双 ESP32 攻击/防御架构 - 基于 OLED 的设备端菜单 - 通过 Web Serial API 实现浏览器到 ESP32 的直接连接 - CP2102 USB 转 UART 串口通信 - 实时串口日志记录 - 类 WIDS 风格的事件记录 - Honeypot 告警工作流 - SSID 广播和列表管理 - 手动 CLI 界面 - 授权的实验室测试控制 - 安全的非破坏性模拟 - 双语技术文档 ## 固件文件 ### `attack-simulation-device.ino` 在受控的实验室环境中运行授权的攻击和安全测试功能。 主要功能: - 启动和停止授权的测试工作流 - 在 OLED 上显示测试状态 - 接收来自 Web 面板的串口命令 - 手动 CLI 控制 - 生成测试和证据日志 ### `simulation-password.ino` 提供安全且非破坏性的攻击模拟工作流。 流程: 1. 扫描无线网络 2. 寻找授权的防御接入点 3. 使用配置的实验室密码进行连接 4. 准备源 MAC 和目标 SSID 信息 5. 向防御设备模拟端点发送无害事件 6. 防御设备记录事件并将其转发至 Web 面板 ### `defense-monitoring-device.ino` 在防御和访问监控 ESP32 上运行。 主要功能: - 锁定的实验室接入点 - OLED 菜单和状态屏幕 - 类 WIDS 风格的事件记录 - Honeypot 告警处理 - SSID 广播和列表管理 - 串口日志记录 - 模拟事件处理 - 源 MAC 和目标 SSID 记录 - 自动防御模式 - 向 Web 面板实时传输数据 ## Web 面板 Web 面板使用浏览器的 **Web Serial API** 直接连接到 ESP32。 连接流程: ``` ESP32 → CP2102 USB-UART → Web Serial API → Web Panel ``` 面板功能: - ESP32 连接管理 - 实时串口日志 - 防御模式控制 - Honeypot 启动/停止控制 - WIDS 事件日志 - 告警界面 - SSID 广播管理 - SSID 列表管理 - 手动 CLI - 授权的实验室测试按钮 - 状态和证据日志 ## 硬件 - ESP32-WROOM-32U 开发板 - 兼容 SH1106 / SSD1106 的 OLED 显示屏 - 外部天线 - 面包板 - 按钮 - 跳线 - CP2102 USB 转 UART 接口 ## 仓库结构 ``` . ├── docs/ │ ├── project-report-bilingual-v2.docx │ ├── project-report-bilingual-v2.pdf │ └── images/ ├── firmware/ │ ├── attack-simulation-device/ │ │ ├── attack-simulation-device.ino │ │ └── simulation-password.ino │ └── defense-monitoring-device/ │ └── defense-monitoring-device.ino ├── images/ ├── web-panel/ │ └── admin-panel.html ├── .gitignore ├── CITATION.cff ├── LICENSE ├── NOTICE ├── README.md └── SECURITY.md ``` ## 图库 / Galeri ### ESP32 硬件

Attack ESP32 status Defense ESP32 status Defense logs

### Web 界面

Defense modes SSID management

WIDS logs Alarm interface

## 项目状态 / Proje Durumu - [x] ESP32 攻击/测试固件 - [x] 安全模拟固件 - [x] 防御监控固件 - [x] OLED 界面 - [x] Web Serial 集成 - [x] 实时日志视图 - [x] WIDS 事件记录 - [x] 告警工作流 - [x] 双语报告 - [x] 公开仓库净化处理 ## 文档 / Dokümantasyon 双语技术报告位于 `docs/` 目录中。 - `docs/project-report-bilingual-v2.docx` - `docs/project-report-bilingual-v2.pdf` ## License / Lisans 本项目基于 **Apache License 2.0** 授权。 您可以: - 使用 - 学习 - 修改 - 重新分发 - 开发衍生作品 重新分发或修改的版本必须保留所需的许可证和归属声明。 必需的归属声明: 参见: - [`LICENSE`](LICENSE) - [`NOTICE`](NOTICE) ## Batuthz 归属声明 **Batuthz** 标识了原始项目及其来源。 不得使用 Batuthz 名称虚假声称对修改版本的认可、合作关系或官方批准。 ## 道德与法律声明 本仓库仅用于: - 授权的安全测试 - 受控的实验室模拟 - 网络安全教育 - 防御性安全研究 - ESP32 开发 - Web Serial API 实验 未经明确许可,请勿将本项目用于任何网络、系统、账户、服务或设备。 ## 免责声明 本项目按“原样”提供,不提供任何保证。 对于因使用本项目而导致的滥用、未经授权的活动、网络中断、数据丢失、硬件损坏、法律后果或其他损害,原作者和贡献者概不负责。
### 以 Batuthz 名称开发 [⬆ 回到顶部](#esp32-web-based-attack-simulation-and-defense-system)
标签:ESP32, OLED, Web Serial, 主机安全, 后端开发, 多模态安全, 密码管理, 插件系统, 攻击模拟, 物联网, 网络安全实验环境, 驱动签名利用