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
Tools/GitHubGitHub/cert-lv/cve-2020-0688
AufklärungSchwachstellenscannerExploitationInformationsbeschaffungWebsicherheitPenetrationstests
GitHubcert-lv/cve-2020-0688

CVE-2020-0688

Scannt Netzwerke nach Microsoft Exchange-Servern, die anfällig für CVE-2020-0688 sind, und verwendet zmap zur Host-Erkennung sowie TLS-/Versions-Fingerprinting, um nicht gepatchte Instanzen zu identifizieren.

Repository anzeigen
813vor 6 JahrenNoch 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

Exchange-Server identifizieren, die für CVE-2020-0688 anfällig sind

CVE-2020-0688 ist eine kritische Schwachstelle in Microsoft Exchange, die auf der Verwendung statischer Schlüssel beruht. Obwohl die Ausnutzung gültige Anmeldeinformationen (auf Ebene eines E-Mail-Benutzers) erfordert und das Risiko einer Massenausnutzung gering ist, könnte diese Schwachstelle bei gezielten Angriffen sehr nützlich sein, da sie zu RCE mit SYSTEM-Rechten führt.

Weitere Informationen:

  • https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-0688
  • https://www.thezdi.com/blog/2020/2/24/cve-2020-0688-remote-code-execution-on-microsoft-exchange-server-through-fixed-cryptographic-keys
  • https://www.tenable.com/blog/cve-2020-0688-microsoft-exchange-server-static-key-flaw-could-lead-to-remote-code-execution

Hinweise zu falsch negativen Ergebnissen

Es gibt mehrere bekannte Ursachen für falsch negative Ergebnisse (anfällige Exchange-Server, die von diesem Skript übersehen werden):

  1. Potenzielle Exchange-Server werden vorab identifiziert, indem Hosts erkannt werden, die sowohl Port 25 als auch 443 offen haben. Falls es Konfigurationen gibt, die einen dieser Ports blockieren, werden diese Server übersehen.

  2. zmap ist auf Geschwindigkeit und Skalierbarkeit optimiert, auf Kosten der Präzision. In der Regel liefern mehrere aufeinanderfolgende Läufe von zmap leicht unterschiedliche Ergebnisse. Daher zeigen mehrere Läufe dieses Skripts ebenfalls leicht unterschiedliche Ergebnisse.

    Es ist unklar, ob dies ausschließlich an Netzwerküberlastung oder an fehlerhaftem Code liegt. Pull-Requests mit Patches/Workarounds sind selbstverständlich willkommen!

  3. Wir versuchen hier nicht, uns unauffällig zu verhalten, daher könnten einige Firewalls uns einfach als Roboter blockieren.

  4. Da wir kein ausgefeiltes Fingerprinting betreiben und uns nur auf die Version verlassen, die der Exchange-Server selbst meldet, sind wir auf die ersten drei Felder der Versionsnummer beschränkt.

    Zum Beispiel ist das neueste kumulative Update für Exchange Server 2019 die Version 15.2.529.5, die im Dezember veröffentlicht wurde und anfällig ist. Das neueste Update, das den Patch enthält, ist 15.2.529.8. Beide melden ihre Version als 15.2.529, daher nimmt das Skript an, dass der Server gepatcht ist, auch wenn er nicht den neuesten Patch installiert hat und anfällig ist.

    In der Praxis scheint es jedoch so zu sein, dass es entweder Exchange-Administratoren gibt, die ihre Systeme aktualisieren, sobald Patches erscheinen, oder solche, die nach dem Prinzip „Wenn es funktioniert, fass es nicht an“ leben. Dazwischen gibt es nichts.

Voraussetzungen

zmap, Python >= 3.5, Module:

  • dnspython
  • pyOpenSSL
  • requests

Sie können sie global installieren mit:

root@kitploit:~
$ sudo dnf install zmap python3-gevent python3-dns python3-pyOpenSSL

oder:

root@kitploit:~
$ sudo apt install zmap python3-gevent python3-dns python3-openssl

Python-Module können auch lokal über virtualenv installiert werden:

root@kitploit:~
$ virtualenv -p python3 CVE-2020-0688
$ . ./CVE-2020-0688/bin/activate
$ pip install -r ./requirements.txt

Verwendung

Für einen grundlegenden Scan benötigen Sie lediglich eine Datei mit IPs/Subnetzen (im CIDR-Format), die gescannt werden sollen:

root@kitploit:~
$ ./scan.py ~/my_networks.txt output.csv

Die Ausgabe wird im CSV-Format mit den folgenden Spalten geschrieben:

IPExchange-VersionServer-NamePTRCommon Name (aus dem TLS-Zertifikat)

Optional können Sie sich die Informationen zu allen gefundenen Exchange-Servern ausgeben lassen:

root@kitploit:~
$ ./scan.py -f ~/my_networks.txt output.csv

In diesem Fall gibt es eine weitere Spalte, die angibt, ob der Server anfällig ist oder nicht:

IPExchange-VersionAnfällig?Server-NamePTRCommon Name (aus dem TLS-Zertifikat)

Sie können auch eine Datei mit blockierten IPs/Subnetzen angeben (Option -b), die Anzahl der parallelen Aufgaben (-p) oder die Länge der Timeouts (-t) ändern:

root@kitploit:~
$ # ./scan.py -h
usage: scan.py [-h] [-b BLACKLIST] [-f] [-p PARALLEL] [-t TIMEOUT]
               input output

Identify Exchange servers vulnerable to CVE-2020-0688.

positional arguments:
  input                 Input file, each line contains one IP/subnet
  output                File to save the results (in CSV format)

optional arguments:
  -h, --help            show this help message and exit
  -b BLACKLIST, --blacklist BLACKLIST
                        File containing IPs/subnets to avoid
  -f, --full            Don't filter seemingly up-to-date Exchange servers
  -p PARALLEL, --parallel PARALLEL
                        How many requests to send in parallel (default: 1000)
  -t TIMEOUT, --timeout TIMEOUT
                        Timeout (seconds) to use for network connections
                        (default: 5)
Tool herunterladen