Clásicos atemporales o una descripción general de los nuevos vectores de ataque a través de Microsoft Office

imagen
Los hackers han estado explotando la credulidad humana y el descuido durante décadas. La mayoría de los usuarios abren el correo seguro, a primera vista, adjunto de correo sin dudarlo y, sin saberlo, lanzan malware. Para protegerse de tales ataques, necesita conocer al enemigo en persona. Hoy trataremos de descubrir cómo se organizan las tres nuevas técnicas para ejecutar código en aplicaciones de oficina descubiertas este año, y qué métodos de protección contra ellas existen.


Macros Xlm


Los expertos de Outflank han introducido una nueva forma de ejecutar código en MS Office Excel a través de las llamadas macros XLM (que no debe confundirse con XML). Aunque la tecnología de macro XLM ha estado en uso durante más de 26 años (apareció por primera vez en Excel 4.0 para Windows 3.0 / 3.1), todavía es compatible con todas las versiones de Microsoft Office Excel hasta Office 2016.


Para crear una macro XLM en Excel, debe seguir estos pasos:
En el menú contextual de la hoja de Excel, seleccione "Insertar".


imagen


A continuación, seleccione "MS Excel 4.0".


imagen


Como resultado, aparecerá la hoja "Macro1", en cualquier celda de las cuales, utilizando la función "EXEC", se puede iniciar el proceso deseado. Para ejecutar automáticamente una macro, la primera celda debe renombrarse a "Auto_open" (similar al procedimiento AutoOpen () en macros VBA).


Después de abrir un documento guardado, aparece una notificación estándar con una solicitud para ejecutar una macro.


imagen


La hoja macro puede ocultarse seleccionando "Ocultar" en el menú contextual.


Además de la capacidad de iniciar procesos, las macros XLM pueden acceder a la API de Win32 utilizando las funciones de REGISTRO y LLAMADA. El siguiente es el código PoC para una macro que implementa una técnica de inyección de código de shell.


imagen


Al mismo tiempo, la función de codificación CHAR se usa para almacenar los caracteres del código de shell dentro de la celda macro. Para eliminar bytes nulos, puede usar la utilidad msfvenom, que forma parte de Metasploit Framework.


Por el método de almacenamiento dentro de un archivo Excel, las macros XLM son significativamente diferentes de las macros VBA clásicas que aparecieron un año después en Excel 5.0. En el nuevo formato Excel .xlsm, que es un archivo ZIP, las macros XLM se almacenan dentro de un archivo XML en el directorio de hojas de macros. En formato .xsl (Excel 97-2003), la macro se almacena dentro de una secuencia OLE.


Además, se ve que la macro VBA se almacena en un contenedor separado (en la figura de la izquierda), mientras que las macros XLM se encuentran en el mismo contenedor de datos.


imagen


Estas diferencias en los métodos de almacenamiento de macros afectan significativamente la calidad de su detección por los antivirus, en particular, la tecnología de interfaz de escaneo antimalware (AMSI) no es compatible con XLM, a pesar del soporte reclamado de Office 365.


Por ejemplo, el código Metasploit powershell web_delivery se implementó en Excel usando macros VBA y XLM (en las figuras a continuación).


imagen


imagen


En Virustotal, un documento de Excel con una macro VBA desencadenó 21 de los 59 antivirus.


imagen


Al mismo tiempo, un documento similar con una macro XLM no despertó ninguna sospecha de antivirus.


imagen


Demostración
Ejecución de código a través de macros XLM en Office



Video en línea de Microsoft Office


El equipo de investigación de Cumulate ha descubierto una nueva forma de ejecutar código en Word insertando video usando Video en línea. Con este elemento, puede agregar videos de YouTube al documento, luego reemplazar el enlace con el código JavaScript que se ejecutará en Internet Explorer cuando abra el documento y haga clic en el video. Los siguientes vectores se ven más adecuados para la ingeniería social:


  • Agregar un código de explotación para IE / Flash en un iframe con un video de YouTube.
  • Agregar código JavaScript en el iframe con el video de YouTube utilizando el método msSaveOrOpenBlob, a través del cual se le sugerirá que descargue y ejecute el archivo malicioso. El cuerpo del archivo está contenido dentro de base64 javascript.

Para crear un archivo con la extensión docx. con la carga descrita, debe realizar los siguientes pasos:


1.Agregue un video de YouTube a través de "Insertar - Video en línea".


imagen


2. Guarde el archivo docx creado.


3. Descomprima el documento guardado. Formato docx es un archivo zip de los siguientes contenidos:
imagen


4.En el directorio de Word en el archivo document.xml en el elemento embeddedHtml, agregue su código JavaScript insertándolo en el cuerpo del iframe o reemplazando el enlace correspondiente (src) en el iframe.


5. Cree un archivo zip (con la extensión docx) con los cambios realizados.


Además, al abrir el archivo docx generado, el usuario debe hacer clic en el enlace del video e iniciar el archivo descargado. Alternativamente, puede mostrar una captura de pantalla con una propuesta para actualizar Flash Player, solicitando al usuario que descargue y ejecute el archivo. No se muestran advertencias de seguridad.


imagen


Como en el caso de las macros XLM, esta técnica de ejecución de código no es detectada por ningún antivirus en Virustotal y parece muy atractiva para los creadores de virus, y también es común en la ingeniería social como parte de las pruebas de penetración.


Demostración
Ejecución de código a través de video en línea en Office



Vba pisando fuerte


En la conferencia Derbycon 2018, se introdujo una técnica para lanzar macros VBA en documentos de Office, llamada VBA Stomping. La esencia de la técnica es eliminar / modificar (como alternativa a llenar con ceros) el código fuente de VBA en el cuerpo del documento de la oficina, dejando intacto el código macro compilado llamado código p. El código VBA, así como su versión compilada, se encuentran dentro del archivo vbaProject.bin ubicado en el archivo zip (archivo con la extensión .docm, .xslm).


imagen


Por lo tanto, la técnica se reduce a eliminar / llenar con ceros parte del archivo vbaProject.bin.


imagen


Como resultado, el documento no causa sospechas entre los antivirus que analizan una macro solo por su código fuente. Por ejemplo, utilizando esta técnica, los investigadores pudieron reducir el número de respuestas antivirus al troyano bancario Emotet, distribuido a través de archivos de Office, del 36/59 al 7/58 en Virustotal.


imagen


imagen


Además, esta técnica dificulta el análisis del archivo, ya que ni una sola herramienta, sin recurrir a la descompilación, podrá extraer el código fuente de VBA, que tampoco se mostrará en el editor de macros de Office hasta que se resuelva.


Protección


Las recomendaciones para contrarrestar las técnicas descritas son tradicionales para la protección contra los métodos de ingeniería social:


  1. Sensibilizar a los empleados sobre cuestiones de seguridad de la información.
  2. Prohibir el uso de macros en Microsoft Office.
  3. Un enfoque integrado para garantizar la seguridad de la información, incluido el uso de soluciones Endpoint, así como herramientas de seguridad perimetral (firewalls de próxima generación, soluciones UTM, puertas de enlace de correo).

Source: https://habr.com/ru/post/es433142/


All Articles