Laut Jamf Threat Labs läuft AmnesiaStealer in drei Stufen. „Die erste ist ein Shell-Skript, das die Nutzlast herunterlädt und startet“, erklärte Sicherheitsforscher Thijs Xhaflaire in einem Bericht an The Hacker News. „Die zweite ist ein Rust-Infostealer, der den Schlüsselbund, Browser, Apple Notes und Telegram aberntet. Die dritte ist ein stream_module, das auf Befehl nachgeladen wird und dem Operator eine versteckte, interaktive Kontrolle über den Browser des Opfers gibt.“

Das Skript lädt ein passwortgeschütztes ZIP-Archiv nach und löscht sich anschließend selbst vom System. Darin steckt ein Mach-O-Binary der ersten Stufe: ein Rust-Stealer mit eingebetteter verschlüsselter Konfiguration, die sich laut Jamf auf Build-Ebene über die Konfiguration ändern lässt, ohne Code anzupassen.

Die Rust-Nutzlast betreibt außerdem Host-Aufklärung und Geolokalisierungs-Profiling. Hinzu kommt eine native Passwortabfrage, die sich als Installer ausgibt und das Systempasswort abgreifen soll. Das eingegebene Passwort wird über dscl gegen den lokalen Verzeichnisdienst geprüft, damit nur ein korrektes Passwort exfiltriert wird. Scheitert die Prüfung, erscheint wiederholt der Hinweis „Falsches Passwort. Bitte versuchen Sie es erneut.“, bis das richtige Passwort eingegeben wird. Falls der native Dialog fehlschlägt, schreibt die Malware laut Jamf eine Datei nach /tmp/tempAppleScript.scpt und ruft osascript auf; auf dem von Jamf untersuchten Host wurde dieser Fallback aber nicht benötigt.

Das abgegriffene Passwort wird in der gesamten Angriffskette wiederverwendet. Wie Jamf beschreibt, wird es an sudo -S für privilegierte Lesezugriffe übergeben, an security unlock-keychain -p weitergereicht und im Klartext sowohl im Staging-Verzeichnis als Datei pwd als auch im Home-Verzeichnis des Nutzers als ~/.pwd abgelegt.

Zusätzlich enthält die Malware eine AppleScript-Datei, die zunächst den Systemton stummschaltet und dann Daten aus Apple Notes, Telegram-Sitzungen, Safari sowie Dateien mit den Endungen .txt, .pdf, .rtf, .doc, .wallet, .key, .jpg, .png und .csv aus den Ordnern ~/Desktop, ~/Documents und ~/Download sammelt. Ebenfalls im Fokus steht der iCloud-Schlüsselbund, auf den mit dem erfassten Systempasswort zugegriffen wird.

Die entscheidende Erweiterung wird durch den vom C2-Server gesendeten Befehl „remote_stream“ ausgelöst. Dann lädt die erste Stufe von derselben Infrastruktur ein zweites Rust-Binary nach, das eine interaktive Fernsteuerung über das Chrome DevTools Protocol ermöglicht. Unterstützt werden sieben Browser der Chromium-Familie: Chrome, Brave, Microsoft Edge, Arc, Opera, Vivaldi und Chromium. Das Modul startet den jeweiligen Browser im Headless-Modus, stiehlt browserbezogene Daten und baut per WebSocket einen Relay-Kanal auf, um Befehle des Operators anzunehmen und Statusmeldungen an denselben Endpunkt zurückzusenden.

Über diese Befehle kann der Angreifer Tastatureingaben, Mausklicks, Scrollen, Navigation und Tab-Verwaltung fernsteuern. Damit Headless-Sitzungen von besuchten Webseiten nicht als Automatisierung erkannt werden, injiziert das Modul ein Skript, das mehrere APIs zur Browser-Fingerabdruck-Erkennung patcht. Eine eigene Persistenz besitzt diese Komponente nicht; sie läuft unter der Hauptnutzlast.

Jamf beschreibt das Ergebnis als „eine Live-Bildschirmübertragung der Sitzung mit ungefähr drei Bildern pro Sekunde“, die sich mit vollständigen Eingabemöglichkeiten steuern lässt. „Das ist eine versteckte Browser-Sitzung mit direkter Bedienung durch den Operator, kein automatisierter Dump.“ Nach Einschätzung von Jamf hebt sich AmnesiaStealer damit trotz ähnlicher Ziele wie Atomic Stealer, MacSync und CrashStealer durch drei Merkmale ab: eine builder-gesteuerte Konfiguration, nach Betriebssystemversion verzweigte Logik mit Zugriff auf von Apple bereits gepatchte macOS-Umgehungen sowie eine zweite Stufe zur Fernsteuerung, die Cookies abgreifen und durch ein Tarnskript zur Patchung von Fingerprinting-APIs unauffälliger arbeiten kann.

Seinen Namen verdankt AmnesiaStealer laut Jamf einer Anmeldeseite im Wurzelverzeichnis des C2-Hosts mit dem Namen „Amnesia Panel“. Ein fehlgeschlagener Login liefert dort eine Fehlermeldung auf Russisch, die dazu auffordert, einen korrekten Login oder ein korrektes Passwort für die Anmeldung beim Operator anzugeben. Zudem verweist Jamf darauf, dass ein ähnliches Verhalten bereits bei der macOS-Stealer-Familie ClickLock Stealer beobachtet wurde, die Nutzer in Europa, Nordamerika, dem Nahen Osten und Afrika über Phishing-Seiten mit ClickFix-Technik angegriffen hat.