SOC Prime Bias: High

25 Sep 2026 08:15 UTC

PamStealer wechselt zu Swift mit einer serverseitigen Entschlüsselungskette

Author Photo
SOC Prime Team linkedin icon Folgen
PamStealer wechselt zu Swift mit einer serverseitigen Entschlüsselungskette
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Zusammenfassung

Eine neue PamStealer macOS Infostealer-Variante führt einen bedeutenden architektonischen Wechsel von Rust zu Swift ein. Die aktualisierte Malware stützt sich auf eine serverseitige Entschlüsselungskette, betrieben durch ein benutzerdefiniertes Dienstprogramm namens pkgunpack, die eine aktive C2-Interaktion erfordert, um die zweite Nutzlaststufe zu entschlüsseln und auszuführen. Sie verwendet auch gestaffelte Persistenzmechanismen, während sie Browser-Anmeldeinformationen, Keychain-Daten und umfangreiche Systemmetadaten anvisiert.

Untersuchung

Jamf Threat Labs analysierte die neue PamStealer-Variante, nachdem sie in einem gefälschten Kryptowährungs-Wallet-Installer namens Wavel entdeckt wurde. Die Untersuchung enthüllte eine mehrstufige Ausführungskette, die mit einem kompilierten JXA-Dropper beginnt, gefolgt von einer zsh-basierten Stufe, die Live-Schlüsselaustausche durchführt, und einer Swift-basierten zweiten Stufe, die für Anmeldeinformationsdiebstahl und Systemerkennung verantwortlich ist.

Minderung

Benutzer sollten vermeiden, Anwendungen aus inoffiziellen Quellen herunterzuladen, insbesondere Software, die Kryptowährungs-Wallets imitiert. Organisationen sollten auf verdächtige macOS-Hintergrundobjekte und unautorisierte Änderungen an Shell-Konfigurationsdateien wie .zshrcachten. Endpunktsicherheitssysteme, die in der Lage sind, ad-hoc Code-Signierungen, abnormale Prozessneuzuweisungen und ungewöhnliche Shell-Ausführungen zu erkennen, können die Exposition weiter reduzieren.

Reaktion

Wenn PamStealer-Aktivitäten erkannt werden, isolieren Sie den betroffenen macOS-Endpunkt vom Netzwerk, um weitere Befehls- und Kontrollkommunikation sowie Datendiebstahl zu verhindern. Führen Sie eine forensische Analyse durch, um das Ausmaß des Anmeldeinformationsdiebstahls zu bestimmen, wobei besonderes Augenmerk auf Browserdaten und den macOS-Schlüsselbund gelegt wird. Überprüfen Sie Systemprotokolle auf unautorisierte LaunchAgent-Erstellungen, verdächtige Hintergrundobjekte und unerwartete Shell-Aktivitäten.

Angriffsfluss

Wir aktualisieren diesen Teil noch.

Erkennungen

Erzwungene Signierung von modifiziertem Anwendungsbundle (via cmdline)

SOC Prime Team
24. September 2026

MacOS-Archivdienstprogramm, das auf verdächtiges Verzeichnis zeigt (via cmdline)

SOC Prime Team
24. September 2026

Verdächtige Verwendung von Ditto zur Dateiarchivierung und Exfiltration auf macOS (via process_creation)

SOC Prime Team
24. September 2026

Verdächtiger Curl-Ausführungsversuch [MacOS] (via cmdline)

SOC Prime Team
24. September 2026

Archiv wurde im temporären Ordner von MacOS erstellt (via file_event)

SOC Prime Team
24. September 2026

Beendigung von Browser-Hilfsprozessen zur Anmeldeinformationsfreigabe [Windows-Prozessschöpfung]

SOC Prime AI-Regeln
24. September 2026

Erkennen von xattr- und codesign-Nutzung für Umgehungstechniken in PamStealer-Variante [Linux-Dateiereignis]

SOC Prime AI-Regeln
24. September 2026

PamStealer JXA-Skriptausführung über Zsh [Linux-Prozessschöpfung]

SOC Prime AI-Regeln
24. September 2026

Simulationsausführung

  • Angriffserzählung & Befehle: Der Angreifer versucht, eine Nutzlast zu implementieren, die einer Laufwerksdarstellung entgeht. Um dies zu erreichen, verwenden sie einen Befehl, der eine Base64-kodierte Zeichenfolge dekodiert und sie direkt in eine zsh Subshell mit dem -s Flag pipet. Um zu verhindern, dass ein Ermittler den schädlichen Prozess leicht mit der ursprünglichen Shell-Sitzung in Verbindung bringt, verpackt der Angreifer die Nutzlast in einer Funktion namens daemon_function, führt sie im Hintergrund mit &aus und beendet sofort die aktuelle Shell, um die Prozessbaum-Verknüpfung zu durchbrechen.

  • Regressionstest-Skript:

    #!/bin/bash
    # Simulation der PamStealer JXA-Ausführung über zsh
    
    # Definieren Sie die "bösartige" Nutzlast als Funktionsnamen und Befehl
    # Die Nutzlast wird an zsh -s gepipet, um das TTP zu simulieren
    PAYLOAD="daemon_function() { echo '[!] MALICIOUS PAYLOAD EXECUTED'; }; daemon_function & ; exit 0"
    
    # Führen Sie die Nutzlast genau so aus, wie es die Erkennungsregel erwartet
    echo "$PAYLOAD" | zsh -s
  • Bereinigungskommandos:

    # Die Bereinigung ist minimal, da der Befehl gepipet wird und keine persistenten Dateien erstellt.
    # Wir müssen nur sicherstellen, dass keine Hintergrundprozesse aus der Simulation noch laufen.
    pkill -f "daemon_function"