lunes, agosto 19, 2024
martes, mayo 07, 2019
EvilClippy: Crea documentos Office maliciosos multiplataforma en un Ethical Hacking #pentest
![]() |
Figura 1: EvilClippy: Crea documentos Office maliciosos multiplataforma en un Ethical Hacking |
Hechas las presentaciones hoy quiero hablaros de EvilClippy, una nueva herramienta de Hacking en Windows, GNU/Linux e incluso Hacking MacOS - aunque estar centrada en archivos Microsoft Office - orientada a la creación de documentos ofimáticos maliciosos. En otras palabras, una herramienta que permite utilizar diferentes técnicas para generar documentos con un payload, el cual se ejecutará al interaccionar con el documento.
![]() |
Figura 2: EvilClippy en GitHub |
De este modo puede utilizarse para evaluar la concienciación de los empleados ante diferentes situaciones. El caso de evaluación clásico es el envío de un e-mail con un archivo adjunto. Este vector sigue siendo de los más utilizados cuando en lugar de una evaluación de concienciación es un ataque recibido en la empresa.
![]() |
Figura 3: Manual de Ethical Hacking en 0xWord |
La herramienta es un asistente sencillo para crear documentos MS Office, el cual puede ocultar VBA macros, Stomp código VBA y ofuscar macros. La herramienta puede ser ejecutado sobre diversas plataformas: Microsoft Windows, GNU/Linux y MacOS & Mac OS X. El investigador Stan Hegt publicó las presentaciones que se hizo sobre la herramienta en BruCON y en DerbyCON, sin duda, más que interesante.
Figura 4: Presentación de Stan Hegt sobre EvilClyppy
Desde el Github del proyecto se puede descargar el código fuente, escrito en C#, u obtener la versión preparada con la DLL necesaria para poder ejecutar la aplicación. En la siguiente imagen se pueden ver las opciones que dispone el binario.
![]() |
Figura 5: Opciones de EvilClippy |
En cualquier proceso de Ethical Hacking la detección y la evasión son factores fundamentales. Seguramente nos causa dudas saber cuánta detección tiene esta herramienta. La experiencia nos dice que al ser una herramienta pública y utilizada en este tipo de procesos será bastante detectada, pero también hay que tener en cuenta que cuanto más se actualice y más al día esté, mayor será el ratio de evasión.
Así suele pasar, pero esto supone un gran trabajo. Un ejemplo de esto era The Shellter. Para este caso, en particular, la herramienta puede utilizar una Macro de Cobalt Strike para hacer bypass de la mayoría de productos antivirus. Para ello utiliza VBA Stomping y combina nombres de módulos de forma aleatoria.
![]() |
Figura 6: Detección con macro de Cobalt Strike |
evilclippy.exe –s fake.vbs –g –r [documento ofimático].
![]() |
Figura 7: Aplicación de EvilClippy a un documento y evasión de detección |
evilclippy.exe –s fakecode.vba –t 2016x86 [documento]dónde 2016 es la versión de Office y x86 la arquitectura. Después de esto, se crea un archivo llamado macrofile_EvilClippy.doc.
1. Se crea una plantilla de MS Word, la cual incluye una macro maliciosa.
2. Ejecuta la herramienta EvilClippy con la opción –webserver. Apunta a la plantilla creada anteriormente. A continuación, la herramienta activa un servidor web que escucha las conexiones entrantes en el puerto que se especifica.
3. Posteriormente, se crea otro documento que apunta al documento de la plantilla a través de una URL.
4. Si se abre el archivo, MS Office se comunicará con el servidor web para buscar la plantilla. EvilClippy identificará la versión de MS Office por el protocolo HTTP.
![]() |
Figura 8: Detección de versiones |
Publicado por
Chema Alonso
a las
6:23 a. m.
0
comentarios
Etiquetas: Excel, Microsoft Office, pentest, pentesting, Troyanos, VBA, Windows
viernes, abril 26, 2019
Hacking Windows 10: Más técnicas para saltarse AMSI (Anti Malware Scan Interface) con VBA y las Macros de Office
![]() |
Figura 1: Hacking Windows 10: Más técnicas para saltarse AMSI (Anti Malware Scan Interface) con VBA y las Macros de Office |
Tal y como vimos hace unas semanas, había métodos clásicos y sencillos para jugar y conseguir el bypass de AMSI y otros métodos no tan sencillos, los cuales hablan de parchear el proceso para que el buffer de lectura siempre valga 0. Es un juego interesante y que dará que hablar, como en su día lo hizo el UAC o AppLocker. De este modo, la seguridad mejorará, ya que el encontrar caminos que hacen que una protección falle ayuda a mejorar su seguridad.
![]() |
Figura 2: Libro de Hacking Windows: Ataques a sistemas y redes Microsoft |
Hoy vamos a ver más técnicas de Hacking Windows que puedan ayudar en un proceso de pentesting, que puedan usarse para evadir AMSI cuando sea necesario. Hay que recordar que AMSI es una protección joven, la cual aparece en Windows 10. Es una característica de seguridad que actúa entre los intérpretes de scripting y el motor de antivirus.
AMSI en Windows
Los lenguajes de scripting que soportan AMSI son Powershell, Windows Script Host (wscript.exe y cscript.exe) y, recientemente, Visual Basic for Applications o VBA. El flujo es sencillo, cuando se ejecuta un comando en uno de estos intérpretes, los comandos son enviados a la interfaz de AMSI. Si el antivirus está ‘hookeado’, éste podrá recibir la ejecución y decidir si bloquear o permitir lo ejecutado. De este modo, se puede detectar ejecución en memoria de código malicioso y bloquear este comportamiento.
La idea del bypass es sencilla, intentar evitar que los comandos que son ejecutados a través del intérprete sean detectados como algo malicioso. Como ya comenté arriba, ya hemos visto ejemplos de bypass de AMSI en Powershell. En septiembre de 2018, Microsoft anunció la implementación de AMSI para VBA, incluyendo la característica para MS Office 365, release de enero de 2019. Hoy en día cualquier usuario de Office 365 debería ejecutar Office con AMSI habilitado para evitar las macros maliciosas.
![]() |
Figura 3: AMSI en Macros VBA de Office |
Algunos bypasses de AMSI con VBA
Se han ido publicando algunos bypasses de AMSI para VBA. Algunos se han recopilado en un magnífico artículo de Pieter Ceelen, dónde se detalla el ámbito de ejecución de AMSI con VBA y los bypasses.
Bypass 1: Attack without VBA
El primer bypass es un ataque denominado ‘Attack without VBA’, por lo que parece que de primeras no tendremos a VBA. Está orientado al uso de macros: ‘Excel 4.0 macros’. En Excel hay un segundo motor de macros específico para Excel 4.0 macros. Este motor está implementado en Excel.exe y no utiliza el motor de VBA, el cual se encuentra en la DLL VBE7.dll.
![]() |
Figura 4: Excel 4.0 Macro |
Como el motor de AMSI solo ‘hookea’ a VBA, Excel 4.0 proporciona un vector de ataque. Sobre el ataque de Excel 4.0 se puede leer más en un interesante artículo de Stan Hegt. El resumen es rápido y sencillo, la idea es crear una macro para MS Excel 4.0 Macro.
![]() |
Figura 5: Ejemplo de Macro usando las API de Win32 |
Una vez realizada la macro y configurada con el Auto_open se tiene todo lo necesario. En el artículo de Stan Hegt se muestra un ejemplo básico para la apertura de la calculadora o cómo hacer uso de la API de Win32 y conseguir un ataque más completo y potente.
Bypass 2: Macro Runtime Scope & Abusing Trust
El segundo bypass que vamos a tratar es el denominado Macro Runtime Scope & Abusing Trust. ¿En qué consiste? Microsoft hizo varias excepciones sobre el scope o ámbito de ejecución de AMSI. Especialmente las excepciones para documentos categorizados como de confianza y ubicaciones de confianza.
Si pruebas con un documento de confianza y una macro verás que todo fluye normal pasando por AMSI, aunque quizá no debería. Esto es prueba y error. Por otro lado, el investigador Pieter Ceelen se dio cuenta que con los documentos de ubicaciones de confianza se excluían de AMSI en la configuración predeterminada.
![]() |
Figura 6: PoC del Bypass 2 en GitHub |
Se puede utilizar una PoC (Prueba de Concepto) desde el Github del investigador. La idea era sencilla: lo primero es que, con el documento abierto, se guarda el documento actual como una plantilla hacia la ubicación de confianza.
Después, se abre un nuevo archivo basado en esa plantilla que activará un evento document_new desde una ubicación confiable. El script que se proporciona en el Github tiene tres semanas, por lo que sigue siendo muy funcional.
Bypass 3: Innocent COM functions
El tercer bypass es denominado como ‘Innocent COM functions’. Microsoft hace distinción entre ‘Innocent’ COM. Algunos ejemplos de funciones Innocent COM que permiten abusar de no lanzar AMSI son:
• Instanciación de Excel y llamar a ExecuteExcel4Macro o DDEInitialize.
• Utilizar WMI y SpawnInstance.
![]() |
Figura 7: Ejemplo por DarkOperator |
Esto está documentado por Carlos Pérez o DarkOperator, genialmente, para que puedas probarlo con un paso a paso.
Bypass 4: Non-Win32API/COM functions that have side effects
El cuarto bypass es denominado ‘Non-Win32API/COM functions that have side effects’. Hay varias funciones integradas en Word y Excel que pueden proporcionar la ejecución de código o provocar el desactivar AMSI.
Es posible utilizar una macro para editar el contenido de un archivo de Word y almacenarlo como archivos de texto con extensión REG o BAT, por ejemplo, disableamsi.reg o disableamsi.bat. Con estos ficheros se puede deshabilitar AMSI a través de la configuración macroruntimescope en el hive HKCU. Teniendo en cuenta, y esto es importante en el Ethical Hacking, que la mayoría de las empresas no van a configurar por GPO la configuración de macroruntimescope, se podrá sobrescribir en HKCU.
![]() |
Figura 8: Macros para hacer estas pruebas |
En el mismo archivo BAT se podrá hacer que se inicie Word sin el splash screen de bienvenida. Es un método interesante, y se puede hacer muy silencioso. Se puede descargar desde Github el código de la macro.
Conclusión
AMSI es una protección que está aquí para, en principio, estar en las nuevas generaciones de Microsoft Windows. Es una protección ambiciosa y que debe cubrir una serie de vectores de ataque muy amplios y complejos. Veremos cómo avanza el juego del gato y del ratón en los próximos meses que seguro que es divertido.
Publicado por
Chema Alonso
a las
6:35 a. m.
0
comentarios
Etiquetas: antimalware, Excel, Hacking, pentest, pentesting, PowerShell, Windows
miércoles, marzo 06, 2019
Hacking Windows 10: Lateral Movements using DCOM Objects
![]() |
Figura 1: Hacking Windows 10: Lateral Movements using DCOM Objects |
Además, algo que está resultando interesante es el uso que se le puede dar en un Hacking de sistemas Windows 10 y redes Microsoft, con las protecciones que éste tiene y el juego del gato y el ratón que se presenta de forma constante. Sin duda, el movimiento lateral es una técnica imprescindible en el pentesting.
![]() |
Figura 2: Libro de Hacking Windows |
Nosotros no hemos dejado pasar la oportunidad de implementar alguna de estas técnicas en nuestra navaja suiza de Pentesting con Powershell: Nuestra querida ibombshell. En la rama Dev, la cual pronto se convertirá en rama estable y liberaremos nueva versión, podemos encontrar dos movimientos laterales basados en DCOM. Estamos deseando liberar la nueva versión, que, aunque sigue siendo beta y mejoramos en los ratos libres que se tiene, traerá nuevas funcionalidades que serán del gusto de los usuarios y mejoras de estabilidad y uso de la línea de comandos.
![]() |
Figura 3: Encontrar lateral movements |
Hoy quería mostrar algunas técnicas más utilizadas para hacer movimiento lateral a través de DCOM. En este genial artículo se muestra un recopilatorio de algunas de ellas, basadas en investigaciones de Matt Nelson y Cybereason. Las técnicas que se explicarán hoy son:
- DDE con Microsoft Excel.
- MMC20.Application.
- ShellBrowserWindow.
- Outlook y la ejecución con el método CreateObject.
MMC20.Application
Fue publicada por primera vez por el investigador Matt Nelson en su blog. La técnica es muy similar a la que vimos hace unas semanas sobre ShellWindows. Para poder utilizar esta técnica, lo primero es crear una instancia MMC20.Application. Después de ello, se puede utilizar el método ExecuteShellCommand, el cual se encuentra en la propiedad Document.ActiveView.
De esta forma se puede ejecutar el comando que se quiera sobre la máquina. El comando ejecutado correrá como un proceso hijo del proceso mmc.exe. Hay que indicar que la ejecución de mmc.exe vía COM es extraño, por lo que puede generar ruido y alertas a través de los mecanismos de protección de Windows.
![]() |
Figura 4: Comprobación de métodos disponibles |
Lo primero que se puede comprobar son los métodos que tiene el objeto. Para ello ejecutamos:
$mmc = [Activator]::CreateInstance([type])::GetTypeFromProgID(“MMC20.Application”, “[dirección IP]”).Cuando uno ya tiene la posibilidad de ser admin y hacer ese movimiento, como si de PtH se tratase, puede hacer uso de esto para ejecutar comandos en remoto. En este caso se muestra como hacer la ejecución en remoto sobre un Windows 10, desde el objeto $mmc que ya tenemos creado.
![]() |
Figura 5: Ejecución de calc.exe desde el objeto $mmc |
En el siguiente vídeo se puede ver el proceso completo desde un Windows 7 a un Windows 10 y la ejecución de código remoto. Lógicamente, se debe disponer ya de un admin en el sistema Windows 7.
ShellBrowserWindow
Esta técnica es similar a la de ShellWindows que se comentó hace unas semanas. Para poder utilizar esta técnica se debe crear una instancia del objeto ShellBrowserWindow y revisando, como hicimos en el caso anterior, los métodos disponibles encontraremos ShellExecute, dentro de la propiedad Document.Application.
![]() |
Figura 7: Comprobación del método ShellExecute |
En el siguiente vídeo se puede ver los detalles para lograr la ejecución del movimiento lateral. Hay que indicar que en Windows 7 puede haber ciertas limitaciones, aunque, como se puede ver en el vídeo, se puede ejecutar el código de esta forma.
Outlook y la ejecución con el método CreateObject
Esta técnica es un derivado de las de Matt Nelson. El objeto Outlook permite la instalación e interacción con objetos COM. Esto es realizado a través del método CreateObject. Este hecho permitiría a un atacante interactuar con los objetos COM en remoto, mediante DCOM.
La creación del objeto Outlook sería a través de la siguiente instrucción de PowerShell
$outlook = [Activator]::CreateInstance([type])::GetTypeFromProgID(“Outlook.Application”, “[dirección IP]”)Desde este objeto se puede hacer uso del método CreateObject para crear una Shell.Application, de la siguiente manera:
$shell = $outlook.CreateObject(“Shell.Application”)En ese punto solo tendríamos que ejecutar:
$shell.ShellExecute(“[comando a ejecutar en remoto]”)El comando se ejecuta sobre el Windows 10 como un hijo del proceso Outlook.
![]() |
Figura 9: Ejecución de calc con el objeto $Shell creado |
Esta técnica permite sustituir Shell.Application por Wscript.Shell, ya que hay casos que pueden resultar de interés.
DDE con Microsoft Excel
Esta técnica fue publicada por Cybereason y proporciona un método con el que conseguir movimiento lateral a través del uso del Excel. La técnica utiliza el Direct Data Exchange Inter-Process Communications de Excel. Y todo esto lo podemos automatizar con un poco de Pentesting con Powershell.
![]() |
Figura 10: Libro de Pentesting con PowerShell |
Con esto se puede ejecutar un comando arbitrario. Lo primero, es crear una instancia del objeto Excel.Application, el cual es un objeto COM asociado con el Excel. Esto se logra con la instrucción:
$excel = [Activator]::CreateInstance([type])::GetTypeFromProgID(“Excel.Application”, “[dirección IP]”)Una vez que se tiene el objeto, se puede hacer uso del Direct Data Exchange o DDE. A través de la instrucción: $excel.DDEInitiate(“cmd”,”/c calc.exe”)
![]() |
Figura 11: Ejecución de cmd.exe vía $excel |
Sin duda, son métodos interesantes de conocer y que desde la parte de mitigación deben trabajar bien a lo largo del dominio. La identificación de la ejecución remota por DCOM puede ser un indicio para un IoC. Este tipo de técnicas no son vulnerabilidades, pero si hacen un abuso de una funcionalidad legítima.
![]() |
Figura 12: Libro de Máxima Seguridad en Windows [4ª Edición] |
El acceso a los objetos “peligrosos” DCOM debería ser prohibido por política y aplicar una lista blanca a los que se puedan utilizar si quieres tener un sistema en el que aplicas la Máxima Seguridad en Windows posible. Seguiremos avanzando en mostrar este tipo de técnicas e ir añadiéndolas a nuestra iBombShell para ir mejorando esta herramienta Open Source de Ethical Hacking.
Publicado por
Chema Alonso
a las
6:16 a. m.
0
comentarios
Etiquetas: 0xWord, Excel, Hacking, Outlook, pentest, pentesting, PowerShell, Windows 10
viernes, junio 08, 2018
Metashield Bots: Análisis y limpieza de metadatos para todos desde Telegram, Skype o Slack
![]() |
Figura 1: Metashield Bots: Análisis y limpieza de metadatos para todos desde Telegram, Skype o Slack |
Figura 2: MetaShield Bot Skype
Figura 3: MetaShield Bot Slack
Figura 4: MetaShield Bot Telegram
El el blog de ElevenPaths tenéis más información de estos tres bots de MetaShield en Skype, Telegram y Slack, y en la web de ElevenPaths tenéis información de todos los productos de la familia MetaShield Protector, incluida la versión de MetaShield Clean-up Online que permite analizar y limpiar metadatos en documentos con un sitio web.
Publicado por
Chema Alonso
a las
5:57 p. m.
2
comentarios
Etiquetas: Excel, metadata, Metadatos, Metashield, MetaShield Protector, Microsoft Office, Microsoft Word, PDF, Privacidad, Skype, Slack, Telegram, Word
lunes, noviembre 13, 2017
Mensajes cifrados, Mensajes ofuscados: Skrypted, Esteganografía & Estegoanálisis
Figura 2: ElevenPaths Talks 3: Esteganografía & Estegoanálisis
![]() |
Figura 3: Skrypted para descargar |
Figura 5: Innovation "A path to success"
Publicado por
Chema Alonso
a las
9:34 a. m.
0
comentarios
Etiquetas: Cifrado, Criptografía, ElevenPaths, esteganografía, estegonanálisis, Excel, Hacking, Skype
sábado, agosto 26, 2017
Zloader ataca con macros Excel a bancos en España
Figura 2: Fichero de Excel con macros maliciosas que simula ser una factura |
![]() |
Figura 3: Malware de macro distribuido como factura en 2015 |
Figura 4: Fichero de configuración de Zloader con los WebInjects |
Figura 5: Detección de la muestra analizada por Una al día |
Publicado por
Chema Alonso
a las
9:49 a. m.
0
comentarios
Etiquetas: e-mail, Excel, fraude, fraude online, Malware, troyano
domingo, abril 02, 2017
Cursos, Charlas y Conferencias para esta misma semana @elevenpaths @0xWord #NodeJS #hacking #pentesting
![]() |
Figura 4: Curso Online de hacking con Python en The Security Sentinel |
![]() |
Figura 5: Curso Online de Hardening de Sistemas Windows |
![]() |
Figura 6: Seminario Online Gratuito "Quebrando aplicaciones" |
![]() |
Figura 7: Curso Online de Seguridad en Redes |
Publicado por
Chema Alonso
a las
11:11 a. m.
0
comentarios
Etiquetas: 0xWord, Cursos, ElevenPaths, Eventos, Excel, Hacking, Libros, Malware, Nodejs, pentesting
Entrada destacada
+300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial
Hace un mes comencé a recuperar en un post mi interés en los últimos años, donde he publicado muchos artículos en este blog , y he dejado mu...

Entradas populares
-
Circula por la red un truco que llegó a mí de casualidad , donde se explica cómo conseguir ver más de una vez - e incluso capturar - las fot...
-
Ayer publiqué un post que tiene ver con las opciones de privacidad de Facebook asociadas a los correos electrónicos , y mañana sacaré la se...
-
Las técnicas de OSINT son aquellas que te permiten buscar información en fuentes abiertas. O lo que es lo mismo, sacar datos de plataformas...
-
Hoy os traigo una " microhistoria " peculiar que tiene que ver con la historia de la tecnología. Es una historia de esas que empie...
-
Hace mucho tiempo, cuando se creo el " Modo Incógnito " de los navegadores, que algunos llamaron también " Modo Privado ...
-
Dentro de una investigación de una fotografía, tal vez te interese saber dónde está hecha, o a qué hora se hizo. Cualquiera de esas dos info...
-
Conseguir la contraseña de Facebook de una cuenta es una de las peticiones más usuales que se suele recibir de la gente que busca solucion...
-
Una de las opciones que se puede configurar a nivel de hipervínculo, de documento o de servidor web en los navegadores es el funcionamiento...
-
El SEPE (Servicio Público de Empleo Estatal) ha sido víctima de la archiconocida crisis del COVID-19 enlazando la avalancha de expedientes...
-
La app de mensajería instantánea Telegram tiene muchos fans por el atributo de seguridad que ha querido potenciar desde el principio, per...