Kali Linux, Kali Linux для продвинутого тестирования на проникновение, RouterSploit Framework, UART

#115 Kali Linux для продвинутого тестирования на проникновение. Введение в RouterSploit Framework. UART.

Здравствуйте, дорогие друзья.

Как и Metasploit Framework, RouterSploit Framework от Threat9 (https://www.threat9.com) представляет собой среду эксплуатации с открытым исходным кодом, используемую для взлома встроенных устройств (в частности, маршрутизаторов). Инструмент можно установить на Kali, запустив: sudo apt install routersploit из терминала. Последняя версия RouterSploit — 3.4.1 — включает 132 известных эксплойта и 4 различных сканера, в зависимости от типа устройства. Весь этот раздел можно выполнить с помощью мобильного устройства, поскольку мы знаем, что можем установить Kali на любой телефон Android, как описано в разделе Kali на Android (телефоны без рут-доступа) в разделе 1 «Целевое тестирование на проникновение».
Ниже приведены модули RouterSploit:

  • эксплойты: модуль, который связывается со всеми выявленными уязвимостями.
  • creds: модуль для проверки учетных данных для входа с заранее заданными именами пользователей и паролями.
  • сканеры: модуль, выполняющий сканирование с заранее настроенным списком уязвимостей.
  • полезные данные: модуль для создания полезных данных в зависимости от типа устройства.
  • универсальные/кодировщики: модуль, включающий универсальные полезные данные и кодировщики.
    В следующем примере мы продолжим и воспользуемся функцией сканера RouterSploit, чтобы определить, уязвим ли маршрутизатор (DLink), к которому мы подключились, к каким-либо известным уязвимостям или нет. Мы будем использовать Scanners/autown для нашего маршрутизатора, работающего по адресу 192.168.0.1, как показано на рисунке ниже:
Using Routersploit to exploit a DLink router

Сканер запустит 132 эксплойта из модуля эксплойтов. Поскольку мы использовали autopwn, к концу сканирования Вы сможете увидеть список уязвимостей, к которым уязвим наш маршрутизатор, как показано на рисунке ниже:

Output of the autopwn module with a list of exploitable vulnerabilities

После запуска autopwn Вы сможете увидеть уязвимости, которыми можно воспользоваться. В данном случае мы знаем, что устройство уязвимо для двух разных эксплойтов, поэтому давайте продолжим и воспользуемся эксплойтом, выполнив:

Этот эксплойт выполняет включение локального файла (LFI), достигает файла htaccess и извлекает имя пользователя и пароль. Успешный эксплойт должен привести к получению информации для входа, как показано на рисунке ниже:

Successfully extracting the password from the router using RouterSploit

Давайте попробуем другую уязвимость, позволяющую обойти аутентификацию без необходимости входа в систему с действительными учетными данными, путем манипулирования URL-адресами. Мы можем использовать маршрутизатор, запустив routersploit, как показано на рисунке ниже; в случае, если маршрутизатор работает на порту 443, установите для параметра ssl значение true:

Running the authentication bypass module in RouterSploit

Наконец, URL-адрес можно использовать для доступа к веб-интерфейсу маршрутизатора, который обеспечит прямой доступ к странице настройки, как показано на рисунке ниже:

Accessing the router settings without any authentication

Мы исследовали RouterSploit, чтобы воспользоваться преимуществами уязвимых маршрутизаторов. Злоумышленники могут использовать простое Android-устройство без root-доступа для выполнения этих атак. Если Вам поручено выполнить тестирование на проникновение на недавно разработанном оборудовании, в следующем разделе представлена краткая методология, которую злоумышленники могут использовать для получения root-оболочки на маршрутизаторе с помощью устройства UART.

UART

UART означает универсальный асинхронный приемник/передатчик. Это один из первых способов связи с компьютерами. Он восходит к 1960 году, когда его использовали для подключения миникомпьютеров к телетайпам (телетайпам). Основная цель UART — передавать и получать последовательные данные, как автономная интегральная схема; это не такой протокол, как SPI (последовательный периферийный интерфейс) или I2C (межинтегральная схема). Обычно он используется производителями для подключения микроконтроллеров для хранения и загрузки программ. Каждое устройство UART имеет свои преимущества и недостатки. Ниже приведены преимущества UART:

  • У него всего два провода, поэтому все довольно просто. Один из них передает (TX), а другой принимает (RX).
  • Нет необходимости в тактовом сигнале.
  • Проверка ошибок может выполняться с помощью бита четности.
  • Если настроены обе стороны, то структуру пакета данных можно изменить.
  • Он широко используется благодаря доступности его документации в Интернете.
    Он имеет следующие ограничения:
  • Тестеры не могут увеличить размер кадра данных: он будет ограничен максимум 9 битами.
  • Невозможно настроить несколько подчиненных или ведущих систем.
  • Скорость передачи данных UART должна быть в пределах 10%.
    В этом разделе мы будем использовать адаптер USB-TTL (транзистор/транзисторная логика) для выполнения связи UART путем подключения к последовательному порту печатной платы устройства.
    Эти адаптеры обычно включают четыре порта:
  • GND: заземление ()
  • VCC: напряжение источника питания: 3,3В (по умолчанию) или .
  • TX: последовательная передача
  • RX: последовательный прием

Одной из больших проблем, с которыми сталкиваются злоумышленники во время взлома оборудования, является определение правильных последовательных портов. Это можно сделать, используя мультиметр для считывания выходного напряжения и подтверждения TX (обычно напряжение будет продолжать колебаться при включении устройства), RX (первоначально оно будет колебаться, но после определенного момента станет постоянным) и GND (нулевое напряжение).
В этом примере мы будем использовать известную точку беспроводного доступа (Cisco Meraki MR18), и подключим UART к устройству TTL для прямой связи с оборудованием, как показано на рисунке ниже:

Connecting the UART to Cisco Meraki MR18 wireless access point

Когда правильные TX/RX и земля определены (чтобы определить правильные контакты UART, найдите 3 или 4 контакта рядом друг с другом; однако это может меняться в зависимости от типа устройства), мы можем использовать Kali Linux, чтобы узнать о устройство, которое в данный момент подключено, запустив файл Python baudrate.py (https://github.com/PacktPublishing/Mastering-Kali-Linux-for-Advanced-Penetration-Testing-4E/blob/main/Chapter%2014/Baudrate.py).

Если последовательное устройство подключено, Вы сможете увидеть следующий экран в Kali.

Successfully connecting to the device with a 115,200 baud rate using the Python script

Как только устройство будет успешно прочитано нашим Kali Linux, мы можем начать взаимодействовать с устройством, запустив в командной строке: screen /dev/ttyUSB0 115200, который должен напрямую предоставить доступ к оболочке, как показано на рисунке ниже. Тестировщики должны отметить, что в этом примере мы использовали известный маршрутизатор, который обеспечивает прямой root-доступ, который может отличаться от других устройств. Устройства, выпущенные недавно, предложат пользователю ввести имя пользователя и пароль:

Accessing the device using the screen command

Всегда полезно понять устройство по журналам отладки: мы видели жестко закодированные учетные данные во многих устройствах IoT. Мы научились подключаться к устройству с помощью кабеля UART и общаться с устройством как пользователь с высокими привилегиями. В следующем разделе мы рассмотрим клонирование RFID, которое можно использовать во время физического тестирования или учений красной команды.

На этом все. Всем хорошего дня!

Полный цикл статей по Kali Linux для продвинутого тестирования на проникновение.