Ir al contenido principal
Hacking Windows 10: Más técnicas para saltarse AMSI (Anti Malware Scan Interface) con VBA y las Macros de Office


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 PowershellWindows 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 2018Microsoft 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

Según la teoría, cualquier método COM y llamadas a la API Win32 debería acabar siendo tratada por el sistema Behavior Log. Además, llamadas específicas son marcadas como triggers. La ejecución de una macro será pasada a AMSI para tomar una decisión. Por defecto, la configuración de AMSI no está habilitada para todas las macros de los documentos. Su política está configurada para documentos de baja confianza. Es decir, documentos cuya confianza es dudosa, ya sea por no estar firmado o por haber sido descargado de Internet.


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 VBAExcel 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.



FUENTE:https://www.elladodelmal.com/2019/04/hacking-windows-10-mas-tecnicas-para.html?fbclid=IwAR0ZYV9aOSXyjzNns8RLVQ6zcD0D9pvxr12iq71Z22asv6XfzT1Pk4ovcJs

Comentarios

Entradas más populares de este blog

Sustituyen a los empleados por robots en hotel Alibaba

En el hotel de Alibaba son robots de un metro de altura quienes te llevan una toalla a la habitación o la comida, mientras un brazo robótico te prepara un cóctel. En la ciudad de Hangzhou, a 170 kilómetros de Shanghai en dirección sudoeste, existe un hotel muy particular. Se encuentra situado  a poca distancia de la sede del gigante asiático Alibaba , y es en realidad un experimento futurista. El hotel de Alibaba se denomina  FlyZoo , que hace alusión a un juego de palabras en chino. ¿Su significado? "Debe hospedarse aquí". El complejo promete un confort diferente al de otros hoteles.  Sus instalaciones se basan en una automatización radical  de los servicios del hotel. Para hacer el check-in solo hace falta escanear el documento de identidad y  someterse a una cámara de reconocimiento facial . La máquina indicará al cliente cuál es su habitación, a la cual accederá también mediante reconocimiento facial. Aún no nos hemos encontrado con ninguna person...

Iniciativa de reciclaje.

Las carreteras de plástico eliminarán toneladas de desechos plásticos. El problema del plástico está concienciando cada vez a más personas y empresarios. El plástico contamina nuestras tierras y océanos, pero, afortunadamente, no dejan de surgir  nuevos métodos para mitigar las consecuencias del uso del plástico . Uno de los mayores productores de plástico mundial,  Dow Chemical , comenzó un proyecto a principios de 2017, donde utilizó  plástico  como  material para construir carreteras . Gracias a este proyecto, se ha evitado que casi  100 toneladas  de plástico contaminen la naturaleza, según  la publicación de Business Insider . Dow Chemical  construyó dos carreteras privadas utilizando el equivalente a  120,000 bolsas de plástico . Aunque las carreteras aún contienen un porcentaje de asfalto, no deja de ser un gran avance en el  reciclaje de plástico . Además de reducir la contaminación, las carreteras de plásti...

Vulnerabilidad en mac os, el exploit que extrae tus contraseñas.

Hace tan sólo una semana ya vimos que  un adolescente fue el que encontró el fallo de FaceTime  e incluso  Apple  iba a recompensarle por la acción. Pues esta semana, otro adolescente, un aleman de 18 años llamado  Linus Henze ,   ha encontrado una vulnerabilidad  que afecta a la última versión del sistema operativo  macOS  que permite que algunas  apps accedan a las contraseñas almacenadas. Y además, este adolescente no quiere compartir como lo hizo. Ahora veremos el motivo. Este problema de acceso a las contraseñas permitiría, por ejemplo, que una aplicación maliciosa tuviera acceso a las contraseñas almacenadas del banco,  Amazon ,  Netflix  o cualquier otra almacenadas en el  llavero ( keychain ). Pero incluso, si utilizas el llavero desde  iCloud , este también podría estar afectado por este problema. Al estar todo sincronizado desde la nube de  Apple , las contraseñas de otros dispositivos como el...