Mit diesem Artikel beginnen wir eine Reihe von Veröffentlichungen über schwer fassbare Malware. Dateilose Hacking-Programme, auch als dateilose Hacking-Programme bekannt, verwenden auf Windows-Systemen normalerweise PowerShell, um stillschweigend Befehle auszuführen, um nach wertvollen Inhalten zu suchen und diese zu extrahieren. Das Erkennen von Hackeraktivitäten ohne schädliche Dateien ist eine schwierige Aufgabe, weil... Antivirenprogramme und viele andere Erkennungssysteme basieren auf der Signaturanalyse. Aber die gute Nachricht ist, dass es solche Software gibt. Zum Beispiel,
Als ich anfing, mich mit dem Thema knallharte Hacker zu befassen,
Die großartige und leistungsstarke PowerShell
Über einige dieser Ideen habe ich bereits geschrieben
Zusätzlich zu den Beispielen selbst können Sie auf der Website sehen, was diese Programme tun. Die Hybridanalyse führt Malware in ihrer eigenen Sandbox aus, überwacht Systemaufrufe, laufende Prozesse und Netzwerkaktivitäten und extrahiert verdächtige Textzeichenfolgen. Für Binärdateien und andere ausführbare Dateien, d. h. Wo Sie nicht einmal einen Blick auf den eigentlichen High-Level-Code werfen können, entscheidet die Hybridanalyse anhand ihrer Laufzeitaktivität, ob die Software bösartig oder nur verdächtig ist. Und danach ist die Probe bereits ausgewertet.
Bei PowerShell und anderen Beispielskripten (Visual Basic, JavaScript usw.) konnte ich den Code selbst sehen. Ich bin zum Beispiel auf diese PowerShell-Instanz gestoßen:
Sie können PowerShell auch in Base64-Codierung ausführen, um eine Erkennung zu vermeiden. Beachten Sie die Verwendung der Parameter „Nicht interaktiv“ und „Ausgeblendet“.
Wenn Sie meine Beiträge zur Verschleierung gelesen haben, wissen Sie, dass die Option -e angibt, dass der Inhalt Base64-codiert ist. Dabei hilft übrigens auch die Hybridanalyse, indem sie alles zurückdekodiert. Wenn Sie selbst versuchen möchten, Base64 PowerShell (im Folgenden als PS bezeichnet) 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 entschlüsselt, unten ist der Text des Programms, wenn auch leicht von mir modifiziert:
Beachten Sie, dass das Skript an das Datum 4. September 2017 gebunden war und Sitzungscookies übermittelte.
Ich habe über diesen Angriffsstil geschrieben
Was macht er?
Bei Sicherheitssoftware, die Windows-Ereignisprotokolle oder Firewalls scannt, verhindert die Base64-Codierung, dass die Zeichenfolge „WebClient“ durch ein Nur-Text-Muster erkannt wird, um zu verhindern, dass eine solche Webanfrage gestellt wird. Und da das gesamte „Böse“ der Malware dann heruntergeladen und in unsere PowerShell weitergeleitet wird, ermöglicht uns dieser Ansatz, einer Entdeckung vollständig zu entgehen. Oder besser gesagt, das habe ich zuerst gedacht.
Es stellt sich heraus, dass Sie bei aktivierter Windows PowerShell Advanced Logging (siehe meinen Artikel) die geladene Zeile im Ereignisprotokoll sehen können. ich bin wie
Fügen wir zusätzliche Szenarien hinzu
Hacker verstecken PowerShell-Angriffe geschickt in Microsoft Office-Makros, die in Visual Basic und anderen Skriptsprachen geschrieben sind. Die Idee dahinter ist, dass das Opfer eine Nachricht, beispielsweise von einem Lieferdienst, mit einem angehängten Bericht im .doc-Format erhält. Sie öffnen dieses Dokument, das das Makro enthält, und am Ende wird die bösartige PowerShell selbst gestartet.
Oft ist das Visual Basic-Skript selbst verschleiert, sodass es Antiviren- und anderen Malware-Scannern problemlos entgehen kann. Im Geiste des oben Gesagten habe ich beschlossen, die obige PowerShell als Übung in JavaScript zu programmieren. Nachfolgend finden Sie die Ergebnisse meiner Arbeit:
Verschleiertes JavaScript versteckt unsere PowerShell. Echte Hacker machen das ein- oder zweimal.
Dies ist eine weitere Technik, die ich im Internet gesehen habe: die Verwendung von Wscript.Shell zum Ausführen von codiertem PowerShell. JavaScript selbst ist es übrigens
In unserem Fall ist das bösartige JS-Skript als Datei mit der Erweiterung .doc.js eingebettet. Windows zeigt normalerweise nur das erste Suffix an, sodass es für das Opfer als Word-Dokument erscheint.
Das JS-Symbol erscheint nur im Bildlaufsymbol. Es ist nicht verwunderlich, dass viele Leute diesen Anhang öffnen und denken, es handele sich um ein Word-Dokument.
In meinem Beispiel habe ich die PowerShell oben geändert, um das Skript von meiner Website herunterzuladen. Das Remote-PS-Skript gibt lediglich „Evil Malware“ aus. Wie Sie sehen können, ist er überhaupt nicht böse. Echte Hacker sind natürlich daran interessiert, sich beispielsweise über eine Befehlsshell Zugriff auf einen Laptop oder Server zu verschaffen. Im nächsten Artikel zeige ich Ihnen, wie das mit PowerShell Empire geht.
Ich hoffe, dass wir im ersten Einführungsartikel nicht zu tief in die Thematik eingetaucht sind. Jetzt lasse ich Sie durchatmen und beim nächsten Mal beginnen wir, uns reale Beispiele für Angriffe mit dateiloser Malware anzusehen, ohne unnötige einleitende Worte oder Vorbereitungen.
Source: habr.com