miércoles, 20 de junio de 2012

Explotar vulnerabilidades de Metasploitable

 

Vulnerar el sistema a través de Samba


En la busqueda de vulnerabilidades encontramos que a traves de la vulnarabilidad de Samba cuyo CVE es 2007-2447, es posible acceder al sistema especificando un nombre de usuario que contiene caracteres de shell meta, por el cual los atacantes pueden ejecutar comandos arbitrarios.

Dentro de msfconsole escribimos el comando search samba e identificamos el modulo a ejecutar.



Para tener control dentro del modulo ejecutamos use "nombre del modulo" sin comillas.



Ahora miraremos las opciones de configuracion del modulo con el comando show options.

 
 
Una de esas opciones que debemos configurar es el RHOST que es donde se debe especificar la direccion ip de la victima.


 
Luego pasaremos a especificar el puerto por el cual se pretende ingresar, es opcional.



 Observamos de nuevo las opciones configuradas correctamente.



Ahora configuraremos el payload. El payload es es la carga dañina de un virus, es decir, lo que estos son capaces de hacer al activarse. En este caso lo que se quiere hacer con este payload es lograr que la maquina victima se conecte al atacante.



Luego de configurar el payload, vamos  a especificar el LHOST, que es donde se indica la direccion ip del atacante, para que el equipo victima pueda conectarse a el.



Ejecutamos el módulo con el comando exploit.



Para comprobar que estamos dentro del sistema, ejecutamos el comando uname -a para ver la informacion de este.



Y para ver con que usuario estamos logueados, ejecutamos el comando whoami.




Vulnerar sistema a traves de Distcc

 

Distcc tiene una vulnerabilidad (CVE-2004-2687), la cual permite una ejecucion de comandos remotos a traves de trabajos de compilacion sin comprobaciones de autorizacion.

Primero ejecutamos el comando search e identificamos el modulo a ejecutar.


Identificado el modulo, pasamos a tener control de él con el comando use.



Dentro del modulo miramos las opciones de configuracion.



Indicamos el RHOST.



Luego buscamos que payload se va a utilizar, con el comando show payloads. Identificado el payload, lo asignamos al modulo con el comando set PAYLOAD cmd/unix/bind_ruby



Se ejecuta el modulo con el comando exploit.



Para comprobar que estamos dentro del sistema, ejecutamos el comando uname -a para ver la informacion de este.



Para ver con que usuario estamos logueados, ejecutamos el comando whoami.



ESCALAR PRIVILEGIOS

Dentro de la maquina objetivo, logueados como "daemon", procedemos a descargar el exploit.




Al ejecutar el comando ls, vemos el archivo descargado con el nombre de index.html.



Le cambiamos el nombre al archivo por el de exploit.c.



 Ahora compilamos el exploit, teniendo en cuenta el lenguaje de programacion de este, en este caso es c++.



Luego en la maquina de backtrack en este caso, dejamos el netcat escuchando por el puerto 1234, para que al ejecutar el exploit local, la maquina victima se conecte a nosotros permitiendonos ejecutar comandos remotos y tener el control de ella.



La ejecucion del exploit requiere dos cosas: que el PAYLOAD sea puesto en /tmp/run,  y el PID del proceso udev.

Primero lo que debemos lograr es que la victima se conecte al atacante a traves de netcat, mediante una shell remota.



Despues procedemos a encontrar el PID del proceso udev, para la ejecucion del exploit en este caso el 2566.



Pero para la ejecucion del exploit a este PID se le debe restar 1, por lo tanto el PID del proceso udev para ejecutar el exploit es 2565.



Por ultimo desde Bactrack, donde se encuentra en curso el proceso de netcat, podemos ejecutar los comandos remotos en la maquina victima, con la shell de root.









No hay comentarios:

Publicar un comentario