Las macros de Microsoft Office son un método popular de distribución de malware. Los usuarios pueden defenderse contra los ataques de macro deshabilitando las macros. McAfee Labs ahora ha visto una nueva técnica de ataque con una característica de las aplicaciones de Office que ayudan a crear informes dinámicos. En esta publicación explicaremos esta técnica y ofreceremos un método para evitar la ejecución de herramientas maliciosas relacionadas con ella.
Esta nueva técnica aprovecha el protocolo de intercambio dinámico de datos de Microsoft para ejecutar comandos. DDE «envía mensajes entre aplicaciones que comparten datos y utiliza la memoria compartida para intercambiar datos entre aplicaciones. Las aplicaciones pueden usar el protocolo DDE para transferencias de datos únicas y para intercambios continuos en los que las aplicaciones se envían actualizaciones entre sí a medida que se dispone de nuevos datos «, según MSDN. (Microsoft recomienda que deshabilite DDE).
Durante el curso de nuestra investigación sobre algunos objetos COM y OLE interesantes relacionados específicamente con el malware de Office, encontramos un blog SensePost que describe cómo esta nueva técnica podría usarse de manera inocente y maliciosa. El autor señaló que los métodos COM DDEInitialize y DDEExecute estaban presentes en Excel y Word y que DDE nos da la opción de ejecutar comandos.
El protocolo DDE
El protocolo DDE se creó para intercambiar datos entre las aplicaciones de Office. No es intrínsecamente malicioso. Esta función es útil para algunas empresas y empresas para crear informes y documentos dinámicos. Por ejemplo, podemos crear un archivo de Word que puede tomar datos de las hojas de cálculo de Excel usando esta función.
El problema es que este protocolo también ofrece la opción de ejecutar aplicaciones como cmd.exe, que pueden ejecutar otros ejecutables en el sistema, por ejemplo, PowerShell.exe.
Como se explica en el blog SensePost, podemos usar esta función en Word para ejecutar cmd.exe, y desde cmd.exe ejecutar cualquier archivo ejecutable que queramos. Por ejemplo, si el desarrollador coloca en el campo de fórmula la siguiente instrucción:
{DDEAUTO c:\\windows\\system32\\cmd.exe “/k calc.exe”}
Esta instrucción abrirá cmd.exe y luego calc.exe, como en la Figura 1:
Método malicioso
Durante nuestra investigación obtuvimos una muestra que utiliza esta técnica. El archivo ejecuta PowerShell para ejecutar un comando que intenta descargar un archivo desde una fuente externa. (Durante nuestro análisis, este servidor de control estaba inactivo.)
Cuando el usuario abre este archivo, ven el siguiente mensaje:
Un clic en Sí conduce a esto:
En este punto, Word pregunta si el usuario desea abrir cmd.exe. Una respuesta Sí ejecuta cmd.exe y se ejecuta el código en la fórmula (Figuras 4a y 4b):
Ahora se ejecuta el código de PowerShell y comienza la descarga:
El comando malicioso se enmascara en un objeto XML (document.xml) dentro del archivo de Word:
La fuente de la descarga está fuera de línea, por lo que PowerShell no pudo comunicarse con el servidor de control para transferir el archivo sospechoso. Y no podemos estar seguros de lo que haría este archivo. No obstante, esta función se puede utilizar de forma maliciosa y poner los sistemas en peligro. ¿Puede McAfee ayudar a controlar esta técnica? Sí, y aquí está cómo hacerlo.
Configuración de restricciones para prevenir esta técnica
Para configurar nuestra defensa necesitamos crear algunas reglas para evitar la ejecución de aplicaciones de Word y Excel sin nuestro permiso.
Siga estos pasos en McAfee Endpoint Security.
Prevención de amenazas abiertas:
Haga clic en Mostrar avanzado:
Vaya a Reglas y haga clic en Agregar:
En Agregar regla, haga clic en Ejecutables/Agregar:
Seleccione la opción Bloquear e informar. Luego haga clic en Ejecutables / Agregar, y agregue Word y Excel de esta manera:
C:\Archivos de programa (x86)\Microsoft Office\Office14\EXCEL.EXE
C:\Archivos de programa (x86)\Microsoft Office\Office14\WINWORD.EXE
En Subrules, haga clic en Agregar:
Y entonces:
C:\Windows\SysWOW64\cmd.exe
C:\Windows\System32\cmd.exe
Tanto como:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
C:\Windows\SysWow64\WindowsPowerShell\v1.0\powershell.exe
El protocolo de intercambio dinámico de datos de Microsoft puede ser útil para crear informes dinámicos en Office. Pero es explotable. Seguir este procedimiento en McAfee ENS asegurará que el DDE no abra la puerta a un posible comportamiento malicioso.
Para obtener una descripción general de este exploit, consulte «La técnica de ejecución de código aprovecha el intercambio dinámico de datos».
Recursos
SHA-256: dc8610e25f99ca22a49211decba26d80c5b4ceecf8495a339b90a6731e926529
McAfee Detection Name: W97M/MacroLess
[social_warfare]