Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.

Smtp-Tunnel-Proxy - Déguisez votre trafic en simples emails

Ce matin, en trainant sur GitHub (mon sport du dimanche, je sais c'est triste), je suis tombé sur un truc qui m'a intéressé et qui je pense vous sera utile (comme la plupart des trucs que je présente ici) surtout si vous êtes coincé derrière un pare-feu d'entreprise totalement paranoïaque. Ou encore si votre FAI s'amuse à brider certains protocoles. Ça peut arriver dans ces cas là, on se sent un peu comme un rat en cage, à chercher la moindre petite ouverture pour respirer un peu de notre liberté.

Cet outil, ça s'appelle Smtp-Tunnel-Proxy et le concept c'est de faire passer tout votre trafic pour de bêtes emails. Alors vous vous dites peut-être "Mouais, encore un tunnel qui va ramer comme pas possible", mais en creusant un peu, vous allez voir, c'est pas con.

En fait ce que fait ce petit script Python (ou binaire Go) c'est qu'il enveloppe vos paquets TCP dans une connexion qui ressemble à s'y méprendre à du trafic SMTP chiffré. En gros, le truc simule un handshake avec un serveur mail (comme Postfix), lance le chiffrement TLS 1.2+, et hop, une fois le tunnel établi, il balance la purée en binaire sans que le DPI (Deep Packet Inspection) puisse y voir quelque chose. Comme ça le firewall n'y comprend plus rien, le petit chou ^^.

C'est un peu comme un tunnel SSH en fait mais déguisé en serveur mail, ce qui le rend beaucoup plus discret. Parce que là où un tunnel SSH peut être repéré par sa signature un peu trop évidente, une connexion SMTP chiffrée, c'est ce qu'il y a de plus banal sur le net. Du coup, ça passe crèèèème.

Niveau fonctionnalités, x011 (le dev) a fait les choses bien. Le truc est multi-utilisateurs avec des secrets partagés pour l'auth, supporte le multiplexing (plusieurs connexions dans un seul tunnel), et gère même une whitelist d'IP pour éviter que n'importe qui ne squatte votre tunnel. C'est propre quoi.

L'installation côté serveur est simplifiée grâce notamment à un script tout fait que vous pouvez lancer sur n'importe quel petit VPS. Un petit curl et c'est réglé :

curl -sSL https://raw.githubusercontent.com/x011/smtp-tunnel-proxy/main/install.sh | sudo bash

Et côté client, c'est encore plus simple car une fois votre utilisateur créé sur le serveur, vous récupérez un petit fichier zip contenant tout ce qu'il faut. Vous lancez le script start.bat ou start.sh, et boum, vous avez un proxy SOCKS5 local qui tourne sur 127.0.0.1:1080.

Il ne vous reste alors plus qu'à configurer votre navigateur ou vos applications pour passer par ce proxy SOCKS, et vous voilà libre comme l'air.

C'est dingue ce qu'on peut faire avec un peu d'ingéniosité, non ?

Attention quand même, ça reste du tunnel, donc ne faites pas de bêtises avec... A moins que le DPI en face analyse l'entropie de manière ultra poussée (ce qui est rare car coûteux en ressources), ça devrait tenir, mais ne vous croyez pas invisible pour autant. Pour contourner de la censure ou accéder à vos services hébergés à la maison depuis un wifi public bridé, c'est donc l'outil parfait. Si les mails passent, tout passe !

Le code est dispo sur GitHub pour ceux qui veulent. Perso je me garde ça sous le coude comme ça, ni vu ni connu j't'embouille sur ton wifi bridé nord coréen là ^^.

ProcNetBlocker – Coupez le réseau à n’importe quel processus Windows en une commande

Vous avez un logiciel qui cause un peu trop avec Internet alors qu'il n'a rien à y faire ? Ou un petit utilitaire qui balance de la télémétrie dans votre dos sans vous demander votre avis ? Ou peut-être juste une application que vous voulez forcer en mode hors-ligne sans pour autant couper tout votre réseau ?

C'est LA situation classique où pour leur couper la chique, on finit par se battre avec les menus obscurs du pare-feu Windows. Sauf que maintenant, y'a un petit outil CLI qui fait exactement ça en une seconde : ProcNetBlocker .

C'est un utilitaire Windows en ligne de commande qui permet de bloquer l'accès réseau de n'importe quel processus comme ça pas besoin de créer des règles à rallonge. Vous tapez une commande, et hop, le processus est instantanément coupé du monde extérieur. C'est idéal pour blinder sa vie privée face au tracking incessant de certains éditeurs.

L'outil est super flexible puisqu'il propose deux approches. La première, c'est de cibler un processus par son PID (l'identifiant de processus). C'est parfait pour agir dans l'urgence sur un truc qui tourne déjà. La seconde, c'est de bloquer par le chemin de l'exécutable. Là, c'est plus radical puisque l'outil crée une règle persistante qui s'appliquera à chaque fois que vous lancerez cette application précise.

Le truc est portable (un petit ZIP de 7,5 Mo), et faut juste avoir les droits administrateur (logique, puisqu'on touche au pare-feu) et s'assurer que le service du pare-feu Windows est bien en cours d'exécution. Si vous utilisez déjà des solutions comme CrowdSec pour sécuriser vos serveurs, ProcNetBlocker sera un excellent complément pour vos postes de travail.

Une fois le ZIP récupéré sur le site d'AutoClose, voici les commandes magiques à connaître :

1. Bloquer un processus par son PID

Si vous connaissez l'ID du processus (via le gestionnaire des tâches ou un petit tasklist) :

procnetblocker.exe --block 1234

2. Bloquer un exécutable de façon permanente

procnetblocker.exe --block "C:\Chemin\Vers\MonApp.exe" --exe

3. Vérifier le statut d'un blocage

procnetblocker.exe --status "C:\Chemin\Vers\MonApp.exe" --exe

4. Débloquer le réseau

procnetblocker.exe --unblock 1234

Le projet supporte Windows 7, 8, 10 et 11 (ainsi que les versions Server en 64 bits) et c'est un must-have pour ceux qui aiment garder le contrôle sur ce qui sort de leur ordi !

Merci à Woody pour le partage !

Un générateur de mots de passe qui utilise des regex

Vous avez déjà galéré à créer un mot de passe qui respecte les 42 règles imposées par un site un peu trop zélé ? Genre au moins 16 caractères, une majuscule, une minuscule, un chiffre, un caractère spécial, et surtout pas le prénom de votre chat ni votre date de naissance ?

C’est le genre de micro-agression qui peut flinguer une matinée ^^.

Heureusement, y’a un dev qui a eu une idée de génie en inversat complètement le problème grâce à la puissance brute des expressions régulières.

Son outil s'appelle RegExp Password Generator et comme son nom l'indique, c'est un générateur de mots de passe qui fonctionne avec des regex. Au lieu de cocher des cases un peu nazes dans une interface classique, vous définissez vos contraintes ligne par ligne sous forme d'expressions régulières.

Par exemple, vous balancez ^.{16,32}$ pour imposer une longueur entre 16 et 32 caractères, [0-9] pour exiger au moins un chiffre, and [A-Z] pour une majuscule. L’outil va alors calculer l’intersection de tous vos patterns pour vous sortir 5 mots de passe aléatoires qui matchent absolument toutes vos règles simultanément.

L'outil repose heureusement sur la bibliothèque TypeScript @gruhn/regex-utils. Pour ceux qui font du code, vous savez que manipuler des regex pour faire des intersections ou des compléments, c'est normalement une purge monumentale que la plupart des langages de programmation ne gèrent pas nativement.

C'est pourquoi ici, la lib fait tout le sale boulot de calcul d'ensemble pour s'assurer que vos contraintes ne sont pas contradictoires. Si vous demandez un truc impossible (genre un mot de passe qui doit être composé uniquement de chiffres ET uniquement de lettres), l’outil vous le dit direct au lieu de mouliner dans le vide.

Et tout tourne en local dans votre navigateur donc c'est cool pour la vie privée, par contre, gardez en tête que la lib supporte un sous-ensemble bien précis de la syntaxe RegExp de JavaScript. Inutile donc tenter des trucs ultra exotiques comme les lookbehinds complexes, l'outil risque de vous renvoyer une erreur.

Le côté pratique, c'est que vos contraintes sont directement encodées dans l'URL. Du coup, vous pouvez bookmarker une config précise pour un site spécifique ou la partager avec vos collègues sans avoir à tout retaper à chaque fois. Un petit compteur affiche même le nombre total de combinaisons possibles avec vos règles, histoire de vérifier que vous n'avez pas créé un mot de passe trop prévisible (ou au contraire, un truc tellement restrictif qu'il n'existe qu'une seule possibilité).

Bref, j'ai trouvé ça original !

Docker offre ses images blindées à tout le monde - Enfin un peu de sécu sans vendre un rein

Si vous utilisez des conteneurs Docker au quotidien, vous allez sauter de joie car Docker vient d'annoncer que ses Docker Hardened Images (DHI), ces fameuses images ultra-sécurisées qui étaient réservées aux entreprises prêtes à cracher le pognon, sont maintenant gratuites pour tout le monde. Et c'est pas encore un truc limité avec des restrictions à la noix, non non... C'est du vrai open source sous licence Apache 2.0.

Ils proposent donc plus de 1 000 images conteneur prêtes à l'emploi, construites sur Debian et Alpine et ces images sont "durcies", c'est-à-dire qu'elles ont été débarrassées de tous les composants inutiles qui traînent habituellement dans les images de base et qui ne servent qu'à augmenter la surface d'attaque. Du coup, ça leur permet d'annoncer une réduction des vulnérabilités de plus de 95% par rapport aux images classiques. C'est pas maaaal, hein ?

Et ce qui est top c'est que chaque image embarque un SBOM complet (le fameux Software Bill of Materials), des données CVE transparentes accessibles publiquement, une preuve cryptographique d'authenticité et une provenance SLSA Level 3. Bref, c'est plutôt sérieux de ce que je capte.

Car faut dire que les attaques sur la supply chain logicielle, c'est devenu le cauchemar numéro un des développeurs. En 2025, ces attaques auraient causé plus de 60 milliards de dollars de dommages selon les estimations, soit le triple d'il y a quatre ans, du coup, avoir des images béton dès le départ, sans devoir se prendre la tête à tout vérifier soi-même, ça fait la diff.

Maintenant, si vous êtes une grosse boîte avec des besoins spécifiques, Docker propose aussi une version Enterprise payante avec des SLA garantis sur la remédiation des CVE, des images compatibles FIPS, des options de personnalisation et même un support étendu de 5 ans après la fin du support officiel. Des entreprises comme Adobe et Qualcomm ont déjà fait le saut mais pour nous, utilisateurs lambdas et autres développeurs qui bossons sur nos projets perso ou des startups incroyables du futur, la version gratuite devrait largement suffire.

Et en cadeau bonux, sachez que l'assistant IA de Docker peut maintenant scanner vos conteneurs existants et vous recommander automatiquement les images durcies équivalentes. Y'a même des Hardened Helm Charts pour Kubernetes et des serveurs MCP durcis (MongoDB, Grafana, GitHub...). Que demande le peuple ?

Voilà, si vous voulez vous y mettre, tout est dispo sur le Docker Hub sans aucune restriction d'usage ni abonnement requis. Foncez !

Source

Obsidenc - Du chiffrement parano en Rust pour vos dossiers sensibles

Vous avez des dossiers sensibles que vous aimeriez chiffrer avant de les balancer sur un cloud ou un disque externe ? Ça tombe bien, je vous ai trouvé un petit outil en Rust qui va vous plaire.

Obsidenc , c'est son nom, est un utilitaire de chiffrement que son créateur qualifie de "paranoid-grade". Et après avoir jeté un œil au code source, je peux vous dire que c'est pas du marketing puisque ce truc archive votre répertoire en TAR et le chiffre avec XChaCha20-Poly1305, un algorithme AEAD moderne qui assure à la fois la confidentialité et l'intégrité de vos données.

Côté dérivation de clé, ça utilise Argon2id conforme à la RFC 9106. Pour les non-initiés, Argon2id c'est l'algo qui a gagné le Password Hashing Competition et qui est spécifiquement conçu pour résister aux attaques par GPU et circuits spécialisés (ASIC). L'outil adapte automatiquement les paramètres à votre machine en utilisant 85% de votre RAM disponible (entre 512 Mo minimum et 2 Go maximum) afin de rendre le brute-force astronomiquement coûteux. Et si vous avez moins de RAM dispo, il compense en augmentant le nombre d'itérations.

C'est du code Rust bien propre qui utilise les bibliothèques cryptographiques RustCrypto (bien auditées par la communauté) et le code implémente des bonnes pratiques de sécurité comme le memory locking (mlock sur Unix, VirtualLock sur Windows) pour éviter que vos clés se retrouvent dans le swap, et le zeroize pour effacer la mémoire sensible après utilisation.

Vous compilez ça avec cargo build --release, puis pour chiffrer un dossier :

obsidenc encrypt ~/mon-dossier ~/mon-dossier.oen

Pour déchiffrer :

obsidenc decrypt ~/mon-dossier.oen ~/mon-dossier-dechiffre

Le mot de passe doit faire minimum 20 caractères (pas de négociation possible, déso pas déso) et vous devez le confirmer deux fois. Vous pouvez aussi ajouter un fichier de clé en plus du mot de passe pour du 2FA old-school.

L'outil a aussi quelques protections défensives sympas. Par exemple, il refuse les symlinks (vecteur d'attaque classique), limite le nombre de fichiers à 1 million et la longueur des chemins à 4096 caractères pour éviter les zip bombs. Sur les systèmes Unix, il vérifie même que votre fichier de clé n'est pas lisible par tout le monde (chmod 600 obligatoire).

Cet outil part du principe qu'un attaquant peut avoir accès à votre fichier chiffré et dispose de temps illimité pour tenter de le casser, du coup, tout est conçu pour rendre l'attaque offline la plus douloureuse possible.

Bref, si vous cherchez un moyen de sauvegarder vos dossiers sensibles de manière vraiment sécurisée avant de les balancer sur un cloud ou un disque externe, obsidenc fait le taf et en plus c'est open source (MIT/Apache 2.0) !

❌