Cyberangriffe über Phishing-E-Mails nehmen zu. In der Regel nutzen Angreifer eingebettete DOC-Makros, um in den Computer des Opfers einzudringen. Kürzlich stieß Quick Heal Security Labs auf ein Beispiel einer Phishing-E-Mail, die den Gleichungseditor von Microsoft nutzt, um den Keylogger Hawkeye zu verbreiten.
Cyberkriminelle nutzen verschiedene Techniken, um vertrauliche Daten zu stehlen. Sie bieten nun hochentwickelte Malware-Varianten an, um ihre Ziele zu erreichen. Daher beobachten wir ständig die Entwicklung neuer Bedrohungen. Hawkeye gehört zur Familie der Keylogger. Die neueste Version Hawkeye v8 Reborn nutzt die Sicherheitslücke CVE-2017-11882 im Microsoft Office-Formel-Editor, um in Systeme einzudringen. Wir haben dazu einen ausführlichen Blogbeitrag veröffentlicht, den Sie hier lesen können . Dieser Exploit verwendet neue Techniken, um die Erkennung durch Antivirenprogramme zu umgehen. Er kompiliert seinen Code während der Ausführung und lädt die Payload in den Arbeitsspeicher, ohne sie auf die Festplatte zu schreiben.
Ablauf der Ausführung:

Exploit-Analyse:
Die Pufferüberlauf-Sicherheitslücke liegt im „FONT“-Datensatz des nativen Gleichungsobjekts vor. Um diese Sicherheitslücke auszunutzen, muss das OLE-Objekt das native Gleichungsobjekt aufrufen und dazu den nativen Gleichungsstream in die OLE-Datei einbinden.
Dies kann mithilfe von zwei Typen erfolgen:
- Verwendung des „Equation Native“-Streams.
- Gebrauch von CLSID des „Equation Native“-Streams.
In diesem Fall wird CLSID anstelle des „Equation Native“-Streams verwendet.

Es verwendet den Stream „OLE10native“, um die OLE-Objekte in den Stream „Equation Native“ zu analysieren.
Nachfolgend sehen Sie den minimalen Header des Streams „OLE10native“:
| DWORD | Größe des Gleichungsobjekts (MTEF-Header + MTEF-Daten) |
Nach der Ausführung von OLE wird der Dateiformel-Editor aufgerufen und beginnt mit der Analyse des Datensatzes. Zuerst analysiert er den MTEF-Header und den TYPESIZE-Header und beginnt anschließend mit der Analyse des FONT-Datensatzes. In diesem Fall wird der Puffer des FONT-Datensatzinhalts überlaufen.
Die folgende Abbildung zeigt die Struktur des OLE10Native-Streams, der vom Equation Native-Objekt analysiert wird.

Das Ausnutzen dieser Sicherheitslücke führt zur Ausführung von Shellcode und schließlich zum Download schädlicher Nutzdaten vom CNC-Server.

Shellcode verbindet sich mit der URL, um Malware herunterzuladen. Dazu wird die in Urlmon.dll vorhandene API „URLDownloadToFileW“ verwendet und ausgeführt, um schädliche Aktivitäten auszuführen. In unserem Fall haben wir die Malware Hawkeye als Keylogger gefunden, der Keylogging-Aktivitäten durchführt und Daten über einen SMTP-Server sendet.
Nutzlastanalyse:
Der neueste Hawkeye-Keylogger arbeitet in drei Schritten. Er beginnt mit einem Container, der einen Loader ausführt, welcher die Hawkeye-Payload in Regasm.exe einfügt . Anschließend erfasst er Tastatureingaben und Anmeldeinformationen, die im Browser, Outlook sowie einigen FTP-Dateimanagern gespeichert sind, und sendet diese per SMTP-Protokoll.
Im ersten Schritt wird der verschlüsselte C#-Code, der in der Malware-Datei im Textformat vorliegt, entschlüsselt und anschließend im Speicher kompiliert. Anschließend wird der im Speicher vorhandene kompilierte Code von der Malware ausgeführt. Der folgende Code wird zur Kompilierung des Codes und zur Ausführung im Speicher mithilfe von .NET Framework-Dienstprogrammen verwendet. Da der Code in Textform vorliegt und zur Laufzeit kompiliert wird, reduziert dies die Nutzlastgröße und hilft, sie vor Antivirenprogrammen zu verbergen.

Der CSharpCodeProvider ermöglicht den Zugriff auf das Hilfsprogramm csc.exe des .NET-Compilers , das zum dynamischen Kompilieren von Code dient. Um solchen Code im Speicher ohne physische Kopie auszuführen, bietet er Compileroptionen (siehe Abb. 5). Wird „GenerateExecutable“ auf „false“ gesetzt, wird eine Klassenbibliothek erstellt. Bei „true“ wird eine ausführbare Datei erzeugt. Bei „GenerateInMemory“ wird bei „false“ eine physische Kopie der Assembly unter %temp%/randomname.exe gespeichert. Ist „GenerateInMemory“ auf „true“ gesetzt, wird keine physische Kopie der Assembly auf der Festplatte gespeichert. Mit compilerResults.CompiledAssembly.EntryPoint.Invoke(null, null); wird der Code ab dem Einstiegspunkt ausgeführt.
In der zweiten Phase entschlüsselt der Loader den Hawkeye-Reborn-Stub aus der Ressource und injiziert ihn in RegAsm.exe . RegAsm.exe ist ein Assembly-Registrierungstool von .NET, das zum Registrieren und Deregistrieren von Assemblys verwendet wird. In dieser Malware wird RegAsm.exe mittels Reflection (d. h. der Methode ` invokeMember` ) ausgeführt und die Hawkeye-Payload als Parameter an RegAsm.exe übergeben. Anschließend wird diese Payload als Kindprozess von RegAsm.exe ausgeführt. In Abb. 6 ist Text4 der Pfad von RegAsm.exe, und `hXYyylN6()` gibt das entschlüsselte Byte-Array der Payload zurück.

Im letzten Schritt wird die finale Payload vom Loader unter RegAsm.exe (einem legitimen Dienstprogramm des Microsoft .NET Frameworks) ausgeführt. Sie sieht aus wie eine echte Microsoft-Anwendung, ist aber tatsächlich der Hawkeye-Keylogger. Die Payload ist mit ConfuserEx 1.0 und SuppressIldasm verschleiert . Um die Malware nach einem Neustart auszuführen, wird ein Run-Eintrag erstellt.
Die neueste Version von Hawkeye enthält viele der folgenden Funktionen.
- Erfasst die Tastenanschläge des Benutzers und den Inhalt der Zwischenablage.
- Kopiert FTP- und E-Mail-Anmeldeinformationen.
- Zum Anti-Debugging verwendet es SuppressIldasm und ConfuserEx 1.0.
- Um Antivirenprogramme und Tools wie Wireshark zu deaktivieren, werden der Schlüsseldebugger und der Wert rundll32 in der Image File Execution für diese Anwendungen hinzugefügt.
- Verwenden Sie echte Tools wie „MailPassView" und "BrowserPassView” für Passwortdiebstahl.
- Deaktivieren Sie außerdem rstrui.exe, das zum Wiederherstellen von Dateien verwendet wird.
- Verwenden Sie Anti-Sandbox-Techniken wie Thread.sleep() zur Verzögerung der Ausführung.
- Verwenden Sie Base64-Verschlüsselung, um Daten an den CNC-Server zu senden.
- Der Code wird auf der Benutzerseite mit csc.exe kompiliert (C Sharp Compiler)
- Suchen Sie in allen Verzeichnissen nach der Datei mit der Erweiterung „.Oeaccount“.
- Deaktiviert den Task-Manager, die Eingabeaufforderung und die Registrierung, indem die Registrierung unter CurrentVersion\\Policies\\System hinzugefügt wird.
- Beendet cmd.exe und Wscript.exe
- Erkennt Antivirus- und Firewall-Produktdetails mithilfe von WMI Abfrage.

Funktionsweise des Hawkeye Keyloggers:
Beim Start prüft der Keylogger zunächst den Benutzertyp, sammelt dann Informationen wie Hostname, BIOS-Daten, Details zu Antivirensoftware und Firewall und sendet diese an „ SUNDA[@]doctorework[.]com“ . Zur Ermittlung der Antivirensoftware-Details verwendet er eine WMI- Abfrage mithilfe der C#-Klasse „ManagerObjectSearcher“.
Es stellt eine SMTP-Verbindung für den Datentransfer mit dem Server us2[.]outbound[.]mailhostbox[.]com her, an den alle Tastatureingaben, Zwischenablage- und Systeminformationen im Base64-verschlüsselten Format gesendet werden.
![]()

Außerdem nutzt es die Website pomf[.]cat, um Screenshots per HTTP-POST-Anfrage zu speichern. Im Ressourcenverzeichnis befinden sich Nirsofts MailPassView und BrowserPassView . MailPassView ruft gespeicherte Anmeldeinformationen aus Outlook ab, während BrowserPassview gespeicherte Anmeldeinformationen aus Browsern kopiert und diese anschließend per SMTP-Verbindung an den Benutzer sendet.

Es enthält eine Liste von Antivirenprogrammen und Programmen wie Windows Defender, Wireshark und rstrui.exe. Dieses Programm wird an der Ausführung gehindert, um dies zu erreichen, fügt es die Registrierung hinzu
„HKLM\\SOFTWARE\\MICROSOFT\\WINDOWS NT\\CurrentVersion\\Image File Execution Options\\Programmname.exe\\“
Schlüsselname: Debugger Wert: rundll32.exe
Außerdem beendet es cmd.exe und wscript.exe und ändert die Hosts-Datei.
Rstrui.exe ist das Dienstprogramm zur Dateiwiederherstellung. Durch die Deaktivierung solcher Dienstprogramme wird verhindert, dass ein Opfer den Wiederherstellungspunkt wiederherstellen kann.

Es prüft, ob laufende Anwendungsnamen „WPE PRO“ oder „The Wireshark Network Analyzer“ enthalten. Außerdem prüft es „SbieDll.dll“. Wenn diese ausgeführt wird, wird die Ausführung beendet. Für Anti-Sandbox-Techniken werden Sleep-Anweisungen verwendet.
Da der Hawkeye-Keylogger jede gedrückte Taste protokolliert, ist dies eine Gefahr für die Sicherheit vertraulicher Daten.
Fazit:
Mit neuen digitalen Trends werden Daten immer wichtiger. Angreifer nutzen daher Keylogger-Malware, um sie zu stehlen. Um sich vor Antivirenprogrammen zu verstecken, entwickeln sich Keylogger von einfachem Code zu verwaltetem MSIL-Code mit fortschrittlichen Umgehungstechniken. Malware-Entwickler nutzen Social-Engineering-Tweaks und Exploit-Code, um sich in den Computer des Opfers einzuschleichen. Zum Schutz vor solchen Angriffen sollten Nutzer ihre Microsoft-Anwendungen und Antivirenprodukte aktualisieren. Quick Heal blockiert diesen Angriff mit seinem fortschrittlichen Erkennungsmechanismus in mehreren Stufen.
Erkennung :
Quick Heal bietet mehrstufigen Schutz für den Hawkeye-Keylogger.
PDF-Datei wird durch Erkennung erkannt: PDF.Downloader.31377
Hawkeye wird durch Erkennung erkannt: Trojan.Ransom, Pwstool.Netpass und Trojan.IGENERIC
IOC:
PDF: 5F9227210036BB64F71E9A5E25115A39
DOC: 5191234DBE697D3A79400FD89DEE3BBD
SUND: 78787470C46A45BE5AF5AE5DC2BF6EB9
Domäne: hxxp[:]//fbsleads[.]com/assets/SSUUNDS[.]exe
Mailadresse: sunda[@]doctorework.com
Mailserver: us2[.]outbound[.]mailhostbox[.]com
Fachexperten:
Aniruddha Dolas, Vallabh Chole, Pradeep Kulkarni | Quick Heal Sicherheitslabore



