Skip to content

Un VPN en pièces détachées : PPP, tap et Netcat

Un VPN, c’est deux tâches : quelque chose qui fabrique un lien virtuel, et quelque chose qui transporte les octets. PPP fait la première depuis 1994 et se moque de la seconde — c’est pourquoi PPTP, L2TP et chaque ligne commutée que vous avez utilisée sont le même protocole sur des transporteurs différents. Netcat est un transporteur. Ce billet le construit des deux façons. D’abord pppd : l’option pty et ce qu’elle fait d’un pseudo-terminal, la version TCP que tout le monde essaie d’abord, pourquoi faire tourner un protocole de flux dans TCP s’effondre sous la perte, la version UDP qu’il faut prendre, le tramage HDLC asynchrone et l’ACCM qui décide de la bande passante dépensée à échapper des caractères de contrôle, l’adressage et le routage et IPV6CP, et garder le lien en vie quand le transporteur meurt sans le dire. Puis le même tunnel sans PPP du tout — un tap, un datagramme par trame sur UDP, le préfixe de longueur qu’il faut inventer soi-même sur TCP, tun contre tap, et le bridging. Puis la partie pour laquelle netcat n’a pas de réponse : envelopper le transporteur dans TLS avec ncat, stunnel et openssl, et dans DTLS avec socat, qui est la forme qu’on veut vraiment. Ce n’est jamais vraiment le bon outil, et c’est là le propos : il montre comment se comporte l’egress dès qu’un attaquant a root dans votre réseau et que l’accès sortant n’était pas bloqué par défaut, et pourquoi le default-deny à la frontière est le seul contrôle qui ait jamais été réel.

14 septembre 2026 Â· 65 min Â· 14203 mots Â· Damien Dye

Ping : l'outil de diagnostic qui ouvre bien plus que ça

Ping, pas le reste de l’ICMP, est le risque : l’écho est un canal auquel chaque hôte doit répondre avec vos propres octets, si bien qu’un réseau qui « n’autorise que le ping » a déjà un VPN complet vers l’extérieur. On parcourt d’abord la menace — ce qu’elle coûte à votre sortie, et comment un visiteur sur votre WiFi ou une prise ethernet non verrouillée peut en ouvrir un — puis trois tunnels qui marchent, bâtis sur le seul ping (Hans, icmptunnel, et un court en Python avec AES-128), les pièges du MTU et de l’IPv6, et la règle qui le ferme : jeter l’écho, garder les erreurs, sur nftables, pf, Cisco, Junos, MikroTik et Windows.

1 septembre 2026 Â· 38 min Â· 8267 mots Â· Damien Dye