En este writeup comenzamos a resolver máquina de la plataforma Dockerlabs, y en esta ocasión empezamos por el nivel más sencillo resolviendo la máquina FirstHacking de dificultad «Muy fácil».
Resumen de conceptos trabajados:
Escaneo de Puertos Backdoor Command Execution Metasploit root |
Si quieres conocer más sobre la plataforma Dockerlabs y ver cómo se configura, etc, en este post te cuento cómo hacerlo.
Una vez hemos descargado en nuestra máquina la máquina víctima de Dockerlabs y desplegada en nuestro entorno siguiendo los pasos anteriores que menciono en el post, empezamos con el escaneo.
Estructura del contenido
ENUMERACIÓN -> ESCANEO DE PUERTOS
Para asegurarte de que están conectado a la máquina víctima lo que puedes hacer es, o bien lanzas un PING o directamente un nmap para ver si está activa.
ping -c 1 172.17.0.2 -R
-R (para ver el trace route con el nodo intermediario)
Tanto lanzando un ping a la IP de la máquina (es la misma siempre en el entorno Dockerlabs) como lanzando un nmap -sn «ping scan» o «escaneo de descubrimiento de host», básicamente el -sn omite el escaneo de puertos y se concentra en la identificación de la presencia de los hosts.
La máquina está levanta y activa, OK, SO Linux con ttl de 64, por lo que ahora lanzamos un script nmap para descubrir puertos abiertos, etc. La explicación de los diferentes comandos al nmap te los dejo explicados en este post.
nmap -sCV -p- --open --min-rate 5000 -n -vvv -Pn 172.17.0.2 -oN Escaneo
Como vemos en la captura, se identifica como único puerto abierto el 21 por TCP para FTP Protocolo de Transferencia de Archivos para la versión 2.3.4.
Lo siguiente que podemos hacer es buscar si esa versión de FTP presenta vulnerabilidades que podamos atacar. Para ello hacemos un searchexploit:
Y efectivamente nos saca la vulnerabilidad de Backdoor Command Execution, tanto mediante código en python como en ruby con Metasploit.
¿Qué es una Backdoor Command Execution?
Una «backdoor command execution», o ejecución de comandos mediante puerta trasera, se refiere al uso de un mecanismo oculto en un sistema que permite a un usuario remoto o un atacante ejecutar comandos en el sistema sin pasar por los métodos de autenticación normales.
Puede haber sido introducido intencionalmente por el desarrollador original (a menudo para dar acceso al sistema para mantenimiento o recuperación en caso de error) o por un atacante mediante la modificación del software.
METASPLOIT
Si vamos por la segunda opción para penetrarlo mediante el framework de Metasploit mediante la ejecución de exploits, este proceso se iniciaría con la apertura de la interfaz msfconsole de esta forma:
A continuación hacemos una búsqueda de esa versión vulnerable de FTP mediante search:
y vemos que está disponible un módulo que podemos ejecutar para intentar acceder como root al sistema.
Si mostramos las opciones que existen para ejecutarlo en consola con el «show options», vemos que sólo se requieren el RHOSTS y RPORT, tendremos que incluir los siguientes comandos:
Ahora tendríamos que establecer el RHOSTS con la IP de la máquina víctima (en este caso la 172.17.0.2) y ya simplemente quedaría ejecutarlo con el comando run o exploit:
y ya tendríamos usuario root aplicando en la consola el comando «whoami»: