Post9 n

En esta oportunidad veremos cómo utilizar Metasploit para atacar Sistemas operativos de Linux. Para este laboratorio utilizaremos un Sistema Operativo el cual posee una gran cantidad de vulnerabilidades, su nombre es Metasploitable versión 2, el cual lo pueden descargar del siguiente link:


http://sourceforge.net/projects/metasploitable/files/Metasploitable2/metasploitable-linux-2.0.0.zip/download


El primer paso será realizar un escaneo de puertos para ver qué servicios están corriendo en esta máquina:


           

       Servicios Corriendo en Linux Victima


Al observar el resultado del escaneo de puertos, nos podemos dar cuenta que esta máquina posee una gran cantidad de servicios los cuales están expuestos. Cabe mencionar que a través de Internet, existen muchos objetivos con servicios vulnerables. Para poder buscar objetivos con servicios vulnerables, se recomienda utilizar el servicio de Shodan, el cual posee una gran cantidad de información relacionada a servicios en concreto. Si deseas ver más información al respecto, les dejamos el link del sitio web a continuación:

https://www.shodan.io/


Siguiendo con esta estructura de ataque, buscaremos vulnerabilidades en concreto con Metasploit, lo que también podríamos utilizar es, una herramienta para buscar vulnerabilidades a nivel de servicio, herramientas como Nessus o Nexpose permiten automatizar este trabajo. Una vez dentro de Msfconsole utilizaremos la opción search para buscar un exploit en concreto. Si nos fijamos en la imagen anterior podemos observar que el puerto 21 de FTP posee la siguiente versión vsftpd 2.3.4. Buscaremos si existe en Metasploit  un exploit asociado a la versión de este servicio.



 

  Exploit asociado a la versión del servicio FTP



Al observar la imagen anterior nos damos cuenta que efectivamente hay un exploit asociado a la versión del servicio FTP. Vamos a ejecutarlo para ver cómo funciona



Estructura de Exploit




Vsftpd es un servidor FTP que se puede encontrar en los sistemas operativos UNIX como Ubuntu, CentOS, Fedora y Slackware. Por defecto, este servicio es seguro, sin embargo un incidente grave ocurrió en julio de 2011 cuando alguien reemplazó la versión original con una versión que contenía una puerta trasera. Existe la puerta trasera en la versión 2.3.4 del vsftpd y puede ser explotado a través de Metasploit.


Como ya sabemos el por qué este servicio es vulnerable, posteriormente procederemos a realizar el ataque hacia el objetivo:


          Ataque Exitoso


En primer lugar dentro de las opciones de este exploit, se seteo el RHOST que corresponde a la dirección IP de la víctima, posteriormente se ejecutó el comando run el cual logró explotar de manera adecuada este servicio. Finalmente podemos observar que fue posible obtener una sesión de Shell, y fue posible ejecutar comandos del sistema (víctima).


A continuación veremos otro tipo de ataque a esta máquina víctima, para ello nos enfocaremos en el puerto 8180 (Apache Tomcat). En muchos casos, hay personas que dejan contraseñas por defecto de ciertos servicios, esto es grave ya que si un atacante lo detecta podría aprovecharse de dicha vulnerabildiad y explotarla a su antojo.




     Lista de exploit disponibles para Tomcat



Como es posible observar, existe una amplia variedad de exploits enfocados a este servicio, sin embargo trataremos de verificar si es posible acceder con credenciales por defecto, para ello utilizaremos el exploit tomcat_mgr_deploy, el cual nos permitirá realizar un ataque de fuerza bruta.


Exploits para Ataque de Fuerza Bruta en Tomcat

Dentro de esta opción utilizaremos un auxiliar de Metasploit el cual nos permitirá realizar el ataque de fuerza bruta hacia el panel de administración de Tomcat.


Ataque exitoso, password por defecto


Efectivamente este servicio posee credenciales por defecto, Metasploit posee diccionarios de usuarios y contraseñas por defecto en relación a servicios de este tipo. Luego volvemos al exploit anterior (tomcat_mgr_deploy).


            Ataque exitoso


Lo que hace este exploit por detrás es iniciar la sesión dentro del aplicativo Tomcat, posteriormente sube un archivo de tipo JavaServer Pages (jsp) el cual es ejecutado para posteriormente habilitar una sesión de Meterpreter.



Ahora veremos el ataque hacia un puerto muy particular, el puerto 1099 (rmiregistry). Este puerto corre un servicio de Java llamado RMI. RMI  es un paquete de Java que permite manejar objetos (y sus respectivos métodos) de manera remota, para utilizar los recursos del servidor de manera transparente para el usuario local. En Msfconsole realizamos la búsqueda correspondiente para visualizar si es posible encontrar alguna vulnerabilidad para dicho servicio.


Posible exploit para el servcio RMI


Los servicios Java Remote Method Invocation (RMI) se utilizan en las aplicaciones para permitir que los objetos Java se puedan utilizar desde una ubicación remota sin necesidad de utilizar ningún tipo de autenticación. 

Si un cliente invoca la llamada a un método remoto, se pasa al servicio RMI toda la información del objeto Java para que luego sea ejecutado. Al pasar el objeto, el cliente también puede utilizar un cargador de clases que especifica dónde se puede encontrar el código de Java para manipular el objeto, que suele ser una URL apuntando a un archivo Jar. Sin autenticación o verificación, el servidor descarga el objeto Java y lo ejecuta con los mismos permisos que el servicio Java RMI (generalmente SYSTEM). 

       Opciones del exploit


Posteriormente setearemos los datos necesarios para lanzar el exploit, en este caso solo agregaremos el RHOST, y posteriormente el comando exploit para lanzar el ataque.



           Ataque Exitoso


Si deseas continuar con la explotación de alguno de estos servicios, te recomendamos visitar los siguientes links:


http://web.nmsu.edu/~alejbaca/portfolio/senior_project/2-Metasploitable%202%20Exploitability%20Guide%20_%20SecurityStreet.pdf

https://www.uml.edu/docs/metasploit_lab_tcm18-153016.pdf





Artículos que te pueden interesar