Fscan
English
Herramienta integral de escaneo de red interna, automatización de escaneo de vulnerabilidades con un solo clic.
Versión: 2.2.1
Características
Capacidades de escaneo
- Descubrimiento de hosts - Sondeo de supervivencia ICMP/Ping, soporta estadísticas de supervivencia para segmentos grandes B/C
- Escaneo de puertos - Escaneo TCP de conexión completa, 133 puertos comunes integrados, soporta grupos de puertos (web/db/service/all)
- Identificación de servicios - Reconocimiento inteligente de protocolos, soporta coincidencia de huellas de más de 20 servicios
- Sondeo Web - Títulos de sitios web, huellas CMS, middleware web, identificación WAF/CDN (más de 40 huellas)
Capacidades de fuerza bruta
- Fuerza bruta de contraseñas débiles - Fuerza bruta para 28 servicios (SSH/RDP/SMB/FTP/MySQL/MSSQL/Oracle/Redis, etc.)
- Colisión de Hash - Soporta autenticación NTLM Hash (SMB/WMI)
- Inicio de sesión con clave SSH - Soporta autenticación con clave privada
- Diccionario inteligente - Más de 100 contraseñas débiles comunes integradas, soporta sustitución de variable {user}
Detección de vulnerabilidades
- Vulnerabilidades de alto riesgo - MS17-010 (EternalBlue), SMBGhost (CVE-2020-0796)
- Acceso no autorizado - Detección de acceso no autorizado en Redis/MongoDB/Memcached/Elasticsearch, etc.
- Escaneo POC - POC de vulnerabilidades web integrados, soporta formato POC de Xray
- DNSLog - Soporta detección de exfiltración DNSLog
Explotación de vulnerabilidades
- Explotación de Redis - Escritura de clave pública, escritura de tareas programadas, escritura de WebShell, RCE por replicación maestro-esclavo
- Explotación de MS17-010 - Inyección de ShellCode, soporta agregar usuarios, ejecutar comandos
- Ejecución de comandos SSH - Ejecución automática de comandos tras autenticación exitosa
Módulos locales
- Recopilación de información - Información del sistema, variables de entorno, información del controlador de dominio, configuración de tarjetas de red
- Obtención de credenciales - Volcado de memoria (MiniDump), registro de teclado, exportación de registro
- Persistencia de privilegios - Servicios Systemd, servicios de Windows, tareas programadas, elementos de inicio, LD_PRELOAD
- Shell inversa - Shell directa, Shell inversa, servicio proxy SOCKS5
- Detección de antivirus - Identifica el software de seguridad instalado en el host objetivo
- Limpieza de rastros - Herramienta de limpieza de registros
Entrada y salida
- Entrada de objetivos - IP/CIDR/dominio/URL, soporta importación masiva desde archivos
- Reglas de exclusión - Soporta excluir hosts y puertos específicos
- Formato de salida - Salida en múltiples formatos TXT/JSON/CSV
- Modo silencioso - Sin banner, sin barra de progreso, sin salida de color
Control de red
- Soporte de proxy - Proxy HTTP/SOCKS5, soporta especificar tarjeta de red
- Control de envío de paquetes - Límite de velocidad, control del número máximo de paquetes enviados
- Control de tiempo de espera - Tiempo de espera de puerto, tiempo de espera web, tiempo de espera global configurados de forma independiente
- Control de concurrencia - Hilos de escaneo de puertos y hilos de escaneo de servicios configurados de forma independiente
Funciones extendidas
- Integración SDK -
pkg/fscan proporciona SDK de Go, se puede integrar en Agent o plataformas de seguridad, soporta control de tareas (Pausa/Reanudar), devoluciones de llamada de progreso en tiempo real, trazabilidad de TaskID
- Interfaz de gestión web - Gestión visual de tareas de escaneo (compilación condicional -tags web)
- Entorno de laboratorio - Entorno Docker integrado para pruebas y aprendizaje
- Arquitectura de plugins - Plugins de servicio/plugins web/plugins locales separados, fácil de extender
- Soporte multilingüe - Interfaz conmutable entre chino e inglés (-lang zh/en)
- Estadísticas de rendimiento - Informe de rendimiento en formato JSON (-perf)
Registro de cambios v2.1.0
Esta actualización incluye 262 commits, que abarcan 30 nuevas funciones, 120 correcciones, 54 refactorizaciones, 14 optimizaciones de rendimiento y 20 mejoras de pruebas.
Refactorización de arquitectura
- Eliminación de variables globales - Migración a objetos Config/State, mejora de la seguridad de concurrencia y la capacidad de prueba
- Fusión de plugins SMB - Integración de smb/smb2/smbghost/smbinfo en un plugin unificado, nuevo smb_protocol.go
- Refactorización del sondeo de servicios - Implementación del mecanismo de fallback estilo Nmap, optimización de la estrategia de identificación de huellas de puertos
- Refactorización del sistema de salida - Escritura en disco en tiempo real TXT + mecanismo de doble escritura, solución de pérdida de resultados y problemas de desorden
- Actualización del framework i18n - Migración a go-i18n, cobertura completa de los módulos core/plugins/webscan
- Refactorización de HostInfo - Campo Ports cambiado de string a int, seguridad de tipos
- Optimización de complejidad de funciones - clusterpoc(125→30), EnhancedPortScan(111→20)
- Auditoría de código - Corrección de problemas de nivel P0-P2, limpieza de código muerto
- Optimización del sistema de registro - Limpieza de llamadas LogDebug (71→18), simplificación de la salida de registro de inicio
Optimización de rendimiento
- Precompilación de expresiones regulares - Precompilación de expresiones regulares globales, evitando la sobrecarga de compilación repetida
- Optimización de memoria - map[string]bool cambiado a map[string]struct{} para ahorrar memoria
- Coincidencia de huellas concurrente - Coincidencia paralela con múltiples goroutines, mejora de la velocidad de identificación
- Reutilización de conexiones - Reutilización del dialer global SOCKS5, evitando handshakes repetidos
- Programación de ventana deslizante - Pool de hilos adaptativo + iterador de flujo, optimización del escaneo de puertos
- Optimización de caché CEL - Caché del entorno CEL para escaneo POC, reducción de inicializaciones repetidas
- Extracción de variables a nivel de paquete - proxyFailurePatterns/resourceExhaustedPatterns/sslSecondProbes, etc.
- Capacidad preasignada - Simplificación de cadenas de conversión, sustitución de cadenas de una sola vez
- Optimización de seguridad de concurrencia - Optimización de la granularidad de bloqueos y la asignación de memoria
Nuevas funciones
- Interfaz de gestión web - Gestión visual de tareas de escaneo, diseño responsivo y visualización de progreso
- Adaptación de POC de múltiples formatos - Soporte de POC en formato xray y afrog
- Modo de escaneo inteligente - Deduplicación con filtro Bloom + optimización de proxy
- Base de huellas mejorada - Integración de FingerprintHub (3139 huellas)
- Identificación de huellas Favicon - Soporte de coincidencia de hash en formato dual mmh3 y MD5
- Extractor de versiones genérico - Extracción automática de información de versión de servicios
- Ordenación por prioridad de huellas - Ordenación inteligente de resultados de coincidencia
- Detección inteligente de protocolos - Identificación automática de tipos de protocolo HTTP/HTTPS
- Función de especificación de tarjeta de red - Soporte para escenarios VPN (parámetro -iface)
- Archivo de exclusión de hosts - Soporte para leer hosts excluidos desde archivo (parámetro -ehf)
- Limitación de velocidad con token bucket ICMP - Prevención de caídas de routers por escaneo de alta velocidad
- Reintento de escaneo de puertos - Mecanismo de reescaneo automático en caso de fallo
- Autenticación RDP real - Integración de la librería grdp para identificación de huellas del sistema
- Listado de archivos SMB/FTP - Listado automático de archivos en acceso anónimo
- Doble identificación de redirección 302 - Identificación simultánea de huellas de la respuesta original y la respuesta redirigida
- Resumen de URLs en salida TXT - Lista de URLs de servicios web al final para pruebas por lotes
- Integración del núcleo nmap - Tres mejoras principales: estrategia de sondeo/motor de coincidencia/análisis de versiones
- Compilación selectiva de plugins - Sistema de Build Tags, soporta compilación independiente de plugins de servicio/local/web
- Extensión de puertos predeterminados - Ampliación de 62 a 133 puertos comunes
- Soporte de escaneo de todos los puertos - Ampliación del límite de rango de puertos
- Control de redirección HTTP - Límite de redirecciones configurable
- Soporte de análisis de rendimiento - Adición de análisis de rendimiento pprof y pruebas benchmark
Corrección de errores (120 elementos, correcciones clave listadas)
- Panic de puntero nulo RDP - Corrección del fallo causado por análisis de certificados (#551)
- Omisiones en escaneo por lotes - Corrección de omisiones en escaneos a gran escala (#304)
- Formato de salida JSON - Corrección de errores de formato de salida (#446)
- Detección de contraseñas débiles Redis - Corrección de omisiones de detección (#447)
- Guardado en tiempo real de resultados - Corrección de resultados de escaneo no guardados a tiempo (#469)
- Desbordamiento de análisis nmap - Corrección del bug de análisis de escapes octales (#478)
- Condición de carrera en identificación de huellas - Corrección de problemas de carrera webtitle/webpoc (#474)
- Verificación de conexión MySQL - Cambio a verificación con la base de datos information_schema
- Juicio erróneo de puertos proxy - Corrección de errores de juicio de estado de puertos en modo proxy
- Tiempo de espera de Context - Corrección de 22 problemas de plugins sin respuesta por tiempo de espera
- Condición de carrera ICMP - Corrección de problemas de competencia en escaneo concurrente
- Formato de direcciones IPv6 - Corrección de 4 problemas de formato de direcciones
- Bloqueo de POC de alta concurrencia - Corrección del problema de Context no propagado
- Pérdida de resultados con Ctrl+C - Adición de manejo de señales para asegurar la escritura de resultados
- Eco completo SOCKS5 - Adición de verificación de conexión proxy
- Fuga de sondeo de servicios - Corrección del problema de conexiones no cerradas correctamente
- Descartes de respuestas webtitle - Corrección de datos de respuesta parcialmente descartados que causaban fallos de identificación
- Información de vulnerabilidades faltante en TXT - Corrección de detalles de vulnerabilidades omitidos en la salida
- Huellas JSON faltantes - Unificación del formato Target de resultados SERVICE
- Visualización de tiempo de escaneo - Corrección del problema de tiempo de finalización mostrado como 0
- Registros de vulnerabilidades falsos - Refactorización del sistema de salida TXT para eliminar falsos positivos
- Rutas multiplataforma Redis - Corrección de problemas de rutas y tiempos de espera en la funcionalidad de explotación
Mejoras de pruebas (20 elementos)
- Pruebas unitarias - Cobertura del módulo central 74-100%
- Pruebas de seguridad de concurrencia - Pruebas específicas para objetos State y motor de coincidencia de huellas
- Pruebas de integración - Escaneo web/escaneo de puertos/sondeo de servicios/autenticación SSH/sondeo ICMP
- Pruebas de parámetros CLI - Verificación de análisis de parámetros de línea de comandos
- Pruebas de benchmark de rendimiento - Benchmark de AdaptivePool y estrategia de sondeo de servicios
- Pruebas de ResultBuffer - Verificación de deduplicación y puntuación de integridad
Mejoras de ingeniería
- Optimización del flujo CI - Actualización a golangci-lint v2, simplificación de pasos de compilación
- Automatización de Issues - Optimización de plantillas de Issues de GitHub, flujo de trabajo automatizado de Project
- Corrección completa de Lint - revive/errcheck/shadow/staticcheck/gosimple todos aprobados
- Reescritura de README - Actualización completa de documentación en chino e inglés
- Unificación de formato de código - Normalización con gofmt/goimports
Inicio rápido
# Escanear segmento C
./fscan -h 192.168.1.1/24
# Especificar puertos
./fscan -h 192.168.1.1 -p 22,80,443,3389
# Solo sondeo de supervivencia
./fscan -h 192.168.1.1/24 -ao
# Deshabilitar fuerza bruta
./fscan -h 192.168.1.1/24 -nobr
# Escaneo web
./fscan -u http://192.168.1.1
# Plugin local
./fscan -local systeminfo
# Colisión de Hash
./fscan -h 192.168.1.1 -m smb2 -user admin -hash xxxxx
# Escritura de clave pública Redis
./fscan -h 192.168.1.1 -m redis -rf id_rsa.pub
Compilación
# Compilación estándar
go build -ldflags="-s -w" -trimpath -o fscan .
# Con interfaz de gestión web
go build -tags web -ldflags="-s -w" -trimpath -o fscan-web .
Instalación
# Arch Linux
yay -S fscan-git
Capturas de pantalla
fscan.exe -h 192.168.x.x


fscan.exe -h 192.168.x.x -rf id_rsa.pub (Escritura de clave 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 (Añadir múltiples contraseñas)
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 de autenticación SOCKS5)
fscan.exe -h 192.168.x.x -p 139 -m netbios


fscan.exe -h 192.0.0.0/8 -m icmp



Hoja de ruta
Plan de actualización
- Ciclo de actualización - Publicación de versión mensual
- Primeras dos semanas - Desarrollo de nuevas funciones y actualizaciones de características
- Últimas dos semanas - Corrección de errores e integración de código
- PR bienvenidos - ¡Esperamos su contribución!
Integración SDK y Agent
- Ampliar las capacidades del SDK, mejorar el soporte de integración de Agent en el lado del dispositivo
- Reanudación de escaneo desde punto de interrupción, limitación de velocidad a nivel de ancho de banda, control del nivel de memoria
- Más ejemplos de integración para escenarios de Agent
Ecosistema de plugins
- Ampliar continuamente la cobertura de plugins de servicio
- Desarrollar más capacidades de detección y explotación de vulnerabilidades para cada plugin de servicio
- Mantener la compatibilidad hacia atrás de la API de plugins, asegurando que los POC de versiones antiguas sigan funcionando
Fscan-lite
- Versión ligera reescrita en C
- Menor tamaño, menos dependencias
- Soporte para más entornos embebidos/restringidos
- Directorio: fscan-lite
Fscan-lab
- Entorno de campo de entrenamiento de pruebas de penetración en red interna
- Cubre todos los escenarios de vulnerabilidades soportados por fscan
- Plataforma de desarrollo de pruebas y verificación de funciones
- Entorno de aprendizaje para principiantes y práctica de habilidades
- Directorio: fscan-lab
Descargo de responsabilidad
Esta herramienta está destinada únicamente a actividades de construcción de seguridad empresarial legalmente autorizadas. Asegúrese de haber obtenido autorización antes de su uso, cumpliendo con las leyes y regulaciones locales, y no escanee objetivos no autorizados. El autor no asume ninguna responsabilidad por las consecuencias del uso ilegal.
404StarLink

fscan es un proyecto miembro de 404Team StarLink Plan 2.0.
Tendencia de estrellas

Donaciones
Invita al autor a una bebida
Referencias