Heim >Betrieb und Instandhaltung >Sicherheit >So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

PHPz
PHPznach vorne
2023-05-17 22:26:37847Durchsuche

1. Einführung

APT ist zu einem heißen Thema im Sicherheitsbereich geworden.

Innovación y laboratorio, eine Tochtergesellschaft von Eleven Paths, veröffentlichte im April den Bericht „Docless Vietnam APT“:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Die oben genannten Informationen besagen, dass wir festgestellt haben, dass einige bösartige E-Mails an Postfächer der vietnamesischen Regierung gesendet wurden . Das Datum dieser vietnamesischen E-Mail ist der 13. März 2019. Diese E-Mail enthält verdächtige Elemente, die möglicherweise von der vietnamesischen Regierung stammen, es kann jedoch nicht ausgeschlossen werden, dass jemand die E-Mail an die Sicherheitsabteilung gesendet hat.

TKCT quy I nam 2019.doc.lnk.malw Beispielinformationen sind wie folgt:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 1: TKCT quy I nam 2019.doc.lnk.malw

II. Statische Analyse

1 Nachdem das Beispiel 2019.doc.lnk.malw lokal heruntergeladen wurde, wird es geschickt als Word-Verknüpfung getarnt, wodurch das Opfer dazu verleitet wird, es auszuführen oder gewöhnlich darauf zu doppelklicken, um es anzuzeigen, wie unten gezeigt:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 2: Dokumentverknüpfung verschleiern

Zuallererst: Das Dokument ist im Allgemeinen kein .lnk-Link, aber die APT-Beispielverknüpfung ist offensichtlich 126 KB groß Der Dateiname ist .dat, .docx usw. Tatsächlich ist das Suffix .exe, Sie können es sehen, indem Sie die Dateinamenerweiterung aktivieren.

2. Extrahieren Sie den im Ziel enthaltenen Schadcode in den Beispielattributen und stellen Sie fest, dass es sich um einen verschleierten und verschlüsselten cmd-Befehl handelt, und führen Sie Powershell aus, wie unten gezeigt:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 3: Verschleierter Befehl

APT Die Angriffsmethode ist sehr beliebt: VBS, PowerShell, JS und andere Arten von Skriptsprachen lassen sich leicht verschleiern und verschlüsseln und sind praktisch für die Antivirenverarbeitung.

Viren und Malware haben also in der Vergangenheit diese Gemeinsamkeit: Man Linghua, Xbash und Ransomware führen alle gerne Powershell als erste „Payload“ aus und geben sie als Überraschung an den Computer weiter.

3. Nach dem Parsen der verschleierten Anweisungen stellten wir fest, dass die Verknüpfung TKCT quy 2019.doc.lnk zur Datei s.sp1 umgeleitet wurde. Tatsächlich handelt es sich bei der Desktop-Verknüpfung um eine Powershell-Skriptdatei wie folgt ausführen:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Schließlich TKCT umleiten, indem ich 2019.doc.lnk in den temporären Ordner benenne, es s.ps1 benenne und die Powershell ausführe, wie unten gezeigt:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 4: Deobfuscate

4. Manuelles Entfernen von iex. Öffnen Sie die Datei und entfernen Sie die Zeichen „iex“. Das Format des PowerShell-Ausführungsbefehls lautet: Dateiname (Original) >> wie folgt:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 5: Powershell-Schadcode

5. Wie in Abbildung 5 gezeigt, wurden zwei Base64-kodierte Daten gefunden, die PowerShell beabsichtigt, die kodierten Schaddaten auszuführen, geplante Aufgaben hinzuzufügen, und führen Sie die Erstellung alle 9 Minuten aus, verwenden Sie den InstallUtil-Dienst, um Selbststart und Persistenz zu erreichen, und verwenden Sie interessanterweise Wscript.Shell zur Ausführung. Je unerwarteter, desto unerwarteter ist der Effekt, wie unten gezeigt:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 6: s.sp1

6. Nach dem Parsen der Base64-codierten Daten gibt es tatsächlich zwei ausführbare Dateien, nämlich schädliche .net- und .doc-Dateien. Die Ausführungsmethode ist in der folgenden Abbildung dargestellt:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 7: Allgemeine Routine

7. Nach der Analyse von tmp_pFWwjd.dat.exe ist der Code nach der Zerlegung durch das dnSpy-Tool deutlich sichtbar (Sie können ihn mit de4dot.exe verschleiern). Es hat keinen Einfluss auf die Codeebene.

Suchen Sie die Schlüsselfunktion Exec() und suchen Sie die Base64String-codierten Daten. Entsprechend dem Ausführungsprozess ruft .NET die Funktion auf, und sie ist lesbar und beschreibbar. Anschließend müssen Sie den Speicher VirtualAlloc() beantragen und kopieren Rufen Sie den Base64-Shellcode im Speicher ab und delegieren Sie den Callback-Zeiger, um den bösartigen Shellcode auszuführen, wie unten gezeigt:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 8: .net-Demontage

Wie versteht man Shellcode oder Payload? Im Wesentlichen handelt es sich um eine Reihe hexadezimaler Daten. Bei ausführbaren Dateien handelt es sich um Daten, die von der Assembler-Engine interpretiert und ausgeführt werden können.

Da es sich im Folgenden um die Extraktion binärer Daten und die Assembly-Analyse handelt, finden Sie hier ein einfaches Bild zur Einführung in die Grundkonzepte von Shellcode oder Nutzlast (für Schadcode), wie unten gezeigt:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 9: Die Nutzlast

ist in Abbildung 9 dargestellt. Bei Viren, insbesondere bei selbststartenden und anhaltenden Angriffen, ist die Implementierung ohne eine Hintertür schwierig (außer bei der kontinuierlichen Ausnutzung von Schwachstellen, bei der jedes Mal eine kleine Menge Datenverkehr für Datendiebstahl abgezogen wird usw.).

Zum Beispiel ändert sich die Basisadresse der ASLR-Adressrandomisierung bei jedem Neustart des Systems oder sie wird in einen neuen Prozessraum eingefügt. Die Funktionsbasisadresse des Codes selbst ist falsch ? Um einen perfekten Betrieb zu erreichen, sind einige zusätzliche Vorgänge erforderlich. Dies stellt natürlich kein Problem dar und die Technologie ist relativ ausgereift.

Vorausgesetzt, dass die Leser über gewisse Kenntnisse über das Windows PE-Format, die Assembly und den Kernel verfügen, ist die folgende Wissenserklärung leichter zu verstehen. Ich werde nicht auf grundlegende Kenntnisse eingehen und analysieren, wie diese Shellcodes im PE-Format und auf Assembly-Ebene erstellt werden, wie Modulbasisadressen wie kernel32.dll dynamisch abgerufen werden und wie Hash-Werte oder Hash zum Durchlaufen des Exports verwendet werden Tabelle und vermeiden Sie das Töten sensibler Zeichenfolgen und sensibler Funktions-APIs usw.

3. Sprechen Sie über PE und Viren

Am Beispiel des oben genannten Schadcodes haben wir das Beispiel tmp_pFWwjd.dat.exe mit c/c++ wiederhergestellt, da .net beim Shellcode-Debuggen auf viele Probleme gestoßen ist.

Auch hier wird OD für das dynamische Debuggen verwendet. Sie können es natürlich nach Ihren persönlichen Vorlieben direkt unterbrechen, wenn Sie den Shellcode ausführen, wie unten gezeigt:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 10: Zeiger

1. Geben Sie den Einstiegspunkt ein, und dann stellt die Daten-XOR-Entschlüsselung den Schadcode wieder her, der tatsächlich ausgeführt werden muss, wie unten gezeigt:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 11: XOR-Entschlüsselung

2 Dieser Vorteil kann nicht nur die Größe des Shellcodes reduzieren, sondern auch sensible Zeichen verbergen, die von Antivirensoftware nicht leicht abgefangen werden können, wie unten gezeigt:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 12: Hash-Wert-Erfassungsfunktion Adresse

3. Wir haben die Funktion 1E0A42 eingegeben und eine Reihe gewöhnlich aussehender Zuweisungen gefunden. Die Operation ist wie folgt:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 13: fs:[0x30]

Fs ist ein Register, der Kernel-Status ist fs = 0x30, der Benutzerstatus fs = 0x3B, fs zeigt auf _KPCR im Kernelstatus und der Benutzerstatus zeigt auf _TEB.

TEB (Thread Environment Block), Thread-Umgebungsblock, das heißt, jeder Thread verfügt über einen TEB, der zum Speichern von Daten zwischen dem System und dem Thread verwendet wird, um die Betriebssteuerung zu erleichtern. Dann ist Fs:[0x30] der PEB-Prozessumgebungsblock.

4. PEB ist die aktuelle Prozessumgebung. Sie erhält _PEB_LDR_DATA über den Offset 0xc. Diese Struktur enthält jeweils eine bidirektionale verknüpfte Liste Die verknüpfte Liste verweist auf die Struktur LDR_DATA_TABLE_ENTRY. Schauen wir uns die in dieser Struktur enthaltenen Daten an

Bild 15: Schritte zum Abrufen der Basisadresse des aktuellen Umgebungsmoduls

5. Durch den obigen Vorgang erhalten Sie erfolgreich ntdll.dll, wie unten gezeigt: So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 16: Erhalten Sie die Moduladresse So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

6. Analysieren Sie weiterhin die Funktion 1E0B2A, die gemäß der Funktionsaufrufkonvention zwei Parameter hat. Parameter 1 ist die Kernel32-Basisadresse, Parameter 2 ist der Hash-Wert des Funktionsnamens und diese Funktion ist eine selbst implementierte GetProcAddress(. )-Funktion, wie unten gezeigt:

Bild 17: GetProcAddressSo führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Der Zweck dieser Funktion besteht darin, zu überprüfen, ob sie dem PE-Standardformat entspricht, und den NT-Header und die Exporttabelle abzurufen. Die Exporttabelle speichert die Adressen von drei Tabellen. Schauen wir uns zunächst die Struktur der Exporttabelle an, wie unten gezeigt:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Der Schadcode muss die Adressen dieser drei Tabellen finden, die Funktionsnamentabelle AddressOfName durchlaufen, den Funktionsnamen abrufen und den Hash-Wert berechnen. Wenn der Hash-Wert mit Parameter 2 übereinstimmt, bedeutet dies, dass er derselbe ist gleiche Funktion.

Geben Sie den aktuell durchlaufenen Index zurück, gehen Sie mit dem Index zur Funktionssequenznummerntabelle AddressOfNameOrdinals, um die entsprechende Sequenznummer zu finden, erhalten Sie den in der Sequenznummerntabelle gespeicherten Wert und erhalten Sie die AddressOfFunctions in der Funktionsadresstabelle Die drei werden einfach wie in der folgenden Abbildung dargestellt ausgedrückt:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 18: Die drei hängen zusammen

Wie in der Abbildung oben gezeigt, entsprechen die Seriennummerntabelle und die Namenstabelle eins zu eins, und die Indizes sind es Bezogen auf die in den Indizes gespeicherten Werte sind diese drei Tabellen intelligent gestaltet und nutzen das Datenbankkonzept.

Es ist zu beachten, dass die Seriennummern nicht in Ordnung sind und es zu Lücken kommen kann. Einige Funktionen in der Adresstabelle haben keine Funktionsnamen, das heißt, die Adresstabelle hat Adressen, kann jedoch nicht mit der Namenstabelle verknüpft werden. Zu diesem Zeitpunkt wird der Seriennummerninhalt plus die Basisseriennummer verwendet Die Basisadresse ist die tatsächliche Rufnummer.

8. Wenn Sie sich den Schadcode im Beispiel ansehen, werden Sie feststellen, dass er genau mit der obigen Beschreibung übereinstimmt, wie unten gezeigt:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 19: GetProcAddress( )

9 Fehlgeschlagen, wie unten gezeigt:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 21: Verzeichnis erstellen

Datei und Verzeichnisnamenpfad erstellen c:Benutzer...AppDataRoaming

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

11. Serverantwort und Download von Schadcode wird eine neue Reise beginnen, wie unten gezeigt:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 22: DownLoader

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

4. vkT2-Modulanalyse

1. Nachdem wir der Funktion gefolgt sind, haben wir eine große Anzahl von Hash-Werten gefunden Funktionsadresse, die mit dem obigen Funktionsaufruf übereinstimmt:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

1E0AAA Funktionsentschlüsselung ist wie folgt:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

2 Funktionsname, Sie sollten raten, was als nächstes passieren wird. Was passiert, ist wie unten gezeigt:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 23: InternetOpenA

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 24: InternetConnectA

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 25: HttpOpenRequestA

3. Während der Dynamischer Debugging-Prozess. Die Karte wird auf Anfrage unterbrochen und der Code wird statisch analysiert. lstrcmpiA vergleicht das Textfeld mit den Fingerabdruckinformationen der heruntergeladenen Daten, um festzustellen, ob es klar ist, und verwendet dann InternetReadFile, um die heruntergeladenen Daten zu lesen und auszuführen. Andernfalls geht es in den Ruhezustand über und fordert eine Endlosschleife an.

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 26: Anforderungsstatus

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durchWir greifen basierend auf der bekannten IP und dem Anforderungsformat direkt auf die Webseite zu, wie unten gezeigt:

Bild 27: vkT2

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch Web-Analyse gefunden Alles Kauderwelsch? Laden Sie es lokal herunter und befolgen Sie den ursprünglichen Codeausführungsprozess. Schreiben Sie gemäß den alten Regeln ein Programm zum Debuggen dieses Schadcodes.

4. Für die vkT2-Analyse werden die Daten zuerst entschlüsselt und dann die Funktionsadresse dynamisch abgerufen. Dies ist eine alte Routine, die von Proben verwendet wird.

Die Daten jedes Abschnitts (Abschnittstabelle) werden entsprechend der VirtualAddress zirkulär gespleißt. Die Speicherausrichtungsgranularität beträgt 0x1000 gelöscht, um eine Datei im PE-Format zu erstellen, wie folgt:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 28: Speichererweiterung

5. Da das PE-Format in den Speicher erweitert wurde, besteht der nächste Schritt darin, die IAT-Tabelle zu reparieren und Umzug, der viele Aspekte umfasst. Sie können den „Windows Definitive Guide“ überprüfen, wie in der Abbildung unten gezeigt:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 29: IAT reparieren

6 Die wichtigsten Punkte, die Systemvariablen abrufen und feststellen, ob es auf einem 64-Bit-System ausgeführt wird, ist wie folgt:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 30: Bestimmen der Betriebsumgebung

8 Daten, Host-IP, Hostname und andere Informationen, wie unten gezeigt:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 31: Datenerfassung

9. Eine neue Runde der C&C-Kommunikation beginnt, wie im folgenden Diagramm dargestellt:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 32: Kommunikation aufbauen

Zur weiteren Analyse kann die Datei mit den Funktionen HttpOpenRequest und HttpSendRequest geöffnet werden. HttpOpenRequest erstellt ein Anforderungshandle und speichert die Parameter im Handle. HttpSendRequest sendet die Anforderungsparameter an den HTTP-Server, wie unten gezeigt:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 33: HttpOpenRequest

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 3 Vierzehn : HttpSendRequestA

11. Leider gibt es keine Antwort von HttpSendRequeSt. Die statische Analyse des verbleibenden Codes (simulierte Ausführung), das Lesen des vom Server zurückgegebenen Schadcodes und der Thread-Sicherheitskontext sind hilfreich.

Die Geheimdienstanalyse hat keine wertvolleren Daten gefunden, aber diese Anfragemethode ist sehr einzigartig und das erstellte Datenpaket ist auch etwas ganz Besonderes. Die Besonderheiten davon werden weiter unten erläutert.

In Verbindung mit dem Beispielprozess sieht das Kämmausführungsflussdiagramm wie folgt aus:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

Bild 35: TKCT quy I nam 2019.doc-Ausführungsprozess

Abbildung 35, die Server für die Clientkommunikation sollten alle Proxys sein. Tatsächlich Die reale Umgebung des Servers ist weitaus komplizierter als der obige Prozess, was auch die Schwierigkeit bei der Rückverfolgung der Quelle darstellt.

Wie in Abbildung 33 dargestellt, werden wichtige Dateninformationen aus dem Stapelspeicher extrahiert. Dies unterscheidet sich von den üblichen Anforderungsdaten, die wir sehen. Die Zusammenfassung lautet wie folgt:

So führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch

APT-Kommunikationsmethoden werden immer vorsichtiger. Wenn keine detaillierte Probenanalyse durchgeführt wird, Sandbox-Simulationsoperationen, Speicherforensik und Paketerfassungstools zur Analyse auf Netzwerkebene verwendet werden, können die Ergebnisse etwas von den gewünschten Daten abweichen. Wenn die Probe kommuniziert, erreicht sie tatsächlich die Domänenfront Ende. Cyber-Angriffstechniken.

Was ist eine Domain-Front-End-Netzwerkangriffstechnologie? Einfach ausgedrückt können Teams wie msf und cs (Cobalt Strike) den Serververkehr kontrollieren, um einen bestimmten Grad an Firewalls und Detektoren zu umgehen. Einige größere Hersteller bieten Dienste an, sodass Tools wie msf oder cs zur Umgehung verwendet werden können Firewalls und Detektoren können bis zu einem gewissen Grad erreicht werden.

Wir verwenden Cobalt Strike als Beispiel, das Portweiterleitung, Scan-Multimode-Port-Listener, Windows-Exe-Programmgenerierung, Windows-DLL-Dynamic-Link-Bibliotheksgenerierung, Java-Programmgenerierung, Office-Makrocodegenerierung, einschließlich Site-Klonen, um browserbezogene Informationen zu erhalten, integriert Informationen usw.

Eine der nützlicheren Funktionen ist das Verhalten der Beacon-Nutzlast, das Ändern der Standardattributwerte des Frameworks, das Ändern der Check-in-Häufigkeit und das Ändern des Beacon-Netzwerkverkehrs. Die Konfiguration dieser Funktionen befindet sich in der Datei Formbar C2.

Malleable-C2-Profiles-Funktion kann einen normalen Web-verschleierten Datenverkehr aufbauen und schließlich den Effekt der Kommunikationsverbergung erzielen. Wir nehmen das amazon.profile als Beispiel, wie unten gezeigt:

set useragent "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko";http-get {Seturi"/s/ref=nb_sb_noss_1/167-3294888-0262949/field-keywords=books";client {header "Accept" "*/*";header "Host" " www.amazon.com ";metadata {base64;prepend "session-token=";prepend "skin=noskin;";append "csm-hit=s-24KU11BB82RZSYGJ3BDK|1419899012996";header "Cookie";}http-post {set uri "/N4215/adj/amzn.us.sr.aps";client {header "Accept" "*/*";header "Content-Type" "text/xml";header "X-Requested-With" "XMLHttpRequest";header "Host" " www.amazon.com ";parameter "sz" "160x600";parameter "oe" "oe=ISO-8859-1;";id {parameter "sn";}parameter "s" "3717";parameter "dc_ref" "http%3A%2F%2F www.amazon.com ";}

Der obige Code kommuniziert mit dem Beispiel-vkT2 .shellcode Durch das Laden der entsprechenden Profildatei werden die Datenverkehrseigenschaften des Zielhosts und -servers geändert, um den Datenverkehr zu verbergen und letztendlich den Zweck der Kommunikationsverheimlichung zu erreichen.

Das obige ist der detaillierte Inhalt vonSo führen Sie eine eingehende Analyse vietnamesischer APT-Angriffsproben durch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen