>_ DevTrendsfr

Langue

Accueil

Langages

Sections

Frontend Backend Mobile DevOps AI / ML Sécurité
Go

Scan4all — le couteau suisse du pentest qui remplace une douzaine d'outils

6 133 étoiles

Imaginez ceci : vous devez rapidement scanner le périmètre, vérifier une centaines de services web pour des vulnérabilités, lancer une attaque par force brute sur des mots de passe standards, et ne pas vous perdre dans des dizaines d'utilitaires CLI différents. D'habitude cela se transforme en jonglerie dans le terminal, où nmap tourne dans une fenêtre, nuclei dans une autre, et dans la troisième vous essayez désespérément de vous rappeler la syntaxe de subfinder. Les développeurs de GhostTroops ont décidé qu'il était temps de mettre fin à ce chaos et ont créé scan4all.

Ce n'est pas qu'un simple scanner. C'est une powerhouse basée sur Go qui combine des outils de premier plan comme nuclei, vscan, ksubdomain et subfinder sous le capot. Le meilleur dans tout ça, c'est que les auteurs n'ont pas simplement « collé » des binaires ensemble — ils ont réécrit des parties des modules et optimisé les paramètres au niveau du code pour que tout fonctionne rapidement sans submerger le réseau.

Ce qu'il peut réellement faire

En résumé — presque tout ce dont vous avez besoin pour la reconnaissance initiale et la recherche de vecteurs d'attaque. Le projet couvre plusieurs étapes d'un audit de sécurité à la fois.

L'outil est livré avec une base de données de plus de 15 000 PoC. Cela inclut les templates nuclei et les contributions vscan (y compris xray 2.0). Il vérifie tout, des bases comme XSS et LFI aux CVE récentes dans WordPress et les logiciels d'entreprise. Fait intéressant, les auteurs ont ajouté une logique SSL intelligente : le scanner extrait les domaines des certificats et les ajoute automatiquement à la file d'attente de scan.

Force brute prête à l'emploi

Scan4all supporte la force brute sur les mots de passe à travers 23 protocoles. La liste inclut les classiques comme SSH, RDP, MySQL, Redis, et même RouterOS ou WinRM. Un détail intéressant : la force brute HTTP s'active automatiquement dès que le scanner rencontre une page d'authentification. Vous n'avez pas besoin de spécifier manuellement « ceci nécessite une tentative de mot de passe ».

Scan de ports et fingerprinting

Plutôt que de réinventer la roue, le projet exploite les capacités de nmap et naabu. Il reconnaît 146 protocoles et connaît approximativement 90 000 règles de scan de ports. De plus, il y a une protection intégrée contre les honeypots — si l'outil détecte qu'il fait face à un honeypot, il saute simplement cet hôte.

Comment ça fonctionne sous le capot

Le projet est écrit en Go, ce qui le rend multiplateforme et léger en termes de consommation de ressources. L'architecture suit une approche en cascade : d'abord la collecte de données et l'identification des cibles, puis le scan profond et l'application des PoC.

L'une des fonctionnalités les plus cool est sans aucun doute l'intégration Elasticsearch. Si vous travaillez avec de grands volumes de données, les logs texte standards deviennent un cauchemar. Scan4all peut stocker les résultats dans Elasticsearch, vous permettant de construire des tableaux de bord pratiques ou simplement de rechercher rapidement l'information dont vous avez besoin via Kibana.

Cas d'utilisation pratiques

Comment utilisez-vous cela dans la vraie vie ? Voici quelques exemples :

  1. Audit d'infrastructure rapide. Vous avez une liste des IPs ou domaines de votre entreprise. Avec une seule commande, vous lancez l'énumération de sous-domaines, le scan de ports, le fingerprinting web et la vérification des vulnérabilités critiques.
  2. Bug Bounty. Grâce à l'intégration avec subfinder et ksubdomain, l'outil est excellent pour trouver les « queues » oubliées dans les grandes organisations.
  3. Vérification des mots de passe faibles. Si votre réseau contient de nombreuses instances Redis, MongoDB ou FTP mal configurées, scan4all les mettra en évidence plus rapidement que vous ne pourriez les vérifier manuellement.

Exemple d'exécution contre une liste de cibles :

# Точное сканирование списка URL
UrlPrecise=true ./scan4all -l targets.txt

Si nmap n'est pas installé sur votre système ou si vous ne souhaitez pas l'utiliser, vous pouvez basculer vers naabu intégré :

priorityNmap=false ./scan4all -tp http -list targets.txt -v

Nuances et limitations

Malgré ses qualités, le projet a ses particularités. Le README peut sembler chaotique par moments, et la documentation en anglais se mélange parfois avec du chinois. Vous devez également garder à l'esprit que le scan nmap nécessite des privilèges root, vous devrez donc passer le mot de passe via la variable d'environnement PPSSWWDD.

Un autre point : l'outil est très bruyant. Si vous envisagez de l'utiliser pour des audits discrets, c'est une mauvaise idée. Il génère une énorme quantité de trafic et de requêtes, ce qui vous signalera immédiatement dans n'importe quel système de surveillance (IDS/IPS).

Est-ce que ça vaut le coup d'essayer

Si vous faites du pentesting, participez au Red Teaming, ou simplement gérez la sécurité de votre entreprise — définitivement oui. Scan4all fait gagner un temps fou sur le travail de routine. Au lieu de configurer des chaînes de cinq utilitaires différents, vous obtenez un pipeline prêt à l'emploi.

Bien sûr, cela ne remplacera pas votre cerveau et l'analyse manuelle, mais comme outil pour rapidement « griller » le périmètre, c'est sacrément bon. Le projet est activement mis à jour : par exemple, le support des dernières versions de nuclei a été ajouté récemment et les algorithmes de détection des doublons d'IP ont été améliorés pour éviter de scanner la même chose plusieurs fois.

Vous pouvez commencer simplement en téléchargeant le binaire depuis les releases sur GitHub, puisque les dépendances sont minimales. Juste, n'oubliez pas de déployer Elasticsearch d'abord si vous prévoyez d'explorer en profondeur les résultats.

Projets similaires