Bases de l'analyse de logiciels malveillants

Analysez des binaires malveillants en toute sécurité. Combinez l'analyse statique pour extraire les chaînes de caractères et les en-têtes avec l'analyse dynamique utilisant strace et ltrace pour surveiller les appels système et de bibliothèque lors de l'exécution.

Cybersecurity EngineerCybersécurité

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

L’analyse de malware combine les preuves recueillies sans exécution et les comportements observés à l’exécution. Ce cours pratique construit cette démarche avec des programmes Linux sûrs conçus pour montrer ce que structure, chaînes, appels système et bibliothèques révèlent sur un exécutable suspect.

Vous identifierez des fichiers ELF, consignerez leur SHA-256, inspecterez leurs en-têtes, extrairez des indicateurs et tracerez une exécution contrôlée avec strace et ltrace. Le défi final demande de retrouver une clé intégrée, déclencher le comportement préparé sous traçage et signaler les fichiers locaux modifiés.

Ce que vous apprendrez

  • Déterminer le type et l’architecture réels d’un binaire avec file
  • Générer une empreinte SHA-256 et examiner les en-têtes ELF avec readelf
  • Extraire et filtrer les chaînes intégrées pour trouver URL, IP et secrets
  • Enregistrer les appels système et cibler fichiers et réseau avec strace
  • Interpréter les indices openat, unlink, socket et connect
  • Tracer les fonctions de bibliothèques avec ltrace et isoler les appels texte et fichier
  • Retrouver une charge utile en clair préparée avant sa transformation et son écriture
  • Combiner indices statiques et traces dynamiques pour documenter les modifications déclenchées

À qui s’adresse ce cours

Ce cours intermédiaire s’adresse aux personnes étudiant la cybersécurité, aux intervenants en réponse, aux administrateurs Linux et aux futurs analystes malware souhaitant découvrir le tri d’exécutables. Il privilégie comportements observables et collecte de preuves, non le reverse engineering en assembleur.

Prérequis : Être à l’aise avec un terminal Linux, la lecture de fichiers, grep et la redirection. Des notions de processus, exécutables, réseau et hash sont utiles ; C et désassemblage ne sont pas requis.

Environnement d’apprentissage : Un terminal Ubuntu 22.04 avec file, SHA-256, readelf, strings, strace et ltrace. Les échantillons sont des programmes C inoffensifs compilés pour les labs et limités à des fichiers et indicateurs de test.

Questions fréquentes

Vais-je exécuter un vrai malware ?

Non. Chaque exécutable est un simulateur créé pendant la préparation afin d’illustrer fichiers, réseau, identifiants et charges sans capacité malveillante réelle.

L’isolation convient-elle à mes propres échantillons inconnus ?

Non. L’environnement convient aux échantillons inoffensifs fournis, mais ne configure pas de sandbox renforcé, confinement réseau, instantanés ni surveillance pour des binaires arbitraires. N’y exécutez aucun échantillon inconnu.

Le cours enseigne-t-il désassemblage ou décompilation ?

Non. Malgré le thème du défi, le périmètre est un tri boîte noire avec métadonnées, en-têtes ELF, chaînes, strace et ltrace. Assembleur, débogueurs, décompilateurs, dépaquetage et reconstruction sont exclus.

Des services externes de renseignement sont-ils nécessaires ?

Non. Vous consignez hash et indicateurs locaux sans téléverser d’échantillon ni consulter VirusTotal. Les conclusions viennent des artefacts et traces fournis.

Enseignant

labby
Labby
Labby is the LabEx teacher.