Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Сегодня мы с тобой пройдем легкую машину под названием Knife с площадки Hack The Box. Ее изюминка — это поразивший всех, но быстро обнаруженный и запатченный бэкдор в PHP 8.1.0-dev. Мы разберемся, что же все‑таки делать, если вдруг попалась такая экзотика, а также пройдем весь путь от поиска уязвимостей до захвата хоста.
warning
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Добавляем IP машины в /etc/hosts
, чтобы дальше обращаться по удобному адресу и не печатать IP.
10.10.10.242 knife.htb
И сканируем порты.
Справка: сканирование портов
Сканирование портов — стандартный первый шаг при любой атаке. Он позволяет атакующему узнать, какие службы на хосте принимают соединение. На основе этой информации выбирается следующий шаг к получению точки входа.
Наиболее известный инструмент для сканирования — это Nmap. Улучшить результаты его работы ты можешь при помощи следующего скрипта.
#!/bin/bashports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr 'n' ',' | sed s/,$//)nmap -p$ports -A $1
Он действует в два этапа. На первом производится обычное быстрое сканирование, на втором — более тщательное сканирование, с использованием имеющихся скриптов (опция -A
).
Результат сканирования
Мы наблюдаем два открытых порта: 22 (служба SSH) и 80 (Apache 2.4.41). На SSH нам пока делать нечего, поэтому будем изучать сайт.
Главная страница сайта
На самом сайте не находим ничего интересного — там есть несколько скриптов на JS, но они для нас бесполезны.
Нам нужно провести более глубокий анализ. Для этого есть, к примеру, утилита WhatWeb — она распознает веб‑технологии, в том числе систему управления контентом (CMS), платформы для ведения блогов, пакеты статистики и аналитики, библиотеки JavaScript, веб‑серверы и другие вещи. К тому же к WhatWeb есть более 1700 плагинов, которые можно использовать в агрессивном режиме сканирования. Но если запустить программу с настройками по умолчанию, то будет выполнен всего один запрос.
Результат сканирования WhatWeb
Из всей представленной информации наиболее интересен заголовок X-Powered-By
, по которому определим версию PHP 8.1.0-dev
. Слово dev
означает, что версия PHP тестовая, а значит, в ней могут быть уязвимости. Поищем их!
Справка: поиск готовых эксплоитов
При пентесте лучше всего искать эксплоиты при помощи Google, поскольку этот поисковик заглядывает и в личные блоги, и в самые разные отчеты. Ускорят дело специализированные базы вроде Exploit-DB — там часто можно обнаружить подходящие варианты. Если ты работаешь в специализированной ОС вроде Kali Linux, то эта база у тебя уже есть и для поиска можно использовать утилиту searchsploit
.
Поиск эксплоитов для PHP 8.1.0-dev
Это как раз тот случай, когда searchsploit
нам не помогла, а вот в Google удалось найти кое‑что интересное.
Версия PHP 8.1.0-dev
была выпущена с бэкдором, но разработчики быстро обнаружили его и удалили в релизе.
Источник: xakep.ru