Demostración en vídeo de este post
Las campañas de Red Team suelen tener un componente de Phishing que típicamente brinda el acceso inicial a uno o varios sistemas en el entorno comprometido. Cuando se crea un «Phishing assessment» hay una serie de técnicas y herramientas que apoyan en todo el proceso y cuando todo esto se monta sobre una infraestructura bien pensada y con pretextos orientados al target en cuestión, los resultados suelen ser muy satisfactorios. En este post se proporciona un listado de algunas técnicas y herramientas habituales para campañas de Phishing, concretamente enfocadas al uso de MalDocs (documentos ofimáticos maliciosos).
Se trata de un framework opensource para el establecimiento y creación de todo el circuito del que está compuesto una campaña de Phishing. Permite establecer los servidores SMTP que se utilizarán para el envío de los correos electrónicos, definición el mensaje con otros elementos como ficheros adjuntos y enlaces que pueden contener sitios clonados, agrupaciones de los correos a los que se van a enviar los mensajes de phishing y un seguimiento completo de cada campaña. Como ocurre con otras herramientas similares a ésta, el objetivo es el de proporcionar un entorno de pruebas para poder evaluar el riesgo de este tipo de ataques en cualquier empresa y no está diseñada para apoyar en las actividades de un ciberdelincuente. Gophish está desarrollado en GO y como muchos otros proyectos que se han ido creado últimamente en este lenguaje, es posible descargar un binario de la herramienta en diferentes sistemas operativos (Windows, Linux y MacOS).
Una vez se ejecuta el binario correspondiente, aparecerá en la terminal el puerto utilizado para la administración web de la herramienta.
El usuario por defecto es «admin» y la contraseña «gophish», sin embargo esto se puede cambiar en la gestión de usuarios de la aplicación. La herramienta se caracteriza por su simplicidad y lo bien diseñada que se encuentra. Las opciones disponibles en el panel lateral izquierdo ayudan a entender el funcionamiento de la herramienta. Probablemente la opción más importante es precisamente la de «Sending Profiles» ya que es ahí donde se definen los detalles de conexión a los servidores SMTP que utilizará GoPhish para el envío de los correos electrónicos. Las demás opciones permiten definir enlaces maliciosos, los mensajes que se van a enviar (con texto, imágenes, enlaces y adjuntos) y los grupos de emails a los que se dirige la campaña. Finalmente, en la opción «Campaigns» es en donde se configura todo y gracias a un asistente muy simple, es posible seleccionar el servidor SMTP, grupo de emails, el mensaje a utilizar y planificación de la campaña. Una vez todos los detalles se encuentran definidos y se lanza la campaña, en la opción «Dashboard» se pueden apreciar todos los detalles.
SI bien es cierto que no es una herramienta orientada a MalDocs, es fundamental en la etapa de «Delivery» de dichos documentos, por ese motivo merece la pena mencionarla.
Una vez se tiene planificado cómo enviar el documento malicioso a la víctima, es el momento de prepararlo. Para ello es posible que el mejor enfoque sea crear una muestra maliciosa desde cero y no utilizar herramientas muy extendidas, con esto la rutina maliciosa tendrá mejores capacidades de evasión ante los mecanismos de seguridad implantados en el objetivo. No obstante resulta interesante conocer algunas de las utilidades que se encuentran disponibles para la generación de documentos maliciosos, tales como Unicorn y Macro_Pack.
Unicorn es una herramienta muy simple que se puede dominar rápidamente leyendo la documentación que se encuentra disponible en el repositorio. Los ejemplos que se encuentran descritos en la documentación son los mismos que aparecen cuando se ejecuta el script «unicorn.py» con la opción «–help» y como se puede apreciar, todos ellos están orientados a ataques «client-side». Se puede ver, entre otras cosas, la generación de macros maliciosas que se pueden incrustar en documentos para Microsoft Office y la generación de instrucciones en PowerShell. Es cualquier caso, es posible incluir un payload de Metasploit Framework, Cobalt Strike o una rutina maliciosa personalizada.
Como se puede apreciar, hay un ejemplo para generar una Macro maliciosa en Cobalt Strike y Metasploit Framework. Cuando se ejecuta dicho comando se genera automáticamente un documento «.txt» en el mismo directorio donde se encuentra la herramienta con todo el código de la Macro, el cual ahora basta con incluirlo en un documento de Office y transmitirlo a la víctima. Si el payload utilizado es del tipo «reverse» evidentemente será necesario levantar el «handler» correspondiente en la máquina del atacante (en la misma IP y puerto que se ha indicado en la ejecución de Unicorn».
Una vez que se ejecuta dicho Macro en la máquina de la víctima, se podrá obtener una reverse shell si es este el payload que se ha indicado en la ejecución de Unicorn.
Por otro lado, Macro_pack es una herramienta que si bien está orientada a la generación de MalDocs como Unicorn, funciona de un modo un poco diferente, ya que se encarga de generar directamente el documento partiendo de una macro dada, la cual ha podido ser generada con Metasploit Framework, Cobalt Strike, Empire Framework o incluso manualmente. Una de las características de esta herramienta es que intenta ofuscar algunas de las instrucciones con el fin de mejorar las capacidades de evasión de la muestra maliciosa. Para ello, aplica las técnicas habituales que consisten en la manipulación de los nombres de variables y funciones, cambiar el orden de ciertas instrucciones o definir alias de aquellas funciones que hacen parte de la API de Windows. Si bien hace un par de años las técnicas aplicadas por Macro_pack funcionaban bien para la evasión de AVs en el objetivo, a día de hoy prácticamente cualquier AV es capaz de detectar el código como malicioso.
Para usar Macro_pack basta con descargar el binario (EXE) disponible en el repositorio de GitHub y ejecutarlo indicando la ubicación del código de la macro y el formato que se debe usar.
Como se puede ver, la herramienta ejecuta varias operaciones antes de generar el documento, el cual ahora se puede transmitir a la víctima. Es importante tener en cuenta que la Macro se ejecutará de forma automática si las macros se encuentran habilitadas en el sistema objetivo, por lo tanto es importante tener el «handler» esperando la conexión antes de enviar el documento malicioso.
En el siguiente post se hablará de otras técnicas y herramientas para la generación de documentos maliciosos y ataques client-side.
Un saludo y Happy Hack!
Adastra.