Développement d'exploits

Expert

RT434

Sommaire

Description

Dans ce cours, les participants ayant suivi le cours d’introduction (RT433) approfondiront leurs connaissances et leur compréhension de la recherche et du développement en matière d’exploitation.

Ce cours complet est conçu pour faire des participants des experts de haut niveau en matière de sécurité. Ils apprendront à trouver les vulnérabilités critiques partout dans les plateformes et à les exploiter. Cette formation est une connaissance indispensable pour toute personne qui souhaite travailler en tant qu’expert professionnel dans le domaine de la sécurité. Les participants acquerront des compétences pratiques dans les domaines fondamentaux de la sécurité de l’information, de la terminologie, de l’accès aux systèmes et de leur protection, et l’accent sera mis sur la pratique.

Comment réussir au mieux ce cours

Pour réussir ce cours, il vous faudra :

  • Participer à l’ensemble des labos
  • Produire du travail personnel entre les cours
  • Exécuterles exercices, s’auto-former, réaliser les tâches demandées, etc.

Outre une participation active au cours, le participant doit fournir au moins 10h de travail personnel durant la semaine de cours afin d’acquérir une expérience pratique dans les domaines enseignés.
Le participant doit également posséder un ordinateur personnel capable de faire tourner un système virtuel avec une connexion Internet stable (voir ci-dessous pour plus de détails).

Public cible

  • Testeurs de pénétration
  • Professionnels et vendeurs de la sécurité
  • Les équipes de recherche
  • Reverse Engineers » (retro-ingénieurs)

Objectifs

  • Découvrir les différents niveaux de vulnérabilité, y compris les vulnérabilités « zero-day »
  • Comprendre les méthodes d’attaques
  • Infrastructure et défense du système
  • Se familiariser avec l’APT et les attaques
  • Comprendre les mécanismes de sécurité modernes

Prérequis

  • Connaissance en Analyse Malware
  • Cours ThinkCyber niveau 2

Syllabus

Description

Ce module présentera aux participants le monde du développement de l’exploitation, expliquera les règles de base, ce qui doit être ciblé et comment créer un processus de travail soigné et professionnel. Ce module montrera les techniques de base de l’exploitation binaire.

Contenu technique

  • Anatomie d’un programme en mémoire
    Processus Organisation de la mémoire
    Stack mémoire
    Débordement de la mémoire tampon
    Concepts et définitions
    Briefing sur les registres Assembly et l’organisation des données
  • Débordement de Stack
    Les variables de Stack
    Variables d’environnement
    Écraser les pointeurs de fonction stockés sur Stack
    Erreur de segmentation
    Comprendre les pointeurs
    Instructions système et codes OP
    Exécuter l’instruction « \xcc »
    Trouver l’adresse de l’exécutable Crash
    Adresser les exécutables avec la programmation
    Attribuer la taille du tampon
    Attribuer la taille du code shell Stack
    Mécanismes de défense communs DEP ASLR NX
    Travailler avec NOP
    Trouver les instructions JMP dans la mémoire
    Écrire le code POC
  • Vulnérabilité des chaînes de format
    Fuite des chaînes
    Modifier le flux d’exécution des programmes
    Modifier les emplacements de mémoire arbitraires
    Affectation de valeurs spécifiques
    Écriture de données plus importantes dans le processus
    Redirection de l’exécution dans un processus

Description

Ce module augmentera le niveau des capacités de débordement de la mémoire tampon et présentera des techniques avancées et largement acceptées dans le monde de l’exploitation binaire.

Contenu technique

  • Débordement
    La structure et la fonctionnalité de la section mémoire influencent le flux de code
    Le détournement de données
    Les pointeurs  d’écrasement
    Les métadonnées
    « Dlmalloc » pour modifier l’exécution du programme
  • Techniques avancées de débordement
    Conversion de chaînes en petits entiers Endians
    Conversion d’entiers binaires en représentation ASCII
    Travailler avec des entiers non signés de 32 bits
    Chaîne de format aveugle à distance
    Attaque de débordement à distance
    Débordements à l’aide de VEH Débordements à l’aide de l’UEF

Description

Ce module montrera aux participants comment analyser le programme C-code mal configuré pour en tirer profit et écrire un code d’exploitation pour manipuler le système.

Technical content

  • Analyzing C Code
    Programs SUID Files
    Permissions race conditions shell
    Meta-variables
    $PATH weaknesses
    Scripting language
    Weaknesses binary
    Compilation failures Program that allows arbitrary programs to be executed
    Manipulating crontab Instructions
    Bypassing restriction
    Code of file read
    Permissions exploitin directory permissions escape
    Restricted shells anenvironments binary
    Processes Standard Input and executes a shell command
    Exploit local
    Network Services

Labos

Les labos suivants font partie du cours RT434 :

  • Labo 1 C Programme Anatomie de la mémoire
  • Labo 2 Instructions d’exécution
  • Labo 3 Attribuer la taille du code de coquille
  • Labo 4 Codage du POC
  • Labo 5 Modifier le flux d’exécution des programmes
  • Labo 6 Hijacking
  • Labo 7 Métadonnées
  • Labo 8 Conversion de chaînes de caractères en petits nombres Endians
  • Labo 9 Attaque à distance par débordement
  • Labo 10 Exploitation des autorisations de l’annuaire
  • Labo 11 Exploiter les services de réseaux locaux

Etudes de cas réels

Etude de cas #1 (EDB001)
Les chercheurs en cybersécurité ont dévoilé l'existence d'un cadre de logiciels espions très sophistiqué, en activité depuis quelques années, qui permettait à l'attaquant d'espionner les ordinateurs des diplomates. Utilisez vos compétences pour identifier le logiciel malveillant.
Reference
Etude de cas #2 (EDB002)
VideoLAN a récemment publié un avis de sécurité concernant une vulnérabilité de dépassement de cache du lecteur multimédia VLC. Un employé d'une société informatique locale a utilisé la version vulnérable et est devenu une victime.
Reference
Diapositive précédente
Diapositive suivante
RT434

TYPE DE COURS

Le participant peut bénéficier d’un des deux modes de cours :

  • Une classe de cours virtuelle avec des labos avec instructeur et des scénarios exécutés dans notre Cyberium Arena
  • Des cours in situ avec des labos avec instructeur et des scénarios exécutés dans notre Cyberium Arena

Cependant, en raison des restrictions sanitaires, l’ensemble des cours se fait sous la forme de classes virtuelles.

Toutes les sessions sont enregistrées et peuvent être re-visionnées pendant 30 jours.

Tout le matériel de cours  est mis à disposition du participant sous  forme électronique, couvrant les syllabus, les labos, et les études de cas.

Groupe de cours: Offense

NIVEAU
0%
HEURES
1

Entre Pratique et Théorie

Notre approche de la formation est éminemment pratique et vise à permettre au participant d’appliquer dans un contexte pratique les connaissances qu’il acquiert.
Pratique
1 %
Labos
1
Etudes de cas
1

Certification

Ce cours prépare aux certifications suivantes:

  • SEC760 (SANS)

Équipement requis

Connexion réseau

Comme ce cours est essentiellement fondé sur un Learning Managament System (LMS), incluant une arène pour les labos, les participants ont besoin d’une connexion fiable à Internet.

Apporter votre propre matériel

Le cours étant principalement basé sur la pratique, les participants doivent avoir un ordinateur portable avec :

  • L’audio et la vidéo
  • 8 GB RAM
  • 200 GB d’espace disque
  • La capacité d’un environnement virtuel (capable de faire tourner la dernière version de Virtualbox ou un simulateur de machine virtuelle équivalent)

Et bien sûr un bon kit casque/micro. Plus de détails ici

Inscription