Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
В этом райтапе я покажу, как ошибки в конфигурации sudo приводят к возможности выполнить свой код в привилегированном контексте. А перед этим получим доступ от имени локального пользователя при помощи инъекции команды.
Атаковать мы будем виртуальную машину Photobomb с площадки Hack The Box. Уровень ее сложности — легкий, потребуется применить всего несколько приемов.
warning
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Добавляем IP-адрес машины в /etc/hosts
, чтобы можно было обращаться к хосту по имени:
10.10.11.182 photobomb.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
).
Результат работы скрипта
Nmap показал нам два открытых порта: 22-й, на котором работает служба OpenSSH 8.2p1, и 80-й, где отвечает веб‑сервер Nginx 1.18.0. Поскольку учетной записи для логина по SSH у нас пока нет, выбор очевиден: идем просматривать веб. Все действия я буду проводить через Burp Proxy, чтобы потом иметь доступ ко всем данным запросов и ответов.
Главная страница сайта http://photobomb.htb/
Нас встречает страница с информацией и с одной ссылкой, по которой мы, конечно же, проходим.
По ссылке нам открывается форма HTTP-аутентификации.
Форма ввода учетных данных
Стандартные пары из логина и пароля вроде admin:admin
не подошли. Поэтому переходим в Burp History и просматриваем содержимое всех запросов. В исходном коде файла photobomb.js
находим учетные данные для HTTP-аутентификации.
Burp History
Можем перейти прямо по найденному адресу:
http://pH0t0:[email protected]/printer
Как вариант, можно вернуться к странице с запросом учетных данных и ввести их вручную.
На сайте есть возможность скачать изображение в выбранном качестве и разрешении. Для нас это интересно, поэтому просмотрим передаваемые в запросе параметры при конфигурации и скачивании картинки.
Запрос на загрузку изображения
Первая идея — получить метаданные изображения с помощью exiftool
и найти какие‑нибудь следы генератора изображений, если такой используется. Тогда мы смогли бы поискать существующие уязвимости и эксплоиты для них. Но в метаданных изображений ничего интересного найти не удалось.
Затем я решил попробовать распечатать «не совсем изображение». В параметре имени файла указываем путь /etc/passwd
или /../../../../../../../etc/passwd
, чтобы попробовать выгрузить какие‑нибудь интересные системные файлы. Но получаем следующий ответ, сигнализирующий о том, что и эта идея ошибочна.
Ошибка при произвольном имени файла
Источник: xakep.ru