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
mellon — OSDP-Angriffstool (und das Elbische Wort für Freund) | Kitploit
Tools/GitHubGitHub/bishopfox/mellon
SchwachstellenanalyseExploitationKryptographiePenetrationstestsHardware-Sicherheit
GitHubbishopfox/mellon

mellon

OSDP-Angriffstool (und das Elbische Wort für Freund)

Repository anzeigen
11494vor 3 JahrenVon 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

OSDP-Schwachstellen, die dieses Tool ausnutzt

OSDP-Angriffstool (und das Elbische Wort für Freund)

Angriff #1: Verschlüsselung ist optional

OSDP unterstützt Verschlüsselung, verlangt sie aber nicht strikt. Daher ist Ihre Verbindung möglicherweise gar nicht verschlüsselt. Angriff #1 besteht lediglich darin, passiv mitzuhören und zu prüfen, ob man die Kartennummern auf der Leitung lesen kann.

Angriff #2: Downgrade-Angriff

Nur weil Controller und Leser Verschlüsselung unterstützen, heißt das nicht, dass sie so konfiguriert sind, dass deren Verwendung erforderlich ist. Ein Angreifer kann die Fähigkeitsantwortnachricht des Lesers (osdp_PDCAP) so modifizieren, dass sie angibt, keine Verschlüsselung zu unterstützen. Wenn dies geschieht, fahren manche Controller einfach ohne Verschlüsselung fort.

Angriff #3: Installationsmodus-Angriff

OSDP verfügt über einen quasi-offiziellen „Installationsmodus“, der sowohl für Leser als auch für Controller gilt. Wie der Name schon sagt, soll er bei der Ersteinrichtung eines Lesegeräts verwendet werden. Im Wesentlichen erlaubt er es Lesern, den Controller nach dem Basis-Verschlüsselungsschlüssel (dem SCBK) zu fragen. Wenn der Controller dauerhaft im Installationsmodus konfiguriert ist, kann ein Angreifer auf der Leitung auftauchen und den SCBK anfordern.

Angriff #4: Schwache Schlüssel

Tool herunterladen

OSDP-Beispielcode enthält oft fest codierte Verschlüsselungsschlüssel. Offensichtlich sind sie als Beispiele gedacht, bei denen der Benutzer die Schlüssel selbst auf sichere Weise generieren soll. Dies wird dem Benutzer jedoch nicht erklärt oder einfach gemacht. Und jeder, der schon lange genug in der Sicherheitsbranche ist, weiß, dass das, was standardmäßig da ist, wahrscheinlich auch in der Produktion verwendet wird.

Als Angriffsvektor lohnt es sich daher, wenn die Verbindung zwischen Leser und Controller verschlüsselt ist, einige gängige schwache Schlüssel durchzuprobieren. Dies sind 128-Bit-AES-Schlüssel, daher werden wir nicht alle aufzählen können. Auch nicht einen nennenswerten Teil davon. Aber wir können einige typische Muster treffen, die man sieht, wenn jemand einen Schlüssel fest codiert:

  • Alle Ein-Byte-Werte. [0x04, 0x04, 0x04, 0x04 …]
  • Alle monoton steigenden Byte-Werte. [0x01, 0x02, 0x03, 0x04, …]
  • Alle monoton fallenden Byte-Werte. [0x0A, 0x09, 0x08, 0x07, …]

Angriff #5: Schlüsselsatz-Erfassung

OSDP hat keinen bandinternen Mechanismus zum Schlüsselaustausch. Das bedeutet, dass ein Angreifer Folgendes tun kann:

  • Ein verdecktes Abhörgerät auf die Leitung setzen.
  • Den Leser zerstören / auf Werkseinstellungen zurücksetzen / deaktivieren.
  • Warten, bis jemand aus der IT kommt und den Leser austauscht.
  • Die Schlüsselsatz-Nachricht (osdp_KEYSET) erfassen, wenn der Leser zum ersten Mal eingerichtet wird.
  • Alle zukünftigen Nachrichten entschlüsseln.

Einrichten eines Testbetts (Linux/MacOS)

Sie finden Proof-of-Concept-Code für jeden dieser Angriffe in attack_osdp.py. Sehen Sie sich den Befehl --help für weitere Details zur Verwendung an. Dies ist ein Python-Skript, das von einem Laptop mit USB<-->RS485-Adaptern wie diesen ausgeführt werden soll. Sie werden also wahrscheinlich einige davon besorgen wollen. Es muss aber nicht dieses Modell sein.

Wenn Sie einen Controller haben, den Sie testen möchten, dann großartig. Verwenden Sie diesen. Wenn nicht, haben wir hier einen absichtlich verwundbaren OSDP-Controller, den Sie verwenden können: vulnserver.py.

Einige der Angriffe in attack_osdp.py erwarten, dass Sie als vollständiger MitM zwischen einem funktionierenden Leser und Controller agieren. Um diese zu testen, benötigen Sie möglicherweise drei USB<-->RS485-Adapter, die mit einem Steckbrett verbunden sind.

Zusätzliche Probleme mittleren / niedrigen Risikos

Diese Probleme sind isoliert betrachtet nicht ausnutzbar, stellen aber dennoch eine Schwächung des Protokolls, der Implementierung oder des Gesamtsystems dar.

  • MACs werden auf 32 Bit gekürzt, „um den Overhead zu reduzieren“. Dies liegt sehr nahe (aber nach unserer Berechnung nicht ganz) im praktisch ausnutzbaren Bereich.
  • IVs (die von MACs abgeleitet werden) werden ähnlich auf 32 Bit Entropie reduziert. Dies führt zur IV-Wiederverwendung, eine große rote Flagge für ein Protokoll.
  • Sitzungsschlüssel werden nur mit 48 Bit Entropie aus dem Controller-RNG-Nonce erzeugt. Dies scheint für einen beobachtenden Angreifer offline nicht enumerierbar zu sein. (Es sei denn, wir übersehen etwas, dann würde dies zu einem kritischen Problem werden.)
  • Sequenznummern bestehen aus nur 2 Bit und bieten keine ausreichende Aktualität (Liveness).
  • Es wird CBC-Modus-Verschlüsselung verwendet. GCM wäre ein modernerer Blockchiffren-Modus, der für Netzwerkprotokolle geeignet ist.
  • Die SCS-Modi 15 und 16 sind im Wesentlichen „Null-Chiffren“ und sollten nicht existieren. Sie verschlüsseln keine Daten.
  • Das OSDP-Befehl-Byte ist immer unverschlüsselt, selbst mitten in einer Secure-Channel-Sitzung. Dies ist ein großer Vorteil für Angreifer und macht Angriffswerkzeuge viel einfacher zu schreiben. Es bedeutet, dass ein Angreifer immer sehen kann, welcher „Typ“ von Paket gesendet wird, auch wenn es ansonsten verschlüsselt ist. Angreifer können erkennen, wenn Personen einchecken, wenn die LED leuchtet usw. Dies sind Informationen, die nicht im Klartext stehen sollten.
  • SCBK-D (ein fest codierter „Standard“-Verschlüsselungsschlüssel) bietet keine Sicherheit und sollte entfernt werden. Er dient nur dazu, zu verschleiern und ein falsches Sicherheitsgefühl zu vermitteln.