viernes, febrero 06, 2026
martes, septiembre 16, 2025
Cómo construir un Doom-Like usando sólo Lenguaje SQL (o en Excel)
![]() |
| Figura 8: Libro Hacking de Aplicaciones Web: SQL Injection de Enrique Rando y Chema Alonso |
Publicado por
Chema Alonso
a las
6:01 a. m.
0
comentarios
Etiquetas: BBDD, Blind SQL Injection, Excel, gaming, hackers, Juegos, Microsoft Office, SQL, SQL Injection
lunes, agosto 19, 2024
(Tu) MetaShield Clean-Up Online: Descubre qué datos exponen tus documentos
Publicado por
Chema Alonso
a las
6:01 a. m.
0
comentarios
Etiquetas: Excel, FOCA, fuga de datos, fuga de información, hardening, leak, metadata, Metadatos, Office, Office 365, Office365, PDF
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
Entrada destacada
Hacking IA: Jailbreak, Prompt Injection, Hallucinations & Unalignment. Nuestro nuevo libro en 0xWord
Pocas veces me ha hecho tanta ilusión que saliera un nuevo libro en 0xWord como con este libro de " Hacking IA: Jailbreak, Prompt Inje...
Entradas populares
-
Un informe de Tech Transparency Project, después del lío con el Jailbreak del Bikini en Twitter/X , y de la masificación de DeepFakes en el...
-
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...
-
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...
-
La computación cuántica está avanzando hacia un modelo de consumo en el que la mayoría de los usuarios accederán a los recursos cuánticos a ...
-
Hace mucho tiempo, cuando se creo el " Modo Incógnito " de los navegadores, que algunos llamaron también " Modo Privado ...
-
Continuando con el contenido de la primera parte de este artículo que puedes leer aquí: " Blind Quantum Computing (1) " vamos a ve...
-
Llegados a este punto del artículo, tras lo que se ha tratado en la primera y segunda parte de este artículo , Blind Quantum Computing pu...
-
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...
-
La noticia del 21 de Julio - que ya me pilló con el post de ayer publicado - fue la del incidente de seguridad reportado por OpenAI y Huggi...
-
Hay gente que cree que Google ha alcanzado la perfección con su buscador, pero la realidad es que tienen que mejorar mucho a varios niveles....





DragonJAR
8.8 Chile
Ekoparty
e-Hack MX
AREA 51
Comunidad Dojo Panamá
ARPAHE SOLUTIONS 




















































