7 diciembre, 2019

Creando un modulo MetaSploit

En este POST vamos a ver como se crea un modulo para MetaSploit, estos pueden ser herramientas de enumeración, pruebas, etc y exploits. En nuestro caso crearemos un modulo «post» para enumerar posibles vectores de ataque para escalada de privilegios.

Hemos decidido que sea un módulo «post» pues los ejemplos que he encontrado han sido exploits y auxiliares y ademas porque nos basaremos en la explicación en el módulo que realice para un curso de Hacking (https://github.com/pinguytaz/enum_vectores_escalada) no explicaremos el módulo pero si las bases para crear cualquier módulo.

Lo primero decir que los módulos de MetaSploit se realizan en el lenguaje ruby, esto no es del todo exacto, así que lo primero que debemos es aprender ruby.

Lo segundo es saber que los módulos de metasploit (al menos desde una maquina kali) están en «/usr/share/metasploit-framework/modules» y desde esa raíz los distintos tipos que en nuestro caso de explicación es «post«.

  • auxiliary (Contiene herramientas como escaners, servidores, denegacií de servicio, etc.)
  • encoders (Ofuscadores de codigo para los ShellCodes)
  • exploits (Exploits de errores)
  • nops (Generador de instrucciones NOP)
  • payloads (Código a ejecutar gracias al exploit)
  • post (Acciones a realizar después de ejecutar una explotación como puede ser un escalada de privilegios, en nuestro caso una enumeración para poder realizar una escalada.

Pero si estamos desarrollando lo mejor es que nuestra raíz sea «~/.msf4/modules» y así poder ir tocando lo único que realizaremos al arrancar metaesploit es ejecutar «reload_all» para que se recarguen todos con sus cambios en el código.

Ahora que ya sabemos donde desarrollar nuestros modulos, explicaremos la estructura de estos por lo que algo si explicaremos de nuestro modulo de enumeración de escalada de privilegios.

Primero indicar que el módulo se copia en «post/linux/gather/enum_vectores_escalada.rb» ya que es un módulo post (Se ejecuta después de una explotación y disponer de una sesión) es para linux, en caso de ser para otro sistema o varios seria el sistema que correspondiera o multi (eso no indica que teniendolo en linux no funcione para otros sistemas es organización) y luego en gather pues recoge información que nos puede permitir hacer una escalada de privilegios.

Recomiendo tener siempre abierta la página del api de MetaSploit ya que nos ayudara a saber de donde heredamos y que métodos y atributos tenemos que nos ayudara en la codificación.

Código

La primera linea indica de donde heredamos, en nuestro caso como es tipo POST (es decir que se ejecutara después de una explotación) tiene que heredar de Msf::Post » Nos indica que es un modulo «POST» y por lo tanto podrá utilizar métodos y atributos de esas clases ya creadas.

Ejemplo de métodos que heredamos «cmd_exec» o «rhost» para saber la IP de Host remoto.

después tenemos las librerías a incluir y luego el constructor que tendrá.

Definiremos la licencia, el autor, las plataformas compatibles, y en este caso tipos de sesiones que acepta.

Después definiremos los parámetros a definir

En este caso solo se indica el parámetro «SALIDA» que es opcional para sacar el resultado a fichero ya que el parámetro sesión es obligado al ser un POST y se define al heredarlo.

Y después de eso empezamos a definir el método «run» que es donde empezaremos a poner nuestro código.

Y ya esto si quieres el código completo de este nuevo módulo de metasploit puedes obtenerlo en https://github.com/pinguytaz/enum_vectores_escalada.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información básica sobre protección de datos

  • Responsable Javier .
  • Finalidad Moderar los comentarios. Responder las consultas.
  • Legitimación Su consentimiento.
  • Destinatarios Hostinger.es.
  • Derechos Acceder, rectificar y suprimir los datos.
  • Información Adicional Puede consultar la información detallada en el Aviso Legal.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.