Skip to content

Latest commit

 

History

History
524 lines (447 loc) · 23.6 KB

File metadata and controls

524 lines (447 loc) · 23.6 KB

🌐 MoMo Ecosystem Integration Guide

Version: 0.1.0 | Last Updated: 2025-12-18


📋 Overview

This document describes how MoMo-Nexus integrates with the entire MoMo ecosystem for unified Red Team operations.


🎯 The MoMo Ecosystem

┌─────────────────────────────────────────────────────────────────────────────┐
│                           MOMO ECOSYSTEM                                     │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                              │
│                              ┌─────────────────┐                            │
│                              │   MoMo-Nexus    │                            │
│                              │   (Comm Hub)    │                            │
│                              │                 │                            │
│                              │  📡 LoRa        │                            │
│                              │  📶 4G          │                            │
│                              │  🌐 WiFi        │                            │
│                              └────────┬────────┘                            │
│                                       │                                     │
│         ┌─────────────────────────────┼─────────────────────────────┐       │
│         │                             │                             │       │
│         ▼                             ▼                             ▼       │
│  ┌─────────────────┐          ┌─────────────────┐          ┌─────────────┐ │
│  │      MoMo       │          │  GhostBridge    │          │  MoMo-Mimic │ │
│  │   (Wardriver)   │          │  (Implant)      │          │ (USB Attack)│ │
│  │                 │          │                 │          │             │ │
│  │  📶 WiFi Attack │          │  🌉 Net Bridge  │          │  ⌨️ HID      │ │
│  │  📻 BLE Scan    │          │  🔐 VPN Tunnel  │          │  💾 Storage  │ │
│  │  🔓 Cracking    │          │  📡 LoRa C2     │          │  📡 WiFi    │ │
│  │  📡 SDR         │          │                 │          │             │ │
│  └─────────────────┘          └─────────────────┘          └─────────────┘ │
│         │                             │                             │       │
│         └─────────────────────────────┼─────────────────────────────┘       │
│                                       │                                     │
│                                       ▼                                     │
│                              ┌─────────────────┐                            │
│                              │   MoMo-Swarm    │                            │
│                              │   (LoRa Mesh)   │                            │
│                              │                 │                            │
│                              │  🔗 Meshtastic  │                            │
│                              │  📡 Long Range  │                            │
│                              │  🌐 Off-Grid    │                            │
│                              └─────────────────┘                            │
│                                                                              │
└─────────────────────────────────────────────────────────────────────────────┘

🔧 Project Roles

MoMo - Attack Platform

Role Active attack and reconnaissance
Hardware Raspberry Pi 5
Location Mobile, near targets
Functions WiFi capture, Evil Twin, BLE attacks, SDR, Cracking
Connects via LoRa (primary), WiFi (secondary)
MoMo Capabilities:
├── WiFi
│   ├── Passive capture (handshakes)
│   ├── Evil Twin AP
│   ├── Karma/MANA attacks
│   └── Deauthentication
├── Bluetooth
│   ├── BLE scanning
│   ├── GATT exploration
│   ├── Beacon spoofing
│   └── HID injection
├── Cracking
│   ├── Hashcat integration
│   └── John the Ripper
├── SDR
│   ├── Spectrum analysis
│   └── 433/868 MHz decode
└── Reporting → Nexus

GhostBridge - Persistence Implant

Role Network persistence and exfiltration
Hardware NanoPi R2S
Location Inside target network
Functions Transparent bridge, VPN tunnel, Traffic capture
Connects via LoRa (covert), 4G (fallback)
GhostBridge Capabilities:
├── Network
│   ├── Transparent bridge (invisible)
│   ├── MAC cloning
│   ├── Traffic mirroring
│   └── MITM position
├── Tunnel
│   ├── WireGuard VPN
│   ├── Reverse connection
│   └── DNS over HTTPS
├── C2
│   ├── LoRa (via Swarm)
│   ├── 4G cellular
│   └── WiFi (emergency)
└── Reporting → Nexus

MoMo-Mimic - Initial Access

Role Initial access via USB
Hardware Raspberry Pi Zero 2 W
Location Plugged into target PC
Functions HID injection, USB Ethernet, Mass Storage
Connects via WiFi (primary), BLE (local)
MoMo-Mimic Capabilities:
├── HID (Keyboard)
│   ├── Keystroke injection
│   ├── DuckyScript payloads
│   └── Privilege escalation
├── USB Ethernet
│   ├── Network tap
│   ├── MITM position
│   └── Remote access tunnel
├── Mass Storage
│   ├── Payload delivery
│   └── Data exfiltration
├── WiFi
│   ├── Covert channel
│   └── Report to Nexus
└── Reporting → Nexus

MoMo-Swarm - Off-Grid Mesh

Role Long-range off-grid communication
Hardware ESP32 LoRa (Heltec, T-Beam, RAK)
Location Distributed mesh
Functions LoRa mesh, Message relay, Extend range
Connects via LoRa mesh (Meshtastic)
MoMo-Swarm Capabilities:
├── LoRa Mesh
│   ├── Meshtastic protocol
│   ├── Auto-routing
│   └── Encryption
├── Range Extension
│   ├── Multi-hop relay
│   ├── 10-15 km per hop
│   └── Unlimited with relays
├── Node Types
│   ├── Operator (with display)
│   ├── Base Station (Nexus-connected)
│   └── Relay (repeater)
└── Bridge → Nexus

MoMo-Nexus - Communication Hub

Role Central command and control
Hardware Raspberry Pi 4/5
Location Safe location / operator
Functions Message routing, Fleet management, Dashboard
Connects via All channels (4G, WiFi, LoRa)
MoMo-Nexus Capabilities:
├── Routing
│   ├── Multi-channel
│   ├── Priority-based
│   ├── Automatic failover
│   └── Store-and-forward
├── Fleet Management
│   ├── Device registry
│   ├── Health monitoring
│   ├── Command dispatch
│   └── Status tracking
├── Dashboard
│   ├── Web UI
│   ├── Device map
│   ├── Real-time updates
│   └── Alert notifications
└── Operator Interface

🔄 Communication Flows

Scenario 1: Handshake Captured

┌─────────────────────────────────────────────────────────────────────────────┐
│                    HANDSHAKE CAPTURE FLOW                                    │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                              │
│   MoMo                    Swarm                   Nexus                     │
│   (Field)                 (Relay)                 (Operator)                │
│     │                       │                       │                       │
│     │  1. Capture handshake │                       │                       │
│     │     from target WiFi  │                       │                       │
│     │                       │                       │                       │
│     │  2. ALERT             │                       │                       │
│     │  ────────────────────►│                       │                       │
│     │  (LoRa, encrypted)    │                       │                       │
│     │                       │  3. Relay             │                       │
│     │                       │  ────────────────────►│                       │
│     │                       │  (LoRa mesh hop)      │                       │
│     │                       │                       │                       │
│     │                       │                       │  4. Display alert    │
│     │                       │                       │     on dashboard     │
│     │                       │                       │     📱 Push notify   │
│     │                       │                       │                       │
│     │                       │  5. ACK               │                       │
│     │                       │◄────────────────────  │                       │
│     │  6. ACK               │                       │                       │
│     │◄────────────────────  │                       │                       │
│     │                       │                       │                       │
│     │  7. Continue scanning │                       │                       │
│     │     or start crack    │                       │                       │
│     │                       │                       │                       │
└─────────────────────────────────────────────────────────────────────────────┘

Scenario 2: Command Execution

┌─────────────────────────────────────────────────────────────────────────────┐
│                    COMMAND EXECUTION FLOW                                    │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                              │
│   Operator               Nexus                   Swarm             MoMo     │
│     │                       │                       │                │      │
│     │  1. Click "Deauth"    │                       │                │      │
│     │  ──────────────────► │                       │                │      │
│     │  (Web UI)            │                       │                │      │
│     │                       │  2. COMMAND           │                │      │
│     │                       │  ─────────────────────┼───────────────►│      │
│     │                       │  (4G → LoRa)          │                │      │
│     │                       │                       │                │      │
│     │                       │                       │  3. Execute    │      │
│     │                       │                       │     deauth     │      │
│     │                       │                       │     attack     │      │
│     │                       │                       │                │      │
│     │                       │                       │  4. RESULT     │      │
│     │                       │◄─────────────────────┼────────────────│      │
│     │                       │                       │                │      │
│     │  5. Show result       │                       │                │      │
│     │◄────────────────────  │                       │                │      │
│     │  "50 packets sent,    │                       │                │      │
│     │   3 clients affected" │                       │                │      │
│     │                       │                       │                │      │
└─────────────────────────────────────────────────────────────────────────────┘

Scenario 3: Multi-Device Operation

┌─────────────────────────────────────────────────────────────────────────────┐
│                    COORDINATED ATTACK FLOW                                   │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                              │
│   Nexus                                                                     │
│     │                                                                        │
│     ├──► MoMo: "Start Evil Twin for CORP-WiFi"                             │
│     │         └── Creates fake AP                                           │
│     │                                                                        │
│     ├──► Mimic: "Inject credentials to victim PC"                          │
│     │         └── Types WiFi password for CORP-WiFi                         │
│     │         └── Victim connects to Evil Twin                              │
│     │                                                                        │
│     ├──► GhostBridge: "Capture credentials from bridge"                    │
│     │         └── Logs HTTP/HTTPS traffic                                   │
│     │         └── Extracts session tokens                                   │
│     │                                                                        │
│     └──► All devices report status every 30 seconds                        │
│                                                                              │
│   Operator sees:                                                            │
│     • Live device status on map                                             │
│     • Incoming alerts                                                       │
│     • Captured data                                                         │
│     • Attack progress                                                       │
│                                                                              │
└─────────────────────────────────────────────────────────────────────────────┘

📡 Protocol Compatibility

Message Format

All devices use the same message format:

{
  "v": 1,
  "id": "unique-msg-id",
  "src": "device-id",
  "dst": "nexus",
  "ts": 1702900000,
  "type": "alert|command|status|data",
  "pri": "critical|high|normal|low",
  "data": { ... }
}

Device Registration

// HELLO message from any device
{
  "v": 1,
  "type": "hello",
  "src": "momo-001",
  "data": {
    "device_type": "momo",       // momo|ghostbridge|mimic|swarm
    "version": "1.5.2",
    "capabilities": ["wifi", "ble", "cracking"],
    "channels": ["lora", "wifi"]
  }
}

🔌 Integration Code

MoMo → Nexus

# momo/infrastructure/nexus/client.py
import asyncio
from nexus_protocol import Message, Priority

class NexusClient:
    def __init__(self, device_id: str, channels: list):
        self.device_id = device_id
        self.channels = channels  # ["lora", "wifi"]
    
    async def send_alert(
        self, 
        event: str, 
        data: dict, 
        priority: Priority = Priority.NORMAL
    ):
        """Send alert to Nexus."""
        message = Message(
            src=self.device_id,
            dst="nexus",
            type="alert",
            priority=priority,
            data={"event": event, **data}
        )
        
        # Try channels in order
        for channel in self.channels:
            if await self._send_via(channel, message):
                return True
        return False
    
    async def receive_commands(self):
        """Listen for commands from Nexus."""
        async for message in self._listen():
            if message.type == "command":
                yield message.data

GhostBridge → Nexus

# ghostbridge/comms/nexus_link.py
class GhostBridgeNexusLink:
    """Covert communication to Nexus."""
    
    def __init__(self):
        self.channels = ["lora", "4g"]  # Prefer LoRa for stealth
    
    async def exfiltrate(self, data: bytes):
        """Exfiltrate captured data."""
        # Chunk large data
        chunks = self._chunk(data, max_size=200)
        
        for i, chunk in enumerate(chunks):
            message = Message(
                type="data",
                priority=Priority.LOW,  # Use LoRa, save bandwidth
                data={
                    "chunk": i,
                    "total": len(chunks),
                    "payload": base64.b64encode(chunk).decode()
                }
            )
            await self._send(message)

Swarm Bridge

# MoMo-Swarm/swarm_bridge.py
class SwarmNexusBridge:
    """Bridge between Swarm mesh and Nexus."""
    
    def __init__(self, serial_port: str, nexus_url: str):
        self.mesh = MeshtasticInterface(serial_port)
        self.nexus = NexusAPI(nexus_url)
    
    async def run(self):
        """Main bridge loop."""
        # Forward mesh → Nexus
        asyncio.create_task(self._mesh_to_nexus())
        
        # Forward Nexus → mesh
        asyncio.create_task(self._nexus_to_mesh())
    
    async def _mesh_to_nexus(self):
        async for packet in self.mesh.receive():
            message = self._parse_packet(packet)
            await self.nexus.forward(message)
    
    async def _nexus_to_mesh(self):
        async for message in self.nexus.subscribe():
            if message.dst.startswith("momo-"):
                packet = self._encode_packet(message)
                await self.mesh.send(packet)

🗺️ Attack Chain Example

Full Red Team Scenario

Phase 1: Reconnaissance
═══════════════════════
Device: MoMo
Action: Wardrive target area
Result: Identify target networks, capture handshakes

Phase 2: Initial Access
═══════════════════════
Device: MoMo-Mimic
Action: USB drop attack
Result: Gain foothold on employee PC

Phase 3: Persistence
════════════════════
Device: GhostBridge
Action: Install on network switch
Result: Permanent network access, traffic visibility

Phase 4: C2 Network
═══════════════════
Device: MoMo-Swarm
Action: Deploy relay nodes
Result: Off-grid communication to all devices

Phase 5: Command & Control
══════════════════════════
Device: MoMo-Nexus
Action: Coordinate all devices
Result: Unified operation, real-time visibility

Timeline:
┌─────────────────────────────────────────────────────────────────┐
│                                                                  │
│  Day 1        Day 2        Day 3        Day 4+                  │
│    │            │            │            │                     │
│    ▼            ▼            ▼            ▼                     │
│  [Recon]─────►[Access]────►[Persist]───►[Operate]              │
│   MoMo         Mimic       GhostBridge   All devices           │
│                            Swarm         via Nexus             │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

✅ Integration Checklist

Device → Nexus

□ Implements Nexus protocol v1
□ Sends HELLO on boot
□ Sends STATUS every 30s
□ Handles COMMAND messages
□ Sends RESULT after command
□ Handles connection loss gracefully
□ Supports multiple channels

Nexus → Devices

□ Accepts device registration
□ Tracks device status
□ Routes messages correctly
□ Handles offline devices
□ Queues messages for retry
□ Provides WebSocket updates
□ Logs all activity

MoMo Ecosystem Integration Guide v0.1.0