Fscan
English
Outil de scan complet pour réseau interne, automatisation de l'analyse de vulnérabilités en une seule commande.
Version : 2.2.1
Fonctionnalités
Capacités de scan
- Découverte d'hôtes - Détection de survie ICMP/Ping, prise en charge des statistiques de survie pour les grands segments réseau B/C
- Scan de ports - Scan TCP à connexion complète, 133 ports courants intégrés, prise en charge des groupes de ports (web/db/service/all)
- Identification des services - Reconnaissance intelligente des protocoles, prise en charge de la correspondance de plus de 20 signatures de services
- Détection Web - Titres de sites, empreintes CMS, middleware Web, identification WAF/CDN (plus de 40 signatures)
Capacités de brute force
- Brute force de mots de passe faibles - Brute force de 28 services (SSH/RDP/SMB/FTP/MySQL/MSSQL/Oracle/Redis, etc.)
- Collision de hash - Prise en charge de l'authentification NTLM Hash (SMB/WMI)
- Connexion par clé SSH - Prise en charge de l'authentification par clé privée
- Dictionnaire intelligent - Plus de 100 mots de passe faibles courants intégrés, prise en charge du remplacement de variable {user}
Détection de vulnérabilités
- Vulnérabilités critiques - MS17-010 (EternalBlue), SMBGhost (CVE-2020-0796)
- Accès non autorisé - Détection d'accès non autorisé Redis/MongoDB/Memcached/Elasticsearch, etc.
- Scan POC - POC de vulnérabilités Web intégrés, prise en charge du format POC Xray
- DNSLog - Prise en charge de la détection d'exfiltration DNSLog
Exploitation de vulnérabilités
- Exploitation Redis - Écriture de clé publique, écriture de tâches planifiées, écriture de WebShell, RCE par réplication maître-esclave
- Exploitation MS17-010 - Injection ShellCode, prise en charge de l'ajout d'utilisateurs, exécution de commandes
- Exécution de commandes SSH - Exécution automatique de commandes après authentification réussie
Modules locaux
- Collecte d'informations - Informations système, variables d'environnement, informations de contrôleur de domaine, configuration des cartes réseau
- Obtention d'identifiants - Vidage mémoire (MiniDump), enregistreur de frappes, exportation du registre
- Maintien de privilèges - Services Systemd, services Windows, tâches planifiées, éléments de démarrage, LD_PRELOAD
- Shell inversé - Shell direct, shell inversé, service proxy SOCKS5
- Détection d'antivirus - Identification des logiciels de sécurité installés sur l'hôte cible
- Nettoyage des traces - Outil de nettoyage des journaux
Entrée/Sortie
- Entrée de cibles - IP/CIDR/domaine/URL, prise en charge de l'importation par lots depuis un fichier
- Règles d'exclusion - Prise en charge de l'exclusion d'hôtes et de ports spécifiques
- Formats de sortie - Sortie multi-format TXT/JSON/CSV
- Mode silencieux - Pas de bannière, pas de barre de progression, pas de sortie colorée
Contrôle réseau
- Prise en charge des proxys - Proxy HTTP/SOCKS5, prise en charge de la spécification d'une carte réseau
- Contrôle d'envoi de paquets - Limitation du débit, contrôle du nombre maximal de paquets envoyés
- Contrôle des délais d'attente - Délai d'attente de port, délai d'attente Web, délai d'attente global configurés indépendamment
- Contrôle de la concurrence - Threads de scan de ports, threads de scan de services configurés indépendamment
Fonctionnalités étendues
- Intégration SDK -
pkg/fscan fournit un SDK Go, peut être intégré dans un Agent ou une plateforme de sécurité, prise en charge du contrôle des tâches (Pause/Resume), des rappels de progression en temps réel, du suivi TaskID
- Interface de gestion Web - Gestion visuelle des tâches de scan (compilation conditionnelle -tags web)
- Environnement de laboratoire - Environnement Docker intégré pour les tests et l'apprentissage
- Architecture de plugins - Plugins de services/plugins Web/plugins locaux séparés, faciles à étendre
- Prise en charge multilingue - Bascule d'interface chinois/anglais (-lang zh/en)
- Statistiques de performance - Rapport de performance au format JSON (-perf)
Journal des mises à jour v2.1.0
Cette mise à jour comprend 262 commits, couvrant 30 nouvelles fonctionnalités, 120 corrections, 54 refactorisations, 14 optimisations de performance et 20 améliorations de tests.
Refactorisation de l'architecture
- Élimination des variables globales - Migration vers les objets Config/State, amélioration de la sécurité de concurrence et de la testabilité
- Fusion des plugins SMB - Intégration de smb/smb2/smbghost/smbinfo en un plugin unifié, ajout de smb_protocol.go
- Refactorisation de la détection des services - Implémentation du mécanisme de repli de style Nmap, optimisation de la stratégie d'identification des empreintes de ports
- Refactorisation du système de sortie - Écriture en temps réel sur disque TXT + mécanisme de double écriture, résolution des problèmes de perte et de désordre des résultats
- Mise à niveau du framework i18n - Migration vers go-i18n, couverture complète des modules core/plugins/webscan
- Refactorisation de HostInfo - Le champ Ports passe de string à int, sécurité de type
- Optimisation de la complexité des fonctions - clusterpoc(125→30), EnhancedPortScan(111→20)
- Audit de code - Correction des problèmes de niveau P0-P2, nettoyage du code mort
- Optimisation du système de journaux - Nettoyage des appels LogDebug(71→18), simplification de la sortie des journaux de démarrage
- Précompilation des expressions régulières - Précompilation globale des expressions régulières, évitant les frais de compilation répétés
- Optimisation de la mémoire - map[string]bool remplacé par map[string]struct{} pour économiser de la mémoire
- Correspondance d'empreintes concurrente - Correspondance parallèle multi-goroutines, amélioration de la vitesse d'identification
- Réutilisation des connexions - Réutilisation du dialer global SOCKS5, évitant les poignées de main répétées
- Planification par fenêtre glissante - Pool de threads adaptatif + itérateur de flux, optimisation du scan de ports
- Optimisation du cache CEL - Cache de l'environnement CEL pour le scan POC, réduction des initialisations répétées
- Extraction des variables au niveau du package - proxyFailurePatterns/resourceExhaustedPatterns/sslSecondProbes, etc.
- Allocation de capacité préalable - Simplification des chaînes de conversion, remplacement de chaînes en une seule fois
- Optimisation de la sécurité de concurrence - Optimisation de la granularité des verrous et de l'allocation mémoire
Nouvelles fonctionnalités
- Interface de gestion Web - Gestion visuelle des tâches de scan, mise en page réactive et affichage de la progression
- Adaptation POC multi-format - Prise en charge des POC aux formats xray et afrog
- Mode de scan intelligent - Déduplication par filtre de Bloom + optimisation du proxy
- Base d'empreintes améliorée - Intégration de FingerprintHub (3139 empreintes)
- Identification des empreintes Favicon - Prise en charge de la correspondance de hash double format mmh3 et MD5
- Extracteur de version générique - Extraction automatique des informations de version des services
- Tri par priorité des empreintes - Tri intelligent des résultats de correspondance
- Détection intelligente des protocoles - Identification automatique des types de protocole HTTP/HTTPS
- Fonction de spécification de carte réseau - Prise en charge des scénarios VPN (paramètre -iface)
- Fichier d'exclusion d'hôtes - Prise en charge de la lecture des hôtes exclus depuis un fichier (paramètre -ehf)
- Limitation de débit ICMP par seau à jetons - Prévention du crash des routeurs lors de scans à grande vitesse
- Nouvelle tentative de scan de ports - Mécanisme de re-scan automatique en cas d'échec
- Authentification RDP réelle - Intégration de la bibliothèque grdp pour l'identification des empreintes système
- Liste de fichiers SMB/FTP - Liste automatique des fichiers lors d'un accès anonyme
- Double identification des redirections 302 - Identification simultanée des empreintes de la réponse d'origine et de la réponse après redirection
- Résumé des URL dans la sortie TXT - Ajout d'une liste d'URL de services Web à la fin pour faciliter les tests par lots
- Intégration du noyau nmap - Trois améliorations majeures : stratégie de sondage/moteur de correspondance/analyse de version
- Compilation sélective des plugins - Système de Build Tags, prise en charge de la compilation indépendante des plugins de services/locaux/Web
- Extension des ports par défaut - Extension de 62 à 133 ports courants
- Prise en charge du scan de tous les ports - Élargissement de la limite de la plage de ports
- Contrôle des redirections HTTP - Limite configurable du nombre de redirections
- - Ajout de l'analyse de performance pprof et des tests benchmark
Corrections de bugs (120 éléments, corrections clés listées)
- Panic de pointeur nul RDP - Correction du crash causé par l'analyse des certificats (#551)
- Omissions dans les scans par lots - Correction des omissions lors des scans à grande échelle (#304)
- Format de sortie JSON - Correction des erreurs de format de sortie (#446)
- Détection des mots de passe faibles Redis - Correction des omissions de détection (#447)
- Enregistrement en temps réel des résultats - Correction du problème de non-enregistrement rapide des résultats de scan (#469)
- Débordement de l'analyse Nmap - Correction du bug d'analyse des échappements octaux (#478)
- Course d'identification des empreintes - Correction des problèmes de course webtitle/webpoc (#474)
- Vérification de connexion MySQL - Utilisation de la base information_schema pour la vérification
- Erreur de jugement des ports proxy - Correction des erreurs de jugement de l'état des ports en mode proxy
- Délai d'attente Context - Correction de 22 problèmes de non-réponse des plugins en cas de délai d'attente
- Condition de course ICMP - Correction des problèmes de compétition lors des scans concurrents
- Format d'adresse IPv6 - Correction de 4 problèmes de formatage d'adresse
- Blocage POC à haute concurrence - Correction du problème de non-propagation du Context
- Perte de résultats Ctrl+C - Ajout de la gestion des signaux pour garantir l'écriture des résultats
- Écho complet SOCKS5 - Ajout de la vérification de connexion proxy
- Fuite de détection des services - Correction du problème de fermeture incorrecte des connexions
- Rejet de réponse webtitle - Correction du problème de rejet de certaines données de réponse entraînant l'échec de l'identification
- Informations de vulnérabilité manquantes dans TXT - Correction de l'omission des détails de vulnérabilité dans la sortie
- Empreintes JSON manquantes - Uniformisation du format Target des résultats SERVICE
- Affichage de la durée de scan - Correction du problème d'affichage de la durée de 0 à la fin
- Enregistrements de vulnérabilités erronés - Refactorisation du système de sortie TXT pour éliminer les faux positifs
- Chemins multiplateformes Redis - Correction des problèmes de chemins et de délais d'attente des fonctions d'exploitation
Améliorations des tests (20 éléments)
- Tests unitaires - Couverture de 74 à 100 % des modules principaux
- Tests de sécurité de concurrence - Tests dédiés pour l'objet State et le moteur de correspondance d'empreintes
- Tests d'intégration - Scan Web/scan de ports/détection de services/authentification SSH/détection ICMP
- Tests des paramètres CLI - Validation de l'analyse des paramètres de ligne de commande
- Tests de référence de performance - Benchmark AdaptivePool, stratégie de détection des services
- Tests ResultBuffer - Validation de la déduplication et du score de complétude
Améliorations d'ingénierie
- Optimisation du pipeline CI - Mise à niveau golangci-lint v2, simplification des étapes de construction
- Automatisation des issues - Optimisation des modèles d'issues GitHub, flux de travail automatisé du projet
- Correction complète du lint - revive/errcheck/shadow/staticcheck/gosimple tous validés
- Réécriture du README - Mise à jour complète de la documentation en chinois et en anglais
- Uniformisation du format du code - Normalisation gofmt/goimports
Démarrage rapide
# Scan du segment C
./fscan -h 192.168.1.1/24
# Ports spécifiques
./fscan -h 192.168.1.1 -p 22,80,443,3389
# Détection de survie uniquement
./fscan -h 192.168.1.1/24 -ao
# Désactiver le brute force
./fscan -h 192.168.1.1/24 -nobr
# Scan Web
./fscan -u http://192.168.1.1
# Plugin local
./fscan -local systeminfo
# Collision de hash
./fscan -h 192.168.1.1 -m smb2 -user admin -hash xxxxx
# Écriture de clé publique Redis
./fscan -h 192.168.1.1 -m redis -rf id_rsa.pub
Compilation
# Compilation standard
go build -ldflags="-s -w" -trimpath -o fscan .
# Avec interface de gestion Web
go build -tags web -ldflags="-s -w" -trimpath -o fscan-web .
Installation
# Arch Linux
yay -S fscan-git
Captures d'écran
fscan.exe -h 192.168.x.x


fscan.exe -h 192.168.x.x -rf id_rsa.pub (Écriture de clé publique Redis)

fscan.exe -h 192.168.x.x -m ssh -user root -pwd password

fscan.exe -h 192.168.x.x -m ssh -user root -pwda pass1 pass2 pass3 (Ajout de plusieurs mots de passe)
fscan.exe -h 192.168.x.x -p80 -proxy http://127.0.0.1:8080

fscan.exe -h 192.168.x.x -socks5 socks5://user:[email protected]:1080 (Proxy d'authentification SOCKS5)
fscan.exe -h 192.168.x.x -p 139 -m netbios


fscan.exe -h 192.0.0.0/8 -m icmp



Feuille de route
Plan de mise à jour
- Cycle de mise à jour - Publication d'une version chaque mois
- Deux premières semaines - Développement de nouvelles fonctionnalités et mises à jour
- Deux dernières semaines - Corrections de bugs et intégration du code
- PR bienvenus - Nous attendons vos contributions !
Intégration SDK & Agent
- Extension des capacités du SDK, amélioration de la prise en charge de l'intégration des Agents côté terminal
- Reprise du scan après interruption, limitation du débit au niveau de la bande passante, contrôle du niveau de mémoire
- Exemples d'intégration pour davantage de scénarios d'Agent
Écosystème de plugins
- Extension continue de la couverture des plugins de services
- Développement de davantage de capacités de détection et d'exploitation de vulnérabilités pour chaque plugin de service
- Maintien de la rétrocompatibilité de l'API des plugins, garantissant la disponibilité continue des anciens POC
Fscan-lite
- Version légère réécrite en C
- Taille plus réduite, moins de dépendances
- Prise en charge de davantage d'environnements embarqués/restreints
- Répertoire : fscan-lite
Fscan-lab
- Environnement de laboratoire de tests de pénétration réseau interne
- Couverture de tous les scénarios de vulnérabilités pris en charge par fscan
- Plateforme de développement de tests et de validation de fonctionnalités
- Environnement d'apprentissage et de pratique pour les débutants
- Répertoire : fscan-lab
Avertissement
Cet outil est destiné uniquement aux activités de sécurité d'entreprise légalement autorisées. Avant toute utilisation, assurez-vous d'avoir obtenu l'autorisation et de respecter les lois et réglementations locales. Ne scannez pas de cibles non autorisées. L'auteur décline toute responsabilité quant aux conséquences d'une utilisation illégale.
404StarLink

fscan est un projet membre du 404Team StarLink Plan 2.0.
Tendance des étoiles

Dons
Offrez une boisson à l'auteur
Références