# La rétro-ingénierie de code malveillant dans la CTI ##### Analyse de l’évolution d’une chaîne d’infection ###### Charles Meslay ----- ## Cyber Threat Intelligence ----- ## Cyber Threat Intelligence Renseignement sur la menace cyber ----- ## Étudier le contexte et les capacités techniques des attaquants pour mieux se défendre ----- #### Moyens techniques ### INFRASTRUCTURE ###### Quelle infrastructure est utilisée par l’acteur malveillant pour communiquer avec ses implants, effectuer des actions de reconnaissance ou exfiltrer des données du réseau ? ----- #### Moyens techniques ### INFRASTRUCTURE ###### Quelle infrastructure est utilisée par l’acteur malveillant pour communiquer avec ses implants, effectuer des actions de reconnaissance ou exfiltrer des données du réseau ? ### CODES MALVEILLANTS ###### Quels outils, codes malveillants et vecteurs d’intrusion sont utilisés par un acteur malveillant afin de compromettre ses cibles, de se latéraliser et de réussir sa mission ? ----- ## Processus d’analyse d’un code ----- ## y ###### > Comprendre ce qu’il fait > Signer le code > Pivoter / Trouver des nouveaux fichiers (> Extraire les serveurs C2) ----- ## y ###### > Comprendre ce qu’il fait > Signer le code > Pivoter / Trouver des nouveaux fichiers (> Extraire les serveurs C2) ----- ## y ###### > Comprendre ce qu’il fait > Signer le code > Pivoter / Trouver des nouveaux fichiers (> Extraire les serveurs C2) ----- ## y ###### > Comprendre ce qu’il fait > Signer le code > Pivoter / Trouver des nouveaux fichiers (> Extraire les serveurs C2) ----- ## y ###### > Comprendre ce qu’il fait > Signer le code > Pivoter / Trouver des nouveaux fichiers (> Extraire les serveurs C2) ----- ## Exemple : TA410 ----- ----- ----- ###### > Menace supposée d’origine Chinoise. > Associée à APT10 > Sous-groupe: FlowingFrog, LookingFrog, JollyFrog > Arsenal: Tendyron, FlowCloud, X4, LookBack, PlugX, QuasarRAT ----- ###### > Menace supposée d’origine Chinoise. > Associée à APT10 > Sous-groupe: FlowingFrog, LookingFrog, JollyFrog > Arsenal: Tendyron, FlowCloud, X4, LookBack, PlugX, QuasarRAT ----- ## Chaîne d’exécution ----- ###### Création d’un service ----- ###### Création d’un service ###### Application vulnérable DLL Side Loading ###### Exécute ----- ###### Création d’un service ###### Application vulnérable DLL Side Loading ###### Charge ###### DLL illégitime ----- ###### Création d’un service ###### Application vulnérable DLL Side Loading ###### DLL illégitime ###### Backdoor FlowCloud ###### Charge en mémoire ----- ###### Création d’un service ###### Application vulnérable DLL Side Loading ###### DLL illégitime ###### Backdoor FlowCloud ----- ## Analyse initiale ----- ----- ----- ----- ----- ----- ----- ----- ## p ----- ----- ----- ----- ----- ## Automatisation de la désobfuscation ----- ----- ----- ----- ----- ----- ----- ----- ----- ###### > Identification du mécanisme anti-analyse > La DLL charge puis exécute “setlangloc.dat” Problème : > “setlangloc.dat” introuvable ----- ## Signature du code ----- ## g ###### > Langage de création de règles / signatures > Identification des patterns dans des fichiers > Utilisé pour la détection de malwares ----- ## g ----- ## g ----- ## g ----- ## g ----- ## g ----- ## g ----- ## Pivoter / Trouver des nouveaux samples ## Pivoter / Trouver des nouveaux samples ----- ## Deux variants connus sur VirusTotal ----- ----- ## Des nouveaux mécanismes d’obfuscation ----- ## p ----- ## p ----- ## p ----- ## p ----- ## p ----- ## p ----- ----- |Fichier|Motif 1|Motif 2|Motif 3| |---|---|---|---| |Initial|48|0|0| |Variant 1|69|136|136| |Variant 2|1|64|128| ----- |Fichier|Motif 1|Motif 2|Motif 3| |---|---|---|---| |Initial|48|0|0| |Variant 1|69|136|136| |Variant 2|1|64|128| ----- |Fichier|Motif 1|Motif 2|Motif 3| |---|---|---|---| |Initial|48|0|0| |Variant 1|69|136|136| |Variant 2|1|64|128| ----- |Fichier|Motif 1|Motif 2|Motif 3| |---|---|---|---| |Initial|48|0|0| |Variant 1|69|136|136| |Variant 2|1|64|128| ----- ## Création d’une nouvelle signature ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- #### Nouvelle signature YARA ###### Basée sur : > L’algorithme de déchiffrement du nom de fichier > L’algorithme de dérivation de clé > Les mécanismes d’obfuscation > Le patch ----- #### Nouvelle signature YARA ----- #### Nouvelle signature YARA ----- ## Pivoter / Trouver des nouveaux samples ## Pivoter / Trouver des nouveaux samples ----- ## Un nouveau fichier sur VirusTotal ----- ----- |Fichier|Motif 1|Motif 2|Motif 3| |---|---|---|---| |Initial|48|0|0| |Variant 1|69|136|136| |Variant 2|1|64|128| |Variant 3|0|280|280| ----- |Fichier|Motif 1|Motif 2|Motif 3| |---|---|---|---| |Initial|48|0|0| |Variant 1|69|136|136| |Variant 2|1|64|128| |Variant 3|0|280|280| ----- ----- ----- ----- ----- #### Nouveau fichier ###### Nombreuses similarités : > 4 motifs sur 5 sont présents > seul l’algorithme de dérivation de clé absent Confiance assez élevée sur l’association avec TA410/FlowCloud ----- ## Possibilité d’aller plus loin ? ## Possibilité d’aller plus loin ? ----- ----- ## Est-ce que msedgeupdate.dat existe ? ----- ----- ## Déchiffrement et chargement dans IDA Pro ----- #### Shellcode ###### > Algorithme de dérivation de clé > Déchiffre et charge l’étape suivante (FlowCloud) > Protégée par VMProtect > Extraction de l’adresse IP du C2 ----- #### Shellcode ###### > Algorithme de dérivation de clé > Déchiffre et charge l’étape suivante (FlowCloud) > Protégée par VMProtect > Extraction de l’adresse IP du C2 ----- #### Shellcode ###### > Algorithme de dérivation de clé > Déchiffre et charge l’étape suivante (FlowCloud) > Protégée par VMProtect > Extraction de l’adresse IP du C2 ----- #### Shellcode ###### > Algorithme de dérivation de clé > Déchiffre et charge l’étape suivante (FlowCloud) > Protégée par VMProtect > Extraction de l’adresse IP du C2 ----- #### Shellcode ###### > Algorithme de dérivation de clé > Déchiffre et charge l’étape suivante (FlowCloud) > Protégée par VMProtect > Extraction de l’adresse IP du C2 ----- ## Bilan ----- #### Bilan ###### > Pivot via la création d’une règle YARA sur : > des mécanismes d’obfuscation > des algorithmes cryptographique > Un nouveau fichier trouvé avec 0 détection sur VirusTotal > Associé à FlowCloud/TA410 (confiance élevée) > Pivot via l’adresse IP compliqué ----- #### Bilan ###### > Pivot via la création d’une règle YARA sur : > des mécanismes d’obfuscation > des algorithmes cryptographique > Un nouveau fichier trouvé avec 0 détection sur VirusTotal > Associé à FlowCloud/TA410 (confiance élevée) > Pivot via l’adresse IP compliqué ----- #### Bilan ###### > Pivot via la création d’une règle YARA sur : > des mécanismes d’obfuscation > des algorithmes cryptographique > Un nouveau fichier trouvé avec 0 détection sur VirusTotal > Associé à FlowCloud/TA410 (confiance élevée) > Pivot via l’adresse IP compliqué ----- ## Conclusion ----- ## Conclusion ###### > Présentation la démarche d’un reverser > Les attaquants mettent à jour leur code > Mais on peut réussir à les suivre > Panorama non exhaustif de l’analyse de malware ----- # Questions? ###### Charles Meslay -----