Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
MSFinger — Microsoft Netzwerkdienst-Fingerprinting-Tool | Kitploit
Tools/GitHubGitHub/secorizon/msfinger
AufklärungNetzwerkkartierungSchwachstellenanalyseInformationsbeschaffungPenetrationstestsDNS-Analyse
GitHubsecorizon/msfinger

MSFinger

Microsoft Netzwerkdienst-Fingerprinting-Tool

Repository anzeigen
757vor 7 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

MSFinger - Tool zum Fingerprinting von Microsoft-Netzwerkdiensten

Version: 1.0
Author: Laurent Gaffie
Company: Secorizon

Übersicht

MSFinger ist ein leistungsstarkes Netzwerk-Fingerprinting-Tool, das für die interne Netzwerkerkundung entwickelt wurde. Es identifiziert schnell Microsoft-Dienste, erkennt Sicherheitskonfigurationen und hebt potenzielle Schwachstellen in den Protokollen SMB, LDAP und LDAPS hervor.

Hauptfunktionen:

  • Schnelles gleichzeitiges Scannen, optimiert für interne Netzwerke (Standard-Timeout 1 Sekunde)
  • SMB/SMB2/SMB3-Version und Signierungserkennung
  • LDAP/LDAPS-Signierung und Kanalbindungserkennung
  • Betriebssystemversionserkennung mit Build-Nummer-Zuordnung
  • SQLite-Datenbank für dauerhafte Scan-Ergebnisse
  • Farbcodierte Ausgabe zur Hervorhebung von Sicherheitsrisiken
  • Unterstützung für einzelne IPs, CIDR-Bereiche, IP-Bereiche und Dateieingabe

Installation

MSFinger ist in reinem Python geschrieben. Es sind keine zusätzlichen Abhängigkeiten über Python 3.6+ hinaus erforderlich.

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

Verwendung

Grundlegende Syntax

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

Befehlszeilenoptionen

* Es muss entweder -i oder -f angegeben werden


Beispiele

Einzelhost-Scan

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

Subnetz-Scan (CIDR)

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

IP-Bereich-Scan

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

Mehrere Bereiche aus Datei

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

Beispiel 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

Benutzerdefiniertes Timeout und Worker

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

Benutzerdefinierte Datenbank

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

Farben deaktivieren (zur Protokollierung)

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

Ausgabeformat

Konsolenausgabe

Ergebnisse werden in Echtzeit mit farbcodierten Sicherheitsindikatoren angezeigt:

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)

Farbcodierung

  • 🟢 GRÜN: Sichere Konfiguration (Signierung erforderlich)
  • 🟡 GELB: Warnung (aktiviert, aber nicht erforderlich, oder Port offen mit Fehlern)
  • 🔴 ROT: Anfällig (Signierung deaktiviert oder nicht erforderlich)
  • 🔵 BLAU: Informativ (SMB1 deaktiviert, Dienststatus)

Ausgabefelder

SMB-Informationen:

  • SMB: X.X.X - SMB-Dialektversion (2.0.2, 2.1, 3.0, 3.0.2, 3.1.1)
  • Signing: <status> - required/enabled/disabled
  • OS: <version> - Windows-Version mit Build-Nummer
  • Domain: <name> - NetBIOS-Domain/Arbeitsgruppenname
  • Boot: <time> - System-Startzeit (oder Disabled/Unknown)

SMB1-Status:

  • SMB1: disabled - SMB1 nicht unterstützt (sicher)
  • SMB1: supported, Signing: <status> - SMB1 aktiviert (potenzielles Risiko)

Dienste:

  • RDP - Remote Desktop Protocol (Port 3389) offen
  • MSSQL - Microsoft SQL Server (Port 1433) offen
  • LDAP (signing: <status>) - LDAP auf Port 389
  • LDAPS (signing: <status>, channel binding: <status>) - LDAPS auf Port 636
  • LDAPS (port open, <error>) - LDAPS-Port antwortet, aber SSL-Handshake fehlgeschlagen

Datenbankschema

MSFinger speichert alle Scan-Ergebnisse in einer SQLite-Datenbank zur dauerhaften Speicherung und Analyse.

Tabelle: hosts

Datenbankverhalten

  • Vorhandene Datenbank: Datensätze werden mit den neuesten Scandaten aktualisiert (Upsert-Vorgang)
  • Neue Datenbank: Wird automatisch mit korrektem Schema erstellt
  • Doppelte IPs: Das letzte Scan-Ergebnis überschreibt vorherige Daten für dieselbe IP

Abfragen der Datenbank

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"

Erkennungsdetails

SMB/SMB2/SMB3-Erkennung

Getestete Protokolle:

  • SMB1 (Legacy-Protokoll, Sicherheitsrisiko wenn aktiviert)
  • SMB2/3 (moderne Protokolle mit mehreren Dialekten)

Gesammelte Informationen:

  1. Dialektversion: 2.0.2, 2.1, 3.0, 3.0.2, 3.1.1
  2. Signierungsstatus:
    • required - Server erfordert Nachrichtensignierung (sicher)
    • enabled - Server unterstützt, erfordert aber keine Signierung
    • disabled - Keine Signierungsunterstützung (anfällig)
  3. OS Version: Aus NTLMSSP-Herausforderung extrahiert
  4. Build-Nummer: Windows-Build-Nummer zur genauen Versionsidentifikation
  5. Domain: NetBIOS-Domain oder Arbeitsgruppenname
  6. Boot Time: System-Startzeitstempel (falls verfügbar)

Betriebssystem-Versionszuordnung:

LDAP-Erkennung (Port 389)

Testet anonyme Bindung, um Signierungsanforderungen zu ermitteln:

  • Ergebnis-Code 0: Erfolg - Signierung NICHT erforderlich (anfällig für Relay-Angriffe)
  • Ergebnis-Code 8: Starke Authentifizierung erforderlich - Signierung IST erforderlich (sicher)
  • Andere Codes: Verschiedene Authentifizierungsfehler

LDAPS-Erkennung (Port 636)

Testet SSL/TLS-Verbindung mit LDAP-Bindung:

  1. SSL Handshake: Versucht TLS-Verbindung mit permissiver Chiffre-Unterstützung
  2. Signierungserkennung: Testet LDAP-Nachrichtensignierung über SSL
  3. Kanalbindung: Erkennt, ob TLS-Kanalbindung erzwungen wird

Mögliche Ergebnisse:

  • signing: required, channel binding: required - Maximale Sicherheit (sicher)
  • signing: not_required, channel binding: not_required - Keine Schutzmaßnahmen (anfällig)
  • port open, SSL handshake failed - Port antwortet, aber SSL-Verhandlung fehlgeschlagen
  • port open, Connection error: 104 - Verbindung vom Peer zurückgesetzt

Sicherheitsanalyse

Kritische Ergebnisse (🔴 Rot)

SMB-Signierung deaktiviert:

  • Anfällig für SMB-Relay-Angriffe
  • Angreifer kann Authentifizierung abfangen und weiterleiten
  • Empfehlung: SMB-Signierung über Gruppenrichtlinie aktivieren

LDAP-Signierung nicht erforderlich:

  • Anfällig für LDAP-Relay-Angriffe
  • Anmeldeinformationen können an andere Dienste weitergeleitet werden
  • Empfehlung: Setzen Sie LdapEnforceChannelBinding=2 und LDAPServerIntegrity=2 in der Registrierung

LDAPS ohne Kanalbindung:

  • Trotz Verschlüsselung anfällig für LDAPS-Relay
  • Empfehlung: Aktivieren Sie Erweiterten Schutz für die Authentifizierung

Warnungen (🟡 Gelb)

SMB-Signierung aktiviert (nicht erforderlich):

  • Besser als deaktiviert, aber nicht erzwungen
  • Clients können wählen, nicht zu signieren
  • Empfehlung: Ändern Sie von "enabled" auf "required"

SMB1 unterstützt:

  • Legacy-Protokoll mit bekannten Schwachstellen
  • Sollte deaktiviert werden, es sei denn, es wird von Legacy-Systemen benötigt
  • Empfehlung: Deaktivieren Sie SMBv1 über PowerShell oder Gruppenrichtlinie

Gute Konfigurationen (🟢 Grün)

SMB-Signierung erforderlich:

  • Der gesamte SMB-Verkehr wird kryptografisch signiert
  • Verhindert Relay-Angriffe

LDAP/LDAPS-Signierung erforderlich:

  • LDAP-Nachrichten werden signiert
  • Schützt vor Manipulation und Relay

Kanalbindung erzwungen:

  • TLS-Kanalbindung verhindert SSL-Relay
  • Höchste Sicherheitsstufe von LDAPS

Leistungsoptimierung

Timeout-Empfehlungen

Speicherüberlegungen

Jeder Worker verbraucht minimalen Speicher (~1-2 MB). Passen Sie die Worker basierend auf den Systemressourcen an:

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

Fehlerbehebung

Keine Ergebnisse erscheinen

  1. Netzwerkkonnektivität prüfen:

    root@kitploit:~
    ping <target_ip>
    telnet <target_ip> 445
    
  2. Timeout erhöhen:

    root@kitploit:~
    python3 MSFinger.py -i <target> -t 3.0
    
  3. Firewall-Regeln prüfen:

    • Stellen Sie sicher, dass die Ports 445, 389, 636, 3389, 1433 erreichbar sind
    • Überprüfen Sie, ob keine hostbasierte Firewall Scans blockiert

LDAPS-Verbindungsfehler

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

  • Server erfordert möglicherweise Client-Zertifikatsauthentifizierung
  • Server verwendet möglicherweise eine nicht standardmäßige SSL/TLS-Konfiguration
  • Versuchen Sie die Diagnose mit openssl s_client -connect <ip>:636

Datenbank gesperrt

Wenn Sie von mehreren Prozessen aus scannen:

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 &

Berechtigungsfehler

Stellen Sie sicher, dass das Skript ausführbar ist:

root@kitploit:~
chmod +x MSFinger.py

Integrationsbeispiele

Nmap-Integration

Identifizieren Sie zuerst aktive SMB-Hosts, dann einen Fingerprint erstellen:

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

Zeitgesteuertes Scannen

Überwachen Sie Netzwerkänderungen mit 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

PowerShell-Export

Abfragen und beheben von PowerShell aus:

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
}

Danksagungen

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


Lizenz

Dieses Programm ist freie Software: Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, entweder Version 3 der Lizenz oder (nach Ihrer Wahl) jeder späteren Version, weiterverbreiten und/oder modifizieren.

Dieses Programm wird in der Hoffnung verteilt, dass es nützlich sein wird, aber OHNE JEGLICHE GEWÄHRLEISTUNG; ohne die stillschweigende Gewährleistung der MARKTGÄNGIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Siehe die GNU General Public License für weitere Details.

Tool herunterladen
OptionBeschreibungStandard
-i, --ipZiel-IP, CIDR-Bereich oder IP-BereichErforderlich*
-f, --fileDatei mit Zielen (eines pro Zeile)Erforderlich*
-t, --timeoutVerbindungs-Timeout in Sekunden1.0
-w, --workersAnzahl gleichzeitiger Worker100
-d, --databaseSQLite-Datenbankdatei für ErgebnisseMSFinger.db
--no-colorFarbige Ausgabe deaktivierenDeaktiviert
SpalteTypBeschreibung
idINTEGERPrimärschlüssel (automatische Erhöhung)
ipTEXTIP-Adresse (eindeutig)
hostnameTEXTHostname (für zukünftige Verwendung reserviert)
os_versionTEXTBetriebssystemversion
os_buildINTEGERBuild-Nummer des Betriebssystems
domainTEXTDomain/Arbeitsgruppenname
boot_timeTEXTSystem-Startzeitstempel
smb_dialectTEXTSMB-Protokollversion
smb_signingTEXTSMB-Signierungsstatus
smb1_supportedINTEGERSMB1 aktiviert (0=nein, 1=ja)
smb1_signingTEXTSMB1-Signierungsstatus
rdp_openINTEGERRDP-Port offen (0=nein, 1=ja)
mssql_openINTEGERMSSQL-Port offen (0=nein, 1=ja)
ldap_signingTEXTLDAP-Signierungsstatus
ldaps_signingTEXTLDAPS-Signierungsstatus
ldaps_channel_bindingTEXTLDAPS-Kanalbindungsstatus
ldaps_errorTEXTLDAPS-Verbindungsfehler (falls vorhanden)
scan_timeTIMESTAMPZeitstempel des ersten Scans
last_seenTIMESTAMPZeitstempel des letzten Scans
Build-BereichBetriebssystem
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
NetzwerktypEmpfohlenes TimeoutWorker
Fast internal LAN (1Gbps+)0.5s200-300
Normales internes Netzwerk1.0s (Standard)100-150
Langsames/drahtloses Netzwerk2.0-3.0s50-100
VPN-Verbindung3.0-5.0s30-50