top of page
  • Foto del escritorConsultor Virtual CISO

GifShell: La forma de compartir malware a través de una imagen GIF

Actualizado: 16 ago 2023

El nuevo ataque se llama #GIFShell y es posible instalar un malware en su computador a través de una imagen tipo GIF, el cual espera ser compartido por medio de Microsoft Teams.



En resumen, la técnica de ataque utiliza una variedad de fallas y vulnerabilidades de Microsoft Teams:

  • Omitir los controles de seguridad de Microsoft Teams permite a los usuarios externos enviar archivos adjuntos a los usuarios de Microsoft Teams.

  • Modifique los archivos adjuntos enviados para que los usuarios descarguen archivos desde una URL externa en lugar del enlace de SharePoint generado.

  • Falsifique los archivos adjuntos de los equipos de Microsoft para que aparezcan como archivos inofensivos, pero descargue un ejecutable o documento malicioso.

  • Esquemas de URI inseguros para permitir el robo de hash NTLM de SMB o ataques de retransmisión NTLM.

  • Microsoft admite el envío de GIF codificados en HTML base64, pero no analiza el contenido de bytes de esos GIF. Esto permite enviar comandos maliciosos dentro de un GIF de aspecto normal.

  • Microsoft almacena los mensajes de Teams en un archivo de registro analizable, ubicado localmente en la máquina de la víctima y al que puede acceder un usuario con pocos privilegios.

  • Los servidores de Microsoft recuperan GIF de servidores remotos, lo que permite la filtración de datos a través de nombres de archivos GIF.

GIFShell: un caparazón inverso a través de GIF

La nueva cadena de ataque fue descubierta por el consultor de seguridad cibernética y pentester Bobby Rauch , quien encontró numerosas vulnerabilidades o fallas en los equipos de Microsoft que se pueden encadenar para la ejecución de comandos, la exfiltración de datos, las omisiones del control de seguridad y los ataques de phishing.


El componente principal de este ataque se llama #GIFShell, que permite a un atacante crear un shell inverso que entrega comandos maliciosos a través de GIF codificados en base64 en Teams, y extrae la salida a través de GIF recuperados por la propia infraestructura de Microsoft.

Para crear este shell inverso, el atacante primero debe convencer a un usuario para que instale un controlador malicioso que ejecute comandos y cargue la salida del comando a través de una URL GIF en un enlace web de Microsoft Teams. Sin embargo, como sabemos, los ataques de phishing funcionan bien para infectar dispositivos, Rauch ideó un nuevo ataque de phishing en Microsoft Teams para ayudar en esto, que describimos en la siguiente sección.


GIFShell funciona engañando a un usuario para que cargue un ejecutable de malware llamado "stager" en su dispositivo que escaneará continuamente los registros de Microsoft Teams ubicados en

$HOME\AppData\Roaming\Microsoft\Teams\IndexedDB\https_teams.microsoft.com_0.indexeddb. niveldb\*.log .


Todos los mensajes recibidos se guardan en estos registros y todos los grupos de usuarios de Windows pueden leerlos, lo que significa que cualquier malware en el dispositivo puede acceder a ellos.


Una vez que el escenario está en su lugar, un actor de amenazas crearía su propio arrendatario de Microsoft Teams y se pondría en contacto con otros usuarios de Microsoft Teams fuera de su organización. Los atacantes pueden lograr esto fácilmente ya que Microsoft permite la comunicación externa de forma predeterminada en Microsoft Teams.


Para iniciar el ataque, el actor de amenazas puede usar la secuencia de comandos GIFShell Python para enviar un mensaje a un usuario de Microsoft Teams que contiene un GIF especialmente diseñado. Esta imagen GIF legítima se ha modificado para incluir comandos para ejecutar en la máquina de un objetivo.


Cuando el objetivo recibe el mensaje, el mensaje y el GIF se almacenarán en los registros del equipo de Microsoft, que supervisa el manipulador malicioso. Cuando el stager detecta un mensaje con un GIF, extraerá los comandos codificados en base64 y los ejecutará en el dispositivo. El GIFShell PoC luego tomará el resultado del comando ejecutado y lo convertirá en texto base64.

Este texto base64 se usa como nombre de archivo para un GIF remoto incrustado en una tarjeta de encuesta de Microsoft Teams que el organizador envía al webhook público de Microsoft Teams del atacante.


A medida que Microsoft Teams procesa las tarjetas flash para el usuario, los servidores de Microsoft se conectarán nuevamente a la URL del servidor del atacante para recuperar el GIF, que se nombra utilizando la salida codificada en base64 del comando ejecutado.


El servidor GIFShell que se ejecuta en el servidor del atacante recibirá esta solicitud y decodificará automáticamente el nombre del archivo, lo que permitirá a los atacantes ver el resultado del comando ejecutado en el dispositivo de la víctima, como se muestra a continuación.




Demo: 'dGhlIHVzZXIgaXM6IA0KYm9iYnlyYXVjaDYyNzRcYm9iYnlyYXVJa0K.gif' se decodificaría en la salida del comando 'whoami' ejecutado en el dispositivo infectado:


the user is: 
bobbyrauch6274\bobbyrauIkBáë

Los actores de amenazas pueden continuar usando el servidor GIFShell para enviar más GIF, con más comandos integrados para ejecutar, y continuar recibiendo la salida cuando Microsoft intenta recuperar los GIF.


Dado que estas solicitudes las realiza el sitio web de Microsoft, urlp.asm.skype.com , que se utiliza para la comunicación regular de los equipos de Microsoft, el tráfico se considerará legítimo y el software de seguridad no lo detectará.

Esto permite que el ataque GIFShell extraiga datos de forma encubierta al mezclar la salida de sus comandos con la comunicación de red legítima de Microsoft Teams.


Microsoft reconoció la investigación, pero dijo que no se arreglaría ya que no se pasaron por alto los límites de seguridad.



59 visualizaciones0 comentarios
  • LinkedIn
  • YouTube
bottom of page