Aller au contenu principal

Exploit

Un exploit est une méthode ou un mécanisme permettant de tirer parti d'une vulnérabilité.

Exemple conceptuel :

Software vulnerability


Exploit technique


Unexpected behavior

L'exploit représente donc la manière dont une faiblesse est utilisée.


Payload

Un payload correspond à l'action ou au contenu exécuté après l'exploitation.

Exemples conceptuels :

  • exécuter une commande ;
  • créer une connexion ;
  • modifier une donnée ;
  • récupérer une information.

Exemple conceptuel

1. Vulnerability

The system contains a weakness.
2. Exploit

A technique triggers the weakness.
3. Payload

The desired action is performed.

Représentation :

┌───────────────┐
│ Vulnerability │
└───────┬───────┘

┌───────────────┐
│ Exploit │
└───────┬───────┘

┌───────────────┐
│ Payload │
└───────────────┘

Important

Tous les exploits ne possèdent pas nécessairement un payload séparé.

Et un payload n'est pas automatiquement malveillant dans tous les contextes.

Ces termes décrivent avant tout des concepts techniques.


Exploit vs Payload

ExploitPayload
Utilise une faiblesseRéalise une action
ExploitationEffet obtenu
Comment atteindre le résultatQue faire après

Exemple simplifié

Vulnerability:
Weakness in a service
Exploit:
Technique that triggers the weakness
Payload:
Requested action after successful exploitation

Exploit Development

L'étude des exploits nécessite notamment de comprendre :

  • architecture système ;
  • mémoire ;
  • registres ;
  • appels système ;
  • protections mémoire ;
  • debugging ;
  • reverse engineering.

Concepts associés :

Stack
Heap
ASLR
DEP / NX
Stack Canaries
ROP
Fuzzing

Points importants

  • Une vulnérabilité est une faiblesse.
  • Un exploit permet de tirer parti de cette faiblesse.
  • Un payload correspond généralement à l'action exécutée ou au résultat recherché.
  • Les trois concepts doivent être distingués.

Concepts associés

  • Vulnerability
  • Attack Vector
  • Memory Security
  • Reverse Engineering
  • Binary Security