Heute erzähle ich euch eine Geschichte, die vor zehn Jahren passiert ist und mich bis heute noch fasziniert. Vor genau 10 Jahren wurde Kaspersky Labs von einem unbekannten Angreifer gehackt, der monatelang unbemerkt in ihrem Netzwerk war und sie ausspioniert hat.
Dass das damals bei einem der besten Anti-Viren-Hersteller geklappt hat, war echt eine Meisterleistung. Aber wie die Hackergruppe das angestellt hat, lässt sogar das Drehbuch von Ocean's Eleven alt aussehen. Aber erst mal die Basics. 😉
Was ist ein APT?
Ein APT, also Advanced Persistent Threat, ist ein groß angelegter Angriff, bei dem der Angreifer über einen längeren Zeitraum unbemerkt bleibt und entweder das Ziel ausspioniert oder dessen Betrieb stört.
Im Gegensatz zu herkömmlichen Cyber-Angriffen haben APTs konkrete Missionsziele, die nicht unbedingt mit "schnellem Reichtum" zu tun haben. Es geht vor allem um Wirtschaftsspionage. Deshalb werden APTs meistens von Geheimdiensten oder professionellen (illegalen) Hackergruppen durchgeführt.
Der Fokus liegt darauf, so lange wie möglich unentdeckt zu bleiben und daher sind diese Operationen auch groß geplant und dauern ziemlich lange. Je nachdem, wie hoch der Reifegrad der Cyber-Defense beim Ziel ist, werden manchmal sogar nur ein oder zwei Befehle am Tag abgesetzt, um deutlich unter dem Radar zu fliegen.
Was ist Duqu 2.0?
Duqu 2.0 ist der Nachfolger von Duqu 1.0 (bitte keinen Applaus 😂). Das ist eine hochkomplexe Malware, die vermutlich vom israelischen Geheimdienst stammt. Damit wurde nicht nur Kaspersky kompromittiert, sondern auch verschiedene politische Ziele, die in Verbindung mit den Verhandlungen des iranischen Atomprogramms standen. Wie zum Beispiel einige österreichische Hotels.
Diese Malware läuft ausschließlich im Arbeitsspeicher des Computers und wird nicht als Datei gespeichert. Wenn man den Computer neu startet, ist sie weg und der Computer muss neu infiziert werden. Für einen PC oder Laptop ist das ziemlich instabil, aber auf Servern kommt man damit oft mehrere Wochen durch.
Würde Duqu 2.0 nicht von Hackern verwendet werden, wäre es eine tolle Management-Software. Hier ein Auszug der Features:
- KVM-Funktion (Remote Support wie über TeamViewer)
- Dateiinhalte einsehen und verändern
- Screenshots machen
- Registry Keys auslesen
- Verschlüsselte Dateien lesen
- Active Directory auslesen
- Passwörter auslesen: VNC, Firefox, Chrome, ODBC, POP3, HTTP, SAM, LSASS, Windows Live, .NET
- Infos einholen über USB-Geräte, Routing Tabellen, Netzlaufwerke und WMI
- SIDs in HKEY_USERS werden automatisch über das Active Directory aufgelöst
- Admin-Rechte werden gegenseitig zwischen infizierten Rechnern vergeben
- Und noch sehr viel mehr…
Initialer Angriff auf Kaspersky
Kaspersky konnte den Eintritt nicht exakt identifizieren. Der erste Rechner, der damit infiziert wurde, war in einem kleineren Büro in Asien. Die Angreifer haben aber die Mailbox und auch den Browserverlauf gelöscht, um ihre Spuren zu verwischen. Der PC hatte zu dem Zeitpunkt alle Updates installiert, deshalb nahm man an, dass ein 0-Day-Exploit, also eine unbekannte Schwachstelle, verwendet wurde.
Ausbreitung im Netzwerk
Die Angreifer haben noch einen anderen 0-Day-Exploit benutzt, um ihre Berechtigungen zum Domain Admin zu erweitern. Das war der berühmte MS14-068.
Link: https://learn.microsoft.com/en-us/security-updates/securitybulletins/2014/ms14-068
Um sich im Netzwerk zu verbreiten, haben sie Windows Installer Pakete (MSI-Dateien) mit zufälligen Dateinamen verwendet. Die Payload (schadhafter Code) darin wurde mit einem zufällig generierten 56-Bit-Schlüssel verschlüsselt. Mit dem passenden Schlüssel konnte die MSI dann über einen Service oder eine geplante Aufgabe bequem per Remote über das Netzwerk gestartet werden, um das Zielsystem zu infizieren.
Wenn die Payload entschlüsselt wird, dann werden mehrere Code-Segmente hintereinander aufgerufen. Einige davon wurden so benannt, um eine Ähnlichkeit mit Kaspersky Produkten vorzutäuschen.
Der Clou daran war, dass Duqu 2.0 den Kaspersky Anti-Virus Core-Prozess (avp.exe) ausgenutzt hat, um “legitime” Prozesse in dessen Namen zu starten. Da der Anti-Virus davon ausgeht, dass alles sicher ist, was er selbst tut: Game Over
Von diesen Payloads und Modulen wurden insgesamt über 100 verschiedene Varianten gefunden.
Kontrolle
Eines der Module war auch dazu da, um alle infizierten Hosts im Kaspersky-Netzwerk zu orchestrieren. Denn nicht nur Admins möchten ihre Hosts zentral administrieren. 😉 Duqu 2.0 kann über http, https, SMB, Network Pipes oder direkt über TCP gesteuert werden. Es wurden sogar eigene Sub-Protokolle geschrieben, die erst bei bestimmten Zeichenketten aktiviert werden, zum Beispiel bei "tttttttt" oder speziell formatierten JPGs und GIFs.
Dafür wurde auch ein spezieller Netzwerkfilter-Treiber (NDIS) installiert, der alle TCP/IP-Pakete auf diese Strings überwacht. Der Treiber lief auf Proxy- und Internet-Gateway-Servern und hat die Befehle dann im internen Netz verteilt.
Persistenz
Wie ich eben schon geschrieben habe, läuft Duqu 2.0 nur im Arbeitsspeicher und es wurden hauptsächlich Server angegriffen, die eine hohe Uptime hatten. Deshalb war die forensische Analyse dieser Malware echt schwierig. Man konnte sie nur analysieren, während das System lief, oder über einen Memory Dump. Wenn der Server runtergefahren, oder neugestartet wird, ist er ja nicht mehr infiziert.
Wenn es einen flächendeckenden Stromausfall gegeben hätte, wäre das für die Angreifer eine Katastrophe gewesen. Denn dann wären mit einem Schlag alle Zugriffe weg gewesen. Damit das nicht passiert, haben sie auf ein paar wenigen Systemen einen versteckten Treiber platziert, der mit der Außenwelt kommuniziert.
Generell müssen alle Treiber auf Windows-Systemen von einem vertrauenswürdigen Hersteller signiert worden sein, um sie installieren zu können.
Und genau das haben die Angreifer gemacht …
Ein paar Monate vorher haben sie ihren Treiber mit einem Zertifikat von Foxconn signiert. Foxconn ist der größten Elektronik-Hersteller weltweit und produziert Teile für Apple, Dell, Google, Microsoft, Sony und viele andere.
Nur zur Verdeutlichung: Für einen der absurdesten Hacks aller Zeiten hat man sich beim größten Elektronik-Hersteller reingehackt, nur um seine eigene Malware zu signieren. 🤯
Das gibt Härtepunkte! 😲
Aufdeckung
Der Angriff ist letztendlich durch das Zertifikat aufgefallen, mit dem der versteckte Treiber signiert wurde. Ein findiger Sysadmin hat ein neues Produkt auf einem Server getestet und dabei merkwürdigen Netzwerk-Traffic entdeckt. Er hat nachgeforscht und herausgefunden, dass mehrere Server davon betroffen waren.
Die Dateien, die mit diesem Zertifikat signiert wurden, waren sozusagen der kleinste gemeinsame Nenner. Die waren nur auf den befallenen Servern zu finden, aber auf keinem anderen System.
Das Zertifikat, das zur Signierung der Malware-Treiber verwendet wurde, war auch nicht so weit verbreitet wie andere Foxconn-Zertifikate. Es wurde einige Jahre zuvor nur für ein paar wenige und sehr spezifische Treiber verwendet und hat so zur Erkennung der Malware geführt.
Die Treiber wären aber eigentlich nicht nötig gewesen, weil die Angreifer sowieso volle Rechte auf den Systemen hatten. Sie hätten die Exploits jederzeit erneut ausnutzen können. Es wurde auch vermutet, dass der Treiber eine Versicherung war, falls die 0-Day-Schwachstelle irgendwann gefunden und gepatcht worden wäre.
Fazit
Geile Scheiße! Ich kann es nicht anders zusammenfassen. Die Auswirkungen und Umstände waren echt katastrophal, aber die Technik und Vorgehensweise finde ich bis heute total faszinierend. Ja, klar, Malware im RAM und dezentrale Kommunikation sind heutzutage nichts Neues. Aber der Angriff war 2015 und zur Vorbereitung wurde noch ein anderer Konzern gehackt!
Duqu 2.0 zeigt auch, dass selbst Security-Provider nicht vor Angriffen gefeit sind. Deshalb arbeite ich lieber mit Risiken und Wahrscheinlichkeiten, statt absolute Annahmen zu treffen. Nicht "ob", sondern "wenn".
"Wenn" ich mein Produktions-Netzwerk vom Office-Netzwerk physikalisch trenne, können Angreifer über das Internet nicht alles kompromittieren. Sie müssten dann physikalischen Zugriff erlangen. Bei APTs kann man das aber auch nie ausschließen. 🤷♂️
PS: Wer sich in diesen APT richtig tief technisch einlesen möchte, kann hier den technischen Bericht von Kaspersky lesen.
Link: https://media.kasperskycontenthub.com/wp-content/uploads/sites/43/2018/03/07205202/The_Mystery_of_Duqu_2_0_a_sophisticated_cyberespionage_actor_returns.pdf