
Tabla de Contenidos:
- ¿Qué es una Backdoor?
- Análisis Técnico.
- Resumen.
- Tácticas y Técnicas (MITRE ATT&CK).
- IOCs.
- Regla Yara.
¿Qué significa Backdoor?
Una backdoor es un método oculto para acceder a un sistema que elude la autenticación normal y los controles de seguridad.
Análisis Técnico:
Análisis Estático Básico:
Primero, súbelo a VirusTotal para un análisis inicial. Los resultados indican que el archivo es un DLL de 64 bits, identificado dentro de la familia de malware Kalim. Además, varias detecciones sugieren una posible asociación con el grupo de amenazas MuddyWater.
El malware también establece comunicación de red con el dominio moodleuni[.]com.
Suelta algunos archivos:

Ahora ábrelo en Die (Detect it easy):
La muestra importa una gran cantidad de APIs de Windows, lo que indica que no está empaquetada. En total, importa funciones de seis DLLs: KERNEL32.dll, USER32.dll, ADVAPI32.dll, SHELL32.dll, ole32.dll y WININET.dll.
Aunque se importan múltiples APIs de cada DLL, varias funciones son particularmente notables debido a su papel en el comportamiento del malware.
Análisis Estático Avanzado:
En DllMain, la única acción realizada es la creación de un nuevo hilo. Dentro de este hilo, se ejecutan dos funciones: sub_1800063A0 y StartAddress.
Analizando la función sub_1800063A0, descubrí que consta de dos etapas distintas. En la primera etapa, el malware suelta una copia de sí mismo en el directorio AppData\Roaming. Lo hace creando un nuevo subdirectorio llamado , seguido de la creación de un archivo ejecutable llamado . La carga binaria escrita en este archivo se obtiene directamente de los datos incrustados ubicados en . Como resultado, el archivo final se escribe en la siguiente ruta: .
Analizando la Función StartAddress
El malware implementa su lógica de comunicación de red a través de tres funciones distintas y genera dos hilos separados. Un hilo es responsable de generar y gestionar un shell de comandos, mientras que el segundo hilo maneja la carga de datos recopilados después de que el malware completa su ejecución.
Las tres funciones gestionan colectivamente la comunicación entre el host infectado y el servidor de comando y control (C2) y están organizadas en tres capas lógicas.
Las dos primeras funciones relacionadas con la red son específicamente responsables de la autenticación y la construcción de solicitudes HTTP POST, permitiendo la transmisión de datos autenticada al servidor remoto.
La tercera función es responsable de recibir comandos del servidor C2. Basándose en la respuesta del servidor, el malware determina su próxima acción: ya sea generar un shell de comandos oculto o cargar los datos recopilados según el comando recibido del C2.
Analizando los dos hilos para comprender completamente lo que hacen.
En el primer hilo, el malware crea un objeto de trabajo junto con otros dos pipes y luego establece una cierta propiedad a estos.
Luego crea un CMD con algunas propiedades:
El valor 1 en el cuarto argumento significa que el CMD puede heredar de los manejadores de pipe.
El valor 0x1000200u en el quinto argumento significa que el CMD tiene lo siguiente:
CREATE_NO_WINDOW = 0x0000000u
CREATE_NEW_PROCESS_GROUP = 0x0000200u
CREATE_UNICODE_ENVIRONMENT = 0x0000400u
Y después de crear el shell, lo asigna al objeto de trabajo y lo pone en estado pendiente esperando comandos del C2.

El shell verifica comandos de control enviados a través de memoria compartida:
Pending: Ejecución normal.
Terminate: Matar el shell y limpiar. Shell completamente destruido y reiniciado.
Ctrlc: Forzar la eliminación de cualquier hijo restante.
En operación normal, si existe un comando, escribe el comando en el CMD y luego verifica la salida usando PeekNamedPipe y la almacena en el buffer.

El Segundo Hilo.
- "error" si la carga falla.
- "done" si la carga tiene éxito.
Resumen:
El malware Kalim backdoor primero se enfoca en establecer persistencia para garantizar una presencia a largo plazo en el sistema víctima. Lo logra creando un acceso directo malicioso dentro del directorio de Inicio (CSIDL_STARTUP):
C:\Users<Usuario>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Este mecanismo garantiza que el malware se ejecute automáticamente cada vez que el sistema arranca.
Basándose en los comandos recibidos, el malware puede decidir dinámicamente sus próximas acciones, incluyendo generar un shell de comandos oculto para control interactivo o cargar datos recopilados de vuelta al servidor C2. Este diseño modular permite tanto la ejecución remota de comandos como la exfiltración de datos, haciendo de Kalim una backdoor flexible y persistente.
Tácticas y Técnicas (MITRE ATT&CK):
IOCs:
- Nombre de familia: Kalim
- Grupo de amenazas: MuddyWater
- SHA256 = 0c8071494bc155c96f2cee998200f63efffcb5a064c021de0925504271806229
- C2 = moodleuni[.]com
- MicrosoftUpdateSerice.lnk
- 150.171.27.12 (De VirusTotal)
Regla Yara:
rule kalim{
meta:
description = "Detecta malware Kalim"
author = "SalahEldin Fikri"
strings:
$m1 = "kalim.pdb" wide ascii
$s1 = "UPLOAD"
$s2 = "isHidden"
$s3 = "/command"
$s4 = "sleepTime"
$s5 = "hardwareId"
$s6 = "pending"
$s7 = "ctrlc"
$s8 = "terminate"
$s9 = { 8D 01 02 04 08 10 20 40 80 1B 36 }
$s10 = "KifHsNH6Xhgyebsr"
condition:
uint16(0) == 0x5A4D and
filesize < 500KB and
($m1) and
7 of ($s*)
}