lunes, 17 de diciembre de 2012

Meterpreter: El avión de combate.


Tenía que sacar tiempo de la chistera o de donde fuese, al menos para dejar rastro de mí antes de empezar el 2013, inclusivamente antes de que el calendario Maya se terminase y tuviese que perrear el resto del año hasta que nuevas ideas llegasen.

Reinventar la rueda a veces funciona, sino díganselo a Rajoy y su rescate, aunque solo para el bolsillo de unos pocos, en este caso vengo cargado de hacking a la vieja usanza, aunque con tintes nuevos de la saga a la que no hago normalmente alusión en el blog, tan solo cuando se me ocurre no dejar atrás al desechado Autopwn, o como la chapuza de incluir nuestro propio malware, como payload de un PDF, para explotar una vulnerabilidad en Adobe Reader, desde una de las dos herramientas más potentes de Microsoft, el Bloc de notas.

Así que esta vez, se me ocurrió barrer literalmente Internet en busca del temido NetBIOS, ¡uoooooooh! Diran… ¡Ya! ¡Pero yo hago que esto luzca! B)

Puerto 139 abierto por todas partes, y fácil en este juego era de encontrarse con uno de los ejemplos, en los que Dios pega más de dos veces.


Disco C y D compartidos, ¡nada nuevo!, pero me atrevería a decir que más de dos “H-ostias” le llovieron de Dios y… ¡sin abrir la boca!

Más perdido que Alicia en el país de las maravillas, encontré al conejo de nuevo, ya que no podía pasar por alto la magia que nos dejó Conficker con su ms08-067… y ya que estamos, ¿Por qué no prender la mecha?


Este exploit se encuentra con un script de chequeo, para comprobar si el objetivo es vulnerable con “check”.


Que alegría nos da el verde Heineken visto desde Metasploit. Así que “exploit” y…


Meterpreter es un avión de combate sin lugar a duda, todo lo que nos ofrece actualmente el malware más sofisticado, este payload que por defecto lidera Metasploit, lo incluye con creces y arrasa. Con el comando “getuid”, sobre la consola que nos devuelve Meterpreter, la sorpresa al conseguir un acceso desde este tipo de exploits es grata.


Privilegio de sistema, pan comido, la explotación de hashes LM sería tarea sencilla después de hacer uso de otro de los comandos conocidos, “hashdump”.


Sí os dijera que una máquina servidora montada con Windows Xp, sin parches de actualización tiene el RDP abierto, no os engañaría… lástima que los hashes estén en blanco.

Otra de las cosas que tira por los suelos al malware, es sin duda la complejidad y el tiempo para hacer indetectable un ejecutable malicioso a los antivirus, y es que al inyectarse directamente en memoria, pocos antivirus se tiran al barro con tal de no incrementar los falsos positivos… sino creen en la compleja tarea por antivirus evadido, revisen los métodos RIT y DAFe.


Otro de los módulos interesantes de los que nos provee Meterpreter, es la función sniffer. Podremos capturar tráfico directamente desde la máquina vulnerada, escribiendo en consola “load sniffer” o “sniffer”. Al cargarse el módulo, estará a nuestra disposición desde el “help”, para visualizar las tarjetas disponibles y empezar la captura, incluyendo el número de paquetes que se desean capturar.


Para los más impacientes, también tendrán la opción de visualizar el estado y progreso de la captura con “sniffer_stats” junto con el número de la interfaz.


Y consiguientemente, con “sniffer_dump” la descarga del PCAP, junto con la interfaz y el nombre de nuestro archivo.


Esto nos será de gran importancia, en caso de querer visualizar las tareas de red en la máquina, o incluso la captura de credenciales.


Para la captura de credenciales, de igual manera Meterpreter, también soporta el modo Keylogger, que puede ser complementado con información importante como la realización de una captura mediante el comando “screenshot”…


O simplemente visualizando el tiempo con el comando “idletime”, en el que el usuario vulnerado, no se encontraba delante de la PC. De esta manera saber, si la víctima se encuentra o no, presionando teclas.


Otra de las opciones interesantes de Meterpreter, es la de hacernos con la consola de Windows de forma remota, utilizando el comando “Shell”, se abrirá un proceso con un canal a la escucha para la interacción. Podremos por ejemplo lanzar un “ipconfig”, para visualizar la puerta de enlace de la máquina vulnerada, aunque Meterpreter de igual manera, responde a comandos como “ipconfig” e “ifconfig” fuera de la función “Shell”.

Con esta información, podremos llegar por HTTP a la IP del router o cualquier IP de la red interna de la máquina vulnerada, mediante la realización de la técnica Pivoting.

Haciendo Pivoting, conseguiremos redireccionar el tráfico de uno de los puertos de la máquina vulnerada, a un puerto abierto de nuestro sistema. En el caso de que un ataque, sea realizado hacia una conexión externa a nuestra red, necesitaremos previamente tener abiertos los puertos en nuestro router y la NAT apuntando a nuestra IP interna, para lograr la comunicación.

El comando, “portfwd” nos dará las siguientes opciones para la redirección, así que añadiendo una entrada a su tabla de la siguiente manera, conseguiremos el Pivoting a nuestro puerto 5000.


Tan solo abriendo nuestro navegador y visitando a nuestro localhost, junto al puerto, conseguiremos tener delante el acceso al router de la red de la víctima. Fuzzing, credenciales por defecto…


Resulta inquietante ver nuestro proceso svchost.exe, justo debajo de la gran seguridad Antivirus que proporciona Avast en este caso. Antivirus y nada... es nada.


Para más información, les dejo el enlace del famoso libro de mi compañero y amigo Pablo Gonzalez, titulado Metasploit para Pentesters.

Saludos 4n4les! ;)

7 comentarios:

  1. Muy bueno la verdad, aunque habia mas que ahondar en los modulos post explotacion de Metasploit y en el propio payload Meterpreter.
    Una duda por que buscaste hashes si podrias haber sacado la password en texto claro con mimikatz y su modulo post explotacion ?
    Excelente post!

    ResponderEliminar
    Respuestas
    1. Hola Anónimo! la verdad que pensé en Mimikatz, pero también pensé en que su ejecutable y dependencias eran detectadas, al menos la versión pública, y por no entrar en el juego de Bypass AVs, teniendo Avast en aquel server... otra de las razones es porque los hashes se encontraban vacíos, y no tenía mucho sentido.

      Muchas gracias! Un saludo! :)

      Eliminar
  2. muy buen post , saludos

    ResponderEliminar
  3. Germán, grande!

    Como te gusta el Rey de los Payloads... y sus módulos :P

    Bueno, a darle duro en vacas al libro :P ajajaja

    ResponderEliminar
    Respuestas
    1. Pabletee!!! jejej ya me hice con uno! pues la verdad que sí! voy a coger con ganas el libro :P

      Hasta mañana!

      Eliminar
  4. Un buen resumen del libro, lo compré hace dos semanas y estoy encantado, cumple su función sin ser un manual de esos que pululan.
    Y esta explicación genial

    ResponderEliminar