Types of Shells
Una vez que comprometemos un sistema y explotamos una vulnerabilidad para ejecutar comandos remotos en los hosts comprometidos, normalmente necesitamos un método de comunicación con el sistema para evitar tener que explotar la misma vulnerabilidad para ejecutar cada comando. Para enumerar el sistema o tomar mayor control sobre él o dentro de su red, necesitamos una conexión confiable que nos dé acceso directo al shell del sistema (es decir, Bash
o PowerShell
), para poder investigar a fondo el sistema remoto para nuestro próximo paso.
Una forma de conectarse a un sistema comprometido es mediante protocolos de red, como SSH
(Linux) o WinRM
(Windows), que nos permiten iniciar sesión remotamente. Sin embargo, a menos que obtengamos un conjunto de credenciales de inicio de sesión que funcionen, no podremos utilizar estos métodos sin ejecutar primero comandos en el sistema remoto para acceder a estos servicios.
El otro método para acceder a un host comprometido para el control y la ejecución remota de código es mediante shells. Como se mencionó anteriormente, existen tres tipos principales de shells: shell inverso, shell de enlace y shell web. Cada uno de estos shells se comunica con nosotros de forma diferente para aceptar y ejecutar nuestros comandos.
Last updated