DePriMon. Se registra como «Monitor de impresión predeterminado», pero es un malware.

Los investigadores de ESET han descubierto un nuevo descargador con una novela, no vista previamente en la técnica de instalación salvaje

DePriMon es un descargador malicioso, con varias etapas y que utiliza muchas técnicas no tradicionales. Para lograr la persistencia, el malware registra un nuevo monitor de puerto local, un truco que se incluye en «Monitores Portuarios«Técnica en el Base de conocimiento MITRE ATT & CK. Para eso, el malware usa el nombre «Monitor de impresión predeterminado de Windows»; Por eso lo llamamos DePriMon. Debido a su complejidad y arquitectura modular, consideramos que es un marco.

Según nuestra telemetría, DePriMon ha estado activo desde al menos marzo de 2017. DePriMon fue detectado en una empresa privada, con sede en Europa Central, y en docenas de computadoras en el Medio Oriente.

Algunos de los nombres de dominio utilizados como servidores de C&C contienen palabras en árabe, lo que da una indicación de una campaña específica de la región. Sin embargo, DePriMon merece atención más allá de la distribución geográfica de sus objetivos: es un malware cuidadosamente escrito, con mucha encriptación que se usa correctamente.

Para ayudar a los defensores a mantenerse a salvo de esta amenaza, hemos analizado a fondo este malware recién descubierto, centrándonos en el descargador mismo. Debido a que nos faltan etapas iniciales, a las que nos referiremos aquí como «la primera etapa», no conocemos la distribución inicial y el vector de compromiso. El tipo de carga útil final que se usa en los ataques es otra pregunta que queda por responder.

Sin embargo, debe tenerse en cuenta que, en algunos casos, DePriMon se detectó con malware de ColorLambert en las mismas computadoras en un corto período de tiempo. ColouredLambert es utilizado por el grupo de ciberespionaje Lamberts (también conocido como Longhorn) y está vinculado a la fuga de Vault 7 de las capacidades de la CIA. Nuestros colegas de Symantec y Kaspersky publicó sus análisis en abril de 2017.

Análisis técnico

Etapa dos

Tanto la segunda como la tercera etapa de DePriMon se entregan al disco de la víctima en la primera etapa. La segunda etapa se instala y carga la tercera etapa utilizando una ruta codificada y codificada. Una de las posibles explicaciones es que se configuró después de la primera etapa del ataque.

La técnica de instalación descrita es única. En principio, se describe en la taxonomía MITER ATT & CK como «Monitores de puertos», bajo las tácticas de persistencia y escalada de privilegios. Creemos que DePriMon es el primer ejemplo de malware que utiliza esta técnica descrita públicamente.

La segunda etapa registra la DLL de la tercera etapa como un monitor de puerto creando la siguiente clave y valor de registro:

HKLM SYSTEM CurrentControlSet Control Print Monitors Windows Default Print Monitor
Controlador =% PathToThirdStageDLL%

Se requieren derechos de administrador para crear esta clave de registro.

Al inicio del sistema, la DLL registrada será cargada por spoolsv.exe con SISTEMA privilegios que, combinados con la singularidad de este método, hacen que esta técnica sea muy efectiva para los atacantes.

La segunda etapa verifica regularmente si hay un archivo en el % system32% carpeta con el mismo nombre que el archivo DLL de la tercera etapa pero sin la extensión «.dll». Este archivo sirve como desencadenante de desinstalación: si DePriMon lo encuentra, elimina este archivo y sus propios componentes de forma segura al sobrescribir los archivos binarios y luego eliminarlos.

Etapa tres

La tercera etapa, responsable de descargar las principales cargas útiles de los operadores de DePriMon, también implementa algunas técnicas interesantes.

Para la comunicación C&C, utiliza la implementación de Microsoft de SSL / TLS, Secure Channel, en lugar de API comunes como WinHTTP o WinInet. Su configuración es muy compleja, al igual que la forma en que el malware lo maneja. Finalmente, los autores han puesto un esfuerzo significativo en el cifrado, haciendo que el malware DePriMon sea más difícil de analizar.

Comunicación C&C

DePriMon se comunica de forma segura a través de TLS, sin embargo, no en un nivel alto como es un escenario típico en malware. La conexión se inicializa con un socket de Windows y puede continuar con la inicialización de una sesión autenticada de Interfaz de proveedor de soporte de seguridad (SSPI) con el SSP Negotiate / NTLM. Después de eso, DePriMon usa Schannel.

SSPI se usa / no se usa de acuerdo con un indicador particular en el archivo de configuración y puede utilizar la configuración de proxy local de la máquina. La implementación es similar a esta ejemplo proporcionado por Microsoft.

La implementación del malware de TLS a través de Schannel es similar a esto ejemplo de Coast Research & Development. Incluye crear credenciales, realizar el protocolo de enlace del cliente y verificar el certificado del servidor.

Figura 1. Parte de la implementación de SSPI como resultado del descompilador Hex-Rays

Una vez establecida la comunicación, la tercera etapa cifra y descifra los mensajes manualmente cada vez.

Configuración

Los datos de configuración para la tercera etapa de DePriMon tienen 27 miembros, que es un número inusualmente grande para un descargador. Está encriptado con AES-256 e incrustado en el binario.

Durante la primera ejecución, la tercera etapa de DePriMon (el descargador mismo) descifra los datos de configuración con la Clave 2 (consulte la sección IoC), los cifra con la Clave 3 y almacena el archivo de configuración cifrado en una carpeta temporal. El nombre de archivo para el archivo de configuración se crea mediante el siguiente proceso: a partir del segundo byte, el valor de la Clave 2 se transforma en un número en la base 36, pero se codifica utilizando el alfabeto personalizado «abc … xyz012 … 789». La extensión del archivo de configuración es «.tmp».

Un ejemplo de una ruta de archivo de configuración: % temp% rb1us0wm99sslpa1vx.tmp.

Durante la segunda ejecución, el descargador lee los datos de configuración del archivo, no de sí mismo; de esta manera, el atacante puede actualizar fácilmente la configuración.

Gracias a su diseño seguro, la configuración no se deja en la memoria sin cifrar. Cada vez que el descargador necesita usar algún elemento del archivo de configuración, descifra el archivo de configuración, recupera el miembro y vuelve a cifrar el archivo.

Este diseño protege la función principal del malware, la comunicación C&C, contra el análisis forense de la memoria.

Figura 2. Parte del código visto por el descompilador Hex-Rays, que ilustra cómo el malware DePriMon descifra el archivo de configuración, guarda algunos miembros en variables locales y lo vuelve a cifrar

De interés en el archivo de configuración son:

  • Dos entradas para nombres de usuario y dos miembros para contraseñas: para el servidor proxy si está configurado en la máquina. Significa que los atacantes se están preparando para continuar su ataque a través de un proxy con credenciales. Sin embargo, no hemos visto la funcionalidad para robar estos detalles, por lo que parece que se hace en otra fase del ataque.
  • Tres entradas para tres servidores C&C, cada uno de ellos utilizado en una ocasión diferente.
  • Tres entradas para tres puertos, cada uno de ellos utilizado en una ocasión diferente.
  • Indicadores que indican si el descargador inicializa una conexión a través de la Interfaz de proveedor de soporte de seguridad (SSPI) con un posible proxy o solo con un socket (descrito más adelante).

Cabe señalar que, además de los servidores de C&C extraídos de muestras de malware, identificamos dominios y servidores adicionales probablemente relacionados con este malware.

Cifrado

El malware utiliza el algoritmo de cifrado AES con tres claves diferentes de 256 bits para diferentes propósitos (estas claves se enumeran en la sección IoC).

  • Clave 1: para descifrar varias cadenas sensibles en el malware.
  • Clave 2: para el cifrado y descifrado de los datos de configuración en la memoria (como se describió anteriormente). Esta clave también se usa para generar la tercera clave.
  • Clave 3: para el cifrado y descifrado del archivo de configuración en el disco.

Esta clave no está codificada, sino que se deriva utilizando una matriz de 32 bytes que luego se cifra. La matriz se genera de la siguiente manera: los primeros 4 bytes son el número de serie del volumen de la unidad del sistema, y ​​los 28 bytes restantes contienen los valores 5 a 32. Esta matriz se cifra con la clave 2, lo que da como resultado la clave 3.

Conclusión

DePriMon es un descargador inusualmente avanzado cuyos desarrolladores han hecho un esfuerzo adicional para configurar la arquitectura y crear los componentes críticos.

DePriMon se descarga en la memoria y se ejecuta directamente desde allí como una DLL utilizando la técnica de carga reflectante de DLL. Nunca se almacena en el disco. Tiene un archivo de configuración sorprendentemente extenso con varios elementos interesantes, su encriptación se implementa correctamente y protege la comunicación C&C de manera efectiva.

Como resultado, DePriMon es una herramienta potente, flexible y persistente diseñada para descargar una carga útil y ejecutarla, y para recopilar información básica sobre el sistema y su usuario en el camino.

Indicadores de compromiso (IoC)

Nombres de detección de ESET

Win32 / DePriMon
Win64 / DePriMon

SHA-1 hashes

02B38F6E8B54885FA967851A5580F61C14A0AAB6
03E047DD4CECB16F513C44599BF9B8BA82D0B7CB
0996C280AB704E95C9043C5A250CCE077DF9C8B2
15EBE328A501B1D603E66762FBB4583D73E109F7
1911F6E8B05E38A3C994048C759C5EA2B95CE5F7
2B30BE3F39DEF1F404264D8858B89769E6C032D9
2D80B235CDF41E09D055DD1B01FD690E13BE0AC7
6DB79671A3F31F7A9BB870151792A56276619DC1
6FAB7AA0479D41700981983A39F962F28CCFBE29
7D0B08654B47329AD6AE44B8FF158105EA736BC3
7E8A7273C5A0D49DFE6DA04FEF963E30D5258814
8B4F3A06BA41F859E4CC394985BB788D5F76C85C
94C0BE25077D9A76F14A63CBF7A774A96E8006B8
968B52550062848A717027C512AFEDED19254F58
9C4BADE47865E8111DD3EEE6C5C4BC83F2489F5B
AA59CB6715CFFF545579861E5E77308F6CAEAC36
C2388C2B2ED6063EACBA8A4021CE32EB0929FAD2
CA34050771678C65040065822729F44B35C87B0C
D38045B42C7E87C199993AB929AD92ADE4F82398
E272FDA0E9BA1A1B8EF444FF5F2E8EE419746384
E2D39E290201010F49652EE6116FD9B35C9AD882
F413EEE3CFD85A60D7AFC4D4ECC4445BB1F0B8BC

Dominios

Dominio dirección IP
img.dealscienters (.) net 138.59.32.72
teknikgorus (.) com 88.119.179.17
wnupdnew (.) com 190.0.226.147
babmaftuh (.) com 185.56.89.196
alwatantrade (.) com 188.241.60.109
shayalyawm (.) com 5.226.168.124
elehenishing (.) com 185.225.17.77
almawaddrial (.) com 46.151.212.202
mdeastserv (.) com 46.151.212.201

Claves – ejemplo

Clave 1: C097CF17DC3303BC8155534350464E50176ACA63842B0973831D8C6C8F136817
Clave 2: 8D35913F80A23E820C23B3125ABF57901BC9A7B83283FB2B240193ABDEDE52B9
Clave 3: Derivado como se describió anteriormente.

Nombres de archivo

dpnvmrs.dll
hp3mlnv.dll
hp4mlnv.dll
hp5nhd.dll
hp6nhd.dll
hpjdnb64.dll
hpmdnel3b.dll
ifssvc.dll
ifssvcmgr.dll
msprtmon64.dll
msptromn.dll
plamgr.dll
ppcrlchk.dll
ppcrlupd.dll
printmon.dll
prntapt.dll
prntqdl64.dll
pscript6f.dll
pscript6s.dll
shprn64.dll
stprn32.dll
tzutil.dll
winmnprt.dll

Técnicas MITRE ATT y CK

Táctica CARNÉ DE IDENTIDAD Nombre Descripción
Persistencia T1013 Monitores Portuarios DePriMon instala uno de sus componentes como un monitor de puerto para lograr la persistencia.
Evasión de defensa T1036 Disfraces DePriMon coloca sus componentes en la carpeta System32 con nombres que imitan las DLL comunes del sistema.
T1107 Eliminación de archivos DePriMon puede eliminarse de forma segura sobrescribiendo sus archivos con datos aleatorios y luego eliminándolos.
T1112 Modificar registro DePriMon agrega entrada de registro en HKLM SYSTEM CurrentControlSet Control Print Monitors para lograr la persistencia.
T1134 Manipulación de tokens de acceso DePriMon obtiene un token de usuario para obtener información sobre la configuración del proxy en la máquina.
T1140 Desobuscar / decodificar archivos o información DePriMon cifra algunas de sus cadenas y su archivo de configuración utilizando AES-256.
Descubrimiento T1007 Descubrimiento de servicio del sistema DePriMon puede enumerar los servicios registrados en el sistema.
T1057 Descubrimiento de procesos DePriMon puede enumerar los procesos en ejecución en el sistema.
T1082 Descubrimiento de información del sistema DePriMon recopila diversa información sobre el sistema.
T1124 Descubrimiento de hora del sistema DePriMon verifica regularmente la hora del sistema y realiza varias acciones basadas en ella, como la desinstalación.
Comando y control T1043 Puerto de uso común DePriMon utiliza los puertos 443 y 8080 para la comunicación C&C.
T1071 Protocolo de capa de aplicación estándar DePriMon usa HTTP para la comunicación C&C.
T1090 Proxy de conexión DePriMon utiliza la configuración de proxy local para que su comunicación sea menos sospechosa.




Source link

Be the first to comment

Leave a Reply

Tu dirección de correo no será publicada.


*