Las macros pueden hacer cualquier cosa que el contexto de usuario del propio programa pueda hacer. Son programas ejecutables. Por ejemplo, podrían contener un ejecutable nativo, que se coloca en el sistema de archivos y luego se ejecuta. Si el usuario ejecuta el programa (por ejemplo, Word) como administrador, la carga útil de la macro ahora tiene control total sobre el sistema.
En general debes evitar las macros como la plaga. Son difíciles de auditar adecuadamente, ya que las devoluciones de llamadas de eventos se pueden usar para ocultar el código en todo el lugar. Los documentos que no son de confianza deben abrirse en un entorno de espacio aislado (por ejemplo, a través de Sandboxie o en una máquina virtual) y la aplicación de Office debe estar configurada para bloquear macros de forma predeterminada, ya sea completamente o con un aviso para permitirlo una vez.
Debido a que las vulnerabilidades de las aplicaciones de documentos comunes (por ejemplo, Adobe Reader, Microsoft Office, etc.) están dirigidas, puede ser útil utilizar alternativas (por ejemplo, FoxIt o LibreOffice) que no son tan comunes. Este es un método de seguridad a través de la oscuridad, pero tiene un caso de uso tangible aquí. También recomiendo encarecidamente instalar Microsoft EMET y configurarlo para cualquier aplicación que comúnmente acceda a datos no confiables, incluidos los navegadores web y los programas de Office. Por lo general, esto evitará que una gran parte de las vulnerabilidades funcione correctamente, siempre y cuando no se hayan escrito explícitamente en sistemas protegidos por EMET.