TCP ISN — Stégano dans le numéro de séquence

Réseau TCP

Principe

Le numéro de séquence initial (ISN) d'une connexion TCP est normalement aléatoire (32 bits). En le remplaçant par des données encodées, un attaquant transmet ~32 bits d'information par tentative de connexion (SYN), de façon très discrète.

Mécanisme

# Émetteur : forger des SYN dont l ISN = données encodées
from scapy.all import *
for chunk in chunks_of_4_bytes(secret):
    send(IP(dst=t)/TCP(flags='S', seq=int.from_bytes(chunk,'big')))
# Récepteur : capturer les SYN, lire tcp.seq, reconstruire

Détection

Les ISN modernes sont générés cryptographiquement (RFC 6528) et apparaissent aléatoires : un canal ISN passe sous le radar du contenu. Détection possible par anomalie statistique ou répétition de SYN sans établissement de connexion.