Pentest: Usage de ReconFTW - Part 1

Introduction

La cybersécurité est devenue un enjeu majeur pour les entreprises. Longtemps délaissée, particulièrement en France, la sécurité informatique est désormais dans le top priorités des managers et des responsables de sociétés.


À ces débuts, l’IT était principalement composé d’experts et de passionnés avec une approche très technique.

Mais les choses ont progressivement changé dès les années 2000 pour s’accélérer progressivement.

La fameuse « digitalisation » et la transformation numérique ont rendu l’informatique présentable au reste de l’entreprise…et surtout, les enjeux financiers n’ont cessé d’augmenter, rendant progressivement l’IT très lucratif pour certains acteurs.


Après le cloud, le bigdata et la blockchain, c’est maintenant à la cybersécurité d’être sur le devant de la scène. Depuis quelques années, de nombreux responsables se sont trouvés une passion soudaine pour la sécurité informatique, avec l'envie de s’intéresser enfin à ce que faisaient leurs équipes IT.

Pour cela, ils ont pu s’appuyer sur de nombreux cabinets de conseil et d’audit qui ont su se présenter comme des experts du sujet grâce à des présentations PowerPoint soignées et à un vocabulaire rempli de jargon à la mode.

SIEM, SOC, IPS, IDR, WAF, VOC, XOAR… Que d’acronymes… Et de moyen de vendre de la solution et du produit miracle à tout va !


Du jour au lendemain, tout est devenu cyber: la sauvegarde, le clustering de serveurs, les PCA/PRA, la configuration des OS…

Les ingénieurs et les techniciens qui évoluent dans le milieu depuis des années ont soudain vu des cadres dynamiques, plein de questions et de conseils sur la protection de l’architecture informatique, s’asseoir à côté d’eux. Malheureusement, ces nouveaux arrivants étaient pour la plupart incapables d’expliquer la différence entre TCP et UDP ou de taper la moindre commande dans le premier shell venu.


Ajoutez à cela l’explosion de l’IA et nous voilà dans une période propice à l’article BFM et 01net rempli de titres accrocheurs et bien flippant. De quoi faire trembler les dirigeants d’entreprise et autres managers abonnés à de nombreux flux X et LinkedIn, les réconfortant dans leur nouvelle position d’experts en cybersécurité.

De plus, on continue de favoriser la livraison au détriment de la sécurité, de contraindre les plannings et d’ignorer les avertissements des personnes qui ont les mains dans le cambouis.


Du coup, c’est une fuite de données après l’autre, alors que les EDR (Endpoint Detection and Response) et les solutions DLP (Data Loss Prevention) sont plus déployés que jamais. Mais ils ne peuvent pas faire grand-chose face à des oublis de base de credentials dans des sources qui sont elles-mêmes hébergées sur des dépôts Git publics...


Je me permets d'afficher le post de David L. Co-fondateur de Orsec et SYlink, expert en cybersécurité, qui exprime une vision que je partage pleinement.

Pöst de Davi L

Cliquez sur l'image pour l'agrandir.

Face à des équipes techniques sous l’eau, à qui on ne laisse plus le temps de faire leur travail, et dont on ignore les recommandations, les hackers, de plus en plus professionnels, profitent du legacy des entreprises et des mauvaises habitudes qu’elles ont développées au fil du temps. Ils s’infiltrent tranquillement dans les IT du monde entier et tentent de faire quelques profits.


Je ne suis évidemment pas opposé à la démocratisation de la cybersécurité ni à la prise de conscience — même tardive — de nos dirigeants sur ce sujet crucial. Après tout, l’expertise n’a de valeur que si elle profite à autre chose qu’à elle-même.

L'idéal est de partager les connaissances. Mais pour ça il faudrait solliciter les bons interlocuteurs et savoir se montrer humble, même si l'on pense avoir le plus haut niveau d'étude possible. J'ai souvent vu des autodidactes faire bien mieux que des diplômées de grandes écoles.


Il est temps de revenir à la base, de se remettre a digg et de revoir les fondements. La cybersécurité ne se fait pas qu’à travers un Excel et une roadmap, elle se fait aussi avec de la tech, des heures de travail, de l'écoute et de la pratique.

Et pour le coup, l’IA, bien exploitée, peut devenir une aide précieuse afin d'apprendre à manipuler et à comprendre des outils jusque-là réservés à une élite du domaine.

Même si un véritable expert en cybersécurité ne pourra jamais être remplacé par quelques tutoriels et un prompt, on peut aujourd’hui tenter de monter en compétence grâce à l’expérimentation et à la mesure permanente de ses connaissances.

reconFTW

Pour mieux combattre l’ennemie, il faut apprendre à se servir de ses armes et connaitre ses techniques. Pour cela, apprenons à jouer les attaquants et lançons-nous dans le pentesting ou test d’intrusion en français. C'est une méthode utilisée pour évaluer la sécurité d’un système informatique (site web, application, réseau, etc.) en simulant des attaques réelles. Le but est de détecter les failles de sécurité avant qu’elles ne soient exploitées par des attaquants malveillants.


Il est illusoire de croire que la plupart des outils miracles du marché pour les tests d’intrusion et la détection des vulnérabilités de sécurité fonctionnent indépendamment des composants logiciels libres préexistants. L'open source fournit depuis des années un outillage puissant dédié à la cybersécurité, mais l'expérience utilisateur et la beauté de l'interface n'ont jamais été la priorité des développeurs associés.


Pour mieux faire face aux enjeux de cybersécurité et me sentir plus à l’aise sur le sujet, j’ai décidé de m’essayer à la solution reconFTW

reconFTW

Cliquez sur l'image pour l'agrandir.

reconFTW est un outil d'automatisation de reconnaissance utilisé principalement dans le cadre de tests de pénétration, de bug bounty ou d’audits de sécurité. Il automatise l'ensemble du processus de reconnaissance d'une cible, de la découverte de domaines à l'analyse de vulnérabilités, en combinant une grande variété d’outils populaires.

Il prend en paramètre un domaine (privée ou public), et va s’appliquer à scanner ce dernier à la fois via:

  • Une reconnaissance dite passive: il n’y a pas d’interaction directe avec les assets associés à ce domaine, mais de multiples référentiels de cybersécurité vont être consultés pour essayer d’identifier des éléments en lien avec le domaine ciblés (sous-domaine, whois, base de vulnérabilité, leak de données…)
  • Une reconnaissance dite active: dans ce cadre, reconftw va faire appel à de nombreux scanners qui vont directement sollicités les assets du domaine pour tenter d’identifier les vulnérabilités et les failles associées. Ces tests peuvent être plus ou moins intrusifs et provoquer des incidents sur les assets ciblés.

L’objectif de ReconFTW est de couvrir les périmètres suivants:

  • Enumération complète des sous-domaines (passive, par force brute, permutations, transparence des certificats, etc.)
  • Scan de vulnérabilités pour les failles de type XSS, SSRF, SQLi, LFI, SSTI, et bien d'autres
  • OSINT (Open Source Intelligence ou renseignement en sources ouvertes) pour les adresses e-mail, métadonnées, fuites d'API et mauvaises configurations de services tiers

ReconFTW est un outil puissant, disponible depuis 2021 et toujours maintenu par son créateur d’origine @six2dez, un chercheur en cybersécurité actif dans la communauté du bug bounty et de l’offensive security.

ReconFTW est très largement utilisé dans l’univers de la cybersécurité et fait appel à des outils de références. Pour apprendre à les connaitre, ChatGPT ou équivalent est une bonne maniere de faire. Pour le coup, l'IA est plus rapide que des recherches Google (mais attention, connaitre un outil ne veut pas dire savoir s'en servir).


🔍 Découverte de sous-domaines:

  • Subfinder: Outil rapide et populaire pour la découverte passive de sous-domaines.
  • Amass: Référence pour l’énumération avancée (passive, active, brute force, graphes).
  • Assetfinder: Recherche rapide de sous-domaines à partir de domaines racine.

🌐 Vérification de services et scan HTTP:

  • Httpx: Teste quels sous-domaines sont en ligne et collecte infos HTTP (titres, codes, etc.).
  • Naabu: Scanner de ports rapide basé sur masscan/zmap.
  • Nmap: Outil classique pour des scans réseau approfondis (bannières, services, OS).

🛡️ Scan de vulnérabilités:

  • Nuclei: Scanner de vulnérabilités basé sur des templates.

    Très utilisé en bug bounty.
  • Dalfox: Spécialisé dans la détection des failles XSS (reflected, stored, DOM).
  • KXSS: Détecte les points d'injection potentiels pour les XSS dans les URL.

🗂️ Indexation d'URLs et endpoints:

  • Waybackurls: Récupère des anciennes URLs archivées (Wayback Machine).
  • Gau (GetAllUrls): Agrège des endpoints connus pour un domaine depuis divers services.
  • Hakrawler: Crawler écrit en Go, récupère les liens, formulaires, endpoints JS, etc.

🛠️ Autres outils clés:

  • FFUF : Fuzzer de chemins/paramètres, utilisé pour le bruteforce de répertoires.
  • GF (Grep patterns) : Utilisé pour filtrer des patterns intéressants dans des fichiers (XSS, LFI).
  • JSParser : Analyse les fichiers JavaScript à la recherche d’URLs ou endpoints cachés.

La liste n'est pas exhaustive, mais elle donne un bon aperçu des outils utilisés par ReconFTW. N'hésitez pas à consulter le site du projet pour en apprendre plus.

Un outil à manier avec précaution

Attention, l’usage de reconFTW ne doit se faire qu’à des fins légitimes et maitrisées. Vous ne devez l’appliquer que sur des assets dont vous avez la propriété en étant conscient des impacts potentiels.

Selon la configuration utilisée, vous pouvez rendre indisponibles les services scannés par les outils exécutés par reconFTW.

Soyez vigilant également à la source que vous utilisez pour lancer l’outil. Si vous exploitez un serveur de cloud public, par exemple, il se peut que votre fournisseur détecte un trafic anormal issu de votre machine et puisse vous demander des comptes. Les providers peuvent ne pas apprécier l'utilisation de leur service pour du pentest, car ils ne peuvent pas savoir si votre usage est légitime ou non.

Je tiens à préciser également que, même si je trouve le sujet de la cybersécurité passionnant, et ça, depuis longtemps, je ne suis pas un expert.

Le but de cet article est de vous présenter ce qu’il est possible de faire en s’intéressant réellement à la cybersécurité.

En combinant la puissance des outils open sources du marché et l’accès à l’IA, on peut être en mesure d’autoévaluer la sécurité de son architecture informatique…en prenant quelques précautions toutefois.

N’hésitez pas à faire vos propres recherches, à monter en compétence autant que possible et à expérimenter un maximum.

Déploiement

Usage de WSL

Histoire de démontrer qu’on peut exploiter des outils puissants à partir d’un simple poste de travail équipé d’un OS grand public comme Windows 11, tout le tutoriel va se faire depuis mon ordinateur personnel, et, pour une fois, je ne parlerai pas de conteneurs et de Kubernetes (même si reconFTW est pleinement compatible sous forme de conteneur, avec en plus tout un scripting d’automatisation compatible Ansible/Terraform ).

Par contre, je vais m’appuyer sur la couche Windows Subsystem For Linux que j’ai déjà eu l’occasion de présenter à travers cet article.

Cette fonction de Windows permet d’exploiter un écosystème Linux sur un poste Windows. En effet, traditionnellement, l’outillage de cybersécurité est plutôt orienté du côté du monde du pingouin. On trouve même des distributions spécialisées comme Kali Linux dédiée au pentesting.

Version de WSL utilisée

Cliquez sur l'image pour l'agrandir.

Si vraiment vous êtes allergique à la firme de Redmond, vous pourrez exploiter directement un OS Linux, en l’occurrence de type RedHat, puisque me concernant, je vais utiliser une image WSL Rocky Linux 9.

Je vais également exploiter l’outil d’IA ollama, que j’ai présenté à de nombreuses reprises, notamment la, et qui permet d’exécuter de modèles LLM locaux. Comme nous le verrons plus loin, Reconftw propose un script d’intégration IA qui peut demander l’aide d’une instance Ollama pour analyser les résultats.

Attention, si vous souhaitez utiliser vous aussi cette partie IA, il vous faudra une configuration matérielle avec un GPU doté d’au moins 12Go de VRAM.

Je ne vais pas détailler l’installation de WSL sur Windows, vous pouvez vous rendre ici pour savoir comment faire.

Par contre, Rocky Linux n’étant pas directement disponible pour WSL, je vais récupérer l’image directement sur le site de l’éditeur.

Récupération de l'image rocky linux pour WSL

Cliquez sur l'image pour l'agrandir.

Une fois l’image récupérée, il suffit de taper la commande suivante:

wsl --install --from-file F:\Down\Rocky-9-WSL-Base.latest.x86_64.wsl
Installation de l'image rockylinux

Cliquez sur l'image pour l'agrandir.

Le sous-système Rocky Linux se déploie et il vous suffit de créer un utilisateur, puis de lui associer un password.

Création de l'utilisateur et du password associé

Cliquez sur l'image pour l'agrandir.

La première chose à faire une fois sous Rocky Linux, est de mettre le système à jour avec la commande:

sudo dnf update
Update de l'image

Cliquez sur l'image pour l'agrandir.

Ensuite, nous installons le paquet additionnel findutils avant d’installer ollama avec la commande dnf install findutils .

Installation de findutils

Cliquez sur l'image pour l'agrandir.

Mise en place de ollama

La suite va être justement de déployer ollama, sous WSL, pour cela rien de plus simple il suffit de taper la commande suivante:

curl -fsSL https://ollama.com/install.sh | sudo bash
Installation de ollama

Cliquez sur l'image pour l'agrandir.

On peut controler le bon lancement de ollama avec la commande suivante:

sudo systemctl status ollama
Controle de l'installation

Cliquez sur l'image pour l'agrandir.

Histoire d’avoir un LLM disponible, on récupère un petit modèle optimisé pour la cybersécurité: foundation-sec-abliterated.

C’est un modèle basé sur liama3.1, proposé par Cisco et dédié à la cybersécurité. Il est disponible sans « censure » pour ollama et peut être récupéré avec la commande:

ollama pull huihui_ai/foundation-sec-abliterated
Récupération d'un modèle llm

Cliquez sur l'image pour l'agrandir.

On vérifie que le modèle est disponible dans la liste.

ollama list
Controle de la présence du modèle

Cliquez sur l'image pour l'agrandir.

Prérequis à reconFTW

Maintenant on va pouvoir s’attaquer au prérequis à reconftw

sudo dnf install -y git curl wget unzip python3 python3-pi
Installation de prerequis pour reconftw

Cliquez sur l'image pour l'agrandir.

python3 -m pip install --user pipx
Suite des prerequis

Cliquez sur l'image pour l'agrandir.

Tout est prêt, il faut maintenant passer à reconftw lui-même.

Installation de reconFTW

On clone pour cela le repo git. Je vous encourage à créer un répertoire dédié dans votre profil utilisateur pour cela.

mkdir cyber cd cyber
Création du dossier

Cliquez sur l'image pour l'agrandir.

git clone https://github.com/six2dez/reconftw.git
Récupération des sources

Cliquez sur l'image pour l'agrandir.

On rentre dans les sources récupérées et on lance le script d’installation.

./install.sh
Lancement de l'installation

Cliquez sur l'image pour l'agrandir.

Celui-ci va se charger de récupérer tous les composants nécessaires, à commencer par l’environnement d’exécution GO sur lequel s’appuient plusieurs outils lancés par reconftw.

Déroulé de l'installation des composants

Cliquez sur l'image pour l'agrandir.

Déroulé de l'installation des composants

Cliquez sur l'image pour l'agrandir.

Tous les binaires et les scripts vont etres placés dans un dossier Tools à la racine de votre répertoire utilisateur.

L’installation peut prendre un certain temps. Il est possible que certains logiciels ne s’installent pas.

Fin de l'installation

Cliquez sur l'image pour l'agrandir.

Nous corrigerons cela plus tard.

Une fois l’installation terminée, on peut passer à la configuration de reconftw.

Configuration de reconFTW

Il faut noter que, comme on l’a vu au début, Reconftw utilise une multitude d’outils et que chacun d’entre eux peut nécessiter une configuration spécifique.

Je ne vais pas traiter toutes les applications, et vais uniquement me concentrer sur les éléments de configurations les plus pertinents.

Pour commencer, on va peupler le fichier ~/.config/subfinder/provider-config.yaml.

Celui-ci sert à définir toutes les clefs API rattachées à différents services en ligne dont on pourrait avoir besoin.

Là aussi, la liste est longue et je ne vais pas tout utiliser.

Je vais commencer par l’API de Shodan. C'est un site bien connu de la scène du haking, puisqu’il référence bon nombre de services exposés sur Internet. C’est un moteur de recherche spécialisé qui permet de découvrir les dispositifs connectés et surtout accessibles depuis le web... souvent à l'insu de leurs propriétaires.

Reconftw va l’utiliser en phase de reconnaissance pour obtenir des informations passives sur votre domaine et voir si des données potentielles sont connues de Shodan (qui traduirait l’exposition d’un asset non souhaité).

Vous pouvez vous créer un compte gratuitement sur le site de shodan pour obtenir votre clef API. Attention, en offre gratuite, vous serez limité en nombre d’appels et en fonctionnalités, mais c’est déjà un bon début.

Récupération d'une clef API pour shodan

Cliquez sur l'image pour l'agrandir.

Il suffit d’indiquer votre clef API dans le fichier ~/.config/subfinder/provider-config.yaml.

On continue avec VirusTotal. C’est également un site de référence qui permet de scanner des fichiers et des URLs avec plusieurs antivirus.

On peut disposer d’un compte gratuit et demander une clé API, qu’il faut ensuite insérer dans ~/.config/subfinder/provider-config.yaml.

Récupération d'une clef API pour virustotal

Cliquez sur l'image pour l'agrandir.

Vient ensuite le tour de Chaos. C’est un projet public qui fournit une base de données massive de sous-domaine collecté sur des programmes de bugbounty. Le bug bounty (ou chasse aux bugs en français) est un programme de récompense mis en place par une entreprise ou une organisation pour inciter les chercheurs en sécurité (ou hackers éthiques) à trouver et signaler des vulnérabilités dans ses systèmes.

L’acquisition d’une clé API se fait sans frais et nécessite une inscription dans le fichier ~/.config/subfinder/provider-config.yaml.

Récupération d'une clef API pour chaos

Cliquez sur l'image pour l'agrandir.

On va également utiliser IntelX. C'est une plateforme de veille et d’investigation OSINT (Open Source Intelligence) et de recherche dans les fuites d'informtions, qui fonctionne comme un moteur de recherche spécialisé pour les données sensibles.

Récupération d'une clef API pour intelx

Cliquez sur l'image pour l'agrandir.

Enfin on termine par github, le repos GIT communautaire le plus utilisé au monde. Grâce à une clef API obtenue après s’être créé un compte gratuitement, reconftw pourra scruter les repos public à la recherche d’éléments en lien avec votre domaine. À noter que, lors de la création de la clef API, il ne faut que donner des accès en lecture.

Récupération d'un token github

Cliquez sur l'image pour l'agrandir.

Tous ces éléments vont servir à reconftw à faire de la collecte passive de données. Sans même avoir scanné directement vos assets, il va se servir de ces différents référentiels pour tenter d’identifier des compromissions qui seraient référencées et qui pourraient être rattachées à votre domaine.

Liste des api et sites pour l'OSINT

Cliquez sur l'image pour l'agrandir.

Le token github est également à renseigner dans ~/Tools/.github_tokens.

Vous avez aussi l’option de créer un compte GitLab et d’y générer un jeton de lecture seul. Ce dernier peut ensuite être ajouté à votre fichier ~/Tools/.gitlab_tokens.

Récupération d'un token pour gitlab

Cliquez sur l'image pour l'agrandir.

token en read pour gitlab

Cliquez sur l'image pour l'agrandir.

On passe maintenant au fichier de configuration principale de reconftw.

Il s’agit de reconftw.cfg, situé dans le répertoire racine de l’installation de reconftw.

Il est nécessaire de l’éditer pour ajuster quelques variables. C’est dans ce dernier qu’il vous sera possible d’activer ou de désactiver certaines fonctionnalités. Par défaut, une majorité des options est active et pourra convenir à bon nombre de cas.

Là aussi, il va être nécessaire d’ajouter des clefs API.

Notamment la clef déjà récupérée pour shodan.

Ainsi qu’une clef api associée à un nouveau site: WHOISXML.

WHOISXML est une suite de service permettant d’interroger des bases de données WHOIS ainsi que des informations de résolutions DNS passées… WHOIS est un protocole (et une base de données publique) qui permet de récupérer des informations sur l’enregistrement d’un nom de domaine ou d’une adresse IP. C’est l’un des outils les plus utilisés en reconnaissance passive en cybersécurité, en pentest ou en OSINT. C’est donc normal qu’on le retrouve dans reconftw.

Récupération d'une clef API pour WHOISXML

Cliquez sur l'image pour l'agrandir.

Référencement des clefs API

Cliquez sur l'image pour l'agrandir.

Il reste la partie IA, en fin de fichier. Vous devez préciser le modèle LLM à utiliser, dans notre exemple huihui_ai/foundation-sec-abliterated. Celui-ci sera appelé en fin de scan pour analyser la sortie des différents outils.

Vous pouvez également indiquer le type de rapport attendu:

  • Executive: un rapport destiné à la direction, avec des recommandations et un résumé des résultats.
  • Brief: un résumé simple et compréhensible par tous.
  • Bughunter: un rapport plus technique, destiné aux pentesteurs.

Je vous conseille de rester sur un format de sortie markdown, plus simple à basculer ensuite en html ou en PDF.

Configuration de la partie IA

Cliquez sur l'image pour l'agrandir.

Tout est enfin prêt, on va pouvoir lancer le pentest.

Exécution

Pour commencer, on lance simplement ./reconftw.sh.

Cela va nous permettre d’avoir des exemples pour le passage des arguments et surtout de voir si tous les composants nécessaires sont bien présents.

Dans mon exemple, on voit que des applications sont manquantes. C’est un risque et, dans ce cas, il va falloir procéder à des déploiements manuels.

Application manquantes

Cliquez sur l'image pour l'agrandir.

Ajout des composants manquants

Tout d’abord, il faut installer les bases de compilations, car certains outils ne sont pas disponibles directement à travers leur binaire.

sudo dnf install -y git make gcc
Installation des outils de compilations

Cliquez sur l'image pour l'agrandir.

Ensuite on démarre par le premier outil manquant: gitleaks.

Gitleaks est un outil open source de détection de secrets dans du code source, conçu pour aider les développeurs et les équipes de sécurité à éviter les fuites d’informations sensibles dans les dépôts Git.

On récupère directement la dernière version du binaire dans le repo du développeur (à la date de rédaction de l’article, la version 8.28).

Récupération du binaire de gitleaks

Cliquez sur l'image pour l'agrandir.

wget https://github.com/gitleaks/gitleaks/releases/download/v8.28.0/gitleaks_8.28.0_linux_x64.tar.gz.
Récupération de gitleak

Cliquez sur l'image pour l'agrandir.

On décompresse l’archive.

tar -xzf gitleaks_8.28.0_linux_x64.tar.gz

On copie le binaire dans /usr/local/bin.

sudo mv gitleaks /usr/local/bin/

On vérifie que le binaire est fonctionnel:

gitleaks version
Vérifivation de gitleaks

Cliquez sur l'image pour l'agrandir.

On voit bien apparaitre à travers ce type d’outil la logique derrière reconFTW. Si, par exemple, un repo git associé à votre domaine ou pouvant s’en rapprocher est trouvé via la reconnaissance passive, reconFTW peut passer le relais à Gitleaks pour contrôler si des informations confidentielles pourraient y être hébergées.

On poursuit avec MassDNS.

MassDNS permet de:

  • Résoudre des millions de noms de domaine ou sous-domaines en un temps record.
  • Déterminer quels sous-domaines existent réellement (resolves) et lesquels ne sont que des hypothèses.
  • Générer rapidement une liste de domaines actifs à partir d’une wordlist et d’un domaine racine.

C’est pour ce dernier qu’on n’a déployé les outils de compilations.

On clone le repo du projet:

git clone https://github.com/blechschmidt/massdns.git
Récupération de massdns

Cliquez sur l'image pour l'agrandir.

On compile les sources:

cd massdns make

On copie le binaire dans /usr/local/bin:

sudo cp bin/massdns /usr/local/bin/
Compilation de massdns

Cliquez sur l'image pour l'agrandir.

C’est maintenant le tout de Katana.

Katana est un crawler web rapide et personnalisable. Dans ReconFTW, Katana est utilisé pour explorer automatiquement les pages web et extraire des chemins, des paramètres, des sous-domaines ou des endpoints intéressants.

Il s’agit d’une librairie en GO, et, comme ReconFTW c’est déjà occupé de récupérer l’environnement d’exécution ne associé, il suffit de taper.

go install github.com/projectdiscovery/katana/cmd/katana@latest
Installation de Katana

Cliquez sur l'image pour l'agrandir.

Pareil pour jsluice, un outil en ligne de commande en Go, conçu pour extraire des URLs, des chemins accessibles, des secrets (clés API, tokens, etc.) et d'autres éléments intéressants à partir du code JavaScript statique.

go install github.com/BishopFox/jsluice/cmd/jsluice@latest
Installation de jsluice

Cliquez sur l'image pour l'agrandir.

On enchaîne avec nmap, le scanner réseau bien connu, et jq, l’outil pour manipuler des JSON en ligne de commande.

Pas de difficultés, ce sont des applications disponibles directement à travers des packages OS.

sudo dnf install -y nmap sudo dnf install -y jq
installation de nmap

Cliquez sur l'image pour l'agrandir.

installation de jq

Cliquez sur l'image pour l'agrandir.

Enfin, le petit dernier, ripgen, un outil en ligne de commande permettant de générer rapidement et efficacement des plages d’adresses IP à partir de notations CIDR (x.x.x.x/yy).

Pour celui-ci, il faut déployer l’environnement d’exécution Rust.

Rien de plus simple avec la commande:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Récupération de RUST

Cliquez sur l'image pour l'agrandir.

Pensez à relancer votre instance Rocky Linux, pour que vous puissiez appeler des éléments propres à rust depuis votre session.

Ensuite, grâce au système de gestion des dépendances spécifique à Rust (cargo), nous allons installer l’outil en exécutant la commande suivante: cargo install ripgen

installation de ripgen

Cliquez sur l'image pour l'agrandir.

Lancement du premier scan

Enfin, on va pouvoir scanner notre domaine.


Pour cela, plusieurs modes sont possibles:

  • Passif (option -p): sans risque pour vos assets, va principalement servir pour faire de l’OSIN.

  • Recon (option -r): en plus des tests passifs, des accès à vos assets vont être réalisés. Normalement il y a peu de risque, mais attendez-vous à avoir potentiellement quelques coupures sur vos sites, notamment à cause du test Bruteforce Subdomain Enumeration qui va solliciter très fortement vos DNS. Dans mon cas, ils ont fini par ne plus répondre durant quelques minutes.
  • All (option -a): le test le plus agressif avec des attaques tentées sur vos assets. Il se peut que vos services en soient impactés. C’est le plus efficace pour tester votre cybersécurité, mais le plus à risque.

Si vous démarrez, vous pouvez vous concentrer sur le passif, mais vous n’aurez pas un test vraiment complet. Par contre ça peut être suffisant pour de l’OSINT

Le test recon est plus utile. En prenant quelques précautions (attention à vos DNS), vous pouvez l’exécuter et celui-ci vous donnera déjà un bel état des lieux de votre architecture.

Le test All est à réserver aux connaisseurs ou au aventuriers...


Dans tous les cas, planifier votre pentest. Retenez des créneaux horaires où vous n’avez pas d’activité critique sur vos services. On peut choisir de prévenir ou non les équipes opérationnelles, tout dépend du but recherché. A minima il est toujours bon de mettre quelques référents clefs dans la confidence. Bien entendu, en environnement professionnel, vous vous devez de prévenir votre management et d’avoir l’autorisation d’exécuter l’outil.

Prévoyez de pouvoir rapidement interrompre le test en cas de problème et rester proches des équipes et de la supervision durant le déroulé des scans.


Vous pouvez activer ou désactiver le paramètre -ai pour lancer l’analyse des rapports à la fin du balayage, en utilisant le modèle LLM choisi et l’instance Ollama déployée au début du d'article.

Dans mon cas et pour mon domaine, cela se traduit par la commande suivante:

./reconftw.sh -d myprivatelab.tech -r –ai
Lancement du premier scan

Cliquez sur l'image pour l'agrandir.

Attention à vos firewalls et à vos outils de sécurité présent par défaut sur votre poste ou serveur servant au scanne. Il faut que vous autorisiez le trafic nécessaire à l’analyse.

Dans mon cas, j’ai ouvert mon firewall OPNsense en sortie sur tous les ports et protocoles et j’ai désactivé le firewall Windows. Certains logiciels antivirus ou EDR pourraient également ne pas apprécier l’utilisation de reconftw.

Désactivation du firewall windows

Cliquez sur l'image pour l'agrandir.

Les différents outils seront appelés l’un après l’autre, et les opérations vont se succéder progressivement.

Déroulé du scan

Cliquez sur l'image pour l'agrandir.

Déroulé du scan

Cliquez sur l'image pour l'agrandir.

Pour l’exemple, il a fallu attendre un peu plus de 2H pour que l’analyse se termine.

Fin du scan

Cliquez sur l'image pour l'agrandir.

Durant la derniere phase, on observe bien une charge GPU liée à l'usage de l'IA pour l'analyse des résultats.

Charge de l'IA sur le GPU

Cliquez sur l'image pour l'agrandir.

Tous les éléments de sortie se retrouvent dans ~/cyber/reconftw/Recon/nom_du_domaine

Sortie du scan

Cliquez sur l'image pour l'agrandir.

Conclusion

Maintenant, pour avoir plus de détails sur le résultat et comprendre la sortie des différents outils, il va falloir patienter jusqu’au prochain article, qui sera publié sous peu. Il contiendra des explications sur les éléments mis en évidence par le pentest.

D'autres types de scan seront également abordés, comme le scan de vulnérabilités avancé désactivé par défault.

D’ici là, n’hésitez pas à vous lancer dans l’aventure, mais toujours en ayant bien conscience de ce que vous faites et sur quoi vous le faites.

Reconftw fait appel à des outils puissants, capables de faire le bien comme le mal. C’est à vous d’apprendre à vous en servir et à vous familiariser avec chacun d’entre eux.

La route de l’apprentissage est longue, mais tellement enrichissante. Moi-même, je viens d’en prendre le chemin et si je suis très loin de voir l’arrivée, le voyage s’annonce passionnant.