Metasploit: un recorrido por el potente marco de explotación

Metasploit puede manejar todo, desde el escaneo hasta la explotación. En este artículo, veremos qué hace que Metasploit sea el kit de herramientas de pruebas de penetración más versátil.

Introducción a las pruebas de penetración

Si es nuevo en las pruebas de penetración, permítame explicarle qué es antes de presentarle una herramienta de explotación.

Las pruebas de penetración se piratean con permiso . Es posible que haya visto a piratas informáticos geniales en la televisión atacando sistemas informáticos sin que los atrapen. Pero no es así como funciona en el mundo real.

Si piratea a alguien sin permiso, existe una alta probabilidad de que acabes en la cárcel. Entonces, si planea aprender a piratear con malas intenciones, no soy responsable de ningún daño que cause. Todos mis artículos son puramente educativos.

Entonces, si la piratería es mala, ¿por qué aprenderla en primer lugar? Todos los dispositivos en Internet son vulnerables de forma predeterminada a menos que alguien los proteja.

El trabajo del probador de penetración es pensar como un hacker y atacar los sistemas de su organización. Luego, el probador de penetración informa a la organización sobre las vulnerabilidades y aconseja parchearlas.

Las pruebas de penetración son uno de los trabajos mejor pagados de la industria. Siempre hay una escasez de probadores de lápiz, ya que la cantidad de dispositivos en Internet está creciendo exponencialmente.

Recientemente escribí un artículo sobre las diez herramientas principales que debe conocer como ingeniero de ciberseguridad. Si está interesado en obtener más información sobre ciberseguridad, consulte el artículo aquí.

Correcto. Suficiente charla de ánimo. Veamos una de las mejores herramientas de prueba de lápiz del mercado: Metasploit.

Metasploit: el marco completo

Metasploit es un marco de pruebas de penetración que le ayuda a encontrar y explotar vulnerabilidades en los sistemas. Le brinda todo lo que necesita, desde escáneres hasta integraciones de terceros que necesitará durante todo el ciclo de vida de las pruebas de penetración.

Esto incluye reconocimiento, escaneo, explotación, escalada de privilegios y mantenimiento del acceso.

Metasploit es un marco de código abierto escrito en Ruby. Está escrito para ser un marco extensible, de modo que si desea crear funciones personalizadas con Ruby, puede hacerlo fácilmente mediante complementos.

Rapid7, la compañía detrás de Metasploit, ofrece una versión premium de Metasploit con funciones avanzadas.

Metasploit también se actualiza con frecuencia con nuevos exploits publicados en Common Vulnerabilities and Exposures (CVE). Entonces, si se encuentra y se publica una nueva vulnerabilidad, puede comenzar a escanear sus sistemas de inmediato.

Metasploit viene con herramientas anti-forenses y de evasión integradas. También está preinstalado en el sistema operativo Kali.

Componentes

Ahora que sabe qué es Metasploit, veamos los conceptos básicos de Metasploit.

Metasploit le ofrece algunos componentes clave para encontrar y explotar vulnerabilidades en una red. Esto incluye exploits, payloads, auxiliares, etc. Veamos cada uno de ellos en detalle.

Exploits

Un exploit es un fragmento de código que se aprovecha de una vulnerabilidad en un sistema. Estos exploits realizan acciones específicas en función de la gravedad de la vulnerabilidad.

Los exploits pueden aprovechar las vulnerabilidades del software, las vulnerabilidades del hardware, las vulnerabilidades de día cero, etc. Algunas de las vulnerabilidades comunes incluyen desbordamientos de búfer, inyecciones de SQL, etc.

Metasploit ofrece una serie de exploits que puede utilizar en función de las vulnerabilidades existentes en el sistema de destino. Estos exploits se pueden clasificar en dos tipos:

  • Exploits activos: los exploits activos se ejecutarán en un sistema objetivo, explotarán el sistema, le darán acceso o realizarán una tarea específica y luego saldrán.
  • Exploits pasivos: los exploits pasivos esperarán hasta que el sistema objetivo se conecte al exploit. Los piratas informáticos de Internet suelen utilizar este método para pedirle que descargue archivos o software. Una vez que lo hagas, te conectas a un exploit pasivo que se ejecuta en la computadora del hacker.

Cargas útiles

Una carga útil es un fragmento de código que se ejecuta a través del exploit. Utiliza exploits para ingresar a un sistema y cargas útiles para realizar acciones específicas.

Por ejemplo, puede usar un keylogger como carga útil junto con un exploit. Una vez que el exploit sea exitoso, instalará el keylogger en el sistema del objetivo.

Metasploit ofrece una buena colección de cargas útiles como carcasas inversas, carcasas de enlace, Meterpreter, etc.

Hay algunas cargas útiles que funcionarán con la mayoría de los exploits, pero es necesario investigar un poco para encontrar la carga útil adecuada que funcione con el exploit.

Una vez que elija un exploit, puede enumerar las cargas útiles que funcionarán con ese exploit usando el comando 'show payloads' en Metasploit.

Hay algunos tipos de cargas útiles en Metasploit. Los que más acabarás usando son estos tres tipos:

  • Solteros : cargas útiles que funcionan por sí mismas, por ejemplo, registradores de pulsaciones de teclas.
  • Stagers : cargas útiles que funcionan con otros, por ejemplo, dos cargas útiles: una para establecer una conexión con el objetivo y la otra para ejecutar una instrucción.
  • Meterpreter : carga útil avanzada que vive en la memoria del objetivo, es difícil de rastrear y puede cargar / descargar complementos a voluntad. Hay una sección a continuación sobre Meterpreter donde lo explicaré en detalle.

Tropas auxiliares

Los auxiliares son módulos que le ayudan a realizar funciones personalizadas además de explotar un sistema. Esto incluye escáneres de puertos, fuzzers, sniffers y más.

Por ejemplo, puede utilizar el auxiliar CERT para comprobar si hay certificados SSL caducados en una red. Esto es útil para que las administraciones de sistemas automaticen la gestión de certificados.

Si está familiarizado con Ruby, puede escribir sus propios auxiliares. Si desea escanear una red en busca de vulnerabilidades específicas cada semana, puede escribir su propio módulo auxiliar personalizado para hacerlo.

Luego puede usarlo para escanear su red en lugar de usar un escáner existente como Nmap.

Herramientas

Ahora que sabe cómo funciona Metasploit, veamos las herramientas que ofrece Metasploit.

msfconsole

MsfConsole es la interfaz predeterminada para Metasploit. Le brinda todos los comandos que necesita para interactuar con el marco Metasploit.

Se necesita un poco de curva de aprendizaje para familiarizarse con la CLI, pero una vez que lo hace, es fácil trabajar con él. Además, MsfConsole es la única forma de acceder a todas las funciones de Metasploit.

MsfConsole también ofrece finalización de tabulaciones para comandos comunes. Familiarizarse con MsfConsole es un paso importante en su camino para convertirse en un profesional de Metasploit.

msfdb

Si trabaja con grandes redes de forma regular, es probable que necesite un lugar para almacenar sus datos. Esto incluye los resultados del análisis, las credenciales de inicio de sesión, etc.

Metasploit ofrece una herramienta de administración de bases de datos llamada msfdb. msfdb funciona sobre una base de datos PostgreSQL y le brinda una lista de comandos útiles para importar y exportar sus resultados.

Con msfdb, puede importar los resultados del escaneo desde herramientas externas como Nmap o Nessus. Metasploit también ofrece un comando nativo db_nmap que le permite escanear e importar resultados usando Nmap dentro de msfconsole.

MsfVenom

Finalmente, tenemos msfvenom (nombre genial, ¿eh?). msfvenom le permite generar cargas útiles personalizadas según su objetivo.

El uso de un antivirus o un firewall puede hacer que un sistema de destino sea relativamente seguro. En esos casos, es posible que las cargas útiles de Metasploit existentes no funcionen, ya que son genéricas para todos los sistemas que pertenecen a un sistema operativo o servicio.

msfvenom fue construido combinando dos herramientas más antiguas que tenía Metsploit: msfpayload y msfencode. msfvenom le permite crear y codificar cargas útiles personalizadas para sus exploits.

Según la información adicional que tenga sobre el objetivo, puede crear sus propias cargas útiles para lograr una mayor tasa de éxito durante su prueba de penetración.

Meterpreter

Meterpreter es una carga útil avanzada en Metasploit. A diferencia de otras cargas útiles que realizan una función específica, Meterpreter es dinámico y se puede programar sobre la marcha.

Si puede explotar un sistema e inyectar Meterpreter como carga útil, estas son algunas de las cosas que puede hacer:

  • Establezca una comunicación encriptada entre su sistema y el objetivo.
  • Volcar los hash de contraseña del sistema de destino.
  • Buscar archivos en el sistema de archivos del objetivo
  • Cargar / descargar archivos
  • Tomar instantáneas de la cámara web

Meterpreter también es increíblemente sigiloso. Dado que Meterpreter vive en la memoria del objetivo, es extremadamente difícil de detectar. También es difícil rastrear Meterpreter usando herramientas forenses.

Puede escribir scripts de Meterpreter sobre la marcha utilizando Ruby para realizar funciones personalizadas. Meterpreter también tiene un módulo de Python que le brinda comandos adicionales para ejecutar scripts de Python en la máquina de destino.

Armitage

Armitage es una interfaz gráfica de usuario para Metasploit, escrita en Java. Se considera que Armitage es un gran complemento para los probadores de lápiz familiarizados con la interfaz de línea de comandos.

La característica principal de Armitage es visualizar objetivos y recomendar exploits. Armitage también es programable, lo que significa que puede automatizar tareas redundantes como el descubrimiento de hosts.

Armitage es extremadamente útil cuando trabaja con una gran cantidad de sistemas en una red. Puede utilizar la GUI de Armitage para escalar privilegios, examinar archivos, volcar hashes de contraseñas, etc.

Resumen

Metasploit proporciona un conjunto de herramientas para que pueda realizar una auditoría de seguridad completa de una red. Metasploit se actualiza frecuentemente con las vulnerabilidades publicadas en la base de datos Common Vulnerabilities and Exploits.

También puede usar otras herramientas como Nmap y Nessus con Metasploit a través de integraciones o importando sus informes de escaneo a Metasploit. Metasploit también tiene una herramienta GUI llamada Armitage que le permite visualizar objetivos y recomendar exploits.

Si está interesado en obtener más información sobre Metasploit, consulte la guía de referencia detallada publicada por Offensive Security.

¿Te encantó este artículo? Únete a mi Newslettery obtenga un resumen de mis artículos y videos todos los lunes.