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
exchange-scanner — Öffentlich zugängliche Microsoft Exchange-Server identifizieren und deren Softwareversionen ermitteln | Kitploit
Tools/GitHubGitHub/bishopfox/exchange-scanner
AufklärungSchwachstellenscannerSchwachstellenanalyseInformationsbeschaffungWebsicherheitE-Mail-Sicherheit
GitHubbishopfox/exchange-scanner

exchange-scanner

Öffentlich zugängliche Microsoft Exchange-Server identifizieren und deren Softwareversionen ermitteln

Repository anzeigen
15vor 2 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Microsoft Exchange Server Scanner

Beispiel-Scan

Beschreibung

Dieses Tool scannt mehrere gängige öffentlich erreichbare Dienste auf einem Zielhost, um Microsoft Exchange Server zu erkennen und, wenn möglich, dessen Softwareversion zu identifizieren.

Hierzu verwendet es die folgenden Techniken:

  • Fingerprinting von Outlook Web Access (OWA) anhand von Antwort-Headern, Inhalten der Anmeldeseite und Favicon-Hashes
  • Fingerprinting des Exporttools des Exchange Control Panels (ECP) anhand von XML-Antworten
  • Fingerprinting des Autodiscover-Endpunkts anhand von Antwort-Headern
  • Dienst-Fingerprinting für SMTP, IMAP und POP3 auf gängigen Ports anhand von Dienste-Bannern

Erkannte Build-Nummern werden mit einer von Microsoft extrahierten Versionstabelle abgeglichen, die alle Versionen von Exchange Server 5.5 bis Exchange Server Subscription Edition (SE) abdeckt, einschließlich Service Pack (SP), Cumulative Update (CU), Security Update (SU), Hotfix Update (HU) und Update Rollup (RU). Übereinstimmungen werden mit Produktname, Veröffentlichungsdatum und CPE-Zeichenfolgen im NVD-Wörterbuchformat gemeldet.

Erste Schritte

Voraussetzungen

Die empfohlene Methode zum Ausführen des Scanners ist Docker, das außer Docker selbst keine lokalen Abhängigkeiten erfordert. Wenn Sie das Skript stattdessen direkt ausführen möchten: Es wurde für den Einsatz auf 64-Bit-Debian-Linux entwickelt, sollte jedoch mit jeder Linux-Variante funktionieren, die von Python 3, dnsx und fingerprintx unterstützt wird (mit geringfügigen Änderungen am Installationsskript).

Installation

Docker (empfohlen)

Erstellen Sie das Image. Es bündelt Python, die festgelegten (gepinnten) Python-Pakete sowie versionsgebundene dnsx- und fingerprintx-Binärdateien und extrahiert die Exchange-Server-Versionstabelle zur Build-Zeit von Microsoft:

root@kitploit:~
docker build -t exchange-scanner .

Führen Sie dann den Scanner aus, wobei Sie dieselben Argumente übergeben, die Sie auch an das Skript übergeben würden (beschrieben unter Verwendung weiter unten):

root@kitploit:~
# Scan a single target
docker run --rm exchange-scanner -q -t 192.168.5.3

# Scan a list of targets (mount the file into the container)
docker run --rm -v "$PWD/targets.txt:/app/targets.txt" exchange-scanner -l targets.txt

Erstellen Sie das Image neu, um die Versionstabelle zu aktualisieren.

Manuelle Installation

Führen Sie scripts/install-requirements.sh aus, um die erforderlichen Tools, Pakete und anderen Abhängigkeiten zu installieren. Die Python-Pakete sind in scripts/requirements.txt auf bestimmte Versionen festgelegt (gepinnt).

Sie können scripts/get-exchange-versions.py jederzeit separat erneut ausführen, um die in exchange-versions.json enthaltene Software-Versionstabelle zu aktualisieren.

Verwendung

Führen Sie das Skript exchange-scanner.py mit -h aus, um Details zur Verwendung anzuzeigen:

root@kitploit:~
❯ ./exchange-scanner.py -h
usage: exchange-scanner.py [-h] [-q] [-d] [-x TIMEOUT] [-o OUTFILE] (-t TARGET | -l LIST)

optional arguments:
  -h, --help            show this help message and exit
  -q, --quiet           Suppress log output (except errors)
  -d, --debug           Print debugging messages
  -x TIMEOUT, --timeout TIMEOUT
                        Set timeout for HTTP requests (defaults to 3 seconds)
  -o OUTFILE, --outfile OUTFILE
                        Save output to a file instead of writing to stdout
  -t TARGET, --target TARGET
                        A single hostname or IP address to scan
  -l LIST, --list LIST  File containing a list of hostnames and/or IP addresses to scan (one per line)

Erforderlich: -t oder -l

  • Um ein einzelnes Ziel zu scannen, verwenden Sie -t mit einem einzelnen Hostnamen oder einer IP-Adresse. Wenn der Hostname zu mehreren IPs aufgelöst wird, scannt das Skript jede davon separat.
  • Um mehrere Ziele gleichzeitig zu scannen, erstellen Sie eine Datei mit einem Hostnamen oder einer IP-Adresse pro Zeile und verwenden Sie dann -l mit dem Namen der Datei.

Protokollierung: Um die meiste Protokollausgabe zu unterdrücken, verwenden Sie -q. Um weitere Protokolldetails anzuzeigen, verwenden Sie -d.

Zeitlimit: Um die maximale Antwortzeit pro HTTP-Anfrage zu ändern, geben Sie einen Zeitlimitwert in Sekunden an (Standard ist 3). Beachten Sie, dass eine einzelne IP-Adresse unter bestimmten Umständen über 200 Anfragen erzeugen kann (obwohl die meisten Scans diesen Umfang nicht erreichen), daher ist ein kürzeres Zeitlimit im Allgemeinen vorzuziehen.

Ausgabe: Scan-Ergebnisse werden standardmäßig im JSON-Format ausgegeben. Um die Ausgabe in einer Datei zu speichern, anstatt sie auf stdout zu schreiben, verwenden Sie -o mit einem Dateinamen.

Beispiel

root@kitploit:~
$ ./exchange-scanner.py -q -t 192.168.5.3
[
    {
        "hostname": "192.168.5.3",
        "ip_address": "192.168.5.3",
        "build_number": "15.2.1118",
        "exchange_services": [
            "https://192.168.5.3:443",
            "imaps://192.168.5.3:993"
        ],
        "product_name": "Exchange Server 2019 CU12 (2022H1)",
        "major_version": "2019",
        "update": "Cumulative Update 12",
        "security_update": null,
        "release_date": "2022-04-20",
        "recalled": false,
        "cpes": [
            "cpe:2.3:a:microsoft:exchange_server:2019:cumulative_update_12:*:*:*:*:*:*",
            "cpe:2.3:a:microsoft:outlook_web_access:2019:cumulative_update_12:*:*:*:*:*:*"
        ]
    }
]

Verschiedenes

Rechtlicher Hinweis

Die Verwendung dieses Tools zum Angriff auf Ziele ohne vorherige gegenseitige Zustimmung ist illegal. Es liegt in der Verantwortung des Endbenutzers, alle geltenden lokalen, staatlichen und bundesstaatlichen Gesetze einzuhalten. Die Entwickler übernehmen keine Haftung und sind nicht verantwortlich für Missbrauch oder Schäden, die durch dieses Programm verursacht werden.

Lizenz

Dieses Projekt ist unter der GNU General Public License lizenziert.

Funktionen und Einschränkungen

  • Der Scanner prüft derzeit nur Standard-Ports auf Standard-Dienste.
  • Es nimmt an, dass das Ziel aus einer externen Perspektive gescannt wird.
  • Es verwendet Fuzzy-Matching, um Versionen zu bestimmen, wenn teilweise Build-Nummern gefunden werden.
  • Es kennzeichnet außerdem Updates, die Microsoft zurückgerufen hat, über ein recalled-Feld in seiner Ausgabe.
  • CPE-Zeichenfolgen folgen dem Format des NVD-CPE-Wörterbuchs. Da das NVD-Wörterbuch Updates nur bis zur CU-/SP-/RU-Ebene verfolgt (nicht SU/HU), sind diese CPEs als Best-Effort zu betrachten und entsprechen möglicherweise nicht exakt einem Wörterbucheintrag. Die vollständigen erkannten Details (genaue Build-Nummer, SU-/HU-Ebene) bleiben in den anderen Ergebnisfeldern erhalten.
Tool herunterladen