Cet article rédigé initialement en novembre 2018 a été mis à jour en octobre 2026 pour intégrer la nouvelle génération de proxies d’audit Web écrits en Rust (Caido aux côtés du classique OWASP ZAP), les performances de dérivation mémoire Argon2id face aux GPU modernes dans Hashcat v7+ / John the Ripper, ainsi que les dates exactes de création et de mise à jour 2026 des dépôts GitHub officiels.
La sécurisation d’un écosystème d’applications auto-hébergées repose sur la validation empirique de deux piliers : la résistance cryptographique des condensats de mots de passe en cas d’exfiltration d’une base de données ou d’un échange réseau (Net-NTLMv2, WPA2-PMKID, Kerberos AS-REP), et la rigueur de la surface d’exposition HTTP/HTTPS (en-têtes de sécurité, isolation des cookies de session, validation des entrées et décodage hors-ligne des jetons).
1. Matrice des Classiques de l’Audit Cryptographique & Applicatif Web
| Outil & Lien Officiel | Dépôt GitHub & Dates du Code | Rôle & Fonctionnement Technique | Conseil Pratique & Défense Homelab |
|---|---|---|---|
| Hashcat & John the Ripper | • hashcat/hashcat : origine 2009, GitHub créé 2015-12-04, update code 2026-10-28, ⭐ 27 166, licence MIT• openwall/john : origine 1996 (Solar Designer), GitHub créé 2011-12-16, update code 2026-10-11, ⭐ 13 828 | Audit hors-ligne de la robustesse des empreintes cryptographiques (NTLM, Net-NTLMv2, WPA2-PMKID, bcrypt, PBKDF2, Argon2id) par accélération matérielle OpenCL / CUDA sur GPU et SIMD sur CPU. | Démontre mathématiquement pourquoi il est impératif d’utiliser Argon2id (comme sur Vaultwarden / Authelia) associé à des phrases de passe de plus de 16 caractères et à des clés matérielles FIDO2 / WebAuthn. |
| OWASP ZAP & Caido | • zaproxy/zaproxy : origine 2010 (Simon Bennetts), GitHub créé 2015-06-03, update code 2026-10-27, ⭐ 16 059, licence Apache-2.0• caido/caido : GitHub créé 2021-10-22, update code 2026-10-26, ⭐ 2 710 | Proxies d’interception HTTP/HTTPS/WebSocket et scanners de sécurité applicative dynamique (DAST), alternatives de référence à Burp Suite (ZAP en Java open-source avec automatisation CI/CD ; Caido doté d’un moteur léger en Rust). | Permet d’inspecter les en-têtes CSP (Content-Security-Policy), HSTS, les attributs de cookies HttpOnly / Secure / SameSite=Strict et de vérifier l’absence d’IDOR ou d’injections sur ses propres applications. |
| CyberChef | gchq/CyberChef• GitHub créé : 2016-11-28 (GCHQ)• Update code : 2026-10-23• ⭐ 36 234 · Licence Apache-2.0 | Le « couteau suisse cyber » web exécuté 100 % côté client (navigateur) pour chaîner le décodage de Base64, Hex, jetons JWT, XOR, Gzip, certificats X.509, timestamps Unix et charges utiles obscurcies. | Zéro donnée envoyée sur Internet lorsqu’il est auto-hébergé en local sur son propre Homelab (conteneur Docker statique hors-ligne), garantissant la confidentialité absolue des jetons et journaux analysés. |
2. Pourquoi Argon2id Neutralise la Force Brute GPU (Hashcat / John)
Un algorithme de hachage rapide sans sel ni coût mémoire comme NTLM (MD4(UTF-16LE(password))) permet à un seul GPU moderne de calculer plus de 100 milliards de condensats par seconde (> 100 GH/s). À cette vitesse, n’importe quel mot de passe de 8 caractères est reconstitué en quelques minutes.
À l’inverse, la fonction de dérivation de clé Argon2id (lauréate de la Password Hashing Competition en 2015, standardisée par la RFC 9106) impose un coût mémoire incompressible (m = 65536 Ko par essai) combiné à un coût temporel (t = 3 itérations) et un degré de parallélisme (p = 4) :
| Algorithme / Mode Hashcat | Coût Mémoire par Essai | Vitesse Typique sur GPU Haut de Gamme | Impact Opérationnel |
|---|---|---|---|
NTLM (-m 1000) | Négligeable (registres internes) | ~120 000 000 000 H/s (120 GH/s) | Obsolète : vulnérable aux dictionnaires à règles et au Pass-the-Hash. |
Net-NTLMv2 (-m 5600) | Négligeable (HMAC-MD5 salé) | ~6 500 000 000 H/s (6,5 GH/s) | Exige des mots de passe longs (> 16 caractères) et le blocage de LLMNR/WPAD. |
WPA2-PMKID / EAPOL (-m 22000) | Faible (PBKDF2-HMAC-SHA1, 4096 tours) | ~1 500 000 H/s (1,5 MH/s) | Impose une clé pré-partagée Wi-Fi aléatoire de 24+ caractères ou WPA3-SAE. |
bcrypt (-m 3200, coût 12) | 4 Ko (cache L1) | ~65 000 H/s | Robuste contre les GPU classiques, mais parallélisable sur FPGA. |
Argon2id (m=64 MiB, t=3, p=4) | 64 Mo de VRAM par fil d’exécution | < 50 à 200 H/s | Goulot d’étranglement mémoire (Memory-Hard) : rend toute attaque par force brute économiquement et physiquement impraticable. |
# Mesurer sur sa propre station la différence de vitesse entre NTLM (-m 1000) et bcrypt (-m 3200)
hashcat -b -m 1000
hashcat -b -m 3200
# Auditer la conformité d'un fichier d'empreintes de test avec John the Ripper et une liste de règles
john --wordlist=/usr/share/wordlists/rockyou.txt --rules=best64 hashes_test.txt
3. Audit de Surface Web avec OWASP ZAP, Caido et CyberChef
Lors de la mise en production d’un nouveau service derrière un reverse-proxy Caddy ou Traefik, l’interception des échanges via OWASP ZAP ou Caido permet de valider quatre invariants de sécurité :
- Verrouillage des routes d’administration et d’inscription : Vérifier que les chemins
/adminet/api/accounts/register(ex: Vaultwarden, Gitea) retournent systématiquement un codeHTTP 403 ForbiddenouHTTP 404 Not Foundlorsqu’ils sont interrogés depuis une adresse IP externe. - Validation des en-têtes HTTP de durcissement :
Strict-Transport-Security: max-age=63072000; includeSubDomains; preloadContent-Security-Policy: default-src 'self'; frame-ancestors 'self'; object-src 'none'X-Content-Type-Options: nosniffetReferrer-Policy: strict-origin-when-cross-origin
- Protection des jetons de session : S’assurer qu’aucun jeton sensible ne transite dans l’URL (
Query String) et que chaque cookie d’authentification porte les drapeauxSecure,HttpOnlyetSameSite=LaxouStrict. - Inspection locale des jetons JWT et certificats X.509 dans CyberChef : Utiliser son instance locale auto-hébergée de CyberChef (recettes JWT Decode, Parse X.509 certificate, From Base64 -> Gunzip) afin de n’exposer aucun secret de production à des décodeurs en ligne tiers.
Sources
- Hashcat Advanced Password Recovery : Site Officiel & GitHub (
hashcat/hashcat) - John the Ripper Password Cracker : Openwall & GitHub (
openwall/john) - RFC 9106 : Argon2 Memory-Hard Function for Password Hashing
- OWASP Zed Attack Proxy (ZAP) : Site Officiel & GitHub (
zaproxy/zaproxy) - Caido Lightweight Web Security Audit Toolkit : Site Officiel & GitHub (
caido/caido) - GCHQ CyberChef : The Cyber Swiss Army Knife (
gchq/CyberChef)
Si vous voulez plus d’information sur l’infrastructure vous pouvez voir mon repo à ce sujet : https://github.com/ravindrajob/InfraAtHome
