{"id":475,"date":"2024-11-11T15:31:46","date_gmt":"2024-11-11T15:31:46","guid":{"rendered":"https:\/\/www.gdata.com.mx\/blog\/?p=475"},"modified":"2026-05-07T00:43:51","modified_gmt":"2026-05-07T00:43:51","slug":"malware-por-bitbucket-presentacion-de-asyncrat","status":"publish","type":"post","link":"https:\/\/www.gdata.com.mx\/blog\/malware-por-bitbucket-presentacion-de-asyncrat\/","title":{"rendered":"Malware por (bit)bucket:\u00a0Presentaci\u00f3n de AsyncRAT"},"content":{"rendered":"\n<p>Recientemente, descubrimos una sofisticada campa\u00f1a de ataque que emplea un enfoque de m\u00faltiples etapas para distribuir AsyncRAT a trav\u00e9s de una plataforma leg\u00edtima llamada Bitbucket.<\/p>\n\n\n\n<p><strong>Un an\u00e1lisis de Lovely Antonio y Lance Go&nbsp;<\/strong><\/p>\n\n\n\n<p>Quer\u00edamos aprender c\u00f3mo se explota Bitbucket para descargar la carga \u00fatil. Se utilizaron varias capas de base64 para ocultar el c\u00f3digo a simple vista. Despu\u00e9s 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 \u00fatil de AsyncRAT.&nbsp;<\/p>\n\n\n\n<p><strong>Utilizar Bitbucket como repositorio de malware<\/strong><\/p>\n\n\n\n<p>Los atacantes han recurrido a Bitbucket, una plataforma de alojamiento de c\u00f3digo popular, para alojar sus cargas maliciosas. Algunos ejemplos de malware que utilizan Bitbucket incluyen el ladr\u00f3n Predator, el ladr\u00f3n Azorult y el ransomware STOP. Este enfoque presenta varias ventajas para los atacantes:&nbsp;<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Legitimidad: Bitbucket es una plataforma ampliamente utilizada para el desarrollo y la colaboraci\u00f3n de software leg\u00edtimos, lo que hace que sea menos probable que genere sospechas entre las soluciones de seguridad.\u00a0<\/li>\n\n\n\n<li>Accesibilidad: los repositorios p\u00fablicos de Bitbucket permiten a los atacantes compartir y distribuir f\u00e1cilmente sus cargas \u00fatiles a una amplia audiencia.\u00a0<\/li>\n<\/ol>\n\n\n\n<p>AsyncRAT explota varios vectores de ataque, incluidos correos electr\u00f3nicos de phishing con archivos adjuntos maliciosos [1], descargas autom\u00e1ticas desde sitios web comprometidos y kits de explotaci\u00f3n dirigidos a vulnerabilidades de software.&nbsp;&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"616\" src=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/10-2-1024x616.jpg\" alt=\"\" class=\"wp-image-495\" srcset=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/10-2-1024x616.jpg 1024w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/10-2-300x180.jpg 300w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/10-2-768x462.jpg 768w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/10-2-241x145.jpg 241w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/10-2-499x300.jpg 499w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/10-2.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Secuencia de ejecuci\u00f3n de la implementaci\u00f3n de AsyncRAT<\/p>\n\n\n\n<p><strong>Etapa 1: La capa de ofuscaci\u00f3n de VBScript<\/strong><\/p>\n\n\n\n<p>Se envi\u00f3 una muestra denominada \u201c01 DEMANDA LABORAL.vbs\u201d[1] a nuestra plataforma de env\u00edo de muestras para su an\u00e1lisis. El archivo VBS, tras una inspecci\u00f3n inicial, muestra lo que parece ser un galimat\u00edas (ver figura 2). Tras una inspecci\u00f3n m\u00e1s detallada, se puede encontrar un c\u00f3digo oculto dentro del archivo (ver figura 3).&nbsp;<\/p>\n\n\n\n<p>El script est\u00e1 dise\u00f1ado para ofuscar y ejecutar un comando de PowerShell. Utiliza manipulaci\u00f3n de cadenas, codificaci\u00f3n Base64 y ejecuci\u00f3n de comandos de PowerShell para lograr su objetivo. El c\u00f3digo revela que una variable \u201cQpWJ\u201d (que se ve en la figura 3) est\u00e1 codificada en Base64 junto con un simple reemplazo de caracteres.&nbsp;&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.gdatasoftware.com\/fileadmin\/_processed_\/c\/1\/AsyncRAT_Figure2_511bb0c056.jpg\"><\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"921\" height=\"382\" src=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-18.png\" alt=\"\" class=\"wp-image-497\" srcset=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-18.png 921w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-18-300x124.png 300w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-18-768x319.png 768w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-18-723x300.png 723w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-18-650x270.png 650w\" sizes=\"auto, (max-width: 921px) 100vw, 921px\" \/><\/figure>\n\n\n\n<p>Figura 2: Archivo enviado llamado 01 DEMANDA LABORAL.vbs <\/p>\n\n\n\n<p><a href=\"https:\/\/www.gdatasoftware.com\/fileadmin\/_processed_\/7\/a\/AsyncRAT_Figure3_fa32a1a49b.jpg\"><\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"921\" height=\"436\" src=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-19.png\" alt=\"\" class=\"wp-image-498\" srcset=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-19.png 921w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-19-300x142.png 300w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-19-768x364.png 768w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-19-634x300.png 634w\" sizes=\"auto, (max-width: 921px) 100vw, 921px\" \/><\/figure>\n\n\n\n<p>Figura 3: El relleno eliminado revela VBScript. <\/p>\n\n\n\n<p><strong>Etapa 2: PowerShell: el mecanismo de entrega de carga \u00fatil<\/strong><\/p>\n\n\n\n<p>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\u00e1s clara de la actividad maliciosa (consulte las figuras 4 y 5).<\/p>\n\n\n\n<p><a href=\"https:\/\/www.gdatasoftware.com\/fileadmin\/_processed_\/c\/0\/AsyncRAT_Figure4_dc1ddf4a8c.jpg\"><\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"921\" height=\"397\" src=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-20.png\" alt=\"\" class=\"wp-image-500\" srcset=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-20.png 921w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-20-300x129.png 300w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-20-768x331.png 768w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-20-696x300.png 696w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-20-650x280.png 650w\" sizes=\"auto, (max-width: 921px) 100vw, 921px\" \/><\/figure>\n\n\n\n<p>Figura 4: Descodificaci\u00f3n de \u201cQpWJ\u201d con Cyberchef <\/p>\n\n\n\n<p><a href=\"https:\/\/www.gdatasoftware.com\/fileadmin\/_processed_\/2\/8\/AsyncRAT_Figure5_17f6ed926b.jpg\"><\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"921\" height=\"109\" src=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-21.png\" alt=\"\" class=\"wp-image-501\" srcset=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-21.png 921w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-21-300x36.png 300w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-21-768x91.png 768w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-21-650x77.png 650w\" sizes=\"auto, (max-width: 921px) 100vw, 921px\" \/><\/figure>\n\n\n\n<p>Figura 5: Script de PowerShell decodificado <\/p>\n\n\n\n<p><a href=\"https:\/\/www.gdatasoftware.com\/fileadmin\/_processed_\/b\/1\/AsyncRAT_Figure6_eec5394960.jpg\"><br><\/a>El c\u00f3digo (figura 5) descarga un archivo llamado dllhope.txt[2] desde un repositorio de Bitbucket. Tambi\u00e9n vale la pena se\u00f1alar que VirusTotal marc\u00f3 las URL utilizadas por el script para que se asociaran con AsyncRAT (consulte la figura 6).&nbsp;<\/p>\n\n\n\n<p>Al abrir el archivo ClassLibrary3.dll [3] en DNSpy se revela el c\u00f3digo y el m\u00e9todo \u201cZxKHG\u201d junto con los seis par\u00e1metros necesarios. Los argumentos pasados \u200b\u200bse pueden encontrar en el script inicial [1].&nbsp;<\/p>\n\n\n\n<p>Los par\u00e1metros del m\u00e9todo son los siguientes:&nbsp;<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>_5 es una URL para obtener datos de la URL invertida\u00a0<\/li>\n\n\n\n<li>\u00a0&#8216;txt[.]pes4oivne\/sdaolnwod\/sds\/cfrrpiaj\/gro[.[tekcubtib\/\/[:spxxh&#8217;\u00a0<\/li>\n\n\n\n<li>(&#8216;hxxps:\/\/bitbucket[.]org\/jaiprrfc\/sds\/downloads\/envio4sep[.]txt&#8217;)\u00a0<\/li>\n\n\n\n<li>eMozMBl contiene la ruta completa del archivo VBScript\u00a0<\/li>\n\n\n\n<li>PdjLvfa se utiliza para nombrar y crear accesos directos.\u00a0<\/li>\n\n\n\n<li>UmZbL contiene el valor &#8216;1&#8217;, lo que probablemente indica una configuraci\u00f3n o un indicador de funci\u00f3n.\u00a0<\/li>\n\n\n\n<li>MbmvK no fue utilizado por el m\u00e9todo en el momento del an\u00e1lisis\u00a0<\/li>\n\n\n\n<li>El m\u00e9todo no utiliz\u00f3 RMMYL en el momento del an\u00e1lisis.\u00a0<\/li>\n<\/ol>\n\n\n\n<p>La secci\u00f3n de c\u00f3digo resaltada en la Figura 8 se carga de forma reflexiva utilizando [system.AppDomain]::CurrentDomain.Load. Esta t\u00e9cnica permite la ejecuci\u00f3n 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\u00f3n de la carga \u00fatil descargada: AsyncRAT. Un par\u00e1metro de bandera, UmZbL, dicta c\u00f3mo proceder\u00e1 el c\u00f3digo.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"921\" height=\"361\" src=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-22.png\" alt=\"\" class=\"wp-image-502\" srcset=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-22.png 921w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-22-300x118.png 300w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-22-768x301.png 768w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-22-765x300.png 765w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-22-650x255.png 650w\" sizes=\"auto, (max-width: 921px) 100vw, 921px\" \/><\/figure>\n\n\n\n<p>Figura 6: Virustotal del repositorio Bitbucket de dllhope.txt <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"921\" height=\"358\" src=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-23.png\" alt=\"\" class=\"wp-image-503\" srcset=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-23.png 921w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-23-300x117.png 300w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-23-768x299.png 768w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-23-772x300.png 772w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-23-650x253.png 650w\" sizes=\"auto, (max-width: 921px) 100vw, 921px\" \/><\/figure>\n\n\n\n<p>Figura 7. dllhope.txt: codificado en Base64 descargado desde Bitbucket<\/p>\n\n\n\n<p><a href=\"https:\/\/www.gdatasoftware.com\/fileadmin\/web\/general\/images\/blog\/2024\/10\/AsyncRAT_Figure8.jpg\"><\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"921\" height=\"396\" src=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-24.png\" alt=\"\" class=\"wp-image-504\" srcset=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-24.png 921w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-24-300x129.png 300w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-24-768x330.png 768w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-24-698x300.png 698w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-24-650x279.png 650w\" sizes=\"auto, (max-width: 921px) 100vw, 921px\" \/><\/figure>\n\n\n\n<p>Figura 7: dllhope.txt decodificado en dBase64 conocido como ClassLibrary3.dll<\/p>\n\n\n\n<p>La decodificaci\u00f3n de dllhope.txt[2] (ver figura 7) revela un archivo compilado .NET llamado ClassLibrary3.dll[3] (ver figuras 8 y 9).&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.gdatasoftware.com\/fileadmin\/_processed_\/a\/0\/AsyncRAT_Figure9_ed65b3e005.jpg\"><\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"921\" height=\"396\" src=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-25.png\" alt=\"\" class=\"wp-image-505\" srcset=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-25.png 921w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-25-300x129.png 300w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-25-768x330.png 768w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-25-698x300.png 698w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-25-650x279.png 650w\" sizes=\"auto, (max-width: 921px) 100vw, 921px\" \/><\/figure>\n\n\n\n<p>Figura 8. ClassLibrary3 vista en DNSpy<\/p>\n\n\n\n<p><strong>Comprobaci\u00f3n anti-VM<\/strong><\/p>\n\n\n\n<p>Si el par\u00e1metro de bandera contiene \u201c4\u201d: el c\u00f3digo verifica la presencia de herramientas de virtualizaci\u00f3n como VMware o VirtualBox. Si alguno de estos procesos est\u00e1 en ejecuci\u00f3n, el m\u00e9todo retorna inmediatamente, probablemente para evitar el an\u00e1lisis en un entorno aislado.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"921\" height=\"206\" src=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-32.png\" alt=\"\" class=\"wp-image-512\" srcset=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-32.png 921w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-32-300x67.png 300w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-32-768x172.png 768w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-32-650x145.png 650w\" sizes=\"auto, (max-width: 921px) 100vw, 921px\" \/><\/figure>\n\n\n\n<p><a href=\"https:\/\/www.gdatasoftware.com\/fileadmin\/_processed_\/4\/d\/AsyncRAT_Figure10_16377fb44f.jpg\"><\/a><\/p>\n\n\n\n<p>Comprobaci\u00f3n anti-virtualizaci\u00f3n<\/p>\n\n\n\n<p><strong>Mecanismos de persistencia:<\/strong><\/p>\n\n\n\n<p>Si el par\u00e1metro de bandera contiene \u201c1\u201d, el c\u00f3digo intentar\u00e1 establecer la persistencia mediante dos mecanismos: clave de ejecuci\u00f3n del registro y acceso directo a la carpeta de inicio. Un script llamado \u201cxx1.ps1\u201d crea una entrada en \u201cHKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\u201d para la persistencia, mientras que el otro script llamado \u201cxx2.vbs\u201d ejecuta la carga \u00fatil a trav\u00e9s 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\u00ed mismo[1] en una ventana oculta. Esto proporciona una capa adicional de persistencia.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"921\" height=\"426\" src=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-33.png\" alt=\"\" class=\"wp-image-513\" srcset=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-33.png 921w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-33-300x139.png 300w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-33-768x355.png 768w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-33-649x300.png 649w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-33-650x300.png 650w\" sizes=\"auto, (max-width: 921px) 100vw, 921px\" \/><\/figure>\n\n\n\n<p><a href=\"https:\/\/www.gdatasoftware.com\/fileadmin\/_processed_\/9\/8\/AsyncRAT_Figure11_c9d523184b.jpg\"><\/a><\/p>\n\n\n\n<p>Intente establecer la persistencia utilizando la clave de ejecuci\u00f3n del registro<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"921\" height=\"491\" src=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-34.png\" alt=\"\" class=\"wp-image-514\" srcset=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-34.png 921w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-34-300x160.png 300w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-34-768x409.png 768w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-34-272x145.png 272w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-34-563x300.png 563w\" sizes=\"auto, (max-width: 921px) 100vw, 921px\" \/><\/figure>\n\n\n\n<p><a href=\"https:\/\/www.gdatasoftware.com\/fileadmin\/_processed_\/3\/2\/AsyncRAT_Figure12_abcde80c0c.jpg\"><\/a><\/p>\n\n\n\n<p><strong>Descarga y ejecuci\u00f3n de la carga \u00fatil:<\/strong><\/p>\n\n\n\n<p>El c\u00f3digo descarga otra carga \u00fatil desde una URL que se construye invirtiendo y decodificando una cadena. La ubicaci\u00f3n 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.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"921\" height=\"431\" src=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-35.png\" alt=\"\" class=\"wp-image-515\" srcset=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-35.png 921w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-35-300x140.png 300w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-35-768x359.png 768w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-35-641x300.png 641w\" sizes=\"auto, (max-width: 921px) 100vw, 921px\" \/><\/figure>\n\n\n\n<p><strong>Descargando la carga \u00fatil de AsyncRat<\/strong><\/p>\n\n\n\n<p>Luego, la carga \u00fatil descargada se decodifica en Base64 y se carga en AppDomain. Se invoca un m\u00e9todo llamado WwQTZc dentro de la clase SuLOYU.MXuuJb de la carga \u00fatil cargada. Esto realiza el vaciado del proceso a RegSvcs.exe para ejecutar la carga \u00fatil de AsyncRAT.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"921\" height=\"382\" src=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-36.png\" alt=\"\" class=\"wp-image-516\" srcset=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-36.png 921w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-36-300x124.png 300w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-36-768x319.png 768w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-36-723x300.png 723w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-36-650x270.png 650w\" sizes=\"auto, (max-width: 921px) 100vw, 921px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"921\" height=\"397\" src=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-37.png\" alt=\"\" class=\"wp-image-517\" srcset=\"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-37.png 921w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-37-300x129.png 300w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-37-768x331.png 768w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-37-696x300.png 696w, https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/image-37-650x280.png 650w\" sizes=\"auto, (max-width: 921px) 100vw, 921px\" \/><\/figure>\n\n\n\n<p><strong>Etapa 3: Carga \u00fatil de AsyncRAT<\/strong><\/p>\n\n\n\n<p>AsyncRAT, que apareci\u00f3 por primera vez en 2013, es un troyano de acceso remoto (RAT) de c\u00f3digo abierto escrito en C#. Aunque inicialmente se present\u00f3 como una herramienta de administraci\u00f3n remota, r\u00e1pidamente gan\u00f3 notoriedad entre los cibercriminales por sus potentes capacidades y facilidad de uso.&nbsp;<\/p>\n\n\n\n<p>AsyncRAT proporciona a los atacantes un amplio control sobre las m\u00e1quinas infectadas, lo que les permite realizar una amplia gama de actividades maliciosas:&nbsp;<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Control de escritorio remoto: vea y controle la pantalla de la v\u00edctima en tiempo real\u00a0<\/li>\n\n\n\n<li>Gesti\u00f3n de archivos: busque, cargue, descargue y modifique archivos\u00a0<\/li>\n\n\n\n<li>Keylogging: captura las pulsaciones de teclas\u00a0<\/li>\n\n\n\n<li>Acceso a c\u00e1mara web y micr\u00f3fono: active de forma remota la c\u00e1mara web y el micr\u00f3fono de la v\u00edctima\u00a0<\/li>\n\n\n\n<li>Gesti\u00f3n de procesos: ver y finalizar procesos en ejecuci\u00f3n\u00a0<\/li>\n\n\n\n<li>Ejecuci\u00f3n de comandos: ejecutar comandos arbitrarios\u00a0<\/li>\n<\/ol>\n\n\n\n<p><strong>Pruebas de MITRE ATT&amp;CK<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>T\u00e1ctica&nbsp;<\/td><td>T\u00e9cnica&nbsp;<\/td><td>IDENTIFICACI\u00d3N&nbsp;<\/td><\/tr><tr><td>Ejecuci\u00f3n&nbsp;<\/td><td>Int\u00e9rprete de comandos y secuencias de comandos: shell de comandos de Windows&nbsp;<\/td><td>T1059.003&nbsp;<\/td><\/tr><tr><td>Ejecuci\u00f3n&nbsp;<\/td><td>Int\u00e9rprete de comandos y secuencias de comandos: PowerShell&nbsp;<\/td><td>T1059.001&nbsp;<\/td><\/tr><tr><td>Persistencia&nbsp;<\/td><td>Ejecuci\u00f3n de inicio autom\u00e1tico de arranque: claves de ejecuci\u00f3n del registro \/ carpeta de inicio&nbsp;<\/td><td>T1547&nbsp;<\/td><\/tr><tr><td>Evasi\u00f3n de defensa&nbsp;<\/td><td>Archivos o informaci\u00f3n ofuscados&nbsp;<\/td><td>T1027&nbsp;<\/td><\/tr><tr><td>Evasi\u00f3n de defensa&nbsp;<\/td><td>Mascarada&nbsp;<\/td><td>T1036&nbsp;<\/td><\/tr><tr><td>Evasi\u00f3n de defensa&nbsp;<\/td><td>Desofuscar\/Decodificar archivos o informaci\u00f3n&nbsp;<\/td><td>T1140&nbsp;<\/td><\/tr><tr><td>Evasi\u00f3n de defensa&nbsp;<\/td><td>Inyecci\u00f3n de proceso&nbsp;<\/td><td>T1055&nbsp;<\/td><\/tr><tr><td>Evasi\u00f3n de defensa&nbsp;<\/td><td>Evasi\u00f3n de virtualizaci\u00f3n\/sandbox&nbsp;<\/td><td>T1497&nbsp;<\/td><\/tr><tr><td>Impacto&nbsp;<\/td><td>Software de acceso remoto&nbsp;<\/td><td>T1219&nbsp;<\/td><\/tr><tr><td>Recopilaci\u00f3n&nbsp;<\/td><td>Captura de entrada: registro de teclas&nbsp;<\/td><td>T1056.001&nbsp;<\/td><\/tr><tr><td>Recopilaci\u00f3n&nbsp;<\/td><td>Captura de pantalla&nbsp;<\/td><td>T1113&nbsp;<\/td><\/tr><tr><td>Exfiltraci\u00f3n&nbsp;<\/td><td>Exfiltraci\u00f3n por el canal C2&nbsp;<\/td><td>T1041&nbsp;<\/td><\/tr><tr><td>Acceso a credenciales&nbsp;<\/td><td>Volcado de credenciales&nbsp;<\/td><td>T1003&nbsp;<\/td><\/tr><tr><td>Movimiento lateral&nbsp;<\/td><td>Servicios remotos: Protocolo de escritorio remoto&nbsp;<\/td><td>T1021.001&nbsp;<\/td><\/tr><tr><td>Impacto&nbsp;<\/td><td>Datos encriptados para mayor impacto&nbsp;<\/td><td>T148&nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>COI<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>&nbsp;<\/td><td><strong>SHA256<\/strong>&nbsp;<\/td><td><strong>Nombre del archivo<\/strong>&nbsp;<\/td><\/tr><tr><td>1&nbsp;<\/td><td>8fb6471b01c1d8122548d184ce5bceefae4df4ef0f1d1bb5c67b276c258e9125&nbsp;<\/td><td>01 DEMANDA LABORAL.vbs&nbsp;<\/td><\/tr><tr><td>2&nbsp;<\/td><td>E0d40dbc6be121cf62f222295ab1e01b5ce741d37d6c4b53f3beacb38a66e8e8&nbsp;<\/td><td>dllesperanza.txt&nbsp;<\/td><\/tr><tr><td>3&nbsp;<\/td><td>Ab3d8588b58152994d299fa57842798f3071cb0f550b37f1db8b42d56f8580f2&nbsp;<\/td><td>Biblioteca de clases 3.dll&nbsp;<\/td><\/tr><tr><td>4&nbsp;<\/td><td>C929354d7972f2595d805507f8896609a7b7aae74566aef9a0a5cb16f36e4fe2&nbsp;<\/td><td>enviosaaa.txt&nbsp;<\/td><\/tr><tr><td>5&nbsp;<\/td><td>1826b8379fdfdcd53dec782fb390ed1f5e97ee7ed3b099e8c3eb5b040a992553&nbsp;<\/td><td>Stub.exe&nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>&nbsp;<\/td><td><strong>URL<\/strong>&nbsp;<\/td><\/tr><tr><td>6&nbsp;<\/td><td>hXXps[:]\/\/bitbucket.org\/jaiprrfc\/sds\/downloads\/envio4sep.txt&nbsp;<\/td><\/tr><tr><td>7&nbsp;<\/td><td>hXXps[:]\/\/bitbucket.org\/556ghfhgfhgf\/fdsfdsf\/downloads\/dllhope.txt&nbsp;<\/td><\/tr><tr><td>8&nbsp;<\/td><td>hXXps[:]\/\/firebasestorage.googleapis.com\/v0\/b\/rodriakd-8413d.appspot.com\/o\/Pe\/PeHope.txt?alt=media&amp;token=7fe13398-6aa2-43e8-992c-35095e035362&nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Referencias<\/strong><\/p>\n\n\n\n<p>[1]&nbsp;<a href=\"https:\/\/blog.checkpoint.com\/research\/november-2023s-most-wanted-malware-new-asyncrat-campaign-discovered-while-fakeupdates-re-entered-the-top-ten-after-brief-hiatus\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/blog.checkpoint.com\/research\/november-2023s-most-wanted-malware-new-asyncrat-campaign-discovered- while-fakeupdates-re-entered-the-top-ten-after-brief&nbsp;-hiato\/<\/a>&nbsp;<\/p>\n\n\n\n<p>[2]&nbsp;<a href=\"https:\/\/blog.qualys.com\/vulnerabilities-threat-research\/2022\/08\/16\/asyncrat-c2-framework-overview-technical-analysis-and-detection\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/blog.qualys.com\/vulnerabilities-threat-research\/2022\/08\/16\/asyncrat-c2-framework-overview-technical-analysis-and-detection<\/a>&nbsp;<\/p>\n\n\n\n<p>Enlace: <a href=\"https:\/\/www.gdatasoftware.com\/blog\/2024\/10\/38043-asyncrat-bitbucket\">https:\/\/www.gdatasoftware.com\/blog\/2024\/10\/38043-asyncrat-bitbucket<\/a> Blog de G DATA Del equipo de analistas de virus&nbsp;del laboratorio de seguridad G DATA<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Recientemente, descubrimos una sofisticada campa\u00f1a de ataque que emplea un enfoque de m\u00faltiples etapas para distribuir AsyncRAT a trav\u00e9s de una plataforma leg\u00edtima llamada Bitbucket.<\/p>\n<p>Un an\u00e1lisis de Lovely Antonio y Lance Go&nbsp;<\/p>\n<p>Quer\u00edamos aprender c\u00f3mo se explota Bitbucket para descargar la carga \u00fatil. Se utilizaron varias capas de base64 para ocultar el c\u00f3digo a simple vista. Despu\u00e9s 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 \u00fatil de AsyncRAT.&nbsp;<\/p>\n","protected":false},"author":1,"featured_media":518,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-475","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-malware"],"jetpack_featured_media_url":"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/1-2.jpg","featured_image_src":"https:\/\/www.gdata.com.mx\/blog\/wp-content\/uploads\/2024\/11\/1-2-150x150.jpg","_links":{"self":[{"href":"https:\/\/www.gdata.com.mx\/blog\/wp-json\/wp\/v2\/posts\/475","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gdata.com.mx\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gdata.com.mx\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gdata.com.mx\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gdata.com.mx\/blog\/wp-json\/wp\/v2\/comments?post=475"}],"version-history":[{"count":3,"href":"https:\/\/www.gdata.com.mx\/blog\/wp-json\/wp\/v2\/posts\/475\/revisions"}],"predecessor-version":[{"id":519,"href":"https:\/\/www.gdata.com.mx\/blog\/wp-json\/wp\/v2\/posts\/475\/revisions\/519"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gdata.com.mx\/blog\/wp-json\/wp\/v2\/media\/518"}],"wp:attachment":[{"href":"https:\/\/www.gdata.com.mx\/blog\/wp-json\/wp\/v2\/media?parent=475"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gdata.com.mx\/blog\/wp-json\/wp\/v2\/categories?post=475"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gdata.com.mx\/blog\/wp-json\/wp\/v2\/tags?post=475"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}