Reverse

Développement Offensif Linux

Description

L’objectif de cette formation est d’appréhender les fondements du système d’exploitation Linux afin d’implémenter, via les API C bas-niveau, des mécanismes de sécurité offensifs.

 

Après une première journée de rappel sur les bases du système d’exploitation Linux, les participants apprendront à manipuler les APIs bas niveaux liées aux processus (création, communication, injection, débogage). Ils découvriront également le format ELF ainsi que sa représentation en mémoire. Enfin les mécanismes de sécurité (LSM), d’isolation (Cgroup, Namespaces), et d’audit du système seront également abordés.

 

Durant cette formation les participants seront amenés à implémenter un scénario dans lequel un attaquant injectera une librairie dans le service sshd afin d'intercepter puis exfiltrer les mots de passe des utilisateurs, tout en assurant la persistance sur le système en installant une porte-dérobée dans une librairie partagée.

 

L'introduction au développent système orienté sécurité sous Linux est une formation de niveau avancé conçue pour les pentesters, les développeurs sous Linux et les équipes de sécurité. Il est recommandé d’avoir de bonnes connaissances en développement C ainsi qu’une bonne culture générale en sécurité informatique.

 

5 jours / 13 heures de théorie / 22 heures de pratique

Contenu

  • Bases du système d’exploitation Linux

     

    • Accueil et démarrage des environnements de travail (des ordinateurs portables disposant de VM Debian sont fournis aux participants)

    • Distributions Linux

    • Shells

    • Système de fichier

    • Modèle de sécurité

    • Chaine de compilation

    • Systemd

    • D-Bus

    • PAM

       

  • Format ELF, représentation en mémoire et techniques de hooking

     

    • Format ELF

      • Structure

      • Représentation en mémoire

         

    • Techniques de hooking

  • Processus, threads et injection

    • Processus & Threads

      • Création, terminaison, monitoring, etc.

      • API

    • Débogage de processus
    • Injection de processus

 

  • Mécanismes d’IPC, mécanismes de sécurité et d’isolation

     

    • Communication inter-processus

    • Linux Security Module

      • AppArmor

      • SELinux

    • Mécanismes d'isolation

      • Cgroup

      • Namespaces

 

  • Audit de l’activité système & Interface noyau / utilisateur

     

    • Audit de l’activité système

    • Interface utilisateur / noyau