Die Abenteuer der schwer fassbaren Malvari, Teil I.



Mit diesem Artikel beginnen wir eine Reihe von Veröffentlichungen über schwer fassbare Malvari. Hacking-Programme, die keine Spuren von Angriffen hinterlassen, auch als fileless bezeichnet, verwenden PowerShell normalerweise auf Windows-Systemen, um Befehle verdeckt auszuführen, um wertvolle Inhalte zu finden und zu extrahieren. Das Erkennen von Hackeraktivitäten ohne schädliche Dateien ist eine schwierige Aufgabe, da Antivirenprogramme und viele andere Erkennungssysteme basieren auf Signaturanalysen. Die gute Nachricht ist jedoch, dass es solche Software gibt. Zum Beispiel UBA-Systeme , die böswillige Aktivitäten in Dateisystemen erkennen können.

Als ich anfing, mich mit coolen Hackern zu befassen, die keine traditionellen Infektionsmethoden verwendeten , sondern nur Tools und Software, die auf dem Computer des Opfers verfügbar waren, ahnte ich nicht, dass dies bald zu einer beliebten Angriffsmethode werden würde. Sicherheitsexperten sagen, dass dies ein Trend wird, und erschreckende Artikeltitel sind ein Beweis dafür. Aus diesem Grund habe ich beschlossen, eine Reihe von Veröffentlichungen zu diesem Thema zu veröffentlichen.

Großartige und schreckliche PowerShell


Ich habe früher in der PowerShell-Verschleierungsserie über einige dieser Ideen geschrieben, aber theoretisch mehr. Später stieß ich auf eine Website für Hybridanalysen , auf der Sie Proben von Malvari finden können, die in freier Wildbahn "gefangen" wurden. Ich habe mich entschlossen, diese Website zu verwenden, um nach Beispielen für fileless Malware zu suchen. Und ich habe es geschafft. Übrigens, wenn Sie auf Ihrer eigenen Expedition nach Malware suchen möchten, müssen Sie diese Website überprüfen, damit sie wissen, dass Sie die Arbeit als White-Hat-Spezialist ausführen. Als Blogger, der über Sicherheit schreibt, habe ich das ohne Frage durchgearbeitet. Ich bin sicher, du kannst es auch.

Zusätzlich zu den Beispielen selbst können Sie auf der Website sehen, was diese Programme tun. Die Hybridanalyse startet Malware in ihrer eigenen Sandbox und verfolgt Systemaufrufe, führt Prozesse und Aktionen im Netzwerk aus und extrahiert verdächtige Textzeichenfolgen. Für Binärdateien und andere ausführbare Dateien, d.h. Wenn Sie nicht einmal den tatsächlichen Code auf hoher Ebene anzeigen können, entscheidet die Hybridanalyse anhand der Aktivität zur Laufzeit, ob die Software bösartig oder einfach nur verdächtig ist. Und danach wird die Probe bereits ausgewertet.

Bei PowerShell und anderen Beispielskripten (Visual Basic, JavaScript usw.) konnte ich den Code selbst sehen. Zum Beispiel bin ich auf eine solche PowerShell-Instanz gestoßen:



Sie können auch Base64-codierte PowerShell ausführen, um eine Erkennung zu vermeiden. Achten Sie auf die Verwendung von nicht interaktiven und versteckten Parametern.


Wenn Sie meine Verschleierungseinträge lesen, wissen Sie, dass die Option -e angibt, dass der Inhalt in base64 codiert ist. Übrigens hilft auch die Hybridanalyse dabei, alles zurück zu dekodieren. Wenn Sie versuchen möchten, base64 PowerShell (im Folgenden - PS) selbst zu dekodieren, müssen Sie diesen Befehl ausführen:

[System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($EncodedText)) 

Geh tiefer


Ich habe unser PS-Skript mit dieser Methode dekodiert. Der Text des Programms ist unten dargestellt, obwohl er von mir leicht modifiziert wurde:


Beachten Sie, dass das Knarren an das Datum 4. September 2017 gebunden war und Sitzungscookies bestanden hat.


Ich habe über diesen Angriffsstil in der PS-Verschleierungsserie geschrieben , in der das Base64-codierte Skript selbst die fehlende Malware von einer anderen Site herunterlädt und das WebClient-Objekt aus der .Net Framework-Bibliothek verwendet, um die ganze harte Arbeit zu erledigen.

Wofür ist das?

Bei Sicherheitssoftware, die Windows-Ereignisprotokolle oder Firewalls scannt, verhindert die Base64-Codierung die Erkennung der WebClient-Zeichenfolge durch ein einfaches Textmuster, um sie vor einer solchen Webanforderung zu schützen. Und da die gesamte "böse" Malware heruntergeladen und auf unsere PowerShell übertragen wird, können Sie mit diesem Ansatz die Erkennung vollständig vermeiden. Eher dachte ich zuerst.

Es stellt sich heraus, dass Sie mit der erweiterten Protokollierung von Windows PowerShell-Protokollen (siehe meinen Artikel) die geladene Zeile im Ereignisprotokoll sehen können. Ich bin (wie andere auch ) der Meinung, dass Microsoft diese Protokollierungsstufe standardmäßig aktivieren sollte. Wenn die erweiterte Protokollierung aktiviert ist, wird im Windows-Ereignisprotokoll daher eine abgeschlossene Anforderung zum Laden aus einem PS-Skript gemäß dem oben untersuchten Beispiel angezeigt. Daher ist es sinnvoll, es zu aktivieren, stimmen Sie zu?

Fügen Sie zusätzliche Skripte hinzu


Hacker verstecken geschickt einen PowerShell-Angriff in Microsoft Office-Makros, die in Visual Basic und anderen Skriptsprachen geschrieben sind. Die Idee ist, dass das Opfer beispielsweise eine Nachricht von einem Lieferservice mit einem angehängten Bericht im DOC-Format erhält. Sie öffnen dieses Dokument, das ein Makro enthält, und starten schließlich die schädliche PowerShell selbst.

Oft wird das Visual Basic-Skript selbst verschleiert, sodass Antivirenprogramme und andere Malware-Scanner frei vermieden werden. Im Sinne des oben Gesagten habe ich mich als Übung entschieden, die oben genannte PowerShell in JavaScript zu codieren. Nachfolgend sind die Ergebnisse meiner Arbeit aufgeführt:


Verschleiertes JavaScript, das unsere PowerShell versteckt. Echte Hacker machen das ein- oder zweimal.


Dies ist eine weitere Technik, auf die ich im Internet gestoßen bin: Verwenden von Wscript.Shell zum Ausführen von codierter PowerShell. JavaScript selbst ist übrigens ein Mittel zur Bereitstellung von Malware. Viele Windows-Versionen verfügen über einen integrierten Windows Script Host , auf dem JS ausgeführt werden kann.
In unserem Fall wird das schädliche JS-Skript als Datei mit der Erweiterung .doc.js angehängt. Windows zeigt normalerweise nur das erste Suffix an, sodass es dem Opfer als Word-Dokument angezeigt wird.


Das JS-Symbol wird nur im Bildlaufsymbol angezeigt. Es ist nicht überraschend, dass viele Leute diesen Anhang öffnen und denken, es sei ein Word-Dokument.


In meinem Beispiel habe ich die PowerShell oben geändert, um das Skript von meiner Website herunterzuladen. Das Remote-PS-Skript druckt einfach Evil Malware. Wie Sie sehen können, ist er überhaupt nicht böse. Natürlich sind echte Hacker daran interessiert, beispielsweise über eine Befehlsshell auf einen Laptop oder Server zuzugreifen. Im nächsten Artikel werde ich zeigen, wie dies mit PowerShell Empire gemacht wird.

Ich hoffe, dass wir uns beim ersten Einführungsartikel nicht zu tief mit dem Thema befasst haben. Jetzt lasse ich Sie Luft holen und beim nächsten Mal werden wir beginnen, reale Beispiele für Angriffe mit fileless-malvari ohne zusätzliche einleitende Worte und Vorbereitung zu analysieren.

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


All Articles