
fscan v2.2.1
Uma ferramenta de varredura abrangente para intranet, facilitando a varredura automatizada e completa de vulnerabilidades com um clique.
Fscan
Ferramenta abrangente de varredura de rede interna, automação de varredura de vulnerabilidades com um clique.
Versão: 2.2.1
Recursos
Capacidades de varredura
- Descoberta de hosts - Detecção de hosts ativos via ICMP/Ping, suporte a estatísticas de hosts ativos em grandes segmentos de rede B/C
- Varredura de portas - Varredura TCP de conexão completa, 133 portas comuns integradas, suporte a grupos de portas (web/db/service/all)
- Identificação de serviços - Reconhecimento inteligente de protocolos, suporte a correspondência de impressões digitais de mais de 20 tipos de serviços
- Detecção Web - Títulos de sites, impressões digitais CMS, middleware Web, identificação de WAF/CDN (mais de 40 impressões digitais)
Capacidades de força bruta
- Força bruta de senhas fracas - Força bruta em 28 serviços (SSH/RDP/SMB/FTP/MySQL/MSSQL/Oracle/Redis, etc.)
- Colisão de Hash - Suporte a autenticação NTLM Hash (SMB/WMI)
- Login com chave SSH - Suporte a autenticação por chave privada
- Dicionário inteligente - Mais de 100 senhas fracas comuns integradas, suporte a substituição de variável {user}
Detecção de vulnerabilidades
- Vulnerabilidades de alto risco - MS17-010 (EternalBlue), SMBGhost (CVE-2020-0796)
- Acesso não autorizado - Detecção de acesso não autorizado em Redis/MongoDB/Memcached/Elasticsearch, etc.
- Varredura POC - POCs de vulnerabilidades Web integrados, suporte ao formato POC do Xray
- DNSLog - Suporte a detecção de exfiltração via DNSLog
Exploração de vulnerabilidades
- Exploração Redis - Gravação de chave pública, gravação de tarefas agendadas, gravação de WebShell, RCE via replicação mestre-escravo
- Exploração MS17-010 - Injeção de ShellCode, suporte a adição de usuários e execução de comandos
- Execução de comandos SSH - Execução automática de comandos após autenticação bem-sucedida
Módulos locais
- Coleta de informações - Informações do sistema, variáveis de ambiente, informações do controlador de domínio, configuração de placas de rede
- Obtenção de credenciais - Despejo de memória (MiniDump), registro de teclas (keylogger), exportação do registro
- Persistência de privilégios - Serviços Systemd, serviços Windows, tarefas agendadas, itens de inicialização, LD_PRELOAD
- Reverse Shell - Shell direto, reverse shell, serviço de proxy SOCKS5
- Detecção de antivírus - Identificação de softwares de segurança instalados no host de destino
- Limpeza de rastros - Ferramenta de limpeza de logs
Entrada e saída
- Entrada de alvos - IP/CIDR/domínio/URL, suporte a importação em lote de arquivos
- Regras de exclusão - Suporte a exclusão de hosts e portas específicos
- Formato de saída - Saída em múltiplos formatos TXT/JSON/CSV
- Modo silencioso - Sem banner, sem barra de progresso, sem saída colorida
Controle de rede
- Suporte a proxy - Proxy HTTP/SOCKS5, suporte a especificação de placa de rede
- Controle de envio de pacotes - Limitação de taxa, controle do número máximo de pacotes enviados
- Controle de timeout - Timeout de porta, timeout Web e timeout global configurados de forma independente
- Controle de concorrência - Threads de varredura de portas e threads de varredura de serviços configurados de forma independente
Recursos estendidos
- Integração SDK -
pkg/fscanfornece SDK Go, pode ser incorporado em Agent ou plataformas de segurança, suporte a controle de tarefas (Pause/Resume), callbacks de progresso em tempo real, rastreabilidade por TaskID - Interface de gerenciamento Web - Gerenciamento visual de tarefas de varredura (compilação condicional -tags web)
- Ambiente de laboratório - Ambiente Docker integrado para testes e aprendizado
- Arquitetura de plugins - Plugins de serviço/plugins Web/plugins locais separados, fáceis de estender
- Suporte a múltiplos idiomas - Alternância de interface chinês/inglês (-lang zh/en)
- Estatísticas de desempenho - Relatório de desempenho em formato JSON (-perf)
Log de atualizações v2.1.0
Esta atualização inclui 262 commits, abrangendo 30 novos recursos, 120 correções, 54 refatorações, 14 otimizações de desempenho e 20 melhorias de testes.
Refatoração de arquitetura
- Eliminação de variáveis globais - Migração para objetos Config/State, melhorando a segurança de concorrência e a testabilidade
- Fusão de plugins SMB - Integração de smb/smb2/smbghost/smbinfo em um plugin unificado, novo smb_protocol.go
- Refatoração da detecção de serviços - Implementação de mecanismo de fallback estilo Nmap, otimização da estratégia de identificação de impressões digitais de portas
- Refatoração do sistema de saída - Gravação em disco em tempo real TXT + mecanismo de escrita dupla, resolvendo perda de resultados e problemas de ordenação
- Atualização do framework i18n - Migração para go-i18n, cobertura completa dos módulos core/plugins/webscan
- Refatoração do HostInfo - Campo Ports alterado de string para int, segurança de tipos
- Otimização da complexidade de funções - clusterpoc(125→30), EnhancedPortScan(111→20)
- Auditoria de código - Correção de problemas de nível P0-P2, limpeza de deadcode
- Otimização do sistema de logs - Limpeza de chamadas LogDebug (71→18), simplificação da saída de logs de inicialização
Otimização de desempenho
- Pré-compilação de regex - Pré-compilação de expressões regulares globais, evitando custo de compilação repetida
- Otimização de memória - map[string]bool alterado para map[string]struct{} para economizar memória
- Correspondência de impressões digitais concorrente - Correspondência paralela com múltiplas goroutines, melhorando a velocidade de identificação
- Reutilização de conexões - Reutilização do dialer global SOCKS5, evitando handshakes repetidos
- Agendamento de janela deslizante - Pool de threads adaptativo + iterador de fluxo, otimizando a varredura de portas
- Otimização de cache CEL - Cache do ambiente CEL para varredura POC, reduzindo inicializações repetidas
- Extração de variáveis de nível de pacote - proxyFailurePatterns/resourceExhaustedPatterns/sslSecondProbes, etc.
- Pré-alocação de capacidade - Simplificação de cadeias de conversão, substituição única de strings
- Otimização de segurança de concorrência - Otimização da granularidade de locks e alocação de memória
Novos recursos
- Interface de gerenciamento Web - Gerenciamento visual de tarefas de varredura, layout responsivo e exibição de progresso
- Adaptação de POCs em múltiplos formatos - Suporte a POCs nos formatos xray e afrog
- Modo de varredura inteligente - Deduplicação com filtro Bloom + otimização de proxy
- Biblioteca de impressões digitais aprimorada - Integração do FingerprintHub (3139 impressões digitais)
- Identificação de impressões digitais Favicon - Suporte a correspondência de hash em formatos duplos mmh3 e MD5
- Extrator de versão genérico - Extração automática de informações de versão de serviços
- Ordenação por prioridade de impressões digitais - Ordenação inteligente dos resultados de correspondência
- Detecção inteligente de protocolos - Identificação automática de tipos de protocolo HTTP/HTTPS
- Recurso de especificação de placa de rede - Suporte a cenários VPN (parâmetro -iface)
- Arquivo de exclusão de hosts - Suporte a leitura de hosts excluídos de arquivo (parâmetro -ehf)
- Limitação de taxa com token bucket ICMP - Prevenção de travamento de roteadores devido a varreduras de alta velocidade
- Repetição de varredura de portas - Mecanismo de re-varredura automática em caso de falha
- Autenticação real RDP - Integração da biblioteca grdp para identificação de impressões digitais do sistema
- Listagem de arquivos SMB/FTP - Listagem automática de arquivos em acesso anônimo
- Dupla identificação de redirecionamento 302 - Identificação simultânea de impressões digitais da resposta original e da resposta após redirecionamento
- Resumo de URLs na saída TXT - Adição de lista de URLs de serviços Web no final para facilitar testes em lote
- Integração do núcleo nmap - Três grandes melhorias: estratégia de sondagem/mecanismo de correspondência/análise de versão
- Compilação seletiva de plugins - Sistema de Build Tags, suporte a compilação independente de plugins de serviço/local/Web
- Expansão de portas padrão - Expansão de 62 para 133 portas comuns
- Suporte a varredura de todas as portas - Ampliação do limite de faixa de portas
- Controle de redirecionamento HTTP - Limite de redirecionamentos configurável
- Suporte a análise de desempenho - Adição de análise de desempenho pprof e testes benchmark
- Estatísticas de pacotes TCP - Plugins de serviço com suporte a estatísticas de envio de pacotes TCP
- Laboratório fscan-lab - Plataforma de treinamento de penetração em rede interna, cobrindo todos os cenários de vulnerabilidades (incompleto)
- Exploração Redis aprimorada - Porte de funcionalidade completa de exploração Redis (gravação de chave pública/tarefas agendadas/WebShell/RCE mestre-escravo)
- Refatoração do plugin rsync - Refatoração da lógica de autenticação usando a biblioteca go-rsync
Correções de bugs (120 itens, correções-chave listadas)
- Panic de ponteiro nulo RDP - Correção de travamento causado pela análise de certificados (#551)
- Falhas em varreduras em lote - Correção de problemas de omissão em varreduras de grande escala (#304)
- Formato de saída JSON - Correção de erro de formato de saída (#446)
- Detecção de senha fraca Redis - Correção de problemas de omissão na detecção (#447)
- Salvamento de resultados em tempo real - Correção de resultados de varredura não salvos em tempo hábil (#469)
- Overflow na análise Nmap - Correção de bug de análise de escape octal (#478)
- Condição de corrida na identificação de impressões digitais - Correção de problemas de corrida em webtitle/webpoc (#474)
- Verificação de conexão MySQL - Alteração para usar a biblioteca information_schema para verificação
- Julgamento incorreto de portas de proxy - Correção de erro de julgamento de estado de portas em modo proxy
- Timeout de Context - Correção de 22 problemas de plugins sem resposta por timeout
- Condição de corrida ICMP - Correção de problemas de competição em varredura concorrente
- Formato de endereço IPv6 - Correção de 4 problemas de formatação de endereços
- Travamento em POC de alta concorrência - Correção de problema de Context não propagado
- Perda de resultados com Ctrl+C - Adição de tratamento de sinais para garantir a gravação de resultados
- Echo completo SOCKS5 - Adição de verificação de conexão de proxy
- Vazamento na detecção de serviços - Correção de problema de conexões não fechadas corretamente
- Descarte de resposta webtitle - Correção de falha de identificação devido ao descarte de parte dos dados de resposta
- Informações de vulnerabilidade ausentes no TXT - Correção de omissão de detalhes de vulnerabilidades na saída
- Impressões digitais ausentes no JSON - Unificação do formato do campo Target nos resultados SERVICE
- Exibição de tempo de varredura - Correção de problema de tempo de conclusão exibido como 0
- Registros de vulnerabilidades falsos - Refatoração do sistema de saída TXT para eliminar falsos positivos
- Caminhos multiplataforma Redis - Correção de problemas de caminho e timeout na funcionalidade de exploração
- Avisos de compilação Windows - Correção de compatibilidade de plataforma do fscan-lite
- Compatibilidade Go 1.20 - Redução de dependências para manter compatibilidade
Melhorias de testes (20 itens)
- Testes unitários - Cobertura de 74-100% nos módulos principais
- Testes de segurança de concorrência - Testes específicos para objeto State e mecanismo de correspondência de impressões digitais
- Testes de integração - Varredura Web/varredura de portas/detecção de serviços/autenticação SSH/detecção ICMP
- Testes de parâmetros CLI - Verificação de análise de parâmetros de linha de comando
- Testes de benchmark de desempenho - Benchmark de AdaptivePool e estratégia de detecção de serviços
- Testes de ResultBuffer - Verificação de deduplicação e pontuação de completude
Melhorias de engenharia
- Otimização do fluxo CI - Atualização do golangci-lint v2, simplificação das etapas de build
- Automação de Issues - Otimização do modelo de Issue do GitHub, fluxo de trabalho automatizado do Project
- Correção completa de Lint - revive/errcheck/shadow/staticcheck/gosimple todos aprovados
- Reescrita do README - Atualização abrangente da documentação em chinês e inglês
- Padronização de formato de código - Normalização com gofmt/goimports
Início rápido
# Varredura de segmento C
./fscan -h 192.168.1.1/24
# Portas específicas
./fscan -h 192.168.1.1 -p 22,80,443,3389
# Apenas detecção de hosts ativos
./fscan -h 192.168.1.1/24 -ao
# Desabilitar força bruta
./fscan -h 192.168.1.1/24 -nobr
# Varredura Web
./fscan -u http://192.168.1.1
# Plugin local
./fscan -local systeminfo
# Colisão de Hash
./fscan -h 192.168.1.1 -m smb2 -user admin -hash xxxxx
# Gravação de chave pública Redis
./fscan -h 192.168.1.1 -m redis -rf id_rsa.pub
Compilação
# Compilação padrão
go build -ldflags="-s -w" -trimpath -o fscan .
# Com interface de gerenciamento Web
go build -tags web -ldflags="-s -w" -trimpath -o fscan-web .
Instalação
# Arch Linux
yay -S fscan-git
Capturas de tela de execução
fscan.exe -h 192.168.x.x


fscan.exe -h 192.168.x.x -rf id_rsa.pub (Gravação de chave pública 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 (Adicionar múltiplas senhas)
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 com autenticação)
fscan.exe -h 192.168.x.x -p 139 -m netbios


fscan.exe -h 192.0.0.0/8 -m icmp



Roteiro
Plano de atualizações
- Ciclo de atualização - Lançamento de versão mensal
- Primeiras duas semanas - Desenvolvimento de novos recursos e atualizações de funcionalidades
- Últimas duas semanas - Correção de bugs e integração de código
- PRs bem-vindos - Aguardamos sua contribuição!
Integração SDK & Agent
- Expandir capacidades do SDK, aprimorar suporte à incorporação em Agents de endpoint
- Retomada de varredura, limitação de taxa em nível de banda, controle de nível de memória
- Mais exemplos de integração para cenários de Agent
Ecossistema de plugins
- Expandir continuamente a cobertura de plugins de serviço
- Desenvolver mais capacidades de detecção e exploração de vulnerabilidades para cada plugin de serviço
- Manter compatibilidade retroativa da API de plugins, garantindo que POCs antigos continuem funcionando
Fscan-lite
- Versão leve reescrita em C
- Menor tamanho, menos dependências
- Suporte a mais ambientes embarcados/restritos
- Diretório: fscan-lite
Fscan-lab
- Ambiente de laboratório para testes de penetração em rede interna
- Cobre todos os cenários de vulnerabilidades suportados pelo fscan
- Plataforma de desenvolvimento de testes e validação de funcionalidades
- Ambiente de aprendizado e prática para iniciantes
- Diretório: fscan-lab
Aviso legal
Esta ferramenta destina-se exclusivamente a atividades de construção de segurança empresarial legalmente autorizadas. Antes de usar, certifique-se de que obteve autorização e está em conformidade com as leis e regulamentos locais. Não realize varreduras em alvos não autorizados. O autor não se responsabiliza por quaisquer consequências decorrentes do uso ilegal.
404StarLink

fscan é um projeto membro do 404Team StarLink Project 2.0.
Tendência de estrelas
Doações
Compre uma bebida para o autor