Maison >Opération et maintenance >Sécurité >Comment effectuer une analyse approfondie des échantillons d'attaques APT vietnamiennes

Comment effectuer une analyse approfondie des échantillons d'attaques APT vietnamiennes

PHPz
PHPzavant
2023-05-17 22:26:37852parcourir

1. Introduction

APT est devenu un sujet brûlant dans le domaine de la sécurité.

Innovación y laboratorio, une filiale d'Eleven Paths, a publié le rapport "Docless Vietnam APT" en avril :

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Les informations ci-dessus indiquent que nous avons détecté que certains e-mails malveillants ont été envoyés vers des boîtes aux lettres appartenant au gouvernement vietnamien. . La date de cet email vietnamien est le 13 mars 2019. Il y a des éléments suspects dans cet e-mail, qui pourraient provenir du gouvernement vietnamien, mais on ne peut pas exclure que quelqu'un ait envoyé l'e-mail au service de sécurité.

Les informations sur les exemples de TKCT quy I nam 2019.doc.lnk.malw sont les suivantes :

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

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

II Analyse statique

1. I nam Une fois l'échantillon 2019.doc.lnk.malw téléchargé localement, il est intelligemment déguisé en raccourci Word, incitant la victime à l'exécuter ou à double-cliquer habituellement pour l'afficher, comme indiqué ci-dessous :

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Image 2 : Déguisement du raccourci doc

Tout d'abord, le document Word n'est généralement pas un lien .lnk. La taille du lien doit être d'environ 1 Ko, mais l'exemple de raccourci APT est de 126 Ko. Il est évident que quelque chose d'autre est caché. nom de fichier comme .dat, .docx, etc. En fait, le suffixe C'est .exe, vous pouvez le voir en activant l'extension du nom de fichier.

2. Extrayez le code malveillant contenu dans la cible dans les exemples d'attributs, constatez qu'il s'agit d'une commande cmd obscurcie et cryptée, et exécutez PowerShell, comme indiqué ci-dessous :

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Image 3 : Commande obscurcie

APT. La méthode d'attaque est très populaire. VBS, PowerShell, JS et d'autres types de langages de script sont faciles à confondre et à chiffrer, et sont pratiques pour le traitement antivirus.

Les virus et les logiciels malveillants du passé ont donc ce point commun. Par exemple, Manlinghua, Xbash et les ransomwares aiment tous exécuter PowerShell comme première « charge utile » et le donner à l'ordinateur par surprise.

3. Après avoir analysé les instructions obscurcies, nous avons constaté que le raccourci TKCT quy I nam 2019.doc.lnk a été redirigé vers le fichier s.sp1. En fait, le raccourci sur le bureau est un fichier de script PowerShell. comme suit :

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Enfin, redirigez TKCT lorsque je nomme 2019.doc.lnk vers le dossier temporaire, nommez-le s.ps1 et exécutez le PowerShell, comme indiqué ci-dessous :

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Image 4 : Désobscurcir

4. Supprimer manuellement iex L'obscurcissement est également possible. Ouvrez le fichier et supprimez les caractères "iex". Le format de la commande PowerShell en cours d'exécution est : nom de fichier (original) >> comme suit :

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Image 5 : Code malveillant Powershell

5. Comme le montre la figure 5, deux éléments de données codées en Base64 ont été trouvés. PowerShell a l'intention d'exécuter les données malveillantes codées, d'ajouter des tâches planifiées, et exécutez la création toutes les 9 minutes, en utilisant le service InstallUtil pour obtenir un démarrage automatique et une persistance, et de manière intéressante en utilisant Wscript.Shell pour exécuter, plus l'effet est inattendu, plus l'effet est inattendu, comme indiqué ci-dessous :

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Image 6 : s.sp1

6. Après avoir analysé les données codées en Base64, il existe en fait deux fichiers exécutables, à savoir .net et .doc malveillants. La méthode d'exécution est celle indiquée dans la figure ci-dessous :

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

.

Image 7 : Routine générale

7. Après avoir analysé tmp_pFWwjd.dat.exe, après avoir été démonté par l'outil dnSpy, le code est clairement visible bien qu'il y ait une certaine confusion (vous pouvez utiliser de4dot.exe pour le masquer), cela n'affecte pas le niveau de code.

Localisez la fonction clé Exec() et recherchez les données codées en Base64String Selon le processus d'exécution, .NET délègue pour appeler la fonction Call, et elle est lisible et inscriptible. Ensuite, vous devez demander de la mémoire VirtualAlloc() et copier. le shellcode Base64 à l'application. Dans la mémoire, récupérez le pointeur CreateThread() et déléguez le pointeur de rappel pour exécuter le shellcode malveillant, comme indiqué ci-dessous :

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Image 8 : Démontage du .net

Comment comprendre le shellcode ou la charge utile ? Essentiellement, on peut dire qu'il s'agit d'un ensemble de données hexadécimales. Pour les fichiers exécutables, ce sont des données qui peuvent être interprétées et exécutées par le moteur d'assemblage.

Étant donné que ce qui suit impliquera l'extraction de données binaires et l'analyse d'assemblage, voici une image simple pour présenter les concepts de base du shellcode ou de la charge utile (pour le code malveillant), comme indiqué ci-dessous :

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Image 9 : La charge utile

est illustré à la figure 9. Pour les virus, en particulier les attaques à démarrage automatique et persistantes, il est difficile de les mettre en œuvre sans porte dérobée (sauf pour l'exploitation continue des vulnérabilités, en tirant à chaque fois une petite quantité de trafic pour le vol de données, etc.).

Par exemple, l'adresse de base de la randomisation de l'adresse ASLR changera à chaque redémarrage du système, ou elle sera injectée dans un nouvel espace de processus. L'adresse de base de la fonction du code lui-même est erronée. ? Pour obtenir un fonctionnement parfait, certaines opérations supplémentaires sont nécessaires. Bien entendu, cela ne pose aucun problème et la technologie est relativement mature.

En supposant que les lecteurs aient certaines connaissances sur le format, l'assemblage et le noyau de Windows PE, l'explication des connaissances suivante sera plus facile à comprendre. Je ne vulgariserai pas les connaissances de base. J'analyserai comment faire ces shellcodes à partir du format PE et du niveau assembleur, comment obtenir dynamiquement l'adresse de base du module telle que kernel32.dll, comment utiliser les valeurs de hachage ou Hash pour parcourir l'export. table, et évitez de tuer les chaînes sensibles et l'API de fonction sensible, etc.

3. Parlons de PE et de virus

En prenant le code malveillant ci-dessus comme exemple, parce que .net a rencontré de nombreux problèmes lors du débogage du shellcode, nous avons utilisé c/c++ pour restaurer l'échantillon tmp_pFWwjd.dat.exe.

Encore une fois, OD est utilisé pour le débogage dynamique. Bien sûr, vous pouvez le vider pour analyse. Selon vos préférences personnelles, vous pouvez directement interrompre l'exécution du shellcode, comme indiqué ci-dessous :

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Image 10 : Pointeur.

1. Entrez le point d'entrée, puis le décryptage XOR des données restaurera le code malveillant qui doit être réellement exécuté, comme indiqué ci-dessous :

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Image 11 : Décryptage XOR

2. chaîne. Cet avantage peut non seulement réduire la taille du shellcode, mais également masquer les caractères sensibles, qui ne sont pas faciles à intercepter par un logiciel antivirus, comme indiqué ci-dessous :

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Image 12 : Fonction d'acquisition de la valeur de hachage. adresse

3. Nous avons entré la fonction 1E0A42 et avons trouvé un tas d'affectations d'apparence ordinaire. L'opération est la suivante :

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Image 13 : fs:[0x30]

Fs est un registre, l'état du noyau est fs = 0x30, l'état utilisateur fs = 0x3B, fs pointe vers _KPCR dans l'état du noyau et l'état utilisateur pointe vers _TEB.

TEB (Thread Environment Block), bloc d'environnement de thread, c'est-à-dire que chaque thread aura TEB, qui sert à sauvegarder les données entre le système et le thread pour faciliter le contrôle des opérations. Alors Fs:[0x30] est le bloc d’environnement de processus PEB.

4. PEB est l'environnement de processus actuel. Shellcode peut facilement obtenir des informations PEB. Il obtient _PEB_LDR_DATA via le décalage 0xc. Cette structure contient des informations sur les modules chargés du processus

Obtient une liste chaînée circulaire bidirectionnelle via le décalage 0x1c. La liste chaînée pointe vers la structure LDR_DATA_TABLE_ENTRY. Jetons un coup d'œil aux données contenues dans cette structure. Le décalage des données ci-dessus est lié au système d'exploitation, comme indiqué ci-dessous :

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Image 14 : Obtenez la matrice du module

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes.

Image 15 : Étapes pour obtenir l'adresse de base du module d'environnement actuel

5. Grâce au processus ci-dessus, vous obtiendrez avec succès ntdll.dll, comme indiqué ci-dessous :

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Image 16 : Obtenez l'adresse du module

6 . Continuez à analyser la fonction 1E0B2A, qui a deux paramètres. Selon la convention d'appel de fonction, le paramètre 1 est l'adresse de base du noyau32, le paramètre 2 est la valeur de hachage du nom de la fonction et cette fonction est une GetProcAddress( ), comme indiqué ci-dessous :

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Image 17 : GetProcAddress

Le but de cette fonction est de vérifier si elle est conforme au format standard PE et d'obtenir l'en-tête NT et la table d'exportation. La table d'exportation enregistre les adresses de trois tables. Examinons d'abord la structure de la table d'exportation, comme indiqué ci-dessous :

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Le code malveillant doit localiser les adresses de ces trois tables, parcourir la table des noms de fonction AddressOfName, obtenir le nom de la fonction et calculer la valeur de hachage. Si la valeur de hachage est la même que celle du paramètre 2, cela signifie qu'il s'agit du nom de la fonction. même fonction.

Renvoyez l'indice actuellement parcouru, utilisez l'indice pour accéder à la table des numéros de séquence de fonctions AddressOfNameOrdinals pour trouver le numéro de séquence correspondant, obtenez la valeur enregistrée dans la table des numéros de séquence et obtenez les AddressOfFunctions dans la table d'adresses de fonction La relation entre. les trois sont simplement exprimés comme le montre la figure ci-dessous :

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Image 18 : Les trois sont liés

Comme le montre l'image ci-dessus, la table des numéros de série et la table des noms correspondent un à un, et les indices sont liés aux valeurs stockées dans les indices. Ces trois tableaux sont intelligemment conçus et utilisent le concept de base de données.

Il est à noter que les numéros de série ne sont pas dans l'ordre et qu'il y aura des lacunes. Certaines fonctions de la table d'adresses n'ont pas de noms de fonction, c'est-à-dire que la table d'adresses a des adresses mais ne peut pas être associée à la table de noms. À ce stade, le numéro de série est utilisé pour appeler le contenu du numéro de série plus le numéro de série de base. l'adresse de base est le véritable numéro d'appel.

8. Ceci étant compris, si vous examinez le code malveillant dans l'exemple, vous constaterez qu'il est exactement le même que la description ci-dessus, comme indiqué ci-dessous :

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Image 19 : GetProcAddress( )

9 Échec, comme indiqué ci-dessous :

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Image 21 : Créer un répertoire

Créer le chemin du nom de fichier et de répertoire c:User...AppDataRoaming

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

11. va commencer un nouveau voyage, comme indiqué ci-dessous :

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Image 22 : DownLoader

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

4 Analyse du module vkT2

1. adresse de la fonction, qui est cohérente avec l'appel de fonction ci-dessus. Le nom de la fonction est le suivant :

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

1E0AAA le décryptage de la fonction est le suivant :

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

2. nom de la fonction, vous devez deviner ce qui va se passer ensuite. Ce qui se passe est comme indiqué ci-dessous :

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Image 23 : InternetOpenA

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Image 24 : InternetConnectA

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Image 25 : HttpOpenRequestA

3. Processus de débogage dynamique, la carte est interrompue à la demande et le code est analysé statiquement. lstrcmpiA compare le champ de texte des informations d'empreinte digitale des données téléchargées pour voir s'il est clair, puis utilise InternetReadFile pour lire les données téléchargées et les exécuter. Sinon, il se mettra en veille et demandera une boucle infinie.

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Image 26 : Statut de la demande

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennesNous accédons directement à la page Web en fonction de l'adresse IP connue et du format de demande, comme indiqué ci-dessous :

Image 27 : vkT2

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes trouvé lors de l'analyse Web Tout du charabia ? Téléchargez-le localement et suivez le processus d'exécution du code d'origine. Il s'agit d'un morceau de données binaires. Selon les anciennes règles, écrivez un programme pour déboguer ce code malveillant.

4. L'analyse vkT2, décrypte d'abord les données, puis obtient dynamiquement l'adresse de la fonction, qui est une ancienne routine utilisée par les échantillons.

Les données de chaque section (table de sections) sont épissées cycliquement. Ici, selon VirtualAddress, l'adresse de chaque section après avoir été chargée dans la mémoire est épissée cycliquement. et le code de fonctionnalité de l'en-tête DOS est effacé pour former un fichier au format A PE, comme indiqué ci-dessous : #Image 28 : Extension de la mémoire#🎜 🎜#

5. Puisque le format PE a été étendu dans la mémoire, l'étape suivante consiste à réparer la table IAT et à la relocalisation. De nombreux aspects sont impliqués ici, et c'est toujours le cas. partie du format PE Vous pouvez consulter le "Windows Definitive Guide". 🎜🎜#6. Ensuite, analysez les points clés et obtenez les variables système pour déterminer s'il fonctionne sur un système 64 bits, comme indiqué ci-dessous :

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

#🎜🎜 #

Image 30 : Détermination de l'environnement d'exploitation

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes8. et d'autres informations, comme indiqué ci-dessous : 🎜#Image 31 : Collecte de données

#🎜🎜 #9. Un nouveau cycle de communication C&C commence, comme le montre la figure suivante :

#🎜 🎜#Image 32 : Établir la communication

#🎜 🎜#Pour une analyse plus approfondie, le fichier peut être ouvert à l'aide des fonctions HttpOpenRequest et HttpSendRequest. HttpOpenRequest crée un handle de requête et stocke les paramètres dans le handle. HttpSendRequest envoie les paramètres de requête au serveur HTTP, comme indiqué ci-dessous : # Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Image 33 : HttpOpenRequest

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Image 34 :Http EnvoyerRequestA# 🎜🎜#

11. Malheureusement, HttpSendRequeSt n'a pas de réponse. L'analyse statique du code restant (exécution simulée), la lecture du code malveillant renvoyé par le serveur et le contexte de sécurité des threads sont utiles.

L'analyse du renseignement n'a pas trouvé de données plus précieuses, mais cette méthode de requête est tout à fait unique, et le paquet de données construit est également très spécial. La spécificité de ceci sera discutée ci-dessous. Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Exemple de processus associé, l'organigramme d'exécution du peignage est le suivant :

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennes

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennesImage 35 : TKCT quy I nam 2019 . processus d'exécution de la documentation

Comme le montre la figure 35, les serveurs de communication client doivent tous être des serveurs proxy. En fait, l'environnement réel est bien plus compliqué que le processus ci-dessus, ce qui explique également la difficulté de traçage. la source.

Comme le montre la figure 33, les informations sur les données clés sont extraites de la mémoire de la pile, ce qui est différent des données de requête habituelles que nous voyons. Le résumé est le suivant :

#🎜🎜 ##. 🎜🎜#

Comment effectuer une analyse approfondie des échantillons dattaques APT vietnamiennesLes méthodes de communication APT deviennent de plus en plus prudentes. Si une analyse détaillée des échantillons n'est pas effectuée, des opérations de simulation de bac à sable, des outils d'investigation de la mémoire et de capture de paquets sont utilisés pour analyser le niveau du réseau et le les résultats sont similaires à Il peut y avoir des divergences dans les données souhaitées. Lorsque l'échantillon communique, il utilise en fait la technologie d'attaque réseau frontale de domaine.

Qu'est-ce que la technologie d'attaque de réseau front-end de domaine ? Pour faire simple, des équipes telles que msf et cs (Cobalt Strike) peuvent contrôler le trafic du serveur afin de contourner un certain degré de pare-feu et de détecteurs. Certains grands fabricants fourniront des services, des outils tels que msf ou cs peuvent donc être utilisés pour contourner. des pare-feux et des détecteurs dans une certaine mesure.

Nous utilisons Cobalt Strike comme exemple, qui intègre la redirection de port, l'analyse du port d'écoute multimode, la génération de programmes Windows exe, la génération de bibliothèques de liens dynamiques Windows dll, la génération de programmes Java, la génération de code macro bureautique, y compris le clonage de sites pour obtenir des informations relatives au navigateur. Informations etc

L'une des fonctions les plus utiles est le comportement de la charge utile Beacon, la modification des valeurs d'attribut par défaut du framework, la modification de la fréquence d'enregistrement et la modification du trafic réseau Beacon. La configuration de ces fonctions est dans le fichier. Malléable C2. La fonction

Malleable-C2-Profiles peut construire un trafic Web normal déguisé et finalement obtenir l'effet de dissimulation de la communication. Nous prenons le profil amazon.profile comme exemple, comme indiqué ci-dessous :

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 ";}

Le code ci-dessus communique avec l'exemple vkT2. .shellcode Les caractéristiques correspondent complètement. En chargeant le fichier de profil correspondant, les caractéristiques du trafic de l'hôte et du serveur cibles sont modifiées pour masquer le trafic et finalement atteindre l'objectif de dissimulation des communications.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer