Reverse Shells
Last updated
Last updated
Con una reverse shell, la caja de ataque tendrá un "listener" (escucha) en ejecución, y el objetivo necesitará iniciar la conexión.
En muchos casos de sistemas vulnerables, es más probable que un administrador pase por alto conexiones salientes, lo que nos da una mejor oportunidad de no ser detectados. En contraste, las bind shells dependen de conexiones entrantes permitidas por el firewall del lado del servidor, lo cual es difĂcil de ejecutar en un entorno real.
Como se muestra en la imagen, al iniciar un "listener" para una concha inversa en nuestra caja de ataque, usamos algún método (como la carga de archivos no restringida o la inyección de comandos) para forzar que el objetivo inicie una conexión hacia nuestra caja, haciendo que la caja de ataque se convierta en el servidor y el objetivo en el cliente.
No siempre necesitamos reinventar los payloads (comandos y cĂłdigo). Herramientas como el Reverse Shell Cheat Sheet contienen listas de comandos y generadores de shells inversas automatizadas que podemos usar en la práctica o en compromisos reales. Sin embargo, muchos administradores conocen estos recursos, por lo que podrĂan ajustar sus controles de seguridad para detectarlos. En algunos casos, necesitaremos personalizar nuestros ataques.
Vamos a establecer una concha inversa simple usando PowerShell en un objetivo Windows.
Usamos el puerto 443, comĂşn para conexiones HTTPS, ya que rara vez los equipos de seguridad bloquean este puerto. Sin embargo, firewalls avanzados con inspecciĂłn de paquetes y visibilidad en la capa 7 pueden detectar conchas inversas en puertos comunes.
Una vez que el objetivo Windows esté activo, conectamos usando RDP.
Nota: Netcat no es nativo en Windows, por lo que no podemos contar con Ă©l directamente. Idealmente, usamos las herramientas nativas del sistema.
Podemos usar un simple one-liner de PowerShell para crear una concha inversa.
El antivirus de Windows Defender bloqueó el código, como es de esperar desde el punto de vista defensivo. Desde la perspectiva ofensiva, tenemos algunos obstáculos si el antivirus está habilitado.
Podemos deshabilitar el antivirus con la siguiente lĂnea en una consola de PowerShell administrativa:
Una vez deshabilitado, ejecutamos de nuevo el cĂłdigo.
Hemos establecido con éxito la concha inversa y podemos interactuar con el sistema. Intenta ejecutar algunos comandos estándar de Windows para practicar.