Post

PureLog Stealer

PureLog Stealer

Como analista de malware en ThreatScope Inc., el equipo interno de SOC se ha puesto en contacto con usted en relación con un posible compromiso. La semana pasada, el SOC detectó tráfico saliente inusual desde una estación de trabajo de usuario — grandes ráfagas de datos cifrados que se envían a una IP desconocida. Al revisar el sistema, el usuario admitió haber descargado un “editor PDF” gratuito desde un servidor Discord desconocido. El binario que ejecutaron se llamó PDFEditorPro.exe. Su tarea es analizar la muestra, determinar sus capacidades y descubrir qué información intenta robar y cómo se comunica con su operador

Question 1

PureLogs está ofuscado y empaquetado para dificultar el análisis estático. Que comercial.¿El empaquetador NET se utiliza para proteger el binario PureLogs?

Respuesta: .Net Reactor

Deobfuscador: https://0x1.gitlab.io/reverse-engineering/NETReactorSlayer/

Question 2

¿Cómo se llama el mutex creado por PureLogs?

Revisando la Class13 se crea un objeto Mutex a partir del string almacenado en GClass4

Class13: GClass4: Respuesta: FQBnanyetMxSRRO

Question 3

PureLogs incluye varias comprobaciones antianálisis antes de continuar con la ejecución. Uno de ellos apunta específicamente a una conocida herramienta de sandbox. ¿Qué nombre de proceso busca PureLogs para detectar este sandbox?

En la Class3 presenta varios metodos de evasion:

entre ellos:

  1. Revisar el proceso SbieCtrl
  2. Ver si es una sesion de Terminal Server:
  3. Validar si existe un DebugerRemoto:
  4. Validar si alguno de estos otros procesos esta activo: Respuesta: SbieCtrl.exe

Question 4

PureLogs evita el análisis externo consultando un estado relacionado con el depurador a través de un identificador de proceso. ¿Qué función API de Windows se utiliza para esta verificación?

Aca sigue la tercera evaluacion para evitar sistemas debugger o sandbox en Class3

Question 5

PureLogs verifica una clave de registro específica para saber si ya se ha ejecutado en el sistema anteriormente. ¿Cuál es la ruta completa de esa clave de registro?

Si hacemos un analisis dinamico en any.run encontramos que el binario modifica la key: HKEY_CURRENT_USER\SOFTWARE\IqswyHgVpagFHxu

Enlace al reporte: https://any.run/report/7505e02f9e72ce781892c01ac7638a8fac011f39c020cda61e2eada9eee1c31d/fd3df133-7f1f-4a35-869e-72bb1030dbbc

Question 6

PureLogs modifica el nombre de su proceso y la línea de comandos para que aparezcan como un proceso legítimo de Windows. ¿Qué nombre de proceso utiliza para hacerse pasar por un proceso de sistema confiable?

En la Class13 se genera una “suplantacion” de nombre de proceso ante el sistema modificando el original a explorer.exe general para evadir defensas como antivirus o EDR (BASICO)

Question 7

¿Qué clase WMI consulta PureLogs para recuperar el fabricante y el modelo del sistema?

Class9

Respuesta: Win32_ComputerSystem

Pregunta 8

PureLogs utiliza un truco para eludir el mensaje “Ejecutar como administrador” (UAC) iniciando un objeto COM especial. ¿Qué cadena exacta agrega antes del COM CLSID para solicitar una instancia elevada?

El malware usa las guid:

para Bypasear el UAC aa traves de una interfaz COM elevada:

Para responder a la pregunta, antes del GUID0 se ingresa la cadena:

Resp: Elevation:Administrator!new:

Pregunta 9

PureLogs utiliza objetos COM para eludir silenciosamente el Control de cuentas de usuario (UAC) y relanzarse con privilegios elevados. ¿A qué técnica ATT&CK se corresponde este comportamiento?

UAC BYPASS: T1548.002

Resource: https://mitre.ptsecurity.com/en-US/T1548.002

Pregunta 10

¿Qué patrón de expresión regular utiliza PureLogs para encontrar tokens de sesión de Steam?

El Class5 es un app stealer que no solo roba de Steam tokens:

Especificamente para steam seria:

Reps:[A-Za-z0-9-_]{16,}\\.[A-Za-z0-9-_]{40,}\\.[A-Za-z0-9-_]{40,}

Question 11

PureLogs agrega una etiqueta única a los datos robados antes de enviarlos al atacante. ¿Cuál es la cadena exacta que agrega para identificar esta compilación específica del malware?

Question 12

¿Qué número de puerto utiliza PureLogs para comunicarse con su servidor de Comando y Control (C2)?

En GClass4 se encuentra informacion de conexion al servidor Command And Control:

Gclass4

El uso de estos datos se hace en el siguiente bloque: Class13

Question 13

¿Qué modo de AES utiliza PureLogs para cifrar datos robados?

En el Mode del bloque usado para el cifrado de usa el AES-CBC

Question 14

¿Cuál es la longitud (en bytes) del vector de inicialización (IV) derivado utilizado en el cifrado?

El cifrado en general se maneja en la Class14 mostrando el IV usado para la encriptacion:

Como el BlockSize esta en bits y esta signado el IV en Bytes se hace la division entre 8:

1
128/8 =16 bytes

Question15

¿Qué algoritmo se utiliza para derivar la clave AES y IV del hash SHA-512 en PureLogs?

La clase que inicializa la funcion de encriptado es: Rfc2898DeriveBytes que corresponde

Esta clase misma corresponde a PBKDF2 en la documentacion de la funcion criptografica:

Resp: PBKDF2

QUESTION 16

¿Qué valor de sal fijo se utiliza en la función PBKDF2 en PureLogs (en hexadecimal comienza como 0x)?

En la misma clase de las preguntas anteriores se muestra el salt del algoritmo de cifrado:

1
0x752D9EFDB8AC609EEF7D1E4691E103A1
This post is licensed under CC BY 4.0 by the author.