M0M0Sec/MoMo

GitHub: M0M0Sec/MoMo

MoMo 是一个基于树莓派 5 的综合无线安全审计平台,为红队和渗透测试人员提供从 WiFi/蓝牙/SDR 攻击到凭证收集和云端破解的一体化解决方案。

Stars: 24 | Forks: 1

🔥 MoMo

模块化攻击性移动操作平台

下一代无线安全审计平台
专为红队、渗透测试人员和安全研究人员打造

Version Platform Python License

CI Tests Ruff mypy

快速开始功能架构硬件生态系统文档

## 📖 目录 - [什么是 MoMo?](#-what-is-momo) - [核心功能](#-key-features) - [快速开始](#-quick-start) - [安装说明](#-installation) - [架构](#-architecture) - [支持的硬件](#-supported-hardware) - [Web 界面与 API](#-web-interface--api) - [插件开发](#-plugin-development) - [配置](#-configuration) - [CLI 参考](#-cli-reference) - [MoMo 生态系统](#-momo-ecosystem) - [文档](#-documentation) - [贡献](#-contributing) - [许可证](#-license) ## 🎯 什么是 MoMo? **MoMo** 是一个专为 **Raspberry Pi 5** 设计的综合无线安全审计平台。它将 Pwnagotchi、ESP32 Marauder 和 WiFi Pineapple 等行业标准工具的最佳特性,集成为一个强大、可扩展的专业级平台。 ### 为什么选择 MoMo? | 挑战 | MoMo 解决方案 | |-----------|---------------| | 🔌 多个互不相干的工具 | ✅ 具有模块化架构的统一平台 | | 📱 有限的无头操作 | ✅ 管理网络 + OLED 显示屏 + Web UI | | 🔄 手动数据同步 | ✅ 与 Nexus 中心枢纽实时同步 | | 💻 在现场需要笔记本电脑 | ✅ 具有 Auto-Pwn 功能的全自动操作 | | 🔐 WPA3 绕过了现有工具 | ✅ 原生 WPA3/SAE 检测与降级 | | 🎭 有限的社会工程学 | ✅ Evil Twin、Karma/MANA、强制门户 | ### 核心功能亮点
### 📡 无线攻击 - 多无线电台管理 - WPA2/WPA3 攻击 - PMKID 捕获 - Evil Twin (6 个模板) - Karma/MANA - Auto-Pwn 引擎 ### 🔑 凭证收集 - LLMNR/NBT-NS 投毒 - NTLM 哈希捕获 - HTTP 认证嗅探 - Kerberoast - AS-REP Roasting - LDAP 枚举 ### 🤖 自动化 - Auto-Pwn 模式 - GPS Wardriving - 云端破解 - 会话持久化 - 实时同步 - 事件驱动告警
## ✨ 核心功能 ### 🔥 无线安全测试
WiFi 攻击 - 点击展开 | 功能 | 描述 | 状态 | |---------|-------------|:------:| | **Wardriving** | 通过 SQLite 持久化进行 GPS 关联的 AP 扫描 | ✅ | | **多无线电台** | 同时管理多个 WiFi 适配器 | ✅ | | **PMKID 捕获** | 通过 hcxdumptool 进行无客户端 WPA2 攻击 | ✅ | | **Deauth 攻击** | 针对性的客户端断开连接 | ✅ | | **握手捕获** | EAPOL 4 次握手收集 | ✅ | | **WPA3/SAE** | 检测、降级攻击、PMF 处理 | ✅ | | **Evil Twin** | 带有强制门户的 Rogue AP (6 个模板) | ✅ | | **Karma/MANA** | 自动响应探测请求,EAP 凭证捕获 | ✅ | | **Auto-Pwn** | 自主目标发现与攻击链接 | ✅ |
蓝牙攻击 - 点击展开 | 功能 | 描述 | 状态 | |---------|-------------|:------:| | **BLE 扫描器** | 带有 RSSI 跟踪的设备与信标检测 | ✅ | | **GATT 资源管理器** | 服务/特征发现与读/写 | ✅ | | **信标欺骗** | iBeacon 与 Eddystone 帧注入 | ✅ | | **HID 注入** | 蓝牙键盘模拟 | ✅ |
SDR 集成 - 点击展开 | 功能 | 描述 | 状态 | |---------|-------------|:------:| | **RTL-SDR 支持** | 支持具有 HF 直接采样和偏置电压的 V3 和 V4 | ✅ | | **HackRF 支持** | 支持用于重放攻击的 TX/RX | ✅ | | **频谱分析仪** | 频率扫描与峰值检测 | ✅ | | **信号解码器** | 433/868 MHz IoT 信号捕获 | ✅ |
### 🔑 凭证收集 (v1.6.0 中的新功能)
MoMo-Creds 模块 - 点击展开 | 功能 | 描述 | 状态 | |---------|-------------|:------:| | **Responder** | LLMNR/NBT-NS/mDNS 投毒 | ✅ | | **NTLM 捕获** | 通过 SMB/HTTP 捕获 NTLMv1/v2 哈希 | ✅ | | **NTLM 中继** | 将哈希中继至目标系统 | ✅ | | **HTTP 嗅探器** | Basic/Digest/Form/Bearer 凭证捕获 | ✅ | | **Kerberoast** | 提取服务票据用于离线破解 | ✅ | | **AS-REP Roast** | 针对无预身份验证的账户 | ✅ | | **LDAP 枚举** | AD 用户/组/计算机枚举 | ✅ | | **自动导出** | Hashcat/John 格式导出 | ✅ | **导出格式:** - Hashcat: 5500 (NTLMv1), 5600 (NTLMv2), 13100 (Kerberos RC4), 18200 (AS-REP) - John the Ripper: NETLM, NETNTLMv2, krb5tgs
### 🤖 自主操作
Auto-Pwn 模式 - 点击展开 | 功能 | 描述 | |---------|-------------| | **目标发现** | 自动网络扫描与优先级排序 | | **攻击链接** | PMKID → Deauth → Evil Twin 回退序列 | | **会话持久化** | 重启后恢复,保存进度 | | **安全功能** | 电池监控,最大持续时间限制 | | **云端集成** | 自动将捕获内容同步至 Nexus 进行破解 | **模式:** - `passive` - 仅扫描,不进行攻击 - `balanced` - 智能定位目标,避免被发现 - `aggressive` - 最大速度,使用所有技术
### 🖥️ 无头操作 | 功能 | 描述 | |---------|-------------| | **管理网络** | 专用的 wlan0,用于平板电脑/手机控制 | | **OLED 显示屏** | 128x64 交互式菜单,配有 GPIO 按钮 | | **Web 仪表盘** | 带有 SSE 更新的实时深色主题 UI | | **自动白名单** | 管理网络受保护,免受攻击 | ### 🚀 首次启动向导 | 功能 | 描述 | |---------|-------------| | **基于 Web 的设置** | 现代化的 React UI,对移动端友好 | | **自动 WiFi AP** | 连接到 `MoMo-Setup` 网络 | | **二维码显示** | 扫描 OLED 二维码进行连接 | | **Nexus 发现** | 通过 mDNS 自动查找 Nexus | | **无头模式** | 通过 `/boot/momo-config.yml` 进行集群部署 | ## 🚀 快速开始 ### 首次启动 (新设备) 1. 将 MoMo 镜像刷入 SD 卡 2. 给 Raspberry Pi 通电 3. 连接到 `MoMo-Setup` WiFi (密码: `momosetup`) 4. 浏览器自动打开向导 5. 在约 2 分钟内完成 6 个步骤的设置 ### 树莓派 5 一行命令安装 (Raspberry Pi 5) ``` curl -fsSL https://raw.githubusercontent.com/M0M0Sec/MoMo/main/deploy/momo-quickstart.sh | sudo bash ``` ### 验证安装 ``` momo version # Show version info momo doctor # Run system diagnostics momo run --dry-run # Test without hardware ``` ### 访问仪表盘 ``` momo web-url --show-token # 输出:http://192.168.4.1:8082?token=xxxxx ``` ## 📦 安装说明 ### 前置条件 | 需求 | 最低配置 | 推荐配置 | |-------------|---------|-------------| | **硬件** | Raspberry Pi 4 | Raspberry Pi 5 | | **操作系统** | Raspberry Pi OS Lite 64-bit | Raspberry Pi OS Lite 64-bit | | **Python** | 3.11 | 3.12+ | | **存储** | 16GB SD | 64GB+ SD | | **WiFi 适配器** | 1x 监听模式 | 2x (攻击 + 管理) | ### 方法 1:自动安装 ``` # 下载并运行安装程序 curl -fsSL https://raw.githubusercontent.com/M0M0Sec/MoMo/main/deploy/install.sh | sudo bash # 配置 sudo nano /etc/momo/momo.yml # 启用服务 sudo systemctl enable --now momo ``` ### 方法 2:手动安装 ``` # Clone repository git clone https://github.com/M0M0Sec/MoMo.git cd MoMo # Create virtual environment python3 -m venv venv source venv/bin/activate # Install dependencies pip install -e ".[full]" # Install system dependencies sudo apt install -y hcxdumptool hcxtools aircrack-ng gpsd gpsd-clients # 运行 momo run -c configs/momo.yml ``` ### 方法 3:开发环境设置 ``` # Install with dev dependencies pip install -e ".[dev]" # Setup pre-commit hooks pre-commit install # Run tests pytest tests/ -v --cov=momo # Run linting ruff check momo/ mypy momo/ ``` ## 🏗️ 架构 ### 整洁架构设计 MoMo 遵循 **Clean Architecture** 原则,实现了清晰的关注点分离: ``` ┌─────────────────────────────────────────────────────────────────┐ │ PRESENTATION │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ Web UI │ │ REST API │ │ CLI │ │ │ │ (Flask) │ │ (FastAPI) │ │ (Click) │ │ │ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │ ├─────────┴────────────────┴────────────────┴─────────────────────┤ │ APPLICATION │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ Plugin Manager │ │ │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │ │ │Wardriver│ │Evil Twin│ │ Karma │ │ Creds │ ... │ │ │ │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │ │ │ └─────────────────────────────────────────────────────────┘ │ ├─────────────────────────────────────────────────────────────────┤ │ DOMAIN │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ AccessPoint │ │ GPSPosition │ │ Handshake │ ... │ │ │ (Model) │ │ (Model) │ │ (Model) │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ ├─────────────────────────────────────────────────────────────────┤ │ INFRASTRUCTURE │ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │ │ │ WiFi │ │ BLE │ │ GPS │ │ SDR │ │ Creds │ ... │ │ │Scanner │ │Scanner │ │ Client │ │Manager │ │Manager │ │ │ └────────┘ └────────┘ └────────┘ └────────┘ └────────┘ │ └─────────────────────────────────────────────────────────────────┘ ``` ### 目录结构 ``` momo/ ├── core/ # Core utilities │ ├── events.py # Pub/Sub event bus │ ├── plugin.py # Plugin system │ ├── capability.py # Feature gates │ └── security.py # Input sanitization │ ├── domain/ # Business models │ └── models.py # Pydantic models │ ├── infrastructure/ # Hardware abstraction │ ├── wifi/ # WiFi scanner, radio manager │ ├── ble/ # BLE scanner, GATT, HID │ ├── gps/ # GPS client, distance tracking │ ├── sdr/ # RTL-SDR, HackRF, spectrum │ ├── capture/ # Handshake capture │ ├── eviltwin/ # Rogue AP, captive portal │ ├── karma/ # Karma/MANA attacks │ ├── wpa3/ # WPA3 detection & attacks │ ├── creds/ # Credential harvesting (NEW) │ │ ├── responder.py # LLMNR/NBT-NS poisoning │ │ ├── ntlm.py # NTLM capture & relay │ │ ├── http_sniffer.py # HTTP auth sniffing │ │ ├── kerberos.py # Kerberoast, AS-REP │ │ ├── ldap_enum.py # AD enumeration │ │ └── manager.py # Central orchestrator │ ├── autopwn/ # Autonomous attack engine │ ├── display/ # OLED menu system │ ├── cracking/ # John + Cloud proxy │ ├── hardware/ # Device auto-detection │ ├── management/ # Headless network │ ├── nexus/ # Nexus sync client │ └── database/ # Async SQLite │ ├── apps/ │ ├── momo_core/ # Main service loop │ ├── momo_plugins/ # Plugin collection │ │ ├── wardriver.py │ │ ├── evil_twin.py │ │ ├── karma_mana.py │ │ ├── creds_harvester.py # NEW │ │ └── ... │ └── momo_web/ # Flask API + Web UI │ ├── plugins/ # Modern plugin architecture ├── configs/ # Configuration files ├── tests/ # Test suite │ ├── unit/ # Unit tests (484 tests) │ ├── integration/ # Integration tests │ └── e2e/ # End-to-end tests └── docs/ # Documentation ``` ### 事件驱动架构 ## 📡 支持的硬件 ### WiFi 适配器 | 适配器 | 芯片组 | 监听 | 注入 | 5GHz | WiFi 6/6E | 推荐 | |---------|---------|:-------:|:---------:|:----:|:---------:|:-----------:| | Alfa AWUS036AXML | MT7921AUN | ✅ | ✅ | ✅ | ✅ 6E | ⭐⭐⭐ | | Alfa AWUS036ACH | RTL8812AU | ✅ | ✅ | ✅ | ❌ | ⭐⭐⭐ | | Alfa AWUS036ACM | MT7612U | ✅ | ✅ | ✅ | ❌ | ⭐⭐ | | Alfa AWUS036ACS | RTL8811AU | ✅ | ✅ | ✅ | ❌ | ⭐⭐ | | TP-Link Archer T2U+ | RTL8821AU | ✅ | ✅ | ✅ | ❌ | ⭐ | | Panda PAU09 | RT5572 | ✅ | ✅ | ❌ | ❌ | ⭐ | ### SDR 设备 | 设备 | 频率 | TX | 用例 | |--------|-----------|:--:|----------| | RTL-SDR V4 | 500kHz - 1.7GHz | ❌ | IoT 嗅探、ADS-B | | RTL-SDR V3 | 24MHz - 1.7GHz | ❌ | 通用 | | HackRF One | 1MHz - 6GHz | ✅ | 重放攻击 | | YARD Stick One | 300-928MHz | ✅ | 亚 GHz 专家 | ### 其他硬件 | 类别 | 推荐设备 | 备注 | |----------|-------------------|-------| | **GPS** | u-blox NEO-M8N | USB,高精度 | | **蓝牙** | Sena UD100 | 远距离,BT5.0 | | **OLED 显示屏** | SSD1306 128x64 | I2C, 0.96" | | **电源** | PiSugar 3 | 5000mAh,UPS | ## 🌐 Web 界面与 API ### 仪表盘 访问实时仪表盘: ``` momo web-url --show-token # → http://192.168.4.1:8082?token=xxxxx ``` **功能:** - 🗺️ 实时 Wardriving 地图 (Leaflet.js) - 📊 带有 SSE 更新的实时统计 - 📁 握手管理 - ⚙️ 配置编辑器 - 🔔 告警通知 ### REST API 端点
核心端点 | 方法 | 端点 | 描述 | |--------|----------|-------------| | GET | `/api/status` | 系统状态 | | GET `/api/stats` | 运行时统计 | | GET | `/api/config` | 当前配置 | | GET | `/sse/events` | 实时事件流 | | GET | `/metrics` | Prometheus 指标 |
WiFi 端点 | 方法 | 端点 | 描述 | |--------|----------|-------------| | GET | `/api/wardriver/aps` | 发现的接入点 | | POST | `/api/eviltwin/start` | 启动 Evil Twin 攻击 | | POST | `/api/karma/start` | 启动 Karma/MANA | | GET | `/api/wpa3/networks` | WPA3 网络列表 | | POST | `/api/capture/start` | 启动握手捕获 |
凭证端点 (新功能) | 方法 | 端点 | 描述 | |--------|----------|-------------| | GET | `/api/creds/status` | 收集统计 | | POST | `/api/creds/start` | 启动凭证收集 | | POST | `/api/creds/stop` | 停止收集 | | GET | `/api/creds/ntlm` | 捕获的 NTLM 哈希 | | GET | `/api/creds/http` | HTTP 凭证 | | GET | `/api/creds/kerberos` | Kerberos 票据 | | POST | `/api/creds/export` | 导出至文件 |
硬件端点 | 方法 | 端点 | 描述 | |--------|----------|-------------| | GET | `/api/hardware/devices` | 已连接的设备 | | GET | `/api/ble/devices` | BLE 扫描结果 | | GET | `/api/sdr/spectrum` | 频谱数据 | | GET | `/api/gps/position` | 当前 GPS 位置 |
### 身份验证 ``` # Using environment variable (or /opt/momo/.momo_ui_token provisioned by setup) export MOMO_UI_TOKEN="your-secure-token" # Using header (recommended) curl -H "Authorization: Bearer $MOMO_UI_TOKEN" http://localhost:8082/api/status # Query-parameter token (?token=...) is DISABLED by default (leaks into logs/proxies). # Enable only if you must, via web.allow_query_token: true ``` ### 🔐 安全默认设置 (已加固) MoMo 出厂即处于锁定状态。默认配置开箱即安全: | 默认设置 | 行为 | |---------|----------| | **认证失败即关闭** | 如果未配置 token,API 将返回 **`503 setup_required`** —— 它绝不会在未认证的情况下提供服务。请运行安装程序 (配置 `/opt/momo/.momo_ui_token`) 或设置 `MOMO_UI_TOKEN`。 | | **无局域网自动信任** | `web.allow_local_unauth: false` —— localhost/私有网络客户端**不会**被自动认证。仅为可选启用,并且在启用时会进行显著记录。 | | **常数时间比较** | 使用 `hmac.compare_digest` 检查 token (时间安全)。 | | **默认关闭激进模式** | `aggressive.enabled: false` —— 主动 deauth/assoc 攻击为可选启用;开箱即用时不会发起任何攻击。 | | **凭证收集可选启用** | `creds.enabled: false` —— 在显式启用之前,收集功能处于禁用状态。 | | **静态加密** | 排队等待同步的已捕获凭证/握手信息使用 **Fernet** (AES-128-CBC + HMAC) 进行加密,密钥来源于每个设备的 `0600` 密钥文件。 | | **XSS/CSRF** | Web 页面会转义用户字段;跨域 POST 请求将被拒绝;会话 cookie 设置为 `SameSite=Strict`。 | | **加固的插件加载器** | 拒绝具有全局可写权限的插件目录/文件,以阻止不受信任的代码注入。 | ## 🔌 插件开发 MoMo 采用受 Marauder 启发的现代插件架构,具有完整的生命周期管理。 ### 创建插件 ``` """Example MoMo Plugin.""" from momo.core.plugin import Plugin, PluginMetadata, PluginType class MyAwesomePlugin(Plugin): """My custom attack plugin.""" @staticmethod def metadata() -> PluginMetadata: return PluginMetadata( name="my_awesome_plugin", version="1.0.0", author="Your Name", description="Does awesome things", plugin_type=PluginType.ATTACK, priority=100, requires=["wifi"], ) async def on_load(self) -> None: """Called when plugin is registered.""" self.log.info("Plugin loaded") # Subscribe to events await self.subscribe("ap_discovered", self.on_ap_found) async def on_start(self) -> None: """Called when plugin is activated.""" self.log.info("Plugin started") # Start background task self._task = asyncio.create_task(self._worker()) async def on_stop(self) -> None: """Called when plugin is deactivated.""" if self._task: self._task.cancel() self.log.info("Plugin stopped") async def on_ap_found(self, event: dict) -> None: """Handle discovered access point.""" ap = event['data'] self.log.info(f"Found AP: {ap['ssid']}") # Publish event await self.emit("my_event", {"status": "processing"}) async def _worker(self) -> None: """Background worker loop.""" while True: await asyncio.sleep(10) # Do periodic work # Entry point def create_plugin() -> Plugin: return MyAwesomePlugin() ``` ### 插件生命周期 ``` ┌──────────┐ load ┌──────────┐ start ┌──────────┐ │ UNLOADED │ ────────▶ │ LOADED │ ────────▶ │ RUNNING │ └──────────┘ └──────────┘ └────┬─────┘ │ stop │ ▼ ┌──────────┐ │ STOPPED │ └──────────┘ ``` | 钩子 | 异步 | 用途 | |------|:-----:|---------| | `on_load()` | ✅ | 事件订阅,轻量级初始化 | | `on_start()` | ✅ | 启动后台任务,连接硬件 | | `on_tick(ctx)` | ❌ | 定期同步操作 | | `on_stop()` | ✅ | 清理,停止任务 | | `on_unload()` | ✅ | 最终清理 | ### 插件类型 | 类型 | 优先级 | 描述 | |------|:--------:|-------------| | `CORE` | 0 | 核心系统插件 | | `SCANNER` | 10 | WiFi/BLE 扫描 | | `CAPTURE` | 20 | 数据捕获 | | `ATTACK` | 30 | 主动攻击 | | `ANALYSIS` | 40 | 数据分析 | | `UI` | 50 | 用户界面 | | `CUSTOM` | 100 | 自定义插件 | ## ⚙️ 配置 ### 主配置文件 ``` # /etc/momo/momo.yml # ═══════════════════════════════════════════════════════════════════ # General Settings # ═══════════════════════════════════════════════════════════════════ mode: balanced # passive, balanced, aggressive # NOTE: active attacks (deauth/assoc) still require # aggressive.enabled=true below — mode alone never attacks interface: name: wlan1 # Primary attack interface mac_randomization: true channel_hop: true channels: [1, 6, 11] # 2.4GHz channels channels_5ghz: [36, 40, 44, 48] # 5GHz non-DFS channels # ═══════════════════════════════════════════════════════════════════ # Headless Operation # ═══════════════════════════════════════════════════════════════════ management: enabled: true interface: wlan0 # Pi5 internal WiFi mode: ap # ap or client ap_ssid: MoMo-Management ap_password: YourSecurePassword # ⚠️ CHANGE THIS auto_whitelist: true # Protect from self-attack bind_web_to_management: true oled: enabled: true i2c_address: "0x3C" menu: enabled: true idle_timeout: 30.0 # ═══════════════════════════════════════════════════════════════════ # Attack Modules # ═══════════════════════════════════════════════════════════════════ aggressive: enabled: false # ⚠️ SECURITY: OPT-IN, OFF by default — no active attacks out of the box max_deauth_per_min: 100 # bound floods; 0 = unlimited (explicit operator choice) max_assoc_per_min: 100 # bound floods; 0 = unlimited ssid_whitelist: [] # empty = no SSID restriction ssid_blacklist: [] # your own networks (never attacked) eviltwin: enabled: false portal_template: generic # generic, hotel, corporate, facebook, google, router karma: enabled: false respond_to_all: true capture_eap: true wpa3: enabled: true auto_downgrade: false # ═══════════════════════════════════════════════════════════════════ # Credential Harvesting # ═══════════════════════════════════════════════════════════════════ creds: enabled: false interface: eth0 output_dir: logs/creds responder: enabled: true llmnr: true nbns: true ntlm: enabled: true smb_port: 445 http_port: 80 http: enabled: true ports: [80, 8080, 8000] kerberos: enabled: false dc_ip: "" domain: "" # ═══════════════════════════════════════════════════════════════════ # Auto-Pwn Mode # ═══════════════════════════════════════════════════════════════════ autopwn: enabled: false mode: balanced # passive, balanced, aggressive min_signal_dbm: -80 max_concurrent_attacks: 1 enable_pmkid: true enable_deauth: true enable_eviltwin: false # ═══════════════════════════════════════════════════════════════════ # Hardware # ═══════════════════════════════════════════════════════════════════ ble: enabled: false scan_duration: 5.0 sdr: enabled: false device_type: rtlsdr hardware: auto_detect: true auto_configure: true # ═══════════════════════════════════════════════════════════════════ # Cracking & Sync # ═══════════════════════════════════════════════════════════════════ cracking: enabled: true use_john: true cloud_enabled: false nexus_api_url: "" plugins: enabled: - wardriver - active_wifi - creds_harvester ``` ## 🔧 CLI 参考 ``` # ═══════════════════════════════════════════════════════════════════ # General Commands # ═══════════════════════════════════════════════════════════════════ momo version # Show version and build info momo doctor # Run system diagnostics momo status # Show runtime status # ═══════════════════════════════════════════════════════════════════ # 运行 MoMo # ═══════════════════════════════════════════════════════════════════ momo run # Start with default config momo run -c /path/to/momo.yml # Start with custom config momo run --dry-run # Simulate without hardware momo run --debug # Enable debug logging # ═══════════════════════════════════════════════════════════════════ # Web Interface # ═══════════════════════════════════════════════════════════════════ momo web-url # Show Web UI URL momo web-url --show-token # Include auth token # ═══════════════════════════════════════════════════════════════════ # Maintenance # ═══════════════════════════════════════════════════════════════════ momo rotate-now # Force log rotation momo export --format hashcat # Export captured data momo backup # Backup configuration ``` ## 🌐 MoMo 生态系统 MoMo 是集成攻击性安全生态系统的一部分。每个项目都旨在实现无缝协作。 ``` ☁️ CLOUD LAYER ┌─────────────────────────────────┐ │ GPU Cracking (Cloud) │ └────────────────┬────────────────┘ │ ┌──────▼──────┐ │ │ │ 🟢 NEXUS │ │ Central Hub │ │ │ └──────┬──────┘ │ ┌─────────────────────────┼─────────────────────────┐ │ │ │ ┌──────▼──────┐ ┌───────▼───────┐ ┌──────▼──────┐ │ │ │ │ │ │ │ 🔵 MOMO │◀────────▶│ 👻 GHOSTBRIDGE│◀───────▶│ 🎭 MIMIC │ │ WiFi/BLE │ │ Network │ │ USB Attack │ │ Pi 5 │ │ Implant │ │ Pi Zero │ │ │ │ │ │ │ └─────────────┘ └───────────────┘ └─────────────┘ ``` ### 生态系统组件 | 项目 | 描述 | 平台 | 链接 | |---------|-------------|----------|-------| | **🔵 MoMo** | WiFi/BLE/SDR 审计平台 | Pi 5 | [GitHub](https://github.com/M0M0Sec/MoMo) | | **🟢 Nexus** | 中心 C2 枢纽 | Pi 4 | [GitHub](https://github.com/M0M0Sec/MoMo-Nexus) | | **👻 GhostBridge** | 透明网络植入物 | NanoPi R2S | [GitHub](https://github.com/M0M0Sec/Momo-GhostBridge) | | **🎭 Mimic** | USB 攻击平台 | Pi Zero 2W | [GitHub](https://github.com/M0M0Sec/MoMo-Mimic) | ### Nexus 集成 ``` # 在 momo.yml 中 Enable Nexus sync nexus: enabled: true api_url: "http://nexus.local:8080" device_id: "momo-field-01" sync_interval: 30 sync: handshakes: true credentials: true wardriving: true ``` ## 📚 文档 | 文档 | 描述 | |----------|-------------| | [📖 OPERATIONS.md](docs/OPERATIONS.md) | 操作指南与最佳实践 | | [🔐 SECURITY.md](docs/SECURITY.md) | 安全加固与 OPSEC | | [🔧 HARDWARE.md](docs/HARDWARE.md) | 硬件设置与建议 | | [📡 WIFI_ATTACKS.md](docs/WIFI_ATTACKS.md) | WiFi 攻击技术 | | [🔑 CREDENTIALS.md](docs/CREDENTIALS.md) | 凭证收集指南 | | [🤖 AUTOPWN.md](docs/AUTOPWN.md) | Auto-Pwn 模式文档 | | [🚀 FIRST_BOOT.md](docs/FIRST_BOOT.md) | 首次启动向导指南 | | [🔌 PLUGINS.md](docs/PLUGINS.md) | 插件开发指南 | | [🗺️ ROADMAP.md](docs/ROADMAP.md) | 开发路线图 | | [📝 CHANGELOG.md](docs/CHANGELOG.md) | 版本历史 | ## 📊 项目状态 | 版本 | 阶段 | 状态 | |---------|-------|:------:| | v0.1.0 | 核心基础设施 | ✅ | | v0.5.0 | 蓝牙扫描器 | ✅ | | v0.7.0 | 破解集成 | ✅ | | v1.0.0 | WPA3/SAE 攻击 | ✅ | | v1.2.0 | 蓝牙扩展 | ✅ | | v1.5.0 | SDR 集成 | ✅ | | v1.5.2 | 管理网络 | ✅ | | v1.6.0 | 凭证收集 | ✅ | | **v1.7.0** | **首次启动向导** | ✅ **新功能** | **统计数据:** - 📝 **527 个测试** 通过 - 📊 **87% 覆盖率** - 🔌 **52 个插件** 可用 - 📡 **6 个攻击模块** ### 提交规范 ``` type(scope): description Types: feat, fix, docs, style, refactor, test, chore ``` ### 开发工作流 ``` # Setup git clone https://github.com/M0M0Sec/MoMo.git cd MoMo pip install -e ".[dev]" pre-commit install # Test pytest tests/ -v --cov=momo # Lint ruff check momo/ mypy momo/ # Format black momo/ ``` ## ⚠️ 法律免责声明 - ✅ 仅在您拥有或获得明确书面测试许可的网络上使用 - ✅ 遵守有关无线安全测试的当地法律法规 - ✅ 遵循负责任的披露惯例 - ❌ 开发者不对滥用此工具的行为负责 - ❌ 未经授权访问计算机系统是违法行为 ## 📜 许可证 本项目基于 **MIT License** 授权 - 有关详细信息,请参阅 [LICENSE](LICENSE) 文件。

MoMo Ecosystem

🔥 MoMo 生态系统的一部分
灵感来源于 Pwnagotchi • ESP32 Marauder • WiFi Pineapple

🔵 MoMo🟢 Nexus👻 GhostBridge🎭 Mimic

由 MoMo 团队用 ❤️ 打造

标签:Raspberry Pi, SDR, WiFi攻击, 内存执行, 安全规则引擎, 蓝牙攻击, 逆向工具