Die Abenteuer der schwer fassbaren Malvari, Teil II: Geheime VBA-Skripte



Dieser Artikel ist Teil der Fileless Malware-Reihe. Alle anderen Teile der Serie:


Ich bin ein Fan der Hybrid Analysis Website (HA). Dies ist eine Art Malware-Zoo, in dem Sie wilde "Raubtiere" aus sicherer Entfernung beobachten können, ohne angegriffen zu werden. HA startet Malware in sicheren Umgebungen, zeichnet Systemaufrufe, generierte Dateien und Internetverkehr auf und zeigt alle diese Ergebnisse für jede von Ihnen analysierte Probe an. Sie können also nicht Ihre Zeit und Energie verschwenden, indem Sie den verwirrenden Code selbst lösen, sondern sofort alle Absichten der Hacker verstehen.

Die HA-Beispiele, auf die ich aufmerksam geworden bin, verwenden entweder JavaScript-codierte oder VBA-Skripts (Visual Basic für Applikationen), die als Makros in Word- oder Excel-Dokumente eingebettet und an Phishing-E-Mails angehängt sind. Beim Öffnen starten diese Makros eine PowerShell-Sitzung auf dem Computer des Opfers. Hacker senden normalerweise Base64-codierte Befehlsströme an PowerShell. Dies alles geschieht, um die Erkennung des Angriffs mit Webfiltern und Antivirensoftware, die auf bestimmte Schlüsselwörter reagieren, zu erschweren.
Glücklicherweise dekodiert HA Base64 automatisch und zeigt sofort alles in lesbarer Form an. Im Wesentlichen müssen Sie sich nicht auf die Funktionsweise dieser Skripte konzentrieren, da Sie die vollständige Ausgabe der Befehle zum Ausführen von Prozessen im entsprechenden HA-Abschnitt sehen können. Siehe ein Beispiel unten:



Die Hybridanalyse fängt Base64-codierte Befehle ab, die an PowerShell gesendet werden:



... und entschlüsselt sie dann für Sie. # magisch

In einem früheren Beitrag habe ich meinen eigenen leicht verschleierten JavaScript-Container zum Starten einer PowerShell-Sitzung erstellt. Dann lädt mein Skript, wie viele PowerShell-basierte Malware, das folgende PowerShell-Skript von einer Remote-Website herunter. Dann habe ich als Beispiel eine harmlose PS heruntergeladen, die eine Nachricht auf dem Bildschirm druckt. Aber die Zeiten ändern sich, und jetzt schlage ich vor, das Szenario zu komplizieren.

PowerShell Empire und Reverse Shell


Ein Ziel dieser Übung ist es zu zeigen, wie (relativ) leicht ein Hacker klassische Perimeterabwehr- und Antivirenprogramme umgehen kann. Wenn ein IT-Blogger ohne Programmierkenntnisse wie ich an einigen Abenden eine vollständig unentdeckte (FUD) Malware erstellen kann, stellen Sie sich die Möglichkeiten eines jungen Hackers vor, der daran interessiert ist!

Wenn Sie eine Person sind, die IT-Sicherheit bietet, Ihr Manager jedoch die möglichen Folgen dieser Bedrohungen nicht kennt, zeigen Sie ihm einfach diesen Artikel.

Hacker träumen davon, direkten Zugriff auf einen Laptop oder den Server des Opfers zu erhalten. Dies ist sehr einfach: Der Hacker muss lediglich einige vertrauliche Dateien auf dem Laptop des CEO abrufen.

Irgendwie habe ich bereits über die postoperative PowerShell Empire-Laufzeit geschrieben. Erinnern wir uns, was es ist.

Im Wesentlichen handelt es sich um ein PowerShell-basiertes Penetrationstest-Tool, das neben vielen anderen Funktionen das Ausführen einer Reverse-Shell vereinfacht. Weitere Informationen finden Sie auf der PSE-Homepage .

Lass uns ein kleines Experiment machen. Ich habe eine sichere Malware-Testumgebung in der Amazon Web Services-Cloud eingerichtet. Sie können meinem Beispiel folgen, um schnell und sicher ein funktionierendes Beispiel für diese Sicherheitsanfälligkeit zu zeigen (und nicht für das Starten von Viren innerhalb des Unternehmensbereichs ausgelöst zu werden).

Wenn Sie die PowerShell Empire-Konsole starten, wird Folgendes angezeigt:



Zuerst starten Sie den Listener-Prozess auf Ihrem Hacker-Computer. Geben Sie den Befehl "Listener" ein und geben Sie die IP-Adresse Ihres Systems mit "Host einstellen" an. Starten Sie dann den Listener-Prozess mit dem Befehl execute (siehe unten). Warten Sie also Ihrerseits auf eine Netzwerkverbindung von der Remote-Shell:



Auf der anderen Seite müssen Sie den Agentencode durch Eingabe des Launcher-Befehls generieren (siehe unten). Dadurch wird PowerShell-Code für den Remote-Agenten generiert. Beachten Sie, dass es in Base64 codiert ist und die zweite Phase der Nutzlast darstellt. Mit anderen Worten, mein JavaScript-Code zieht jetzt diesen Agenten, um PowerShell anstelle einer harmlosen Textausgabe auf dem Bildschirm auszuführen, und stellt eine Verbindung zu unserem Remote-PSE-Server her, um die Reverse Shell auszuführen.


Die Magie der umgekehrten Schale. Dieser codierte PowerShell-Befehl stellt eine Verbindung zu meinem Listener her und startet die Remote-Shell.

Um Ihnen dieses Experiment zu zeigen, habe ich die Rolle eines unschuldigen Opfers übernommen und Evil.doc geöffnet, wodurch unser JavaScript gestartet wurde. Erinnerst du dich an den ersten Teil? PowerShell wurde so konfiguriert, dass das Fenster nicht angezeigt wird, sodass das Opfer nichts Ungewöhnliches bemerkt. Wenn Sie jedoch den Windows Task-Manager öffnen, wird der PowerShell-Hintergrundprozess angezeigt, der für die meisten Benutzer immer noch keinen Alarm auslöst. Weil es normale PowerShell ist, nicht wahr?



Wenn Sie jetzt Evil.doc ausführen, stellt ein versteckter Hintergrundprozess mit PowerShell Empire eine Verbindung zum Server her. Nachdem ich den weißen Hut des Hacker-Pentesters aufgesetzt hatte, kehrte ich zur PowerShell Empire-Konsole zurück und sehe jetzt eine Meldung, dass mein Remote-Agent aktiv ist.



Dann habe ich den Befehl "Interact" eingegeben, um die Shell in PSE zu öffnen - und hier bin ich! Kurz gesagt, ich habe mich in einen Taco-Server gehackt, den ich selbst einmal eingerichtet habe.



Was ich gerade demonstriert habe, erfordert nicht so viel Arbeit von Ihnen. Sie können dies alles sicher für eine Mittagspause von ein bis zwei Stunden tun, um Ihr Wissen über Informationssicherheit zu verbessern. Es ist auch eine gute Möglichkeit zu verstehen, wie Hacker den Schutz externer Sicherheitsbereiche umgehen und verdeckt auf Ihren Systemen bereitstellen.

IT-Manager, die glauben, einen unzerstörbaren Schutz gegen Eindringen aufgebaut zu haben, werden ihn wahrscheinlich auch informativ finden - na ja, wenn Sie sie natürlich davon überzeugen können, lange neben Ihnen zu sitzen.

Zurück zur Realität


Wie ich erwartet hatte, ist ein echter Hack, der für den durchschnittlichen Benutzer nicht sichtbar ist, nur eine Variation dessen, was ich gerade beschrieben habe. Um Material für die nächste Veröffentlichung zu sammeln, suchte ich nach einem Beispiel für HA, das genauso funktioniert wie mein erfundenes Beispiel. Und ich musste lange nicht danach suchen - die Seite bietet viele Möglichkeiten für eine solche Angriffstechnik.

Die Malware, die ich auf HA gefunden habe, ist das \ VBA-Skript, das in das Word-Dokument integriert wurde. Das heißt, ich muss nicht einmal die Dokumenterweiterung fälschen. Diese Malware ist wirklich das am häufigsten aussehende Microsoft Word-Dokument. Wenn Sie interessiert sind, habe ich dieses Beispiel mit dem Namen rfq.doc ausgewählt .

Ich habe schnell herausgefunden, dass Sie häufig nicht in der Lage sind, schädliche VBA-Skripte direkt aus einem Dokument zu extrahieren. Hacker komprimieren und verbergen sie und sind in den in Word integrierten Makrotools nicht sichtbar. Sie benötigen ein spezielles Werkzeug, um es zu extrahieren. Zum Glück bin ich auf Frank Baldwins OfficeMalScanner gestoßen . Danke, Frank.

Mit diesem Tool konnte ich einen sehr verwirrenden VBA-Code herausholen. Es sah ungefähr so ​​aus:


Die Verschleierung wurde von Fachleuten durchgeführt. Ich war beeindruckt!

Die Angreifer sind wirklich gut darin, den Code durcheinander zu bringen, nicht wie meine Bemühungen, Evil.doc zu erstellen. Nun, ok, im nächsten Teil werden wir unsere VBA-Debugger bekommen, etwas tiefer in diesen Code eintauchen und unsere Analyse mit den HA-Ergebnissen vergleichen.

Source: https://habr.com/ru/post/de458010/


All Articles