Metasploitable es una máquina virtual Linux intencionalmente vulnerable. Esta máquina virtual se puede utilizar para realizar capacitación en seguridad, probar herramientas de seguridad y practicar técnicas comunes de prueba de penetración.
PASO 1: ESCANEO DE LOS SERVICIOS EXPUESTOS
Copiamos los puertos del archivo allports y volvemos a escanear los solo los puertos abiertos para buscar versiones ejecutadas.
PASO 2: EXPLOTACIÓN DE VULNERABILIDADES
vsftpd Smiley Face Backdoor
Comenzamos explotando el puerto 21 FTP. Para ello, utilizaremos Hydra, una lista con nombres de usuario y una lista con posibles contraseñas predeterminadas.
hydra –L user.txt –P pass.txt 192.168.1.73 ftp
Tenemos cinco usuarios con sus respectivas contraseñas
Ahora vamos a explotar la vulnerabilidad aprovechando el exploit disponible en Metasploit.
Y como se puede observar disponemos de acceso con privilegios elevados.
Credenciales por defecto OpenSSH 4.7p1
El primer método será utilizar un script de fuerza bruta de la herramienta nmap.
El segundo método es utilizar los auxiliares Metasploit que aplicaremos en el servicio SSH que se ejecuta en el puerto 22. Una vez que obtengamos nuestra sesión, procedemos a actualizarlo a Meterpreter.
El tercer método, es aplicar fuerza bruta al servicio SSH utilizando el exploit 5720.py. Este exploit viene con claves RSA para forzar el inicio de sesión como root. Básicamente, aportaremos la clave RSA que queremos utilizar y la IP de la máquina destino.
Primero, descargamos las claves vulnerables.
Descomprimimos
Lanzamos el exploit.
Telnet
Esta vulnerabilidad una de las más claras. Si realizamos telnet al servidor… él mismo nos dice las credenciales para logearnos.
Vamos a utilizar la herramienta Wireshark para capturar el tráfico TCP. Esta herramienta está configurada para capturar paquetes mientras nos conectamos a Metasploitable 2 a través del servicio Telnet con las credenciales “msfadmin” tanto en usuario como contraseña.
Una vez conectados correctamente, volvemos a Wireshark. Ahora hacemos clic en Analizar > Seguir > TCP Stream. Esto nos mostra las contraseñas en texto plano.
Ahora vamos a probar un inicio de sesión utilizando un auxiliar de Metasploit, donde necesitaremos una lista de usuarios y contraseñas.
Samba
Samba es un proyecto de código ampliamente utilizado en plataformas Linux y Unix para poder trabajar con servicios de Windows.
Se puede utilizar Samba como servidor activo para manejar el inicio de sesión, la autenticación y el control de acceso para una red Windows.
Samba tiene varias vulnerabilidades en sus versiones 3.X – 4.X que pueden explotarse con el módulo de Metasploit correspondiente.
Como se puede ver, se obtiene acceso root a la máquina objetivo.
Puerto 1524: Bindshell
Aquí se obtuvo acceso root mientras usábamos netcat.
Cuenta sin contraseña MySQL
Es posible conectarse al servidor de base de datos MySQL de forma remota sin utilizar contraseña, permitiendo lanzar ataques contra la base de datos.
Veamos si es posible conectarno a la base de datos como root pero sin utilizar contraseña.
Vamos a realizar la misma tarea, pero en esta ocasión vamos a utilizar un módulo de Metasploit.
Puerto 3632
Tras realizar el escaneo, se descubrió el puerto 3632 abierto y que ejecutaba el servicio distcc. Esta configuración permite ejecutar comandos a través de trabajos de compilación, que son ejecutada por el servidor sin autorización.
Apache Tomcat
Encontramos en el puerto 8180, el servicio Apache Tomcat. Veamos la página que aparece en el navegador.
Hay dos formas de obtener acceso a la aplicación:
- Cargando una Shell maliciosa
- Ejecutando un exploit de Metasploit
Vamos a explotar la vulnerabilidad utilizando el módulo de Metasploit.
Usando estas credenciales, implementamos la aplicación de administrador.
Puertos 512, 513 y 514
Estos puertos son utilizados para la comunicación remota entre cliente y servidor. Estos servicios están mal configurados y por ello, podemos comunicarnos remotamente desde cualquier máquina, logeandonos como root.
Los puertos TCP 512, 513, y 514 son conocidos como los servicios “r”, y han sido configurados erróneamente para permitir acceso remoto desde cualquier máquina (una situación típica “.rhosts + +”). Para tomar ventaja de esto, nos aseguraremos de que el cliente rsh-client se encuentre instalado y ejecutamos el siguiente comando como usuario root local. Si se nos solicita una llave SSH, esto significa que las herramientas rsh-client no han sido instaladas y Ubuntu está predeterminando a utilizar SSH.
Puerto 2049 NFS
Esto es tan fácil como parece. El siguiente servicio que deberíamos considerar es el Sistema de Archivos de Red (NFS). NFS se puede identificar probando el puerto 2049 directamente o solicitando al mapeador de puertos una lista de servicios. El siguiente ejemplo utiliza rpcinfo para identificar NFS y showmount –e determinar que el recurso compartido “/” (la raíz del sistema de archivos) se está exportando. Necesitará los paquetes rpcbind y nfs-common de Ubuntu para seguir.
Obtener acceso a un sistema con un sistema de archivos grabable como este es trivial. Para hacerlo (y debido a que SSH se está ejecutando), generaremos una nueva clave SSH en nuestro sistema atacante, montaremos la exportación NFS y agregaremos nuestra clave al archivo autorizado_keys de la cuenta de usuario raíz.
Puerto 6667 UnrealRCD IRC
UnrealIRCd es un servidor IRC de código abierto. Se ejecuta en Linux, OS X y Windows.
Es un IRCd altamente avanzado con un fuerte enfoque en la modularidad, un archivo de configuración avanzado y muy configurable. Incluye SSL en sus características. En el puerto 6667, Metasploitable2 ejecuta el demonio UnreaIRCD IRC. Esta versión contiene una puerta trasera que pasó desapercibida durante meses, que se activa al enviar las letras “AB” seguidas de un comando del sistema al servidor en cualquier puerto de escucha. Metasploit tiene un módulo para explotar esto con el fin de obtener un shell interactivo, como se muestra a continuación.
SMTP Puerto 25
SMTP significa Protocolo Simple de Transporte de Correo y es un protocolo de servidor a servidor que mantiene una base de datos local de usuarios a los que debe enviar y recibir correos electrónicos.
SMTP tiene un conjunto de comandos. Vamos a centrarnos en nuestro objetivo utilizando netcat a través del puerto 25.
Otro método para ello es una herramienta contenida en Kali llamada “Smtp-User-Enum”. La usaremos para verificar que nombres de usuario SMTP existen en la máquina víctima.
Finalmente, también podemos utilizar un auxiliar de Metasploit llamado smtp_enum
Puerto 1099
Invocar el método remoto (RMI) es una API que permite que un objeto invoque un método en un objeto que existe en otro espacio de direcciones, que puede estar en la misma máquina o en una máquina remota.
Puerto 2121: ProFTPD
Antes de realizar la explotación de este puerto, se deben tener credenciales de inicio de sesión para que, se pueden obtener realizando un ataque de fuerza bruta.
Podemos acceder a ProFTPd con telnet. Vamos a utilizar las credenciales user:user.
Puerto 5432: Postgresql
Puerto 5900: VNC
Este método se utiliza para explotar el software VNC alojados en sistemas operativos Linux o Windows con vulnerabilidad de autenticación.
Ahora, vamos a conectarnos a VNC utilizando las credenciales obtenidas.
6000-X11
El sistema de ventanas X11 es un sistema de ventanas para pantallas de mapa de bits, que es común en los sistemas UNIX.
El servidor X11 remoto acepta conexiones desde cualquier lugar donde pueda obtener una conexión a Internet. Es responsable del acceso a tarjetas gráficas, dispositivos de entrada y la pantalla de visualización en la computadora o en el dispositivo inalámbrico.
Vamos a explotar la vulnerabilidad utilizando el puerto SSH.
En el comando anterior, “X” habilita el reenvío de todos los puertos, al proporcionar el nombre de usuario y la IP del objetivo, nos da la Shell.
No responses yet