Fscan
English
Strumento di scansione completo per reti interne, scansione automatica delle vulnerabilità con un solo clic.
Versione: 2.2.1
Caratteristiche
Capacità di scansione
- Scoperta host - Rilevamento di host attivi tramite ICMP/Ping, supporto per statistiche di host attivi su grandi segmenti di rete B/C
- Scansione porte - Scansione TCP a connessione completa, 133 porte comuni integrate, supporto per gruppi di porte (web/db/service/all)
- Identificazione servizi - Riconoscimento intelligente dei protocolli, supporto per il matching di oltre 20 firme di servizi
- Probe Web - Titolo del sito, impronta CMS, middleware Web, identificazione 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 con chiave privata
- Dizionario intelligente - Oltre 100 password deboli integrate, supporto per la sostituzione della variabile {user}
Rilevamento vulnerabilità
- Vulnerabilità ad alto rischio - MS17-010 (EternalBlue), SMBGhost (CVE-2020-0796)
- Accesso non autorizzato - Rilevamento di accesso non autorizzato per Redis/MongoDB/Memcached/Elasticsearch, ecc.
- Scansione POC - POC per vulnerabilità Web integrati, supporto per il formato POC Xray
- DNSLog - Supporto per il rilevamento di esfiltrazione tramite DNSLog
Sfruttamento vulnerabilità
- Sfruttamento Redis - Scrittura chiave pubblica, scrittura cron job, scrittura WebShell, RCE tramite replica master-slave
- Sfruttamento MS17-010 - Iniezione ShellCode, supporto per aggiunta utenti, esecuzione comandi
- Esecuzione comandi SSH - Esecuzione automatica di comandi dopo autenticazione riuscita
Moduli locali
- Raccolta informazioni - Informazioni di sistema, variabili d'ambiente, informazioni sul dominio, configurazione scheda di rete
- Acquisizione credenziali - Dump della memoria (MiniDump), keylogger, esportazione registro
- Persistenza - Servizi Systemd, servizi Windows, cron job, elementi di avvio, LD_PRELOAD
- Reverse Shell - Shell diretta, shell inversa, servizio proxy SOCKS5
- Rilevamento antivirus - Identificazione del software di sicurezza installato sull'host di destinazione
- Pulizia tracce - Strumento di pulizia dei log
- Input di destinazione - IP/CIDR/dominio/URL, supporto per importazione batch da file
- Regole di esclusione - Supporto per esclusione di host e porte specifici
- Formati di output - Output multi-formato TXT/JSON/CSV
- Modalità silenziosa - Nessun banner, nessuna barra di avanzamento, nessun output colorato
Controllo di rete
- Supporto proxy - Proxy HTTP/SOCKS5, supporto per specificare la scheda di rete
- Controllo invio pacchetti - Limitazione della velocità, controllo del numero massimo di pacchetti inviati
- Controllo timeout - Timeout porta, timeout Web, timeout globale configurabili in modo indipendente
- Controllo concorrenza - Thread di scansione porte e thread di scansione servizi configurabili in modo indipendente
Funzionalità estese
- Integrazione SDK -
pkg/fscan fornisce un SDK Go, integrabile in Agent o piattaforme di sicurezza, con supporto per controllo delle attività (Pause/Resume), callback di avanzamento in tempo reale, tracciabilità TaskID
- Interfaccia di gestione Web - Gestione visuale delle attività di scansione (compilazione condizionale -tags web)
- Ambiente Lab - Ambiente Docker integrato per test e apprendimento
- Architettura a plugin - Plugin di servizio/plugin Web/plugin locale separati, facili da estendere
- Supporto multilingua - Interfaccia cinese/inglese commutabile (-lang zh/en)
- Statistiche prestazioni - Report prestazioni in formato JSON (-perf)
Log delle modifiche v2.1.0
Questo aggiornamento include 262 commit, con 30 nuove funzionalità, 120 correzioni, 54 refactoring, 14 ottimizzazioni delle prestazioni, 20 miglioramenti dei test.
Refactoring dell'architettura
- Eliminazione variabili globali - Migrazione a oggetti Config/State, miglioramento della sicurezza della concorrenza e della testabilità
- Fusione plugin SMB - Integrazione di smb/smb2/smbghost/smbinfo in un plugin unificato, aggiunto smb_protocol.go
- Refactoring probe servizi - Implementazione del meccanismo fallback in stile Nmap, ottimizzazione della strategia di identificazione delle impronte delle porte
- Refactoring sistema di output - Scrittura real-time su disco TXT + meccanismo di doppia scrittura, risoluzione dei problemi di perdita e disordine dei risultati
- Aggiornamento framework i18n - Migrazione a go-i18n, copertura completa dei moduli core/plugins/webscan
- Refactoring HostInfo - Campo Ports cambiato da string a int, type-safe
- Ottimizzazione complessità funzioni - clusterpoc(125→30), EnhancedPortScan(111→20)
- Audit del codice - Correzioni di problemi di livello P0-P2, pulizia del deadcode
- Ottimizzazione sistema di log - Pulizia chiamate LogDebug (71→18), semplificazione dell'output di log di avvio
Ottimizzazione delle prestazioni
- Precompilazione regex - Precompilazione delle espressioni regolari globali, evitando il sovraccarico di compilazione ripetuta
- Ottimizzazione memoria - map[string]bool cambiato in map[string]struct{} per risparmiare memoria
- Matching impronte concorrente - Matching parallelo multi-goroutine, miglioramento della velocità di identificazione
- Riutilizzo connessioni - Riutilizzo del dialer globale SOCKS5, evitando handshake ripetuti
- Scheduling a finestra scorrevole - Pool di thread adattivo + iteratore di flusso, ottimizzazione della scansione porte
- Ottimizzazione cache CEL - Cache dell'ambiente CEL per la scansione POC, riduzione dell'inizializzazione ripetuta
- Estrazione variabili a livello di pacchetto - proxyFailurePatterns/resourceExhaustedPatterns/sslSecondProbes, ecc.
- Preallocazione capacità - Semplificazione delle catene di conversione, sostituzione singola di stringhe
- Ottimizzazione sicurezza concorrenza - Ottimizzazione della granularità dei lock e dell'allocazione della memoria
Nuove funzionalità
- Interfaccia di gestione Web - Gestione visuale delle attività di scansione, layout reattivo e visualizzazione dell'avanzamento
- Adattamento POC multi-formato - Supporto per POC in formato xray e afrog
- Modalità di scansione intelligente - Deduplicazione con filtro Bloom + ottimizzazione proxy
- Libreria impronte potenziata - Integrazione di FingerprintHub (3139 impronte)
- Riconoscimento impronte Favicon - Supporto per matching hash dual-format mmh3 e MD5
- Estrattore versione generico - Estrazione automatica delle informazioni sulla versione del servizio
- Ordinamento priorità impronte - Ordinamento intelligente dei risultati di matching
- Rilevamento protocollo intelligente - Riconoscimento automatico dei tipi di protocollo HTTP/HTTPS
- Funzione scheda di rete - Supporto per scenari VPN (parametro -iface)
- File host esclusi - Supporto per la lettura degli host esclusi da file (parametro -ehf)
- Limitazione velocità ICMP token bucket - Prevenzione del crash del router dovuto a scansioni ad alta velocità
- Retry scansione porte - Meccanismo di riscansione automatica in caso di errore
- Autenticazione RDP reale - Integrazione della libreria grdp per il riconoscimento delle impronte di 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 di quella dopo il reindirizzamento
- Riepilogo URL output TXT - Aggiunta di un elenco di URL dei servizi Web alla fine per test batch
- Integrazione core nmap - Tre miglioramenti principali: strategia di probe/engine di matching/parsing versione
- Compilazione selettiva plugin - Sistema Build Tags, supporto per compilazione indipendente di plugin di servizio/locale/Web
- Estensione porte predefinite - Espansione da 62 a 133 porte comuni
- Supporto scansione tutte le porte - Ampliamento dei limiti dell'intervallo di porte
- Controllo reindirizzamento HTTP - Limite configurabile del numero di reindirizzamenti
- Supporto analisi prestazioni - Aggiunta di analisi delle prestazioni pprof e test benchmark
- - Supporto per statistiche di invio pacchetti TCP nei plugin di servizio
Correzioni di bug (120, elencate le correzioni chiave)
- Panic puntatore nullo RDP - Corretta l'interruzione causata dal parsing dei certificati (#551)
- Mancate rilevazioni scansione batch - Corretto il problema di omissione in scansioni su larga scala (#304)
- Formato output JSON - Corretto l'errore del formato di output (#446)
- Rilevamento password deboli Redis - Corretto il problema di omissione del rilevamento (#447)
- Salvataggio risultati in tempo reale - Corretto il problema del salvataggio non tempestivo dei risultati di scansione (#469)
- Overflow parsing Nmap - Corretto il bug di parsing delle sequenze di escape ottali (#478)
- Race condition riconoscimento impronte - Corretti i problemi di race condition webtitle/webpoc (#474)
- Verifica connessione MySQL - Passaggio alla verifica tramite il database information_schema
- Errata valutazione porta proxy - Corretto l'errore di valutazione dello stato delle porte in modalità proxy
- Timeout Context - Corretti 22 problemi di mancata risposta per timeout nei plugin
- Race condition ICMP - Corretto il problema di competizione nella scansione concorrente
- Formato indirizzo IPv6 - Corretti 4 problemi di formattazione degli indirizzi
- Blocco POC ad alta concorrenza - Corretto il problema di mancata propagazione del Context
- Perdita risultati Ctrl+C - Aggiunta la gestione dei segnali per garantire la scrittura dei risultati
- Echo completo SOCKS5 - Aggiunta la verifica della connessione proxy
- Perdita probe servizi - Corretto il problema di chiusura non corretta delle connessioni
- Scarto risposta webtitle - Corretto il problema di scarto di parte dei dati di risposta che causava il fallimento del riconoscimento
- Mancanza informazioni vulnerabilità TXT - Corretto il problema di omissione dei dettagli delle vulnerabilità nell'output
- Mancanza impronte JSON - Uniformato il formato Target dei risultati SERVICE
- Visualizzazione durata scansione - Corretto il problema di visualizzazione della durata di completamento pari a 0
- Registrazioni vulnerabilità false - Refactoring del sistema di output TXT per eliminare i falsi positivi
- Percorsi multipiattaforma Redis - Corretti i problemi di percorso e timeout nelle funzionalità di sfruttamento
Miglioramenti dei test (20)
- Test unitari - Copertura dei moduli core 74-100%
- Test sicurezza concorrenza - Test dedicati per oggetti State e motore di matching impronte
- Test di integrazione - Scansione Web/scansione porte/probe servizi/autenticazione SSH/probe ICMP
- Test parametri CLI - Verifica del parsing dei parametri della riga di comando
- Test benchmark prestazioni - Benchmark per AdaptivePool e strategie di probe servizi
- Test ResultBuffer - Verifica della deduplicazione e del punteggio di completezza
Miglioramenti ingegneristici
- Ottimizzazione pipeline CI - Aggiornamento golangci-lint v2, semplificazione dei passaggi di build
- Automazione Issue - Ottimizzazione dei template Issue GitHub, workflow di automazione Project
- Correzione completa Lint - revive/errcheck/shadow/staticcheck/gosimple tutti superati
- Riscrittura README - Aggiornamento completo della documentazione in cinese e inglese
- Uniformazione formato codice - Normalizzazione gofmt/goimports
Avvio rapido
# Scansione segmento 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 locale
./fscan -local systeminfo
# Collisione Hash
./fscan -h 192.168.1.1 -m smb2 -user admin -hash xxxxx
# Scrittura chiave pubblica Redis
./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 (Scrittura chiave pubblica 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 (Aggiunta di 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 con autenticazione)
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 caratteristiche
- Ultime due settimane - Correzione di bug e integrazione del codice
- PR benvenuti - Non vediamo l'ora del vostro contributo!
Integrazione SDK & Agent
- Espansione delle capacità SDK, perfezionamento del supporto per l'integrazione di Agent lato endpoint
- Ripresa della scansione da checkpoint, limitazione della velocità a livello di banda, controllo del livello di memoria
- Più esempi di integrazione per scenari Agent
Ecosistema plugin
- Espansione continua della copertura dei plugin di servizio
- Sviluppo di più capacità di rilevamento e sfruttamento delle vulnerabilità per ogni plugin di servizio
- Mantenimento della retrocompatibilità dell'API dei plugin, garantendo la continua disponibilità dei POC delle versioni precedenti
Fscan-lite
- Versione leggera riscritta in C
- Dimensioni più ridotte, meno dipendenze
- Supporto per più ambienti embedded/limitati
- Directory: fscan-lite
Fscan-lab
- Ambiente di addestramento per penetration test su reti interne
- Copre tutti gli scenari di vulnerabilità supportati da fscan
- Piattaforma per test di sviluppo e verifica delle funzionalità
- Ambiente per l'apprendimento dei principianti e l'esercizio delle competenze
- Directory: fscan-lab
Disclaimer
Questo strumento è destinato esclusivamente ad attività di sicurezza aziendale legalmente autorizzate. Prima dell'uso, assicurarsi di aver ottenuto l'autorizzazione e di rispettare le leggi e i regolamenti locali. Non eseguire scansioni su target non autorizzati. L'autore non si assume alcuna responsabilità per le conseguenze derivanti da un uso illegale.
404StarLink

fscan è un progetto membro del 404Team StarLink Plan 2.0.
Trend stelle

Donazioni
Offri una bevanda all'autore
Riferimenti