Agentur für nationale Sicherheit und das Federal Bureau of Investigation der USA , wonach das 85. Hauptzentrum des Geheimdienstes (85 GZSS GRU) verwendet ein Malware-Paket namens „Holzfäller“. Zu „Holzfäller“ gehört ein Rootkit in Form eines Linux-Kernel-Moduls, ein Tool zum Übertragen von Dateien und zum Umleiten von Netzwerkports sowie ein Kontrollserver. Der Client kann Dateien herunterladen und hochladen, beliebige Befehle im Namen des Root-Benutzers ausführen und Netzwerkports auf andere Knoten im Netzwerk umleiten.
Das Kontrollzentrum von „Holzfäller“ erhält über ein Kommandozeilenargument den Pfad zur Konfigurationsdatei im JSON-Format:
{
„db_host“ : „“,
„db_port“ : „“,
„db_db“ : „“,
„db_user“ : „“,
„db_password“ : „“,
„lport“ : „“,
„lhost“ : „“,
„ping_sec“ : „“,
„priv_key_file“ : „“,
„phrase“ : „“
}
Als Backend wird eine MySQL-Datenbank verwendet. Für die Verbindung der Clients wird das WebSocket-Protokoll eingesetzt.
Der Client verfügt über eine integrierte Konfiguration, einschließlich der URL des Servers, seines öffentlichen RSA-Schlüssels, Benutzernamens und Passworts. Nach der Installation des Rootkits wird die Konfiguration als Textdatei im JSON-Format gespeichert, die durch das Kernel-Modul „Holzfäller“ vor dem System verborgen wird:
{
„id“ : „cbcf6abc-466b-11e9-853b-000c29cb9f6f“,
„key“: „Y2xpZW50a2V5“
}
Hierbei ist „id“ ein eindeutiger Identifikator, der vom Server ausgegeben wird, wobei die letzten 48 Bit die MAC-Adresse des Netzwerkinterfaces des Servers entsprechen. Der Parameter „key“ ist standardmäßig eine im Base64-Format kodierte Zeichenkette „clientkey“, die vom Server beim ersten Handshake verwendet wird. Darüber hinaus kann die Konfigurationsdatei Informationen über verborgene Dateien, Module und Netzwerkports enthalten:
{
„id“ : „6fa41616-aff1-11ea-acd5-000c29283bbc“,
„key“: „Y2xpZW50a2V5“
„monitor“ : {
„file“ : [
{
„active“ : „true“,
„id“ : „d9dc492b-5a32-8e5f-0724-845aa13fff98“,
„mask“ : „testfile1“
}
],
„module“ : [
{
„active“ : „true“,
„id“ : „48a5e9d0-74c7-cc17-2966-0ea17a1d997a“,
„mask“ : „testmodule1“
}
],
„net“ : [
{
„active“ : „true“,
„id“ : „4f355d5d-9753-76c7-161e-7ef051654a2b“,
„port“ : „12345“,
„protocol“ : „tcp“
}
]
}
}
Ein weiterer Bestandteil von „Holzfäller“ ist der Agent, dessen Konfigurationsdatei Informationen für die Verbindung zum Server enthält:
{
„client_login“ : „user123“,
„client_pass“ : „pass4567“,
„clientid“ : „e391847c-bae7-11ea-b4bc-000c29130b71“,
„clientkey_base64“ : „Y2xpZW50a2V5“,
„pub_key_file“ :„public_key“,
„server_host“ : „192.168.57.100“,
„server_port“ :„45122“,
„server_uri“ :„/ws“
}
Die Felder „clientid“ und „clientkey_base64“ sind anfangs nicht vorhanden; sie werden nach der ersten Registrierung beim Server hinzugefügt.
Nach der Installation werden folgende Operationen ausgeführt:
- das Kernel-Modul wird geladen, das Hooks für Systemaufrufe registriert;
- der Client registriert sich beim Kernel-Modul;
- das Kernel-Modul verbirgt den laufenden Prozess des Clients und seine ausführbare Datei auf der Festplatte.
Für die Interaktion des Clients mit dem Kernel-Modul wird ein Pseudogerät verwendet, z. B. /dev/zero. Das Kernel-Modul analysiert alle Daten, die an das Gerät geschrieben werden, und sendet ein SIGUSR1-Signal an den Client für die Rückübertragung, nachdem der Client die Daten von demselben Gerät gelesen hat.
Zur Erkennung von „Holzfäller“ kann der Netzwerkverkehr mithilfe von NIDS analysiert werden (schadhafte Netzwerkaktivitäten im infizierten System selbst können nicht erkannt werden, da das Kernel-Modul die von ihm verwendeten Netzwerk-Sockets, netfilter-Regeln und Pakete, die von Raw-Sockets abgefangen werden könnten, verbirgt). In einem System, in dem „Holzfäller“ installiert ist, kann das Kernel-Modul entdeckt werden, indem ihm der Befehl zum Verstecken einer Datei gegeben wird:
touch testfile
echo “ASDFZXCV:hf:testfile” > /dev/zero
ls
Die erstellte Datei „testfile“ wird dabei unsichtbar.
Andere Erkennungsmethoden umfassen die Analyse des Arbeitsspeichers und des Festplattinhalts. Zum Schutz vor Infektionen wird empfohlen, die verpflichtende Überprüfung der Signatur von Kernel und Modulen zu verwenden, die ab Kernel-Version 3.7 verfügbar ist.
Der Bericht enthält Snort-Regeln zur Erkennung der Netzwerkaktivität von „Holzfäller“ sowie Yara-Regeln zur Identifizierung seiner Komponenten.
Wir erinnern daran, dass 85 GZSS GRU (v/ch 26165) mit der Gruppe , die für zahlreiche Cyberangriffe verantwortlich ist, in Verbindung gebracht wird.
Quelle: opennet.ru
