Malware por (bit)bucket: Presentación de AsyncRAT

noviembre 11, 2024
G DATA Blog

 

Malware por (bit)bucket: Presentación de AsyncRAT

Recientemente, descubrimos una sofisticada campaña de ataque que emplea un enfoque de múltiples etapas para distribuir AsyncRAT a través de una plataforma legítima llamada Bitbucket.

Un análisis de Lovely Antonio y Lance Go 

Queríamos aprender cómo se explota Bitbucket para descargar la carga útil. Se utilizaron varias capas de base64 para ocultar el código a simple vista. Después de quitar esas capas, pudimos descubrir la historia completa y los indicadores clave de compromiso (IOC) que encontramos al analizar la entrega de la carga útil de AsyncRAT. 

Utilizar Bitbucket como repositorio de malware

Los atacantes han recurrido a Bitbucket, una plataforma de alojamiento de código popular, para alojar sus cargas maliciosas. Algunos ejemplos de malware que utilizan Bitbucket incluyen el ladrón Predator, el ladrón Azorult y el ransomware STOP. Este enfoque presenta varias ventajas para los atacantes: 

  1. Legitimidad: Bitbucket es una plataforma ampliamente utilizada para el desarrollo y la colaboración de software legítimos, lo que hace que sea menos probable que genere sospechas entre las soluciones de seguridad. 
  2. Accesibilidad: los repositorios públicos de Bitbucket permiten a los atacantes compartir y distribuir fácilmente sus cargas útiles a una amplia audiencia. 

AsyncRAT explota varios vectores de ataque, incluidos correos electrónicos de phishing con archivos adjuntos maliciosos [1], descargas automáticas desde sitios web comprometidos y kits de explotación dirigidos a vulnerabilidades de software.  

Secuencia de ejecución de la implementación de AsyncRAT

Etapa 1: La capa de ofuscación de VBScript

Se envió una muestra denominada “01 DEMANDA LABORAL.vbs”[1] a nuestra plataforma de envío de muestras para su análisis. El archivo VBS, tras una inspección inicial, muestra lo que parece ser un galimatías (ver figura 2). Tras una inspección más detallada, se puede encontrar un código oculto dentro del archivo (ver figura 3). 

El script está diseñado para ofuscar y ejecutar un comando de PowerShell. Utiliza manipulación de cadenas, codificación Base64 y ejecución de comandos de PowerShell para lograr su objetivo. El código revela que una variable “QpWJ” (que se ve en la figura 3) está codificada en Base64 junto con un simple reemplazo de caracteres.  

Figura 2: Archivo enviado llamado 01 DEMANDA LABORAL.vbs

Figura 3: El relleno eliminado revela VBScript.

Etapa 2: PowerShell: el mecanismo de entrega de carga útil

El VBScript construye y ejecuta un comando de PowerShell, lo que hace que el ataque pase a la siguiente etapa de forma eficaz. El comando de PowerShell decodificado proporciona una imagen más clara de la actividad maliciosa (consulte las figuras 4 y 5).

Figura 4: Descodificación de “QpWJ” con Cyberchef

Figura 5: Script de PowerShell decodificado


El código (figura 5) descarga un archivo llamado dllhope.txt[2] desde un repositorio de Bitbucket. También vale la pena señalar que VirusTotal marcó las URL utilizadas por el script para que se asociaran con AsyncRAT (consulte la figura 6). 

Al abrir el archivo ClassLibrary3.dll [3] en DNSpy se revela el código y el método “ZxKHG” junto con los seis parámetros necesarios. Los argumentos pasados ​​se pueden encontrar en el script inicial [1]. 

Los parámetros del método son los siguientes: 

  1. _5 es una URL para obtener datos de la URL invertida 
  2.  ‘txt[.]pes4oivne/sdaolnwod/sds/cfrrpiaj/gro[.[tekcubtib//[:spxxh’ 
  3. (‘hxxps://bitbucket[.]org/jaiprrfc/sds/downloads/envio4sep[.]txt’) 
  4. eMozMBl contiene la ruta completa del archivo VBScript 
  5. PdjLvfa se utiliza para nombrar y crear accesos directos. 
  6. UmZbL contiene el valor ‘1’, lo que probablemente indica una configuración o un indicador de función. 
  7. MbmvK no fue utilizado por el método en el momento del análisis 
  8. El método no utilizó RMMYL en el momento del análisis. 

La sección de código resaltada en la Figura 8 se carga de forma reflexiva utilizando [system.AppDomain]::CurrentDomain.Load. Esta técnica permite la ejecución en memoria, evitando los mecanismos de seguridad tradicionales que utilizan el escaneo de patrones en los archivos. ClassLibrary3.dll[3] revela la funcionalidad principal del ataque, incluidos los mecanismos de persistencia y la ejecución de la carga útil descargada: AsyncRAT. Un parámetro de bandera, UmZbL, dicta cómo procederá el código. 

Figura 6: Virustotal del repositorio Bitbucket de dllhope.txt

Figura 7. dllhope.txt: codificado en Base64 descargado desde Bitbucket

Figura 7: dllhope.txt decodificado en dBase64 conocido como ClassLibrary3.dll

La decodificación de dllhope.txt[2] (ver figura 7) revela un archivo compilado .NET llamado ClassLibrary3.dll[3] (ver figuras 8 y 9). 

Figura 8. ClassLibrary3 vista en DNSpy

Comprobación anti-VM

Si el parámetro de bandera contiene “4”: el código verifica la presencia de herramientas de virtualización como VMware o VirtualBox. Si alguno de estos procesos está en ejecución, el método retorna inmediatamente, probablemente para evitar el análisis en un entorno aislado. 

Comprobación anti-virtualización

Mecanismos de persistencia:

Si el parámetro de bandera contiene “1”, el código intentará establecer la persistencia mediante dos mecanismos: clave de ejecución del registro y acceso directo a la carpeta de inicio. Un script llamado “xx1.ps1” crea una entrada en “HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run” para la persistencia, mientras que el otro script llamado “xx2.vbs” ejecuta la carga útil a través de una ventana oculta de PowerShell. ClassLibrary3.dll[3] crea un acceso directo en la carpeta de inicio llamado PdjLvfa.lnk que apunta a powershell.exe con argumentos para ejecutarse a sí mismo[1] en una ventana oculta. Esto proporciona una capa adicional de persistencia. 

Intente establecer la persistencia utilizando la clave de ejecución del registro

Descarga y ejecución de la carga útil:

El código descarga otra carga útil desde una URL que se construye invirtiendo y decodificando una cadena. La ubicación de descarga de AsyncRAT se indica al final del script de PowerShell (que se ve en la Figura 5): hxxps[:]//bitbucket[.]org/jaiprrfc/sds/downloads/envio4sep[.]txt.

Descargando la carga útil de AsyncRat

Luego, la carga útil descargada se decodifica en Base64 y se carga en AppDomain. Se invoca un método llamado WwQTZc dentro de la clase SuLOYU.MXuuJb de la carga útil cargada. Esto realiza el vaciado del proceso a RegSvcs.exe para ejecutar la carga útil de AsyncRAT. 

Etapa 3: Carga útil de AsyncRAT

AsyncRAT, que apareció por primera vez en 2013, es un troyano de acceso remoto (RAT) de código abierto escrito en C#. Aunque inicialmente se presentó como una herramienta de administración remota, rápidamente ganó notoriedad entre los cibercriminales por sus potentes capacidades y facilidad de uso. 

AsyncRAT proporciona a los atacantes un amplio control sobre las máquinas infectadas, lo que les permite realizar una amplia gama de actividades maliciosas: 

  1. Control de escritorio remoto: vea y controle la pantalla de la víctima en tiempo real 
  2. Gestión de archivos: busque, cargue, descargue y modifique archivos 
  3. Keylogging: captura las pulsaciones de teclas 
  4. Acceso a cámara web y micrófono: active de forma remota la cámara web y el micrófono de la víctima 
  5. Gestión de procesos: ver y finalizar procesos en ejecución 
  6. Ejecución de comandos: ejecutar comandos arbitrarios 

Pruebas de MITRE ATT&CK

Táctica Técnica IDENTIFICACIÓN 
Ejecución Intérprete de comandos y secuencias de comandos: shell de comandos de Windows T1059.003 
Ejecución Intérprete de comandos y secuencias de comandos: PowerShell T1059.001 
Persistencia Ejecución de inicio automático de arranque: claves de ejecución del registro / carpeta de inicio T1547 
Evasión de defensa Archivos o información ofuscados T1027 
Evasión de defensa Mascarada T1036 
Evasión de defensa Desofuscar/Decodificar archivos o información T1140 
Evasión de defensa Inyección de proceso T1055 
Evasión de defensa Evasión de virtualización/sandbox T1497 
Impacto Software de acceso remoto T1219 
Recopilación Captura de entrada: registro de teclas T1056.001 
Recopilación Captura de pantalla T1113 
Exfiltración Exfiltración por el canal C2 T1041 
Acceso a credenciales Volcado de credenciales T1003 
Movimiento lateral Servicios remotos: Protocolo de escritorio remoto T1021.001 
Impacto Datos encriptados para mayor impacto T148 

COI

 SHA256 Nombre del archivo 
8fb6471b01c1d8122548d184ce5bceefae4df4ef0f1d1bb5c67b276c258e9125 01 DEMANDA LABORAL.vbs 
E0d40dbc6be121cf62f222295ab1e01b5ce741d37d6c4b53f3beacb38a66e8e8 dllesperanza.txt 
Ab3d8588b58152994d299fa57842798f3071cb0f550b37f1db8b42d56f8580f2 Biblioteca de clases 3.dll 
C929354d7972f2595d805507f8896609a7b7aae74566aef9a0a5cb16f36e4fe2 enviosaaa.txt 
1826b8379fdfdcd53dec782fb390ed1f5e97ee7ed3b099e8c3eb5b040a992553 Stub.exe 
 URL 
hXXps[:]//bitbucket.org/jaiprrfc/sds/downloads/envio4sep.txt 
hXXps[:]//bitbucket.org/556ghfhgfhgf/fdsfdsf/downloads/dllhope.txt 
hXXps[:]//firebasestorage.googleapis.com/v0/b/rodriakd-8413d.appspot.com/o/Pe/PeHope.txt?alt=media&token=7fe13398-6aa2-43e8-992c-35095e035362 

Referencias

[1] https://blog.checkpoint.com/research/november-2023s-most-wanted-malware-new-asyncrat-campaign-discovered- while-fakeupdates-re-entered-the-top-ten-after-brief -hiato/ 

[2] https://blog.qualys.com/vulnerabilities-threat-research/2022/08/16/asyncrat-c2-framework-overview-technical-analysis-and-detection 

Enlace: https://www.gdatasoftware.com/blog/2024/10/38043-asyncrat-bitbucket Blog de G DATA Del equipo de analistas de virus del laboratorio de seguridad G DATA