Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Kalim_Backdoor — Kalim Backdoor Malware Report | Kitploit
Tools/GitHubGitHub/salaheldinfikri/kalim_backdoor
Management von Indicators of Compromise (IOC)Statische AnalyseDynamische Analyse (Sandboxing)PersistenzmechanismenMalware-AnalyseDigitale ForensikCommand and ControlBedrohungsanalyseLernen & Bildung
GitHubsalaheldinfikri/kalim_backdoor

Kalim_Backdoor

Kalim Backdoor Malware Report

43vor 5 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Repository anzeigen
Teilen

Kalim Backdoor Malware Analysebericht

photo

Dieser Bericht behandelt die Funktionsweise der Kalim Backdoor Malware.

Inhaltsverzeichnis:

- Was ist ein Backdoor?

- Technische Analyse.

- Zusammenfassung.

- Taktiken & Techniken (MITRE ATT&CK).

- IOCs.

- Yara-Regel.

Was bedeutet Backdoor?

Tool herunterladen

Ein Backdoor ist eine versteckte Methode, um auf ein System zuzugreifen, die die normale Authentifizierung und Sicherheitskontrollen umgeht.

Technische Analyse:

Grundlegende statische Analyse:

Laden Sie es zunächst bei VirusTotal für die erste Analyse hoch. Die Ergebnisse zeigen, dass es sich um eine 64-Bit-DLL handelt, die der Malware-Familie Kalim zugeordnet wird. Darüber hinaus deuten mehrere Erkennungen auf eine mögliche Verbindung zur Bedrohungsgruppe MuddyWater hin.

2

Die Malware stellt außerdem eine Netzwerkkommunikation mit der Domain moodleuni[.]com her.

1

Sie legt einige Dateien ab:

photo

Öffnen Sie es nun in Die (Detect it easy):

3

Die Probe importiert eine große Anzahl von Windows-APIs, was darauf hindeutet, dass sie nicht gepackt ist. Insgesamt importiert sie Funktionen aus sechs DLLs: KERNEL32.dll, USER32.dll, ADVAPI32.dll, SHELL32.dll, ole32.dll und WININET.dll.

Obwohl mehrere APIs aus jeder DLL importiert werden, sind einige Funktionen aufgrund ihrer Rolle im Verhalten der Malware besonders bemerkenswert.

Insbesondere importiert die Probe netzwerkbezogene APIs aus WININET.dll, um eine Kommunikation mit dem Command-and-Control (C2)-Server herzustellen. Sie nutzt auch COM-bezogene Funktionen aus ole32.dll, um Component Object Model (COM)-Objekte zu erstellen und mit ihnen zu interagieren. Zusätzlich verwendet die Malware SHGetFolderPathW aus SHELL32.dll, um Systemverzeichnispfade abzurufen, die durch CSIDL-Werte identifiziert werden.

image

Erweiterte statische Analyse:

In DllMain wird lediglich ein neuer Thread erstellt. In diesem Thread werden zwei Funktionen ausgeführt: sub_1800063A0 und StartAddress.

image

Bei der Analyse der Funktion sub_1800063A0 habe ich festgestellt, dass sie aus zwei unterschiedlichen Phasen besteht. In der ersten Phase legt die Malware eine Kopie ihrer selbst im Verzeichnis AppData\Roaming ab. Dazu erstellt sie ein neues Unterverzeichnis namens Updates und anschließend eine ausführbare Datei namens update.exe. Die in diese Datei geschriebene binäre Nutzlast stammt direkt aus den eingebetteten Daten an der Adresse unk_18002AA10. Dadurch wird die endgültige Datei unter folgendem Pfad abgelegt: „C:\Users<Username>\AppData\Roaming\Update\update.exe“.

In der zweiten Phase initialisiert die Malware ein Component Object Model (COM)-Objekt unter Verwendung von *RCLSID: {00021401-0000-0000-C000-000000000046}, was dem Shell Link Object (CLSID_ShellLink) entspricht, und RIID: {000214F9-0000-0000-C000-000000000046}, was auf das IShellLinkW-Interface verweist. Durch Betrachtung der vollständigen Shell-COM-Interface-Tabelle, die von shell32.dll implementiert wird, können die aufgerufenen Methoden genau identifiziert werden. Die Malware ruft vier wichtige COM-Methoden auf: SetPath, SetDescription, Save und Release. Mit diesen Funktionen erstellt sie eine bösartige Startverknüpfung namens MicrosoftUpdateSerice.lnk im Windows-Startverzeichnis und etabliert so Persistenz auf dem infizierten System.

image

Analyse der StartAddress-Funktion

Die Malware implementiert ihre Netzwerkkommunikationslogik über drei verschiedene Funktionen und erzeugt zwei separate Threads. Ein Thread ist für das Erzeugen und Verwalten einer Befehlsshell zuständig, während der zweite Thread das Hochladen der gesammelten Daten nach Abschluss der Malware-Ausführung übernimmt.

Die drei Funktionen verwalten gemeinsam die Kommunikation zwischen dem infizierten Host und dem Command-and-Control (C2)-Server und sind in drei logische Schichten organisiert.

Die erste Schicht ist für das Sammeln von hostbasierten Fingerprinting-Informationen vom kompromittierten System verantwortlich. Die zweite Schicht verarbeitet diese Daten durch Verschlüsselung und weitere Manipulationen, um sie für die Übertragung vorzubereiten. Die dritte Schicht stellt die Netzwerkkommunikation mit der C2-Domain moodleuni[.]com her und überträgt die verarbeiteten Daten.

Die ersten beiden netzwerkbezogenen Funktionen sind speziell für die Authentifizierung und den Aufbau von HTTP-POST-Anfragen zuständig, was eine authentifizierte Datenübertragung an den entfernten Server ermöglicht.

7

Die dritte Funktion ist für den Empfang von Befehlen vom C2-Server zuständig. Basierend auf der Antwort des Servers bestimmt die Malware ihre nächste Aktion – entweder das Erzeugen einer versteckten Befehlsshell oder das Hochladen der gesammelten Daten, je nach dem vom C2 erhaltenen Befehl.

image

Analyse der beiden Threads, um ihre Funktionsweise vollständig zu verstehen.

Im ersten Thread erstellt die Malware ein Job-Objekt sowie zwei weitere Pipes und setzt dann bestimmte Eigenschaften für sie.

Dann erstellt sie eine CMD mit einigen Eigenschaften:

Der Wert 1 im vierten Argument bedeutet, dass die CMD von Pipe-Handles erben kann

Der Wert 0x1000200u im fünften Argument bedeutet, dass die CMD Folgendes aufweist:

CREATE_NO_WINDOW = 0x0000000u

CREATE_NEW_PROCESS_GROUP = 0x0000200u

CREATE_UNICODE_ENVIRONMENT = 0x0000400u

Und einige Startinformationen: {Größe der Struktur = 104 Bytes, hStdError = hWritePipe, hStdOutput = hWritePipe, hStdInput = hReadPipe2, dwFlags |= 0x100u = STARTF_USESTDHANDLES}. Die erste Pipe ist dafür zuständig, die Ausgabe der Shell zu lesen, und die zweite Pipe ist dafür zuständig, in die Shell zu schreiben.

Und ein Zeiger auf eine PROCESS_INFORMATION

Und nach dem Erstellen der Shell weist sie diese dem Job-Objekt zu und versetzt sie in den ausstehenden Zustand, um auf Befehle vom C2 zu warten.

photo

Die Shell überprüft Kontrollbefehle, die über den gemeinsamen Speicher gesendet werden:

Pending: Normale Ausführung.

Terminate: Shell beenden und bereinigen. Shell vollständig zerstört und zurückgesetzt

Ctrlc: Erzwingt das Beenden aller verbleibenden Kindprozesse.

image

Im Normalbetrieb schreibt sie, falls ein Befehl vorhanden ist, den Befehl in die CMD und prüft dann mit PeekNamedPipe auf eine Ausgabe und speichert diese im Puffer.

photo

Der zweite Thread.

Der Thread beginnt mit der Erstellung einer neuen Datei unter dem angegebenen Pfad. Diese Datei wird verwendet, um Daten vorübergehend zu speichern, bevor sie an den C2-Server hochgeladen werden. Wenn die Datei nicht erstellt werden kann oder während der Initialisierung ein Fehler auftritt, setzt die Funktion den Status-String "error" im gemeinsamen Speicher und beendet sich. Die Datei wird per HTTPS an den Command-and-Control-Server der Malware (moodleuni[.]com) übertragen, wobei benutzerdefinierte Header und Sitzungskennungen verwendet werden, um legitimen Datenverkehr zu imitieren. Nach Abschluss des Uploads aktualisiert die Funktion den gemeinsamen Speicher, um Erfolg oder Misserfolg anzuzeigen:

- "error", falls der Upload fehlschlägt.

- "done", falls der Upload erfolgreich ist.

10

Zusammenfassung:

Die Kalim-Backdoor-Malware konzentriert sich zunächst darauf, Persistenz zu etablieren, um eine langfristige Präsenz auf dem Opfersystem sicherzustellen. Dies erreicht sie durch die Erstellung einer bösartigen Verknüpfung im Startverzeichnis (CSIDL_STARTUP):

C:\Users<User>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

Dieser Mechanismus stellt sicher, dass die Malware bei jedem Systemstart automatisch ausgeführt wird.

Sobald die Persistenz hergestellt ist, initiiert die Malware die Kommunikation mit ihrem Command-and-Control (C2)-Server, moodleuni[.]com. Sie führt eine erste Authentifizierungs- und System-Fingerprinting-Phase durch, in der hostbasierte Informationen gesammelt, verarbeitet und verschlüsselt werden. Danach tritt die Malware in einen Zustand des Wartens auf Befehle ein und fragt kontinuierlich den C2 nach Anweisungen ab.

Basierend auf den empfangenen Befehlen kann die Malware dynamisch über ihre nächsten Aktionen entscheiden, einschließlich des Erzeugens einer versteckten Befehlsshell für die interaktive Steuerung oder des Hochladens gesammelter Daten zurück zum C2-Server. Dieses modulare Design ermöglicht sowohl die Fernausführung von Befehlen als auch die Datenexfiltration und macht Kalim zu einer flexiblen und persistenten Backdoor.

image

Taktiken & Techniken (MITRE ATT&CK):

TaktikTechnik-IDName
PersistenzT1547.001Startordner
Umgehung der VerteidigungT1036.005Tarnung
AusführungT1204.002Benutzerausführung
Befehl & Kontrolle / StagingT1105Werkzeugübertragung für eingehenden Datenverkehr
Umgehung der VerteidigungT1559.001COM-Missbrauch

IOCs:

root@kitploit:~
- Family name: Kalim
- TA: MuddyWater 
- SHA256 = 0c8071494bc155c96f2cee998200f63efffcb5a064c021de0925504271806229
- C2 = moodleuni[.]com
- MicrosoftUpdateSerice.lnk
- 150.171.27.12 (From VirusTotal)

Yara-Regel:

root@kitploit:~
rule kalim{
    meta:
        description = "Detects Kalim malware"
        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*)
}