fbpx
Capital Software

Nueva campaña masiva de malware Ursnif y GrandCrab

El equipo del Security Operation Center SOC de Capital Software, observó una campaña interesante durante el último mes. Este informe se publica para ayudar a los investigadores y profesionales de la seguridad a combatir esta campaña a medida que se descubren nuevas muestras en el medio silvestre a diario. Este ataque, si tiene éxito, puede infectar un sistema comprometido con el malware Ursnif y el ransomware GandCrab. El ataque general aprovecha varios enfoques diferentes, que son técnicas populares entre los teams rojos, los adversarios centrados en el espionaje y las campañas criminales a gran escala.

Esta campaña llegó originalmente a través de correos electrónicos de phishing que contenían un documento de Word adjunto con macros incrustadas, Capital Software localizó aproximadamente 180 variantes en su hábitat natural. La macro llamaría a un script PowerShell codificado y luego usaría una serie de técnicas para descargar y ejecutar tanto Ursnif como GandCrab variante.

Hallazgos técnicos

Archivo portador

En esta campaña, los atacantes utilizaron un documento de MS Word (formato .doc) para entregar las etapas iniciales. Cabe señalar que de las aproximadamente 180 variantes de Word ubicadas, la mayor diferencia en los documentos fueron los metadatos y los datos de la chatarra ubicados en las macros maliciosas. Sin embargo, los metadatos mostraron claramente que los documentos preparados para esta campaña se guardaron inicialmente el 17 de diciembre de 2018 y continuaron actualizándose hasta el 21 de enero de 2019. Varios campos de metadatos (específicamente título, tema, autor, comentarios, gerente y compañía) Parece que se han llenado con diferentes conjuntos de datos. Por ejemplo, el sujeto en todas las muestras fue una combinación de un estado de los EE. UU. Y un nombre común (como Utah Erick oTennessee Dayna ). Para este post se analizó la siguiente muestra.

Nombre del archivo: Richard_Johnson.docTamaño del archivo: 102,400 bytesMD5: 878e4e8677e68aba918d930f2cc67fbeSHA256: 0a3f915dd071e862046949885043b3ba61100b946cbc0d84ef7c44d77a50f080

Tabla 1: Muestra analizada

El documento contenía una macro VBS que una vez descomprimida tenía aproximadamente 650 líneas de código. La gran mayoría de eso fue código basura, las siguientes imágenes representan una visualización de alto nivel del script en sí.

Figura 2: Descripción general de VBScript

Una vez que se eliminó el código de correo no deseado del VBScript, hay aproximadamente 18 líneas de código relevante, que en última instancia llaman a un cuadro de forma en el documento actual. Los nombres de las variables en sí no son relevantes, sin embargo, los métodos en negrita a continuación recuperarán el campo Texto alternativo de la forma especificada, que luego se ejecutará.

Sub AutoOpen ()Establecer QWxwqfqgHttm = ThisDocumentEstablezca FXpVcBPxzVsJ = QWxwqfqgHttm. Formas (“4obka2etp1318a”)faaQXNtRqmxB = FXpVcBPxzVsJ. Texto alternativonpNsCwDavJ = Array (HpTNHpSpmZgp, BlmmaRvZMLP, tRzpZFwJWJcCj, tPJRanNbKWZPrd) Tipo de la clase de la clase de la clase de correo en el que se realizó la interacción.

Tabla 2: Código relevante de VBScript

El texto alternativo se puede observar fácilmente en el cuerpo del documento de Office. El área resaltada en azul es el nombre de la forma que se está localizando, mientras que el texto en sí está resaltado en rojo. Está claro que el texto es un comando codificado en base64, que luego ejecuta el VBScript anterior.

Figura 3: Texto alternativo

Segunda etapa

La secuencia de comandos de PowerShell primero creará una instancia de la clase .NET Webclient y luego enumerará los métodos disponibles usando la llamada GetMethods () (resaltada en la imagen en rojo). Los métodos enumerados se almacenan, luego un bucle for busca primero el método denominado DownloadString (resaltado en azul).

Si se localiza el método DownloadString, se pondrá en contacto con el C2 codificado por hardware que solicita un archivo, que se descarga y luego se invoca (resaltado en azul). Se debe tener en cuenta que debido a que el recurso solicitado se almacena como una cadena y se ejecuta, todo esto ocurre en la memoria. El análisis adicional de la cadena descargada se proporciona en la sección de la base de Gandcrab a continuación.

El bucle busca el nombre del método DownloadData y, si se encuentra, descargará un recurso de un segundo C2. Esta solicitud se almacena en el directorio CommonApplicationData ( C: \ ProgramData en Vista y más adelante) como el nombre del archivo codificado (resaltado en verde). La secuencia de comandos utilizará el objeto DCOM codificado de forma rígida C08AFD90-F2A1-11D1-8455-00A0C91F3880 , que es el ClassID para ShellBrowserWindow. Una publicación anterior del blogpor enigma0x3, detallaba cómo se puede aprovechar este CLSID para crear una instancia del objeto ShellBrowserWindow y llamar al método ShellExecute, que es el mismo enfoque que tomaron los atacantes. Este enfoque también se ha utilizado en diferentes módulos de Empire .

Figura 4: Script de PowerShell

Cargas útiles

Las cargas útiles que se descargan en los pasos anteriores se ejecutan en el sistema.

Cuna GandCrab

La primera carga útil que se descarga a través del método DownloadString resaltado anteriormente, es una línea de PowerShell que usa una instrucción IF para evaluar la arquitectura del sistema comprometido y luego descarga una carga adicional de pastebin.com. Esta carga útil adicional se ejecuta en la memoria. La imagen a continuación muestra el contenido del archivo o402ek2m.php. Cabe señalar que los atacantes actualizaron el contenido de o402ek2m.php para hacer referencia a diferentes subidas de pastebin a lo largo de esta campaña. También se actualizó el nombre de la función que se invoca, en el siguiente ejemplo fue CJOJFNUWNQKRTLLTMCVDCKFGG , sin embargo, se cambió dinámicamente para que coincida con el nombre de la función que estaría presente en el archivo pastebin que se estaba descargando.

Figura 5: Cuna PowerShell

Una vez que se descargaron los contenidos sin procesar de la publicación pastebin.com, esos datos también se ejecutarán en la memoria. En las variantes que se obtuvieron durante esta campaña, el archivo contenía un script de PowerShell que tenía aproximadamente 2800 líneas. Este script de PowerShell es una versión del módulo Empire Invoke-PSInject , con muy pocas modificaciones. La mayoría si las modificaciones son de eliminar comentarios y renombrar variables. El script tomará un archivo PE incrustado que ha sido codificado en base64 y lo inyectará en el proceso actual de PowerShell. La imagen a continuación es la función principal a la que se llama, que a su vez llama a la función responsable de inyectar el archivo PE incorporado.

Figura 6: secuencia de comandos de inyección reflectiva PowerShell

El archivo PE codificado en base64 que se puede ver en la línea 2760 de la imagen de arriba es una Variante de GandCrab.Esta variante (los metadatos para los cuales se enumeran a continuación) es Gandcrab versión 5.0.4.

Nombre del archivo: krab5Tamaño del archivo: 133,632 bytesMD5: 0f270db9ab9361e20058b8c6129bf30eSHA256: d6c53d9341dda1252ada3861898840be4d669abae2b983ab9bf5259b84de7525Fuzzy: 1536: 7S / 0t4vMd + uEkJd4a7b + KqeaiMGFzj92URuVSuKhsWjcdRIJXNhoJwyvZaX: m / fMb7t / JqNi5 + VSuKORIJXmaXTiempo compilado: lun 29 de octubre 17:39:23 2018 UTCSecciones de PE (5): Nombre Tamaño MD5.text 73,728 019bc7edf8c2896754fdbdbc2ddae4ec.rdata 27,136 d6ed79624f7af19ba90f51379b7f31e4.data 26,112 1ec7b57b01d0c46b628a991555fc90f0.rsrc 512 89b7e19270b2a5563c301b84b28e423f.reloc 5,120 685c3c775f65bffceccc1598ff7c2e59DLL original: krab5.dllExportaciones DLL (1): Nombre ordinal1 _ReflectiveLoader @ 0Magic: PE32 ejecutable para MS Windows (DLL) (GUI) Intel 80386 de 32 bits

Tabla 3: metadatos de Gandcrab

Ursnif

La segunda carga útil, descargada a través del método DownloadData resaltado en la Figura 4, es un ejecutable de Ursnif. En este caso, se guarda en el directorio C: \ ProgramData con un nombre pseudoaleatorio. Cabe señalar que el nombre del archivo se cambió a lo largo de esta campaña. Una vez ejecutada, la muestra de Ursnif llevará a cabo las acciones típicas observadas en las muestras de Ursnif, como la recolección de credenciales, la recopilación de información del sistema y proceso, y la implementación de muestras de malware adicionales. La información para esta muestra específica se detalla a continuación. Sin embargo, numerosas variantes de Ursnif se alojaron en el sitio bevendbrec.com durante esta campaña. Se descubrieron aproximadamente 120 variantes diferentes de Ursnif que se alojaban desde los dominios iscondisth.com y bevendbrec.com.

Nombre del archivo: irongreen.exeTamaño del archivo: 265,728 bytesMD5: 404d25e3a18bda19a238f77270837198SHA256: c064f6f047a4e39014a29c8c95526c3fe90d7bcea5ef0b8f21ea306c27713d1fBorrosa: 6144: l2BrJZHpYjthdeDBriFX8gN7Fcp4bxKXKFpqKx: cBxYjNqBuSo504bxKXcp1xHora compilada: dom 18 de diciembre 11:04:31 2011 UTCSecciones de PE (5): Nombre Tamaño MD5.text 219,648 85aa9117c381eae3d181ab63daab335e.rdata 27,648 3e1c774bc4e0ffc2271075e621aa3f3d.data 6,656 6c389e5e301564f65dcad4811dbded8b.rsrc 1,024 efba623cc62ffd0ccbf7f3fbf6264905.reloc 9,728 6cf46599a57a6cbc5d18fbb2883620ceMagic: PE32 ejecutable para MS Windows (GUI) Intel 80386 de 32 bits

Tabla 4: Metadatos Ursnif

Detalles de la campaña

Mientras investigaba esta campaña, aproximadamente 180 variantes estaban ubicadas en la naturaleza. Al usar la funcionalidad de VirusTotal Graph, estas variantes podrían organizarse en varios grupos que comúnmente se asocian con metadatos o estructuras de documentos como macros o archivos de imagen incrustados (que se muestran en la imagen a continuación). Las variantes directamente relacionadas con este análisis se extrajeron y expandieron en la Figura 8.

Figura 7: Documentos de Word relacionados con la campaña.

La siguiente imagen resalta los nodos asociados con las muestras analizadas en este informe. El gráfico también se puede ver en la consola VTGraph para una exploración adicional. El gráfico resalta las al menos 3 variantes diferentes de Ursnif que se alojaban en el sitio de com de bevendbrec [.]. En el gráfico a continuación se pueden observar la base de PowerShell y el script de PS Empire que inyectaría la muestra de Gandcrab en la memoria.

Figura 8: Análisis de relaciones aisladas de documentos.

Las variantes de Ursnif que estaban ubicadas en la naturaleza se resaltan en la imagen de abajo. Las variantes fueron agrupadas principalmente por infraestructura C2. La gran agrupación a la derecha del diagrama son variantes directas de la muestra a la que se hace referencia en este documento. Las muestras en esta agrupación se alojaron en sitios que fueron llamados en la segunda etapa. Las muestras tuvieron cambios menores, y supuestamente fueron cambiados por los atacantes para evitar la detección por hash.

Figura 9: Muestras de Ursnif relacionadas con la campaña.

[social_warfare]

Abrir chat
1
Escanea el código
Hola, bienvenido a Capital Software, somos una empresa de soluciones informáticas. ¿En qué podemos ayudarte hoy?