Skip to main content

Debrief conférences Coriin 2025

·2235 words·11 mins· loading · loading · ·
Fr Blueteam Coriin DFIR Forensic
Table of Contents

Tout comme l’année passée, j’ai eu la chance de pouvoir participer à la conférence du Coriin.
Voici donc mon compte rendu des différentes conférences, ainsi que ce que j’en ai retenu.

Avant de commencer, voici l’adresse à laquelle vous pourrez retrouver l’intégralité des informations concernant les différents conférenciers.

Si une conférencière ou un conférencier a jugé utile d’indiquer un TLP lors de sa présentation, celui-ci sera mentionné. Les informations confidentielles ne seront bien entendu pas partagées dans ce compte rendu.

Analyse Forensic et OSINT : Résolution d’une affaire de vols de colis
#

TLP: Amber - C3
Catherine Krzykwa et Sébastien Bourgeois — Groupe La Poste

Pour des raisons de confidentialité, je ne vais pas entrer dans les détails de cette conférence.

Concernant la partie OSINT, les analystes ont expliqué avoir utilisé (en partie) L.O.C pour récupérer des informations sur le compte Facebook de la personne suspectée.

Les suspects dans cette affaire ont pu être arrêtés grâce au travail remis par les analystes aux forces de l’ordre.

Similarité de graphes appliquée à la désobfuscation de binaire Go
#

Paul Rascagneres et Killian Raimbaud de Volexity

Le projet a été rendu open source pour l’occasion et est donc disponible sur le GitHub de Volexity.

Aussi, les slides de la conférence sont disponibles ici.

Les analystes de Volexity sont partis du postulat que de plus en plus de malwares étaient écrits en Go et que, parmi leurs analyses, ceux-ci occupaient une place de plus en plus importante.
Cela peut s’expliquer par le fait que Go est un langage multiplateforme, ce qui permet une utilisation transversale par les threat actors.
Parmi les outils régulièrement utilisés par les attaquants et développés en Go, on peut citer Sliver, iox ou encore rsockstun.

Il faut savoir que lors de la compilation, l’ensemble des bibliothèques est intégré dans le binaire final, et que toutes les chaînes de caractères sont concaténées selon leur taille, ce qui peut rendre l’analyse statique plus complexe.

Ajoutons à cela qu’un packer open source existe, Garble.
Garble renomme les bibliothèques utilisées, supprime la version du compilateur utilisé et obfusque les chaînes de caractères.
Il a cependant une limitation : l’aléatoire utilisé pour le nom des bibliothèques est constant sur un même binaire.

Un outil développé par Mandiant existe déjà, GoReSym, mais il ne répondait pas à l’intégralité des besoins de Volexity.

Plus de détails techniques dans les slides de la présentation.

Etude utilisée par les analyste de Volexity

Projet Thanatology : analyse forensique unifiée et multiplateforme
#

TLP: Clear
Félix Guyard de ForensicXLab

Lien du projet GitHub

L’objectif de l’outil est d’être open source et multiplateforme. Bien qu’il puisse être utilisé par tous, la cible première reste les forces de l’ordre.
Thanatology est un outil graphique qui embarque la suite d’outils Exhume, développée en Rust (par le même développeur → GitHub).

La suite d’outils Exhume permet, entre autres, l’analyse et la récupération de données dans un cadre légal, ainsi que la génération de rapports exploitables par les tribunaux.
Elle est utilisable en ligne de commande et sera bientôt adaptée sous forme de bibliothèque.

Schéma d’architecture de l’application
#

alt text

Idées d’évolution → DFICrew IA :
#

Challenger les preuves récupérées d’un point de vue légal en simulant un procès par IA.

La roadmap du projet est accessible sur GitHub.

Donjons et dRAGons : Utiliser des LLMs pour entraîner ses équipes de réponse à incident
#

Aurélien Denis et Charles Garang du CERT de la Société Générale

Lien du projet GitHub

Création d’un jeu de rôle (JDR) alimenté par IA à des fins de formation pour les analystes cyber.

Le projet s’appelle rAIdline, à ne pas confondre avec RedLine.

Basé sur Mattermost, l’objectif est de participer au traitement d’un incident fictif en maximisant l’interaction.
Le bot demande à l’analyste des renseignements sur la façon dont il traite l’incident, et en fonction des réponses, la suite de l’incident peut s’améliorer ou empirer.
Des mises à jour sont demandées à intervalles réguliers au joueur.

Le modèle n’a pas été spécifiquement entraîné à cette fin. Les “règles” ont donc été implémentées via des prompts, ce qui rend la manipulation du modèle plus simple.
Comme dans tout JDR, il faut donc expliquer aux joueurs/utilisateurs ce qu’ils doivent faire ou éviter !

Séduction artificielle ? L’utilisation de l’IA dans les dialogues d’arnaques aux sentiments
#

Olivier Beaudet-Labrecque et Renaud Zbinden de FORENSWISS

Présentation de la startup Forenswiss et du produit Forenscam
Objectifs :

  • Déterminer si les fraudeurs utilisent des LLM pour automatiser les conversations
  • Récupérer les moyens de paiement qu’ils utilisent (en particulier les IBANs, sans s’y limiter)

Analyse manuelle et automatique des 171 conversations recueillies, parmi lesquelles seules 152 ont été jugées exploitables.
L’initiation de ces discussions s’est faite au travers d’applications de rencontre.

Il me semble important de préciser maintenant la définition de ce qu’est un “format” :
Un format désigne une méthode ou un scénario utilisé pour tromper la victime. Ils sont généralement composés de phrases toutes faites, souvent traduites de l’anglais, et pouvant comporter des fautes de frappe, de grammaire ou d’orthographe.

Résultats :
#

  • Une grande partie des phrases étaient des “formats” (la fréquence d’apparition de certaines a permis d’en faire un facteur discriminant)

    Si le fraudeur utilise des formats, alors il n’utilise pas un LLM.

    Exemple de format

  • Présence de fautes d’orthographe ou de phrases typiques

    S’il y a des fautes, alors ce n’est probablement pas un LLM.

    Exemple de fautes d’orthographe

  • Certains formats présentent aussi des erreurs de traduction

    C’est ainsi que Do you know PayPal honey? devient Tu connais pas le miel PayPal ?

    Exemple d’erreurs de traduction

  • Analyse des messages par Small Language Models pour détecter l’utilisation de l’IA

    Trop de faux positifs

Conclusion :
#

L’analyse automatique est inefficace.
2 conversations sur les 152 seraient automatisées, et encore, sans grande certitude.
Une grande majorité des scammers n’utilisent donc pas l’IA.
Il est important de garder à l’esprit que l’échantillon était assez limité et que l’analyse entièrement automatisée a montré ses limites.

Enfin, il semblerait que certains escrocs mutualisent leurs ressources, tels que les IBANs, par exemple.

Bonus : conversation entre 2 LLM
#

Première partie de la conversation entre 2 LLM

Interaction manuelle pour demander la 1256e décimale de Pi
Seconde partie de la conversation entre 2 LLM

La Vidar Loca
#

TLP : Variable - PAP : Faut pas taper les C2
Aucune IP ni schéma réseau ne sera donc communiquée.
Thibault Séret de Team Cymru

Vidar est un stealer qui se vend environ 300 $ pour 60 jours.
À la date du Coriin (01/04/2025), les threat actors derrière venaient d’annoncer la V2.0 du stealer.
Lors de l’achat du stealer, une archive est fournie avec un kit d’installation “All in One”.

Technique utilisée pour identifier les C2 → rebondir sur les certificate issuer.
Lors des premières expositions, l’équipe derrière Vidar a envoyé un message de remerciement à Thibault concernant l’intérêt qu’il leur portait.

Cependant, cela ne les a pas empêchés de refondre leur infrastructure pour limiter leur exposition.
Thibault a tout de même réussi à re-schématiser l’infrastructure via… les certificate issuer.

Il semblerait que, depuis décembre 2024, l’équipe derrière Vidar travaille sur le développement d’un nouvel outil.
Récemment, Vidar a été déployé via la chaîne d’infection connue sous le nom de fake captcha.

BlogPost Team Cymru du 13/01/23 - Darth Vidar: The Dark Side of Evolving Threat Infrastructure

BlogPost Team Cymru du 15/06/23 - Darth Vidar: The Aesir Strike Back

Plus d’informations concernant Vidar sur Malpedia.

Quad7 : l’enquête
#

Félix Aimé et Charles Meslay de Sekoia
Intervention sur un malware en RAM sur un routeur

7777 ou Quad7 (à ne pas confondre avec Quad9, un fournisseur DNS) est un botnet relativement discret ciblant des VIP dans des entreprises utilisant Microsoft Azure.
Ce botnet s’est principalement constitué à partir de routeurs TP-Link. Une fois ces routeurs compromis, il pouvait également s’attaquer aux NAS et aux systèmes de vidéosurveillance présents sur le même réseau.

Le botnet a été nommé Quad7 car il ouvrait un service Telnet sur les machines compromises via le port 7777, ainsi qu’un proxy SOCKS sur le port 11288.
Un nombre significatif de machines compromises n’apparaissait plus sur des plateformes comme Shodan, Onyphe ou Censys, car l’interface web avait été désactivée par les attaquants (parfois remappée sur le port 81, mais ce n’était pas systématique).

Les équipes de Sekoia ont tenté d’exposer un routeur vulnérable. Bien que certaines tentatives d’exploitation aient eu lieu, aucune ne provenait du groupe derrière Quad7 — possiblement parce que l’exposition de la machine était trop récente pour qu’elle ait été repérée par les threat actors.
Pour identifier les auteurs des tentatives d’exploitation, les analystes ont mis sous surveillance le dossier /tmp du routeur exposé.

Ils ont donc dû trouver une autre solution : identifier une victime et se rendre chez elle pour procéder à l’analyse.
Plusieurs victimes potentiellement infectées ont été identifiées. L’une d’elles a accepté d’installer une sonde réseau plug-and-play (basée sur un Raspberry Pi) sur son routeur afin de confirmer ou non l’infection.

Screen de la sonde réseau et du code lancement du tcpdump

Code utilisé par les analystes de Sekoia pour surveiller le trafic sur les ports 81, 7777 et 11288 :

@reboot /bin/bash -c 'sleep 60 && UUID=$(uuidgen) 
&& /usr/bin/tcpdump -i br0 "port 81 or port 7777 or 
port 11288" -w /home/tap/capture_${UUID}.pcap -C 
1000 -W 10' >> /home/tap/tcpdump.log 2>&1

Une fois l’infection confirmée, les analystes se sont rendus chez la victime pour effectuer un dump de la mémoire du routeur à chaud et récupérer le binaire malveillant.
À ce stade, il était impératif de ne pas redémarrer le routeur ou de ne pas créer de faux contacts sur la carte mère, au risque de perdre le binaire et de devoir recommencer la procédure depuis le début.

Le dump par UART s’est bien déroulé. Les binaires récupérés étaient nommés xlogin, socks5 et telnetd.
Le reverse engineering de xlogin a été relativement rapide : une simple commande strings sur le binaire a permis de trouver le mot de passe requis pour accéder à la session Telnet. Ce mot de passe était… Pass123.
Une fois le mot de passe saisi, xlogin ouvrait un shell en lançant /bin/sh.

D’autres marques ont également été ciblées par Quad7, avec des binaires aux noms similaires à ceux utilisés pour TP-Link :

  • alogin pour les routeurs de marque Asus,
  • zlogin pour ceux de Zyxel,
  • ou encore rlogin et axlogin pour d’autres marques de routeurs.

Il est intéressant de noter que l’attaquant a commis une erreur à un moment donné : il a exposé un binaire busybox sur le port 45734 sans mot de passe, sur l’ensemble des appareils infectés.

Les informations récupérées ont été transmises à l’ANSSI dès leur découverte.

Rapport du 23/07/24 de Sekoia - Solving the 7777 Botnet enigma: A cybersecurity quest

La formation sur l’investigation numérique
#

Sébastien Larinier de l’ESIEA

Analyse de l’état global du “marché de l’emploi cyber” : il y a un manque de talents dans le domaine de la blueteam, en particulier dans la forensic et la réponse à incident.

L’intervenant nous a partagé le site DFIQ, qui est très pertinent.

DFIQ is a collection of Digital Forensics Investigative Questions and the approaches to answering them. The goal of the project is to build a comprehensive catalog of investigative knowledge to help drive consistent, thorough, and explainable investigations.

APT28’s Double-Tap : Une campagne de cyberespionnage du GRU sur la diplomatie du Kazakhstan
#

Amaury-Jacques Garçon et Maxime Arquillière de Sekoia

Cette investigation commence par la mise en place de règles de détection (YARA - GitHub) sur VirusTotal, détectant l’exploitation de certaines vulnérabilités utilisant les macros de documents Office (Word, Excel, etc.).

Un document finit par faire sonner cette règle ; les analystes le récupèrent, en extraient la macro et tentent d’identifier la chaîne d’infection :

  1. Le document demande l’exécution de macros pour afficher du contenu jusqu’alors illisible.
  2. Si l’utilisateur accepte, la macro modifie un paramètre dans le registre afin d’autoriser l’exécution automatique des macros.
  3. Téléchargement d’un second fichier Office (principalement des fichiers Word dans le cadre de cette attaque) contenant lui aussi une macro.
  4. Exécution de cette seconde macro, qui crée un fichier HTA et met en place une tâche planifiée s’exécutant toutes les 4 minutes.
  5. Exécution du fichier HTA nouvellement créé, qui déchiffre (via un XOR) du code contenu dans la seconde macro.
  6. Ce nouveau fichier HTA exécute du code VBA qui initie une communication C2.

Schéma de Sekoia :

Schéma de la chaîne d’infection

Au total, 18 documents ont été identifiés : 10 étaient lisibles, et les 8 restants avaient été volontairement dégradés.
Concernant ces 8 derniers, les analystes ont utilisé ChatGPT pour afficher le contenu illisible en lui soumettant des captures d’écran.

Voici une liste non exhaustive des documents utilisés dans le cadre de cette attaque :

  • Une note diplomatique de l’ambassade du Kazakhstan
  • Un compte rendu de visite privée
  • Des informations concernant un projet public impliquant le Kazakhstan et l’Allemagne
  • Une analyse géostratégique de la situation entre la Chine et Taïwan
  • Un document interne censé sensibiliser les fonctionnaires kazakhs contre le cyberespionnage

Les méthodes utilisées rappellent celles d’APT28 (soupçonné d’être affilié aux renseignements russes).
La question s’est donc posée : pourquoi la Russie souhaiterait-elle cibler les fonctionnaires kazakhs ?

Plusieurs hypothèses ont été émises par les analystes :

  • Le Kazakhstan, alors allié historique de la Russie, ne l’a pas soutenue lors de l’invasion de l’Ukraine.
  • Pour maintenir l’influence russe face à la montée d’autres puissances.
  • Parce qu’Astana cherche actuellement à diversifier ses partenariats économiques.

Plus de détails sur le blogpost de Sekoia du 13/01/25 - Double-Tap Campaign: Russia-nexus APT possibly related to APT28 conducts cyber espionage on Central Asia and Kazakhstan diplomatic relations

Source de la miniature de l’article - Licence Creative Common

Related

Debrief conférences Coriin 2024
·2152 words·11 mins· loading · loading
Fr Blueteam Coriin DFIR Forensic