Infiltración de infraestructura a través de RTF
Tabla de contenidos:
Procedamos a estudiar una etapa del ataque llamada “Delivery” del Lockheed Martin Cyber Kill Chain.Se puede decir mucho sobre esta etapa, pero hoy solo compartiré el análisis de una muestra que he recibido recientemente para su análisis. La muestra atrajo mi atención por su simplicidad por un lado y su sofisticación por el otro. Definitivamente, no podemos culpar a sus autores por falta de inventiva e imaginación.
Comencemos.
Aquí podemos ver un correo electrónico estándar con un archivo de Word adjunto:
Uno de los sitios web advierte sobre este tipo de estafa de correo electrónico (Estafa de Correo Electrónico), y proporciona más detalles:
Echemos un vistazo más de cerca a las intrincadas de tal método de intrusión y cómo abrir un solo correo electrónico podría llevar a consecuencias desastrosas para su negocio.Primero que nada, llevamos este archivo a nuestro laboratorio improvisado donde lo analizaremos en detalle. Como primer paso, necesitamos verificar el documento en busca de macros. Podemos usar diferentes conjuntos de herramientas para realizar esta operación, y hoy utilizaremos OLETOOLS que contiene la herramienta OLEVBA, para las siguientes operaciones:
- Detectar macros de VBA en archivos MS Office 97-2003 y 2007+
- Extraer el código fuente macro de VBA
- Detectar macros auto-ejecutables
- Detectar palabras clave sospechosas de VBA que a menudo son utilizadas por malware
- Detectar y decodificar cadenas ocultas con Hex/Base64/StrReverse/Dridex
- Extraer IOC’s/patrones de interés como direcciones IP, URLs, direcciones de correo electrónico y nombres de archivos ejecutables
- Escanear múltiples archivos y colecciones de muestras (comodines, recursivo)
- Modo de triage para una vista resumida de múltiples archivos
- Escanear muestras de malware en archivos Zip protegidos con contraseña
- API de Python para usar olevba desde sus aplicaciones
Ejecutamos la herramienta
olevba.py
:
olevba.py 750786446.doc > macros.txt
Como resultado, el archivo macros.txt
, será creado, el cual contiene todas las macros del documento estudiado.
Veamos qué está ocultando este archivo de Word:Por supuesto, ningún programador en su sano juicio nombraría funciones y variables de tal manera a menos que estén intentando ocultar sus objetivos.
Aquí hay una representación esquemática de las operaciones de estas macros para que puedas entender mejor este conjunto de símbolos:
Ahora vemos claramente que el 90% de las operaciones mostradas es basura, creada para confundir a un analista y complicar la investigación de macros. Si limpiamos el esquema de operaciones «excesivas», obtenemos una imagen clara de cómo funciona tal macro.
Entonces, ¿qué está tratando de hacer la macro en realidad?
- Después de que se abre el archivo DOC, la macro encuentra la ubicación de la carpeta temporal a través de las variables de entorno. Luego se guarda a sí misma en esta carpeta como RTF bajo el nombre de BYFE.RTF.
- A continuación, repite la misma operación pero usa otro nombre – JWUD.RTF. Esta operación es necesaria para liberar el archivo BYFE.RTF para operaciones adicionales porque mientras Microsoft Word lo “sostiene”, nadie puede referirse a este archivo, excepto en modo “solo lectura”. Pronto veremos que la macro tiene planes especiales para este archivo.
- En esa etapa, la macro ejecuta el archivo BYFE.RTF en modo “invisible”.
Aquí necesito apartarme de nuestro tema y contarte sobre una característica particular de los archivos RTF:
Puedes adjuntar cualquier objeto a archivos RTF, incluso música o archivos ejecutables. Cuando un usuario abre un archivo con tal objeto, ese objeto se extrae a la carpeta temporal. Y estará allí ya que está adjunto al archivo RTF hasta que el documento se cierre. Lo principal es que puede ser utilizado por algo desde afuera.
Hagamos un experimento:- Creamos un archivo RTF
- Luego adjuntamos la calculadora predeterminada (
calc.exe
) como objeto:
- Cerremos este documento y abramos la carpeta %temp%
- Ahora vaciamos la carpeta y abrimos con Microsoft Word nuestro
test.rtf
:
- Ejecutemos la calculadora para probar su operatividad:
- Cuando se cierra el archivo RTF, calc.exe desaparece sin dejar rastro
- Creamos un archivo RTF
- Ahora entendemos por qué los adversarios usan archivos RTF y por qué necesitan una pausa de 2 segundos. La necesitan para colocar su “objeto” en nuestra carpeta Temporal.
- Posteriormente, un objeto es ejecutado (como hicimos con la calculadora) y como veremos más adelante, el nombre de nuestro objeto es
s3.tmp
:
Los adversarios necesitan una pausa de 3 segundos para que el “objeto” complete sus tareas. En nuestro caso, este “objeto” es un descargador/distribuidor por lo tanto sus tareas son comunicarse con un centro de comando y obtener más instrucciones. En nuestro ejemplo, se comunicó con54.225.64.111
–hxxp://api.ipify.org:80/
. En el sitio web de VirusTotal podemos ver alguna actividad anormal en esta dirección IP que comenzó a finales de abril – principios de mayo de 2016.https://www.virustotal.com/ru/ip-address/54.225.64.111/information/
- Finalmente, la última etapa. La macro cierra el archivo RTF lo cual causa la desaparición de un distribuidor. La tarea está completa. La intrusión ha terminado. Las huellas están limpias.
Conclusión:
- Cada vez más “cajas de arena” para los perímetros de la empresa están siendo capaces de revisar los correos electrónicos y deconstruir dichos adjuntos para encontrar cualquier actividad maliciosa y disminuir los riesgos de intrusión.
- El análisis manual y detallado del spam atrapado por los filtros de spam (ingeniería inversa de malware) es muy importante. Esto puede ayudarte a encontrar IOCs clave para usar en las reglas de los sistemas de monitoreo y para rastrear casos de tales correos electrónicos penetrando el perímetro. En nuestro ejemplo, esto sería una dirección IP. Para asegurar tu organización necesitas bloquearla en los cortafuegos y monitorear cualquier intento de conexión. Esto te permite descubrir estaciones de trabajo comprometidas y comenzar el mantenimiento de la infraestructura. Esto también puede protegerte cuando tu filtro de spam falla en detectar un correo con malware y un usuario lo abre – tus cortafuegos estarán listos para bloquear cualquier comunicación entre el malware y su centro de comando.
- El distribuidor suele ser “invisible” para el antivirus corporativo. Si envías una muestra descubierta al proveedor del antivirus, pueden añadirla a sus firmas permitiéndote descubrir estaciones de trabajo comprometidas.
Espero que este artículo sea útil y estoy esperando tus comentarios.