Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
MSFinger — Ferramenta de Identificação de Serviços de Rede da Microsoft | Kitploit
Ferramentas/GitHubGitHub/secorizon/msfinger
ReconhecimentoMapeamento de RedeAnálise de VulnerabilidadesColeta de InformaçõesTestes de PenetraçãoAnálise de DNS
GitHubsecorizon/msfinger

MSFinger

Ferramenta de Identificação de Serviços de Rede da Microsoft

Ver Repositório
757há 7 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Site

MSFinger - Ferramenta de Identificação de Serviços de Rede da Microsoft

Versão: 1.0
Autor: Laurent Gaffie
Empresa: Secorizon

Visão Geral

MSFinger é uma ferramenta de identificação de rede de alto desempenho projetada para reconhecimento interno de rede. Ela identifica rapidamente serviços da Microsoft, detecta configurações de segurança e destaca potenciais vulnerabilidades nos protocolos SMB, LDAP e LDAPS.

Principais Características:

  • Varredura concorrente rápida otimizada para redes internas (timeout padrão de 1 segundo)
  • Detecção de versão e assinatura SMB/SMB2/SMB3
  • Detecção de assinatura e vinculação de canal LDAP/LDAPS
  • Identificação da versão do SO com mapeamento do número de compilação
  • Banco de dados SQLite para resultados persistentes de varredura
  • Saída codificada por cores destacando riscos de segurança
  • Suporte para IPs únicos, intervalos CIDR, intervalos de IP e entrada de arquivo

Instalação

MSFinger é escrito em Python puro. Nenhuma dependência adicional é necessária além do Python 3.6+.

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

Uso

Sintaxe Básica

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

Opções de Linha de Comando

* Deve ser especificado -i ou -f


Exemplos

Varredura de Único Host

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

Varredura de Sub-rede (CIDR)

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

Varredura de Intervalo de IP

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

Múltiplos Intervalos a partir de Arquivo

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

Exemplo 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

Timeout e Workers Personalizados

root@kitploit:~
# Faster scan with shorter timeout and more workers
python3 MSFinger.py -i 10.0.0.0/16 -t 0.3 -w 200

# More reliable scan with longer timeout
python3 MSFinger.py -i 192.168.1.0/24 -t 1.0 -w 50

Banco de Dados Personalizado

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

Desabilitar Cores (para registro)

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

Formato de Saída

Saída do Console

Os resultados são exibidos em tempo real com indicadores de segurança codificados por cores:

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)

Codificação de Cores

  • 🟢 VERDE: Configuração segura (assinatura exigida)
  • 🟡 AMARELO: Aviso (ativado mas não exigido, ou porta aberta com erros)
  • 🔴 VERMELHO: Vulnerável (assinatura desabilitada ou não exigida)
  • 🔵 AZUL: Informativo (SMB1 desabilitado, status do serviço)

Campos de Saída

Informações SMB:

  • SMB: X.X.X - Versão do dialeto SMB (2.0.2, 2.1, 3.0, 3.0.2, 3.1.1)
  • Signing: <status> - exigido/ativado/desabilitado
  • OS: <version> - Versão do Windows com número de compilação
  • Domain: <name> - Nome do domínio/grupo de trabalho NetBIOS
  • Boot: <time> - Horário de inicialização do sistema (ou Desabilitado/Desconhecido)

Status SMB1:

  • SMB1: disabled - SMB1 não suportado (seguro)
  • SMB1: supported, Signing: <status> - SMB1 ativado (risco potencial)

Serviços:

  • RDP - Protocolo de Área de Trabalho Remota (porta 3389) aberta
  • MSSQL - Microsoft SQL Server (porta 1433) aberta
  • LDAP (signing: <status>) - LDAP na porta 389
  • LDAPS (signing: <status>, channel binding: <status>) - LDAPS na porta 636
  • LDAPS (port open, <error>) - Porta LDAPS respondendo mas handshake SSL falhou

Esquema do Banco de Dados

MSFinger armazena todos os resultados de varredura em um banco de dados SQLite para armazenamento e análise persistentes.

Tabela: hosts

Comportamento do Banco de Dados

  • Banco de dados existente: Os registros são atualizados com os dados de varredura mais recentes (operação upsert)
  • Novo banco de dados: Criado automaticamente com esquema adequado
  • IPs duplicados: O último resultado de varredura sobrescreve os dados anteriores para o mesmo IP

Consultando o Banco de Dados

root@kitploit:~
# View all vulnerable hosts (no SMB signing)
sqlite3 MSFinger.db "SELECT ip, os_version, smb_signing FROM hosts WHERE smb_signing != 'required'"

# Find hosts with LDAP signing disabled
sqlite3 MSFinger.db "SELECT ip, domain, ldap_signing FROM hosts WHERE ldap_signing = 'not_required'"

# List all Windows Server 2022 hosts
sqlite3 MSFinger.db "SELECT ip, os_version, domain FROM hosts WHERE os_version LIKE '%Server 2022%'"

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

# Count hosts by OS
sqlite3 MSFinger.db "SELECT os_version, COUNT(*) FROM hosts GROUP BY os_version"

Detalhes de Detecção

Detecção SMB/SMB2/SMB3

Protocolos Testados:

  • SMB1 (protocolo legado, risco de segurança se ativado)
  • SMB2/3 (protocolos modernos com múltiplos dialetos)

Informações Coletadas:

  1. Versão do Dialeto: 2.0.2, 2.1, 3.0, 3.0.2, 3.1.1
  2. Status de Assinatura:
    • required - O servidor exige assinatura de mensagens (seguro)
    • enabled - O servidor suporta mas não exige assinatura
    • disabled - Sem suporte a assinatura (vulnerável)
  3. Versão do SO: Extraída do desafio NTLMSSP
  4. Número de Compilação: Número de compilação do Windows para identificação precisa da versão
  5. Domínio: Nome do domínio ou grupo de trabalho NetBIOS
  6. Horário de Inicialização: Carimbo de data/hora de inicialização do sistema (se disponível)

Mapeamento de Versão do SO:

Detecção LDAP (Porta 389)

Testa vinculação anônima para determinar os requisitos de assinatura:

  • Código de Resultado 0: Sucesso - assinatura NÃO exigida (vulnerável a ataques de relay)
  • Código de Resultado 8: Autenticação forte exigida - assinatura é exigida (seguro)
  • Outros códigos: Vários erros de autenticação

Detecção LDAPS (Porta 636)

Testa conexão SSL/TLS com vinculação LDAP:

  1. Handshake SSL: Tenta conexão TLS com suporte a cifras permissivas
  2. Detecção de Assinatura: Testa assinatura de mensagens LDAP sobre SSL
  3. Vinculação de Canal: Detecta se a vinculação de canal TLS é aplicada

Resultados Possíveis:

  • signing: required, channel binding: required - Segurança máxima (seguro)
  • signing: not_required, channel binding: not_required - Sem proteções (vulnerável)
  • port open, SSL handshake failed - Porta respondendo mas negociação SSL falhou
  • port open, Connection error: 104 - Conexão redefinida pelo peer

Análise de Segurança

Descobertas Críticas (🔴 Vermelho)

Assinatura SMB Desabilitada:

  • Vulnerável a ataques de relay SMB
  • Atacante pode interceptar e retransmitir autenticação
  • Recomendação: Ativar assinatura SMB via Política de Grupo

Assinatura LDAP Não Exigida:

  • Vulnerável a ataques de relay LDAP
  • Credenciais podem ser retransmitidas para outros serviços
  • Recomendação: Definir LdapEnforceChannelBinding=2 e LDAPServerIntegrity=2 no registro

LDAPS Sem Vinculação de Canal:

  • Vulnerável a relay LDAPS apesar da criptografia
  • Recomendação: Ativar Proteção Estendida para Autenticação

Avisos (🟡 Amarelo)

Assinatura SMB Ativada (não exigida):

  • Melhor que desabilitado, mas não aplicado
  • Clientes podem optar por não assinar
  • Recomendação: Alterar de 'ativado' para 'exigido'

SMB1 Suportado:

  • Protocolo legado com vulnerabilidades conhecidas
  • Deve ser desabilitado a menos que exigido por sistemas legados
  • Recomendação: Desabilitar SMBv1 via PowerShell ou Política de Grupo

Boas Configurações (🟢 Verde)

Assinatura SMB Exigida:

  • Todo o tráfego SMB é assinado criptograficamente
  • Previne ataques de relay

Assinatura LDAP/LDAPS Exigida:

  • Mensagens LDAP são assinadas
  • Protege contra adulteração e relay

Vinculação de Canal Aplicada:

  • Vinculação de canal TLS previne relay SSL
  • Maior nível de segurança LDAPS

Ajuste de Desempenho

Recomendações de Timeout

Considerações de Memória

Cada worker consome memória mínima (~1-2MB). Ajuste os workers com base nos recursos do sistema:

root@kitploit:~
# High-performance scan (requires good CPU/RAM)
python3 MSFinger.py -i 10.0.0.0/8 -t 0.5 -w 500

# Conservative scan (low resource usage)
python3 MSFinger.py -i 192.168.0.0/16 -t 2.0 -w 50

Solução de Problemas

Nenhum Resultado Aparecendo

  1. Verifique a conectividade de rede:

    root@kitploit:~
    ping <target_ip>
    telnet <target_ip> 445
    
  2. Aumente o timeout:

    root@kitploit:~
    python3 MSFinger.py -i <target> -t 3.0
    
  3. Verifique as regras de firewall:

    • Garanta que as portas 445, 389, 636, 3389, 1433 estejam acessíveis
    • Verifique se não há firewall baseado em host bloqueando varreduras

Erros de Conexão LDAPS

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

  • O servidor pode exigir autenticação de certificado do cliente
  • O servidor pode usar configuração SSL/TLS não padrão
  • Tente usar openssl s_client -connect <ip>:636 para diagnosticar

Banco de Dados Bloqueado

Se estiver varrendo a partir de múltiplos processos:

root@kitploit:~
# Use different database files
python3 MSFinger.py -i 192.168.1.0/24 -d scan1.db &
python3 MSFinger.py -i 192.168.2.0/24 -d scan2.db &

Erros de Permissão

Garanta que o script seja executável:

root@kitploit:~
chmod +x MSFinger.py

Exemplos de Integração

Integração com Nmap

Identifique primeiro hosts SMB ativos, depois faça a identificação:

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

Varredura Agendada

Monitore mudanças na rede com cron:

root@kitploit:~
# Add to crontab (every day at 2 AM)
0 2 * * * /usr/bin/python3 /path/to/MSFinger.py -i 192.168.1.0/24 -d /var/scans/daily_scan.db

Exportação via PowerShell

Consulte e corrija a partir do PowerShell:

root@kitploit:~
# Install SQLite PowerShell module
Install-Module -Name SimplySql

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

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

Créditos

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


Licença

Este programa é software livre: você pode redistribuí-lo e/ou modificá-lo sob os termos da GNU General Public License conforme publicada pela Free Software Foundation, seja a versão 3 da Licença, ou (a seu critério) qualquer versão posterior.

Este programa é distribuído na esperança de que seja útil, mas SEM QUALQUER GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou ADEQUAÇÃO A UM PROPÓSITO PARTICULAR. Veja a GNU General Public License para mais detalhes.

Baixar ferramenta
OpçãoDescriçãoPadrão
-i, --ipIP alvo, intervalo CIDR ou intervalo de IPObrigatório*
-f, --fileArquivo contendo alvos (um por linha)Obrigatório*
-t, --timeoutTimeout de conexão em segundos1.0
-w, --workersNúmero de workers concorrentes100
-d, --databaseArquivo de banco de dados SQLite para resultadosMSFinger.db
--no-colorDesabilitar saída coloridaDesabilitado
ColunaTipoDescrição
idINTEGERChave primária (auto-incremento)
ipTEXTEndereço IP (único)
hostnameTEXTNome do host (reservado para uso futuro)
os_versionTEXTVersão do sistema operacional
os_buildINTEGERNúmero de compilação do SO
domainTEXTNome do domínio/grupo de trabalho
boot_timeTEXTCarimbo de data/hora de inicialização do sistema
smb_dialectTEXTVersão do protocolo SMB
smb_signingTEXTStatus de assinatura SMB
smb1_supportedINTEGERSMB1 ativado (0=não, 1=sim)
smb1_signingTEXTStatus de assinatura SMB1
rdp_openINTEGERPorta RDP aberta (0=não, 1=sim)
mssql_openINTEGERPorta MSSQL aberta (0=não, 1=sim)
ldap_signingTEXTStatus de assinatura LDAP
ldaps_signingTEXTStatus de assinatura LDAPS
ldaps_channel_bindingTEXTStatus de vinculação de canal LDAPS
ldaps_errorTEXTErro de conexão LDAPS (se houver)
scan_timeTIMESTAMPCarimbo de data/hora da primeira varredura
last_seenTIMESTAMPCarimbo de data/hora da varredura mais recente
Faixa de CompilaçãoSistema Operacional
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 RedeTimeout RecomendadoWorkers
Rede LAN interna rápida (1Gbps+)0,5s200-300
Rede interna normal1,0s (padrão)100-150
Rede lenta/sem fio2,0-3,0s50-100
Conexão VPN3,0-5,0s30-50