Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Connaissez-vous la pratique du port knocking ?

Il s’agit d’une bonne pratique de sécurité informatique qui permet de contrôler l’accès à un serveur en utilisant une séquence de tentatives de connexion à des ports fermés. Cette technique est souvent utilisée pour masquer aux yeux des scanners de ports, des services comme SSH. les services tels que SSH (Secure Shell) des scanners de port automatiques et des attaquants potentiels.

Cette méthode ajoute une couche de sécurité supplémentaire, car les ports nécessaires pour accéder à votre serveur, ne sont pas constamment ouverts et donc visibles.

Si vous voulez mettre ça en place, il y a différentes méthodes, mais l’une des plus faciles, c’est d’utiliser Knockr, un script écrit en Go qui s’installe comme ceci :

go install github.com/solutionroute/[email protected]

Ou comme ceci :

git clone https://github.com/solutionroute/knockr.git
cd knockr
go install

Et qui va vous permettre de spécifier les ports à surveiller ainsi que la durée d’attente entre chaque frappe, le protocole réseau utilisé ou le temps d’attente avant l’émission d’une nouvelle séquence.

Frapper sur trois ports différents

Le comportement par défaut de l’outil knockr est de frapper sur les ports spécifiés en utilisant le protocole TCP avec un délai de 100 millisecondes entre les frappes et un délai d’expiration de 1,5 seconde pour chaque frappe. Pour frapper sur trois ports, 1234, 8923 et 1233, vous utiliseriez la commande suivante, en remplaçant hostname par le nom réseau de votre machine :

knockr hostname 1234,8923,1233

Cette commande enverra un paquet TCP SYN à chacun des ports spécifiés, en attendant une réponse avant d’envoyer le paquet suivant. Si une réponse n’est pas reçue dans les 1,5 secondes, la frappe est considérée comme infructueuse.

Frapper sur une chaîne de ports avec un protocole et un délai spécifiés

Pour spécifier un protocole et un délai différents entre les frappes, vous pouvez utiliser les options -n et -d, respectivement. Par exemple, pour frapper sur le port 22 (SSH) en utilisant le protocole UDP avec un délai de 200 millisecondes entre les frappes, vous utiliseriez la commande suivante :

knockr hostname 22 -n udp -d 200ms

Frapper sur une chaîne de ports avec un protocole, un délai et un mode silencieux spécifiés

Pour supprimer tout sauf la sortie d’erreur, vous pouvez utiliser l’option -s. Par exemple, pour frapper sur le port 22 (SSH) en utilisant le protocole TCP avec un délai de 200 millisecondes et supprimer toute sortie sauf la sortie d’erreur, vous utiliseriez la commande suivante :

knockr hostname 22 -n tcp -d 200ms -s

Il est recommandé d’inclure le ou les ports que vous vous attendez à être déverrouillés en premier et en dernier dans la chaîne pour observer leur statut avant et après le processus de frappe. Par exemple, si vous avez l’intention de déverrouiller le port 22 (SSH) sur un hôte spécifique, vous pouvez utiliser la commande suivante :

knockr hostname 22,1234,18923,1233,22

Cette commande frappera sur le port 22, attendra la réponse attendue, frappera ensuite sur les ports restants, puis vérifiera à nouveau le statut du port 22. Cela permet de garantir que les ports spécifiés sont bien déverrouillés après le processus de frappe.

Vous l’aurez compris grâce aux exemples :

  • L’option -d spécifie le délai en millisecondes entre les frappes. La valeur par défaut est de 100 millisecondes.
  • L’option -n spécifie le protocole à utiliser pour les frappes. Les valeurs possibles sont tcp et udp. La valeur par défaut est tcp.
  • L’option -s met l’outil en mode silencieux. Cela signifie que seules les sorties d’erreur seront affichées.

À découvrir ici et bonne chance dans vos aventures de port-knocking !


Je me tape régulièrement de la documentation technique assez dense, et parfois, faut le reconnaitre, y’a des trucs qui m’échappent, que je ne comprends pas ou que j’ai du mal à trouver tellement le contenu est riche.

Heureusement avec les assistants IA de ChatGPT, tout ceci va pouvoir changer. En effet, avec l’outil GPT Crawler, il est possible de récupérer toutes les données d’un site web, pour en faire ensuite un JSON assimilable et utilisable par les Assistants GPTs de ChatGPT.

Ensuite, vous pourrez discuter avec votre bot personnalisé ChatGPT qui répondra à toutes vos questions en se basant sur la fameuse documentation. Même chose si vous avez un site web sur une thématique précise. Il est possible de donner à manger votre site à l’IA pour ensuite en faire un Bot ChatGPT que vous pourrez proposer à vos clients / collègues et qui pourra répondre à toutes leurs questions. Génial non ?

Si vous ne connaissez pas encore ces fameux assistants, j’ai fait une vidéo là dessus pour mes Patreons d’amour qui me soutiennent financièrement pour que je puisse continuer à alimenter ce site avec de jolies pépites.

Maintenant pour GPT Crawler, son utilisation est assez simple. Je vous détaille tout dans la vidéo ci-dessous. Vous verrez, c’est super simple à utiliser :

Allez, je vous attends sur mon Patreon !


Si vous cherchez un moyen simple et agréable d’analyser la qualité des réseaux Wi-Fi autour de vous, afin d’améliorer votre connexion ou tout simplement leur portée en les déplaçant, j’ai l’outil qu’il vous faut.

Cela s’appelle Homedale, et c’est un freeware (gratuit donc) disponible pour macOS et Windows que vous pouvez récupérer ici. Une fois lancé, il scanne l’ensemble des réseaux Wi-Fi qui vous entourent et affiche la force de leur signal. Ensuite, pour chacun des réseaux Wi-Fi détectés, Homedale fournit une multitude d’informations utiles.

Non seulement vous verrez la force du signal exprimée en dBm (unité mesurant la puissance du signal Wi-Fi en décibels par rapport à un milliwatt, où des valeurs plus élevées indiquent un signal plus fort), mais l’application affiche également d’autres données pertinentes telles que le canal utilisé par chaque réseau, ce qui est crucial pour éviter par exemple les interférences avec le Wi-Fi des voisins.

Une autre caractéristique notable de Homedale est sa capacité à vous montrer les normes Wi-Fi (comme 802.11g, 802.11n, etc.) utilisées par chaque réseau. Cette information est particulièrement utile pour identifier les réseaux qui pourraient nécessiter une mise à jour matériel pour améliorer les performances. Vous pourrez également voir un graphique en temps réel de la force du signal, ce qui est extrêmement utile pour déplacer physiquement votre routeur ou votre appareil afin d’obtenir la meilleure réception possible.

De plus, vous apprécierez la possibilité d’exporter les données collectées sous forme de fichier CSV pour une analyse plus approfondie avec vos propres outils. Homedale est également équipé d’une fonctionnalité de géolocalisation qui, lorsque disponible, peut vous aider à localiser physiquement les réseaux Wi-Fi sur une carte. Cela peut être particulièrement intéressant pour les professionnels effectuant des audits de réseau ou pour ceux qui cherchent simplement à optimiser la couverture Wi-Fi dans de grands espaces.

Bref, si ça vous dit d’essayer, Homedale c’est par ici.


On est en plein hiver et tous les petits vieux normalement constitués sont maintenant vaccinés contre la grippe. C’est cool, Raoult Raoul !

Mais avez-vous pensé à la santé de vos images Docker ? Et bien oui, parce qu’à force de télécharger tout un tas de conteneurs anciens et pas maintenus, vous avez sans le savoir des vulnérabilités dans vos conteneurs.

Mais alors, comment savoir ? Et bien grâce à Grype qui n’est pas un virus, mais un incroyable scanner de vulnérabilités qui peut analyser les images de conteneurs Docker, OCI et Singularity et les systèmes de fichiers.

Cet outil est ainsi capable de débusquer des vulns sur les systèmes d’exploitation containérisés tels que Alpine, Amazon Linux, BusyBox, CentOS, Debian, Ubuntu, mais également tout ce qui est vulnérabilités relatives à des langages de dev tels que Ruby, Java, JavaScript, Python, Dotnet, Golang, sans oublier PHP !

Pour l’installer, vous pouvez récupérer le binaire sur Github ou lancer la commande Curl suivante :

curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh -s -- -b /usr/local/bin

Si vous êtes sous Mac, en plus d’être un beau gosse, vous pouvez aussi l’installer avec Brew :

brew tap anchore/grype
brew install grype

Ensuite, pour le lancer, rien de plus simple, vous appelez la commande, suivi du nom de l’image Docker telle qu’on la trouve sur le hub.docker.com par exemple. Voici un exemple de scan avec cette image de l’éditeur Balena :

./grype balena/open-balena-vpn

Et pour ne voir que les vulnérabilité existantes pour lesquelles il existe un fix, vous pouvez également ajouter le paramètre suivant :

./grype balena/open-balena-vpn --only-fixed

Par défaut Grype scanne uniquement les vulnbérabilités visibles du conteneur, mais si vous voulez faire un truc plus en profondeur et scanner toutes les couches de ce même conteneur, ajoutez le paramètre suivant :

./grype balena/open-balena-vpn --scope all-layers

Au niveau des exports, vous pouvez sortir tout ça sous la forme d’un tableau dans le terminal, ou d’un rapport JSON ou XML pour ensuite l’interroger avec des outils comme jq.

L’utilisation de Grype vous permet également un niveau élevé de personnalisation. Vous pouvez ainsi définir la portée de la recherche avec des expressions permettant d’inclure ou exclure certains fichiers ou répertoires.

Un autre atout majeur de Grype est sa capacité à intégrer des sources de données externes pour une meilleure correspondance des vulnérabilités. Ainsi, il peut analyser les données provenant de bases telles que Alpine Linux SecDB ou Debian Linux CVE Tracker pour vous fournir des informations encore plus précises sur les failles potentielles que votre image pourrait présenter.

En parlant d’intégration, si vous travaillez avec GitHub et utilisez les Actions GitHub, Grype s’intègre parfaitement pour exécuter des analyses de vulnérabilités lors de vos workflows CI, assurant ainsi la sécurité de votre code et de vos conteneurs à chaque étape du processus.

Bref, dans l’ensemble, Grype est un outil essentiel pour tous ceux qui souhaitent garantir la sécurité et l’intégrité de leurs images Docker et pas que. Que ce soit pour identifier les vulnérabilités ou tirer parti des fonctionnalités avancées telles que les sources externes et l’intégration des actions GitHub, Grype est un allié de taille dans la lutte continuelle contre les failles potentielles qui peuvent compromettre votre infrastructure.

À découvrir ici


Si vous voulez traverser des firewalls comme la banane magique traverse les murs, ou si vous voulez exposer à l’extérieur de votre réseau, l’un de vos services web ou projet de dev quelconque, il vous faut la même chose qu’El Chapo, à savoir un bon tunnel !

Et pas n’importe lequel : un tunnel HTTP / Socks !

Et pour ça, je vous présente aujourd’hui Chisel : un tunnel TCP/UDP, écrit en Go, rapide et sécurisé via SSH et fonctionnant au travers de HTTP. Vous pouvez donc l’utiliser pour passer à travers un firewall, pour accéder à des services à vous qui ne sont pas disponibles via le web, ou l’utiliser dans vos missions de pentest.

Pour faire un test rapide, vous pouvez lancer Chisel sur un serveur équipé de Docker comme ceci :

docker run --name chisel -p 9312:9312 -d --restart always jpillora/chisel server -p 9312 --socks5

Le socks5 permet d’y accéder en websockets quand les proxys HTTP ne sont pas supportés par vos outils. Ensuite, il faut installer Chisel également côté client. Vous pouvez donc l’installer avec la commande suivante (ou en récupérant le binaire ici) :

curl https://i.jpillora.com/chisel! | bash

Une fois que c’est fait, y’a plus qu’à appeler Chisel en mode client comme ceci en remplaçant IP_SERVER par l’adresse IP de votre machine qui héberge Chisel lancé en mode serveur :

chisel client -v IP_SERVER:9312 socks

Ensuite, le tunnel sécurisé va s’établir et y’a plus qu’à configurer vos outils, par exemple votre navigateur pour passer à travers votre serveur et accéder par exemple à tous vos services dispo sur votre réseau local distant.

Mettez 127.0.0.1 et le port 1080 comme serveur Socks et le tour est joué !

À découvrir ici

Et en bonus, une vidéo grâce aux Patreons qui me soutiennent !