viernes, 22 de junio de 2012

ATAQUES DE FUERZA BRUTA


Que es un ataque de fuerza bruta?


Se denomina ataque de fuerza bruta (brute force) a la forma de recuperar una clave probando todas las combinaciones posibles hasta encontrar aquella que permite el acceso.

 Vulnerar sistema a traves de Mysql 

 

Mysql tiene una vulneravilidad cuyo CVE es 1999-0252, que hace consulta a la instancia de MySQL para obtener un pase específico de usuario.

 Para ello lo que debemos hacer es buscar y entrar el en modulo.



Observamos las opciones que se deben configurar.



Asignamos el RHOST.



Editamos el usuario con el que nos logearemos en Mysql, en este caso root.



Se indica la ruta del diccionario con el cual se descifraran las contraseñas. Este puede ser descargado de Internet.



Ejecutamos el modulo con el comando run. Observaran un signo + de color verde, eso indica que la contraseña para autenticarnos como usuario root en Mysql fue decifrada.



Ingresamos a la base de datos Mysql con las credenciales root:root, desde bactrack.



Ahora estamos dentro de Mysql, aqui podemos observar la cuenta de root de mysql y los privilegios que tiene.



Aqui pediremos por ejemplo que muestre el archivo /etc/passwd, un archivo importante del sistema.




 

 Vulnerar sistema y escalar privilegios a traves de ssh

 

Se ha descubierto que en el archivo /etc/passwd, el usuario msfadmin es el administrador del sistema, lo que nos permitira escalar privilegios.

Para lograr esto, vamos a entrar en otro modulo, en este caso de ssh.



Observamos las opciones a editar.



Indicamos el RHOST, el nombre de usuario, y la ruta del diccionario.





Ejecutamos el modulo. Y vemos que la contraseña del usuario msfadmin es msfadmin, y que efectivamente es un usuario administrador.



Iniciamos session con la shell.



Desde la consola de backtrack iniciamos una conexion ssh, con el usuario msfadmin:msfadmin.



 Por ultimo para obtener la shell de root, ejecutamos el comando sudo -i.





Puerta trasera


Que es un backdoor (Puerta trasera)?


Un backdoor o puerta trasera es un método para eludir los procedimientos habituales de autenticacion al conectarse a una computadora. Una vez que el sistema ha sido comprometido, puede instalarse una puerta trasera para permitir un acceso remoto más fácil en el futuro. 

Para ello vamos a utilizar Armitage, una herramienta gráfica de gestión de  Metasploit para ciber ataque que visualiza sus objetivos. 

Ya identificado el objetivo nos dirigimos a la opción menu y seleccionamos  la carpeta, payload.



Luego nos ubicamos en la carpeta linux, x86.



Dede alli buscamos la carpeta shell, y seleccionamos la opcion shell_reverse_tcp, este tipo de payload hara que el equipo victima se conecte al atacante y no al contrario.



Realizamos las configuraciones pertinentes del payload, como el RHOST, y el puerto.



En la opcion output, seleccionamos la extension elf.



Y lo guardaremos con el nombre de natik en el directorio root.



Ahora nos dirigimos a la opcion Artimage, listeners.



Y configuramos el puerto para que le equipo victima se conecte al atacante, por el puerto 4444 y con una shell.


 
Despues nos dirigimos a la opcion Attacks, find attack y seleccionamos la opcion by vulnerability.



Este mensaje indica que el proceso de búsqueda de ataques ha concluido y que se puede proceder a vulnerar el sistema.



En el objetivo damos click derecho, attack, samba, y seleccionamos la opción usermap_script.



Configuramos las opciones necesarias para ejecutar el modulo y el tipo de conexión.



Lo ejecutamos.



Ya dentro de la maquina, y logueados como root, procedemos a cargar el backdoor.En el objetivo damos click derecho, y el numero de shell que se haya asignado para el ataque, que en este caso fue la shell 6 y damos upload.



En el equipo vulnerado damos ls para ver que el archivo si haya cargado.



Ejecutamos los siguientes comandos en la maquina victima.



Finalmente para verificar que la puerta trasera es efectiva, debemos cerrar sesion.



Al reiniciar la maquina víctima, automáticamente se activa el backdoor permitiendonos tener control de el equipo.

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.