.

.
Mostrando entradas con la etiqueta test de penetración. Mostrar todas las entradas
Mostrando entradas con la etiqueta test de penetración. Mostrar todas las entradas

miércoles, 27 de abril de 2016

Metasploit - (Exploits y Payloads) - 3ªParte - Atacando un objetivo

Después de ver en la segunda entrada: Metasploit - Primeros pasos (Exploits y Payloads) - 2ªParte, el desarrollo y uso de Metasploit, en esta vamos a pasar a realizar un ejemplo real de la potencia que puede llegar a tener esta herramienta.

Para realizar esta práctica vamos a necesitar una máquina virtual (vmware) que supongo que ya la estás realizando para hacer tús prácticas, y una iso de Metasploitable 2 , un sistema de servicios vulnerables los cuales pueden ser explotados usando metasploit.
Solo tendrás que descargar una versión .iso de "Metasploitable 2" e instalarla como una nueva máquina virtual en Vmware.

Una vez la tengas instalada arrancas Metasploitable, la primera vez puede que tarde un poco de tiempo en cargar.
Como ya he dicho anteriormente, esta es una herramienta vulnerable que está creada por la gente de Metasploit para realizar pruebas de penetración, etc.






















Este será el aspecto de Metasploitable trás arrancar.
Nos pedirá un login. Para muchos tipos de pruebas es innecesario tocar nada más, simplemente dejarla así, pero para realizar esta práctica será más facil que sepamos el número de Ip que tomo esta máquina virtual.
De esta manera, donde indica "Login" ponemos "msfadmin" y pulsamos intro.
Después nos pedirá una pass, donde volvemos a introducir "msfadmin".

Ahora ya estaremos dentro del terminal de Metasploitable.
Para saber la IP metemos el comando "ifconfig".




















En mi caso la IP: 192.168.1.35

Sabiendo esto, dejamos la máquina abierta según está y nos vamos a nuestro Kali Linux o donde sea que estamos utilizando Metasploit.

Para hacerlo lo más real posible, vamos a ver que puertos pueden ser vulnerables dentro de la máquina objetivo, en este caso la de Metasploitable 2.

Dentro de "msf" (recuerdo que para arrancarlo, si lo hemos apagado la forma más rápida, es desde nuestro terminal de linux, el comando "msfconsole"), usamos el comando "nmap" y la ip del objetivo, para saber los puertos que tenemos abiertos.
Podemos usar -sV para saber las versiones que se están utilizando, lo cual nos facilitará mucho a la hora de buscar el "exploit" que utilizaremos para intentar vulnerar el sistema.















Para no ir más lejos, nos fijamos en el primer puerto que se nos muestra, el 21.
Este es el destinado a los servicios de "FTP" y como vemos está "open" (abierto).
En lo siguiente y muy importante que tenemos que fijarnos es en la versión que está utilizando:
"vsftpd 2.3.4".
Pues manos a la obra. Nos vamos a apoyar en lo ya visto en la entrada anterior, la segunda parte de este artículo.
En nuestro terminal "msf" introducimos la orden: #show exploits , pero de esta manera lo que conseguimos es que nos salgan todos los disponibles en sistema, así que vamos a ser más precisos.
Ya que sabemos la versión de FTP  ("vsftpd 2.3.4") vamos a aprocecharlo, así que utilizamos el comando: #search vsftpd







Por suerte nos a salido en la busqueda el exploit de la versión que tiene el FTP de nuestro objetivo.
Como ya vimos en la entrada anterior tomamos este exploit con el comando:
#use exploit/unix/ftp/vsftpd_234_backdoor
Vemos las opciones del exploit con: #show options
Introducimos cambios y las correspondientes direcciones de nuestro objetivo con:
#set RHOST 192.168.1.35
El puerto en este caso no hace falta cambiarlo ya que viene por defecto debido al exploit.
(TODO ESTO SE MÁS DETALLADAMENTE EN LA ENTRADA 2) 















Ya tenemos el exploit preparado para actuar sobre la dirección de nuestro objetivo.
En este caso no utilizaremos Payload ya que el "exploit" utilizado está creado especificamente para la vulnerabilidad concreta del FTP.

De esta manera ya solo nos queda ejecutarlo, asi que introducimos el comando "exploit" que será el que comience con la ejecución.





Según esta imagen, ya hemos tomado control de 192.168.1.35

¿Como lo comprobamos?
Muy facil, como ahora estamos dentro del FTP de la máquina atacada, lo que estamos viendo en nuestro terminal es justamente el interior de esa máquina, así que podemos meter un comando que nos verifique esto.
Yo introducire el comando para reiniciar "reboot" y pulso intro.
Nuestro terminal quedara a la espera...
Si inmediatamente nos vamos a ver que esta sucediendo en la máquina virtual de Metasploitable que dejamos abierta, veremos que está ocurriendo algo. Se está cerrando.












Finalmente se reiniciará y se volverá a abrir. Lo hemos conseguido!

Si volvemos a nuestro terminal "msf" podemos ver que nos indicará algo como:

192.168.1.35 - Command shell session 1 closed. Reason: Died from EOFError

Evidentemente nos encontrabamos dentro de 192.168.1.35, y nuestro terminal nos indica que esa sesión a muerto y por tanto hemos salido de ella.

Esto ha sido todo por el momento, seguimos con nuevas e interesantes entradas.

Un saludo y h@ppy h@cking!!


martes, 26 de abril de 2016

Metasploit - Primeros pasos (Exploits y Payloads) - 2ªParte

Bueno, vamos a ver como funciona esto.

Como ya hemos visto en la entrada anterior: Metasploit 1ªParte, tenemos para trabajar una serie de exploits. Podemos acceder a estos de una manera muy sencilla, mediante el comando "Show":
#show exploits



















Metasploit nos devolverá todos los exploits que tiene en su base de datos y podemos utilizar.
Vienen ordenados de tal manera que por columnas podemos ver en primer lugar el nombre y clase del "exploit" y a lo que vulnera.
En la siguiente la fecha del exploit, y en la tercera "Rank" el grado de gravedad=efectividad de dicho exploit.
Finalmente en la última columna de descripción, vemos a que esta destinado este exploit, sistema operativo, parte de él (app, etc.).

Para seleccionar cualquiera de ellos es muy facil, solo tenemos que teclear el comando "use" y el exploit elegido.






Para asegurarnos que tenemos accionado el exploit, como podemos apreciar en la imagen, pasa a color rojo.
Una vez que lo tenemos, para ver características/configuración del mismo, usamos el comando:
#show options





En este caso, tiene un Host y un Puerto de destino, que son a los que queremos atacar.
¿Como configuramos los datos de nuestro objetivo?
Muy facil,  con el comando "set". En este caso si queremos meter una dirección a la que queramos atacar, por ejemplo 192.168.1.0:
#set SVRHOST 192.168.1.0
Que queremos cambiar el puerto, pues lo mismo:
#set RPORT 69






Aquí lo tenemos cambiado y listo para lanzar.

El otro elemento que hemos dicho con anterioridad con el que podemos trabajar en Metasploit son los Payloads.
El proceso sería exactamente el mismo que con los "exploit"
Según estamos, con nuestro exploit seleccionado y ya configurado, para ver los "payload" que tenemos no tenemos más que: #show payloads
Eso sí, Metasploit viene preparado, de manera que reconoce el "exploit" que hemos seleccionado y al sistema operativo que pertenece, de manera que nos filtrara los resultados enseñandonos solo los "payloads" de este sistema operativo.




















Una vez elegido el que sea a nuestro gusto y uso, con el comando set y la ruta lo montamos.
#set PAYLOAD (nombre)
Ahora como ya hicimos anteriormente:
#show options  y vemos como ahora tenemos por un lado el "exploit" y por otro el "payload".







Si quisieramos realizar alguna modificación, como ya hemos visto, lo hariamos por medio del comando "set".


VER TERCERA PARTE


Metasploit - Primeros pasos (Exploits y Payloads) - 1ªParte

Esta entrada está dedicada a una herramienta que a mi me gusta mucho, ya que aunque a priori para los iniciados puede parecer complicada al desarrollarse su actividad exclusivamente por terminal, todo lo contrario, es muy facil de usar y además puede ayudarnos mucho dandonos resultados muy efectivos a la hora de desarrollar y ejecutar exploits.

Y es que se puede decir que Metasploit, nos da toda las facilidades, ya que teniendola debidamente actualizada, nos proporciona información sobre vulnerabilidades de seguridad y nos ayuda a explotarlas y ejecutarlas en una máquina remota. 

Sin duda a mi me parece una de las herramientas más completas para trabajar con exploits y hacer pruebas de penetración de forma masiva.

Aviso de antemano, que el contenido y las pruebas que se van a ver en esta entrada están realizadas en Metasploit para sistemas Linux, y concretamente desde la versión que viene integrada dentro de "Kali Linux".

Dentro de Kali, podemos buscar y abrir la herramienta como Metasploit, que estará seguramente en la sección de "Herramientas de explotación".
La segunda opción es simplemente dentro de nuestro terminal de linux escribir el comando "msfconsole"...








...con lo cual y tras unos segundos de carga, se abrirá la herramienta dentro del propio terminal.




































Como vemos, queda en modo "msf".
Al estar desarrollado dentro del propio terminal de linux, su uso es muy parecido y comparte muchos comandos.
Para comprobar esto a la par que vemos que opciones de comando nos ofrece, no tenemos más que escribir "help" y pulsar intro.































Bueno, pues antes de empezar con la materia hay que aclarar algún concepto, aunque sea por encima, ya que alguno de los lectores de este artículo pueden ser principiantes.

Con Metasploit, como ya se puede deducir de su nombre, vamos a trabajar con "Exploits" y además lo haremos también con "Payloads".
¿Que es esto?
Pues bien, así en una explicación muy muy básica:

Exploit: Su nombre viene de "Explotar", "Explotación", etc. Todos sabemos que dentro de los sistemas informáticos, de los programas, existen una serie de vulnerabilidades que como puntos débiles que son, si los forzamos y sabemos desarrollar, conseguiremos vulnerar y por tanto tener acceso a sus recursos, datos, poder controlarlos, incluso destruirlos, etc.
Pues un "Exploit" será un programa o código programado que nos ayudará a forzar esa vulnerabilidad para conseguir unos objetivos concretos.
Un exploit no es ni mucho menos "malware" como en algunos sitios definen o presentan, ya que "malware" es algo creado para el mal, para una mala intención, y sin embargo un "exploit" no es ni más ni menos que una herramienta para acceder a un agujero que ya está ahí.
El ejemplo más claro, representa a un sistema como un fortín, un edificio protegido y blindado, pero que tiene una "vulnerabilidad", que se han dejado una ventana en el tercer piso abierta para que ventile.
El exploit lo que sería en este caso sería una información que nos advierte de esta ventana abierta y nos facilita lo único necesario para aprovecharla, una escalera alta para llegar a la ventana y colarnos dentro del edificio.

Payload: Es ese software o código, que nos ayuda a aprovecharnos de las debilidades del sistema una vez que ya lo hemos vulnerado.
Utilizando el ejemplo anterior, una vez que ya hemos accedido al fortín a través de la ventana abierta, el Payload será quien nos ayude a aprovechar la oportunidad que se nos presenta. Un payload nos ayudará a abrir las puertas que nos encontramos dentro de esta nueva habitación, otro a nos ayudará a conseguir datos valiosos, otro a abrir otras ventanas para tener más accesos, etc.


Una vez hemos aclarados estos terminos y completando esta información, en esta herramienta como ya hemos dicho trabajaremos con "exploits" y "payloads" y deberemos de tenerla actualizada siempre, para que estos sean los máximos posibles y esten actualizados a los últimos encontrados.
Siempre que arranquemos Metasploit, este nos indicará en su parte inferior de la pantalla inicial de cuantos "Exploits" y "Payloads" disponemos.

























Ir a la segunda parte