Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
MSFinger — Herramienta de huellas digitales de servicios de red de Microsoft | Kitploit
Herramientas/GitHubGitHub/secorizon/msfinger
ReconocimientoMapeo de RedesAnálisis de VulnerabilidadesRecopilación de InformaciónPruebas de PenetraciónAnálisis de DNS
GitHubsecorizon/msfinger

MSFinger

Herramienta de huellas digitales de servicios de red de Microsoft

Ver Repositorio
757hace 7 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Sitio web

MSFinger - Herramienta de Identificación de Servicios de Red de Microsoft

Versión: 1.0
Autor: Laurent Gaffie
Empresa: Secorizon

Resumen

MSFinger es una herramienta de identificación de red de alto rendimiento diseñada para el reconocimiento de redes internas. Identifica rápidamente servicios de Microsoft, detecta configuraciones de seguridad y resalta posibles vulnerabilidades en los protocolos SMB, LDAP y LDAPS.

Características Clave:

  • Escaneo concurrente rápido optimizado para redes internas (tiempo de espera predeterminado de 1 segundo)
  • Detección de versión y firma SMB/SMB2/SMB3
  • Detección de firma y enlace de canal LDAP/LDAPS
  • Identificación de versión del SO con mapeo de número de compilación
  • Base de datos SQLite para resultados de escaneo persistentes
  • Salida con código de colores que resalta riesgos de seguridad
  • Soporte para IPs individuales, rangos CIDR, rangos de IP y entrada desde archivo

Instalación

MSFinger está escrito en Python puro. No se requieren dependencias adicionales más allá de Python 3.6+.

root@kitploit:~
cd /path/to/MSFinger
chmod +x MSFinger.py

Uso

Sintaxis Básica

root@kitploit:~
python3 MSFinger.py -i <target> [options]

Opciones de Línea de Comandos

* Se debe especificar -i o -f


Ejemplos

Escaneo de un Solo Host

root@kitploit:~
python3 MSFinger.py -i 192.168.1.10

Escaneo de Subred (CIDR)

root@kitploit:~
python3 MSFinger.py -i 192.168.1.0/24

Escaneo de Rango de IP

root@kitploit:~
python3 MSFinger.py -i 192.168.1.1-50

Varios Rangos desde Archivo

root@kitploit:~
python3 MSFinger.py -f targets.txt

Ejemplo targets.txt:

root@kitploit:~
192.168.1.0/24
10.0.0.1-100
172.16.5.50
# Comments are supported
192.168.2.0/25

Tiempo de Espera y Trabajadores Personalizados

root@kitploit:~
# Escaneo más rápido con tiempo de espera más corto y más trabajadores
python3 MSFinger.py -i 10.0.0.0/16 -t 0.3 -w 200

# Escaneo más confiable con tiempo de espera más largo
python3 MSFinger.py -i 192.168.1.0/24 -t 1.0 -w 50

Base de Datos Personalizada

root@kitploit:~
python3 MSFinger.py -i 192.168.1.0/24 -d pentest_2026.db

Deshabilitar Colores (para registro en archivo)

root@kitploit:~
python3 MSFinger.py -i 192.168.1.0/24 --no-color > scan_results.txt

Formato de Salida

Salida en Consola

Los resultados se muestran en tiempo real con indicadores de seguridad codificados por colores:

root@kitploit:~
[192.168.1.10] SMB: 3.1.1, Signing: required, OS: Windows Server 2022 21H2, Domain: CORP.LOCAL, Boot: 2026-01-01 10:30:15 | SMB1: disabled | Services: RDP, LDAP (signing: required), LDAPS (signing: required, channel binding: required)

Codificación de Colores

  • 🟢 VERDE: Configuración segura (firma requerida)
  • 🟡 AMARILLO: Advertencia (habilitado pero no requerido, o puerto abierto con errores)
  • 🔴 ROJO: Vulnerable (firma deshabilitada o no requerida)
  • 🔵 AZUL: Informativo (SMB1 deshabilitado, estado del servicio)

Campos de Salida

Información SMB:

  • SMB: X.X.X - versión del dialecto SMB (2.0.2, 2.1, 3.0, 3.0.2, 3.1.1)
  • Signing: <status> - firma: requerida/habilitada/deshabilitada
  • OS: <version> - versión de Windows con número de compilación
  • Domain: <name> - nombre del dominio/grupo de trabajo NetBIOS
  • Boot: <time> - hora de arranque del sistema (o Deshabilitado/Desconocido)

Estado de SMB1:

  • SMB1: disabled - SMB1 no soportado (seguro)
  • SMB1: supported, Signing: <status> - SMB1 habilitado (riesgo potencial)

Servicios:

  • RDP - Protocolo de Escritorio Remoto (puerto 3389) abierto
  • MSSQL - Microsoft SQL Server (puerto 1433) abierto
  • LDAP (signing: <status>) - LDAP en el puerto 389
  • LDAPS (signing: <status>, channel binding: <status>) - LDAPS en el puerto 636
  • LDAPS (port open, <error>) - Puerto LDAPS respondiendo pero el handshake SSL falló

Esquema de la Base de Datos

MSFinger almacena todos los resultados de escaneo en una base de datos SQLite para almacenamiento y análisis persistentes.

Tabla: hosts

Comportamiento de la Base de Datos

  • Base de datos existente: Los registros se actualizan con los datos de escaneo más recientes (operación upsert)
  • Nueva base de datos: Se crea automáticamente con el esquema adecuado
  • IPs duplicadas: El último resultado de escaneo sobrescribe los datos anteriores para la misma IP

Consultando la Base de Datos

root@kitploit:~
# Ver todos los hosts vulnerables (sin firma SMB)
sqlite3 MSFinger.db "SELECT ip, os_version, smb_signing FROM hosts WHERE smb_signing != 'required'"

# Buscar hosts con firma LDAP deshabilitada
sqlite3 MSFinger.db "SELECT ip, domain, ldap_signing FROM hosts WHERE ldap_signing = 'not_required'"

# Listar todos los hosts de Windows Server 2022
sqlite3 MSFinger.db "SELECT ip, os_version, domain FROM hosts WHERE os_version LIKE '%Server 2022%'"

# Exportar a CSV
sqlite3 -header -csv MSFinger.db "SELECT * FROM hosts" > results.csv

# Contar hosts por SO
sqlite3 MSFinger.db "SELECT os_version, COUNT(*) FROM hosts GROUP BY os_version"

Detalles de Detección

Detección SMB/SMB2/SMB3

Protocolos Probados:

  • SMB1 (protocolo heredado, riesgo de seguridad si está habilitado)
  • SMB2/3 (protocolos modernos con múltiples dialectos)

Información Recopilada:

  1. Versión del Dialecto: 2.0.2, 2.1, 3.0, 3.0.2, 3.1.1
  2. Estado de Firma:
    • required - El servidor requiere firma de mensajes (seguro)
    • enabled - El servidor soporta pero no requiere firma
    • disabled - No soporte de firma (vulnerable)
  3. Versión del SO: Extraída del desafío NTLMSSP
  4. Número de Compilación: Número de compilación de Windows para identificación precisa de la versión
  5. Dominio: Nombre del dominio o grupo de trabajo NetBIOS
  6. Hora de Arranque: Marca de tiempo de inicio del sistema (si está disponible)

Mapeo de Versiones del SO:

Detección LDAP (Puerto 389)

Prueba el enlace anónimo para determinar los requisitos de firma:

  • Código de Resultado 0: Éxito - firma NO requerida (vulnerable a ataques de retransmisión)
  • Código de Resultado 8: Autenticación fuerte requerida - firma SÍ requerida (seguro)
  • Otros códigos: Varios errores de autenticación

Detección LDAPS (Puerto 636)

Prueba la conexión SSL/TLS con enlace LDAP:

  1. Handshake SSL: Intenta conexión TLS con soporte de cifrado permisivo
  2. Detección de Firma: Prueba la firma de mensajes LDAP sobre SSL
  3. Enlace de Canal: Detecta si el enlace de canal TLS está aplicado

Posibles Resultados:

  • signing: required, channel binding: required - Máxima seguridad (seguro)
  • signing: not_required, channel binding: not_required - Sin protecciones (vulnerable)
  • port open, SSL handshake failed - Puerto respondiendo pero la negociación SSL falló
  • port open, Connection error: 104 - Conexión reiniciada por el par

Análisis de Seguridad

Hallazgos Críticos (🔴 Rojo)

Firma SMB Deshabilitada:

  • Vulnerable a ataques de retransmisión SMB
  • El atacante puede interceptar y retransmitir la autenticación
  • Recomendación: Habilitar la firma SMB a través de la Directiva de Grupo

Firma LDAP No Requerida:

  • Vulnerable a ataques de retransmisión LDAP
  • Las credenciales pueden ser retransmitidas a otros servicios
  • Recomendación: Establecer LdapEnforceChannelBinding=2 y LDAPServerIntegrity=2 en el registro

LDAPS sin Enlace de Canal:

  • Vulnerable a la retransmisión LDAPS a pesar del cifrado
  • Recomendación: Habilitar Protección Extendida para la Autenticación

Advertencias (🟡 Amarillo)

Firma SMB Habilitada (no requerida):

  • Mejor que deshabilitada pero no se aplica
  • Los clientes pueden optar por no firmar
  • Recomendación: Cambiar de "habilitado" a "requerido"

SMB1 Soportado:

  • Protocolo heredado con vulnerabilidades conocidas
  • Debería deshabilitarse a menos que lo requieran sistemas heredados
  • Recomendación: Deshabilitar SMBv1 mediante PowerShell o Directiva de Grupo

Buenas Configuraciones (🟢 Verde)

Firma SMB Requerida:

  • Todo el tráfico SMB está firmado criptográficamente
  • Previene ataques de retransmisión

Firma LDAP/LDAPS Requerida:

  • Los mensajes LDAP están firmados
  • Protege contra manipulación y retransmisión

Enlace de Canal Aplicado:

  • El enlace de canal TLS previene la retransmisión SSL
  • Nivel más alto de seguridad LDAPS

Ajuste de Rendimiento

Recomendaciones de Tiempo de Espera

Consideraciones de Memoria

Cada trabajador consume memoria mínima (~1-2MB). Ajusta los trabajadores según los recursos del sistema:

root@kitploit:~
# Escaneo de alto rendimiento (requiere buena CPU/RAM)
python3 MSFinger.py -i 10.0.0.0/8 -t 0.5 -w 500

# Escaneo conservador (bajo uso de recursos)
python3 MSFinger.py -i 192.168.0.0/16 -t 2.0 -w 50

Solución de Problemas

No Aparecen Resultados

  1. Verificar conectividad de red:

    root@kitploit:~
    ping <target_ip>
    telnet <target_ip> 445
    
  2. Aumentar tiempo de espera:

    root@kitploit:~
    python3 MSFinger.py -i <target> -t 3.0
    
  3. Verificar reglas de firewall:

    • Asegúrese de que los puertos 445, 389, 636, 3389, 1433 sean accesibles
    • Verifique que ningún firewall basado en host esté bloqueando los escaneos

Errores de Conexión LDAPS

"SSL handshake failed" o "Connection error: 104":

  • El servidor puede requerir autenticación de certificado de cliente
  • El servidor puede usar una configuración SSL/TLS no estándar
  • Intente usar openssl s_client -connect <ip>:636 para diagnosticar

Base de Datos Bloqueada

Si se escanea desde múltiples procesos:

root@kitploit:~
# Use diferentes archivos de base de datos
python3 MSFinger.py -i 192.168.1.0/24 -d scan1.db &
python3 MSFinger.py -i 192.168.2.0/24 -d scan2.db &

Errores de Permiso

Asegúrate de que el script sea ejecutable:

root@kitploit:~
chmod +x MSFinger.py

Ejemplos de Integración

Integración con Nmap

Identificar primero hosts SMB activos, luego identificarlos:

root@kitploit:~
nmap -p445 --open -oG - 192.168.1.0/24 | awk '/445\/open/{print $2}' > smb_hosts.txt
python3 MSFinger.py -f smb_hosts.txt

Escaneo Programado

Monitorear cambios de red con cron:

root@kitploit:~
# Agregar a crontab (todos los días a las 2 AM)
0 2 * * * /usr/bin/python3 /path/to/MSFinger.py -i 192.168.1.0/24 -d /var/scans/daily_scan.db

Exportación PowerShell

Consultar y remediar desde PowerShell:

root@kitploit:~
# Instalar el módulo SQLite de PowerShell
Install-Module -Name SimplySql

# Consultar hosts vulnerables
Open-SQLiteConnection -DataSource "MSFinger.db"
$vulnerable = Invoke-SqlQuery -Query "SELECT ip FROM hosts WHERE smb_signing != 'required'"
Close-SqlConnection

# Remediar
foreach ($host in $vulnerable) {
    Set-SmbServerConfiguration -ComputerName $host.ip -RequireSecuritySignature $true -Force
}

Créditos

Autor: Laurent Gaffie ([email protected])
Licencia: GNU General Public License v3.0


Licencia

Este programa es software libre: puedes redistribuirlo y/o modificarlo bajo los términos de la Licencia Pública General de GNU publicada por la Free Software Foundation, ya sea la versión 3 de la Licencia, o (a tu elección) cualquier versión posterior.

Este programa se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulta la Licencia Pública General de GNU para más detalles.

Descargar herramienta
OpciónDescripciónPredeterminado
-i, --ipIP objetivo, rango CIDR o rango de IPRequerido*
-f, --fileArchivo que contiene objetivos (uno por línea)Requerido*
-t, --timeoutTiempo de espera de conexión en segundos1.0
-w, --workersNúmero de trabajadores concurrentes100
-d, --databaseArchivo de base de datos SQLite para resultadosMSFinger.db
--no-colorDeshabilitar salida coloreadaDeshabilitado
ColumnaTipoDescripción
idINTEGERClave primaria (auto-incremento)
ipTEXTDirección IP (única)
hostnameTEXTNombre de host (reservado para uso futuro)
os_versionTEXTVersión del sistema operativo
os_buildINTEGERNúmero de compilación del SO
domainTEXTNombre del dominio/grupo de trabajo
boot_timeTEXTMarca de tiempo de arranque del sistema
smb_dialectTEXTVersión del protocolo SMB
smb_signingTEXTEstado de firma SMB
smb1_supportedINTEGERSMB1 habilitado (0=no, 1=sí)
smb1_signingTEXTEstado de firma SMB1
rdp_openINTEGERPuerto RDP abierto (0=no, 1=sí)
mssql_openINTEGERPuerto MSSQL abierto (0=no, 1=sí)
ldap_signingTEXTEstado de firma LDAP
ldaps_signingTEXTEstado de firma LDAPS
ldaps_channel_bindingTEXTEstado de enlace de canal LDAPS
ldaps_errorTEXTError de conexión LDAPS (si lo hay)
scan_timeTIMESTAMPMarca de tiempo del primer escaneo
last_seenTIMESTAMPMarca de tiempo del escaneo más reciente
Rango de CompilaciónSistema Operativo
10240Windows 10 1507
14393Windows 10 1607 / Server 2016
17763Windows 10 1809 / Server 2019
19041-19045Windows 10 20H2 - 22H2
20348Windows Server 2022 21H2
22000+Windows 11
25398Windows Server 2025
Tipo de RedTiempo de Espera RecomendadoTrabajadores
LAN interna rápida (1Gbps+)0.5s200-300
Red interna normal1.0s (predeterminado)100-150
Red lenta/inalámbrica2.0-3.0s50-100
Conexión VPN3.0-5.0s30-50