Notre contribution à la communauté de la sécurité de l'information et des systèmes d'information

Botconf 2017 – Workshop : Botnet Tracking and Data Analysis Using Open-Source Tools

Botconf 2017 – Workshop by Olivier Bilodeau & Masarah Paquet-Clouston de GoSecure (Canada)

Pour une mission de réponse à incident, les consultants ont toujours recours à des techniques de la rétro-ingénierie (reverse-engineering). Ils cherchent à comprendre le fonctionnement du botnet ou tout autre logiciel malveillant (malware). La victime voulant être rassurée le plus vite possible, les contraintes de temps et de publication s’imposent. Tout de même, il est recommandé de passer par des outils permettant d’analyser le trafic réseau, de filtrer les données, de présenter et visualiser l’activité du malware, et enfin interpréter les informations pour déterminer par exemple, la portée de l’attaque et sa véracité.

Le but de cette approche « data science » est l’analyse rapide du trafic malicieux et l’établissement d’un « workflow » représentant l’activité réseau malveillante.

Pendant cet atelier, des outils open-source ont été utilisés afin d’explorer le trafic réseau et ainsi comprendre l’activité d’un malware et produire des indicateurs de compromission (IOC). Ci-dessous les différents outils open-source utilisés.

Botconf 2017 - Workshop CONIX

« Jupyter » est une application web faisant partie des outils open-source qui ont été utilisés. Parmi ses avantages, la possibilité de programmer en plusieurs langages de programmation (une quarantaine environ), Python, Bash, Ruby, etc. et la possibilité de rédiger des notebooks qui sont utilisées en « data science » pour analyse.

La première partie concernait l’exploration des données en recherchant rapidement différents patterns dans un dataset (jeu de données sous forme de fichiers « .pcap »). Un « .pcap » est un format de données pour stocker les paquets réseau capturés. Puis la deuxième partie s’est focalisée sur l’analyse des résultats et leur représentation.

Un honeypot avait été mis en place afin de comprendre le mode opératoire du botnet et capturer le trafic réseau y compris les communications avec les C&C (Command and Control). Une attaque man-in-the-middle avait été menée pour déchiffrer le trafic HTTPS (mitmproxy).

 

Extraction de données depuis le trafic avec Wireshark et tshark

L’utilisation de Wireshark (possédant une interface graphique) est recommandée. Il permet d’explorer les données, mener une première investigation et construire des filtres de recherche exploitables par tshark.

Tshark est un autre outil en ligne de commande. Il est pratique pour extraire automatiquement, donc aisément, les informations utiles depuis plusieurs fichiers de données (.pcap). Il est plus pratique d’utiliser les filtres construits sur Wireshark.

 

Analyse des données (trafic web)

« mitmproxy » est un outil en ligne de commande permettant d’intercepter le trafic web (HTTP/HTTPS), le modifier et le rejouer. Dans le cas de cet atelier, il a servi à la récupération des champs intéressants comme le site sollicité, le user-agent, le timestamp, le code retour, etc. Ces données sont généralement, représentées sous forme de « dataframes » exploitables par « Pandas ».

 

Manipulation des « dataframes »

Cette action est réalisée par « Pandas ». Il s’agit  d’une bibliothèque de manipulation et d’analyse de données pour le langage de programmation Python. Pandas permet donc, la manipulation des « dataframes » et la création des « subdataframes » en isolant un certain ensemble d’informations.

 

Représentation graphique des données

La représentation graphique des données est un résumé visuel qui permet en un seul coup d’œil de comprendre la tendance générale d’un ensemble de données.

Afin de répondre à ce besoin, « Plotly » qui est un outil de visualisation open-source, permet de générer et modifier un graphique interactif.

 

Article Botconf 2017 – Workshop by CONIX

By | 2017-12-12T16:28:15+00:00 12/12/2017|Conférences, Technique|