Fscan
English
Strumento completo di scansione di rete interna, scansione automatica delle vulnerabilità in un clic.
Versione: 2.2.0
Caratteristiche
Capacità di scansione
- Rilevamento host - Rilevamento di host attivi tramite ICMP/Ping, supporto per statistiche di sopravvivenza su grandi sottoreti B/C
- Scansione porte - Scansione TCP full connect, 133 porte comuni integrate, supporto per gruppi di porte (web/db/service/all)
- Riconoscimento servizi - Riconoscimento intelligente dei protocolli, supporto per corrispondenza di impronte di oltre 20 servizi
- Rilevamento Web - Titolo del sito, impronta CMS, middleware Web, riconoscimento WAF/CDN (oltre 40 impronte)
Capacità di brute force
- Brute force su password deboli - Brute force su 28 servizi (SSH/RDP/SMB/FTP/MySQL/MSSQL/Oracle/Redis, ecc.)
- Collisione Hash - Supporto per autenticazione NTLM Hash (SMB/WMI)
- Accesso con chiave SSH - Supporto per autenticazione tramite chiave privata
- Dizionario intelligente - Oltre 100 password deboli comuni integrate, supporto per sostituzione di variabili {user}
Rilevamento vulnerabilità
- Vulnerabilità ad alto rischio - MS17-010 (EternalBlue), SMBGhost (CVE-2020-0796)
- Accesso non autorizzato - Rilevamento di accesso non autorizzato a Redis/MongoDB/Memcached/Elasticsearch, ecc.
- Scansione POC - POC per vulnerabilità Web integrate, supporto per formato Xray POC
- DNSLog - Supporto per rilevamento di esfiltrazione tramite DNSLog
Sfruttamento vulnerabilità
- Sfruttamento Redis - Scrittura di chiave pubblica, scrittura di task pianificati, scrittura di WebShell, RCE master-slave
- Sfruttamento MS17-010 - Iniezione di ShellCode, supporto per aggiunta di utenti, esecuzione di comandi
- Esecuzione comandi SSH - Esecuzione automatica di comandi dopo autenticazione riuscita
Moduli locali
- Raccolta informazioni - Informazioni di sistema, variabili d'ambiente, informazioni sul controller di dominio, configurazione della scheda di rete
- Recupero credenziali - Dump della memoria (MiniDump), keylogger, esportazione del registro di sistema
- Persistenza dei privilegi - Servizio Systemd, servizio Windows, task pianificati, elementi di avvio, LD_PRELOAD
- Reverse shell - Shell diretta, reverse shell, servizio proxy SOCKS5
- Rilevamento antivirus - Riconoscimento del software di sicurezza installato sull'host target
- Pulizia delle tracce - Strumento di pulizia dei log
- Input target - IP/CIDR/Dominio/URL, supporto per importazione batch da file
- Regole di esclusione - Supporto per esclusione di host e porte specifici
- Formato di output - Output multiplo in formato TXT/JSON/CSV
- Modalità silenziosa - Nessun banner, nessuna barra di avanzamento, nessun output a colori
Controllo di rete
- Supporto proxy - Proxy HTTP/SOCKS5, supporto per specificare la scheda di rete
- Controllo dei pacchetti - Limitazione della velocità, controllo del numero massimo di pacchetti inviati
- Controllo del timeout - Timeout per porte, timeout Web, timeout globale configurabili separatamente
- Controllo della concorrenza - Thread per scansione porte e scansione servizi configurabili separatamente
Funzionalità estese
- Integrazione SDK -
pkg/fscan fornisce un SDK Go, integrabile in agent o piattaforme di sicurezza, supporto per controllo delle attività (Pausa/Riprendi), callback di avanzamento in tempo reale, tracciabilità TaskID
- Interfaccia di gestione Web - Gestione visiva delle attività di scansione (compilazione condizionale -tags web)
- Ambiente lab - Banco di prova Docker integrato per test e apprendimento
- Architettura a plugin - Plugin per servizi / plugin Web / plugin locali separati, facili da estendere
- Supporto multilingue - Interfaccia cinese/inglese commutabile (-lang zh/en)
- Statistiche prestazioni - Report delle prestazioni in formato JSON (-perf)
Changelog v2.1.0
Questo aggiornamento include 262 commit, coprendo 30 nuove funzionalità, 120 correzioni, 54 refactoring, 14 ottimizzazioni delle prestazioni, 20 miglioramenti dei test.
Refactoring dell'architettura
- Eliminazione delle variabili globali - Migrazione a oggetti Config/State, miglioramento della sicurezza concorrente e della testabilità
- Fusione plugin SMB - Integrazione di smb/smb2/smbghost/smbinfo in un plugin unificato, aggiunto smb_protocol.go
- Refactoring del riconoscimento dei servizi - Implementazione del meccanismo di fallback in stile Nmap, ottimizzazione della strategia di riconoscimento delle impronte delle porte
- Refactoring del sistema di output - Scrittura in tempo reale su TXT + meccanismo di doppia scrittura, risoluzione della perdita di risultati e dei problemi di ordinamento
- Aggiornamento framework i18n - Migrazione a go-i18n, copertura completa dei moduli core/plugins/webscan
- Refactoring di HostInfo - Campo Ports modificato da string a int, type-safe
- Ottimizzazione della complessità delle funzioni - clusterpoc (125→30), EnhancedPortScan (111→20)
- Audit del codice - Correzione di problemi di livello P0-P2, pulizia del deadcode
- Ottimizzazione del sistema di log - Pulizia delle chiamate LogDebug (71→18), semplificazione dell'output dei log di avvio
Ottimizzazione delle prestazioni
- Precompilazione delle espressioni regolari - Precompilazione globale delle espressioni regolari per evitare il sovraccarico della compilazione ripetuta
- Ottimizzazione della memoria - Sostituzione di map[string]bool con map[string]struct{} per risparmiare memoria
- Corrispondenza impronte concorrente - Corrispondenza parallela multi-goroutine, miglioramento della velocità di riconoscimento
- Riutilizzo delle connessioni - Riutilizzo del dialer globale SOCKS5 per evitare handshake ripetuti
- Pianificazione a finestra scorrevole - Pool di thread adattivo + iteratore di flusso, ottimizzazione della scansione delle porte
- Ottimizzazione della cache CEL - Cache dell'ambiente CEL per la scansione POC, riduzione dell'inizializzazione ripetuta
- Estrazione di variabili a livello di pacchetto - proxyFailurePatterns/resourceExhaustedPatterns/sslSecondProbes, ecc.
- Preallocazione della capacità - Semplificazione della catena di trasformazione, sostituzione di stringhe singole
- Ottimizzazione della sicurezza concorrente - Ottimizzazione della granularità dei lock e dell'allocazione della memoria
Nuove funzionalità
- Interfaccia di gestione Web - Gestione visiva delle attività di scansione, layout reattivo e visualizzazione dell'avanzamento
- Adattamento POC multiformato - Supporto per POC in formato xray e afrog
- Modalità di scansione intelligente - Deduplicazione con filtro Bloom + ottimizzazione del proxy
- Libreria impronte potenziata - Integrazione di FingerprintHub (3139 impronte)
- Riconoscimento impronte Favicon - Supporto per corrispondenza hash in formato mmh3 e MD5
- Estrattore di versione generico - Estrazione automatica delle informazioni sulla versione del servizio
- Ordinamento per priorità delle impronte - Ordinamento intelligente dei risultati di corrispondenza
- Rilevamento intelligente del protocollo - Riconoscimento automatico del tipo di protocollo HTTP/HTTPS
- Funzione di specifica della scheda di rete - Supporto per scenari VPN (parametro -iface)
- File di esclusione host - Supporto per lettura di host da escludere da un file (parametro -ehf)
- Limitazione della velocità del bucket ICMP - Prevenzione del crash del router dovuto a scansione ad alta velocità
- Riprova scansione porte - Meccanismo di ri-scansione automatica in caso di errore
- Autenticazione RDP reale - Integrazione della libreria grdp per il riconoscimento delle impronte del sistema
- Elenco file SMB/FTP - Elenco automatico dei file in caso di accesso anonimo
- Doppio riconoscimento reindirizzamento 302 - Riconoscimento simultaneo delle impronte della risposta originale e della risposta dopo il reindirizzamento
- Riepilogo URL output TXT - Aggiunta di un elenco di URL del servizio Web alla fine per test batch
- Integrazione core nmap - Tre miglioramenti: strategia di rilevamento / motore di corrispondenza / analisi della versione
- Compilazione selettiva dei plugin - Sistema di Build Tags, supporto per compilazione indipendente di plugin per servizi/locali/Web
- Espansione delle porte predefinite - Da 62 a 133 porte comuni
- Supporto scansione porte completa - Ampliamento dei limiti dell'intervallo di porte
- Controllo dei reindirizzamenti HTTP - Limite configurabile del numero di reindirizzamenti
- Supporto analisi prestazioni - Aggiunta di analisi delle prestazioni pprof e test benchmark
Correzioni di bug (120 elementi, elencate le correzioni chiave)
- Panic puntatore nullo RDP - Correzione del crash dovuto all'analisi del certificato (#551)
- Falsi negativi in scansione batch - Correzione della mancanza di rilevamento in scansioni su larga scala (#304)
- Formato output JSON - Correzione dell'errore nel formato di output (#446)
- Rilevamento password debole Redis - Correzione della mancanza di rilevamento (#447)
- Salvataggio risultati in tempo reale - Correzione del mancato salvataggio tempestivo dei risultati di scansione (#469)
- Overflow analisi Nmap - Correzione del bug nell'analisi dell'escape ottale (#478)
- Race condition riconoscimento impronte - Correzione dei problemi di race condition in webtitle/webpoc (#474)
- Verifica connessione MySQL - Utilizzo del database information_schema per la verifica
- Errore di giudizio porte proxy - Correzione dell'errore nel giudizio dello stato delle porte in modalità proxy
- Timeout Context - Correzione di 22 casi di mancata risposta per timeout nei plugin
- Race condition ICMP - Correzione dei problemi di concorrenza nella scansione
- Formattazione indirizzo IPv6 - Correzione di 4 casi di formattazione errata dell'indirizzo
- Stallo POC ad alta concorrenza - Correzione del problema di mancata propagazione del Context
- Perdita risultati Ctrl+C - Aggiunta della gestione dei segnali per garantire la scrittura dei risultati
- Eco completo SOCKS5 - Aggiunta della verifica della connessione proxy
- Perdita di rilevamento servizi - Correzione del mancato rilascio delle connessioni
- Scarto risposte webtitle - Correzione del problema per cui alcuni dati di risposta venivano scartati, causando il fallimento del riconoscimento
- Mancanza informazioni vulnerabilità TXT - Correzione della mancanza di dettagli sulle vulnerabilità nell'output
- Mancanza impronte JSON - Unificazione del formato Target del risultato SERVICE
- Visualizzazione tempo di scansione - Correzione del problema per cui la durata del completamento veniva visualizzata come 0
- Registrazione falsa vulnerabilità - Refactoring del sistema di output TXT per eliminare i falsi positivi
- Percorso multipiattaforma Redis - Correzione dei problemi di percorso e timeout nella funzionalità di sfruttamento
Miglioramenti ai test (20 elementi)
- Test unitari - Copertura dei moduli core 74-100%
- Test di sicurezza concorrente - Test dedicati per oggetti State, motore di corrispondenza impronte
- Test di integrazione - Scansione Web / scansione porte / rilevamento servizi / autenticazione SSH / rilevamento ICMP
- Test parametri CLI - Verifica dell'analisi dei parametri della riga di comando
- Test di benchmark prestazioni - Benchmark per AdaptivePool, strategia di rilevamento servizi
- Test ResultBuffer - Verifica della deduplicazione e del punteggio di completezza
Miglioramenti ingegneristici
- Ottimizzazione CI - Aggiornamento golangci-lint v2, semplificazione dei passaggi di build
- Automazione Issue - Ottimizzazione del modello di Issue GitHub, flusso di lavoro automatizzato del Project
- Correzione completa Lint - Superamento di revive/errcheck/shadow/staticcheck/gosimple
- Riscrittura README - Documentazione cinese e inglese completamente aggiornata
- Unificazione formato codice - Standardizzazione gofmt/goimports
Avvio rapido
# Scansione sottorete C
./fscan -h 192.168.1.1/24
# Porte specifiche
./fscan -h 192.168.1.1 -p 22,80,443,3389
# Solo rilevamento host attivi
./fscan -h 192.168.1.1/24 -ao
# Disabilita brute force
./fscan -h 192.168.1.1/24 -nobr
# Scansione Web
./fscan -u http://192.168.1.1
# Plugin locali
./fscan -local systeminfo
# Collisione Hash
./fscan -h 192.168.1.1 -m smb2 -user admin -hash xxxxx
# Redis scrivi chiave pubblica
./fscan -h 192.168.1.1 -m redis -rf id_rsa.pub
Compilazione
# Compilazione standard
go build -ldflags="-s -w" -trimpath -o fscan .
# Con interfaccia di gestione Web
go build -tags web -ldflags="-s -w" -trimpath -o fscan-web .
Installazione
# Arch Linux
yay -S fscan-git
Screenshot di esecuzione
fscan.exe -h 192.168.x.x


fscan.exe -h 192.168.x.x -rf id_rsa.pub (Redis scrivi chiave pubblica)

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 (Aggiungi più password)
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 SOCKS5 autenticato)
fscan.exe -h 192.168.x.x -p 139 -m netbios


fscan.exe -h 192.0.0.0/8 -m icmp



Roadmap
Piano di aggiornamento
- Ciclo di aggiornamento - Rilascio di una versione al mese
- Prime due settimane - Sviluppo di nuove funzionalità e aggiornamenti delle funzionalità
- Ultime due settimane - Correzione di bug e integrazione del codice
- Benvenuti PR - Non vediamo l'ora del vostro contributo!
Integrazione SDK & Agent
- Espansione delle capacità dell'SDK, miglioramento del supporto per incorporamento negli agent endpoint
- Ripresa della scansione da dove interrotta, limitazione della larghezza di banda a livello granulare, controllo del livello di memoria
- Maggiori esempi di integrazione per scenari agent
Ecosistema plugin
- Espansione continua della copertura dei plugin di servizio
- Sviluppo di maggiori capacità di rilevamento e sfruttamento delle vulnerabilità per ogni plugin di servizio
- Mantenimento della compatibilità API dei plugin all'indietro, garantendo che i POC delle versioni precedenti rimangano utilizzabili
Fscan-lite
- Versione leggera riscritta in C
- Dimensioni inferiori, meno dipendenze
- Supporto per più ambienti embedded/limitati
- Directory: fscan-lite
Fscan-lab
- Ambiente di banco di prova per penetration test di rete interna
- Copre tutti gli scenari di vulnerabilità supportati da fscan
- Piattaforma di sviluppo/test e verifica delle funzionalità
- Ambiente di apprendimento e pratica per principianti
- Directory: fscan-lab
Dichiarazione di non responsabilità
Questo strumento è destinato esclusivamente a comportamenti di sicurezza aziendale autorizzati dalla legge. Prima dell'uso, assicurarsi di aver ottenuto l'autorizzazione, di rispettare le leggi e i regolamenti locali e di non eseguire scansioni su destinazioni non autorizzate. L'autore non si assume alcuna responsabilità per le conseguenze derivanti da un uso non autorizzato.
404StarLink

fscan è un progetto membro di 404Team 星链计划2.0.
Andamento stelle

Donazioni
Offri da bere all'autore
Riferimenti