
Стаття надає детальний аналіз процесу проходження машини Traverxec на платформі HackTheBox. Крім того, в статті описується отримання оболонки Meterpreter та підвищення привілеїй за допомогою техніки GTFOBins. Читачі дізнаються про конкретні інструменти, такі як Masscan, nmap, Metasploit, і як їх використовувати для ефективної експлуатації уразливостей в реальних сценаріях.
У статті розглядається процес отримання RCE у веб-сервері nostromo, отримання оболонки meterpreter через активну сесію metasploit, аналіз конфігурацій nostromo, злом пароля для шифрування SSH-ключа та використання техніки GTFOBins для підвищення привілеїв.
Підключення до лабораторії здійснюється через VPN. Не рекомендується підключатися з робочих комп’ютерів або пристроїв, на яких зберігаються важливі дані, оскільки доступ до приватної мережі здійснюється з людьми, які мають досвід у галузі інформаційної безпеки.
Ця машина має IP адресу 10.10.10.165, яку додаємо в /etc/hosts.
10.10.10.165 traverxec.htb
Спочатку проводиться сканування відкритих портів. Оскільки сканування всіх портів за допомогою nmap займає значно більше часу, використовується masscan для прискорення процесу. Скануються всі TCP та UDP порти через інтерфейс tun0 зі швидкістю 1000 пакетів на секунду.
masscan -e tun0 -p1-65535,U:1-65535 10.10.10.165 --rate=1000
Тепер для отримання більш детальної інформації про послуги, що працюють на портах, запустимо сканування з опцією -А.
nmap -A traverxec.htb -p22,80
Таким чином ми маємо SSH та веб-сервер Nostromo.
Перевіримо веб-сервер Nostromo на відомі експлоїти для версії 1.9.6. Для цих цілей можна використовувати пошуковіплати, дана програма надає можливість зручної роботи з експлоїтами, які є в базі exploit-db.
З результатів сканування можна зрозуміти, що другий експлоїт не підходить, а перший має позначку “Metasploit”, що вказує на реалізацію цього модуля в контексті Metasploit Framework.
Завантажуємо msfconsole і здійснимо пошук експлоїту.
Чудово! Оскільки цей експлоїт підходить для нашої версії nostromo, можна задати базові опції та перевірити його роботу. Наступним кроком буде налаштування параметрів експлоїту та запуск для перевірки його ефективності.
Для зручності роботи отримаємо meterpreter оболонку. Для цього відправимо сесію працювати у фоні – Ctrl+Z та підтверджуємо. І якщо подивимося сесії, що працюють, то побачимо ту, яку щойно згорнули.
post/multi/manage/shell_to_meterpreter
. Для швидкого використання цього модуля рекомендується діяти наступним чином.Далі викликаємо шелл, даємо право виконання і запускаємо скрипт.
Аналізуючи висновок, знаходимо хеш пароля з .htpasswd.
Подальше безцільне дослідження системи виявилося марною тратою часу. Усвідомивши це та не маючи чіткого плану дій, було прийнято рішення переглянути конфігурації веб-сервера. На щастя, директорія, що веде до цього файлу, була чітко вказана.
Далі переглянемо файл nhttp.conf.
homedirs_public
, що відповідає директорії public_www
. Вона розташована в домашній директорії користувача (homedirs
– /home
), а саме в директорії користувача serveradmin
([email protected]). Таким чином, файл index.html
знаходиться за шляхом /home/david/public_www
. Щоб забезпечити доступ користувачів до цієї сторінки, директорія повинна мати права на читання для всіх користувачів.Припущення підтвердилися. Крім того, було виявлено певну директорію, яку слід дослідити детальніше, щоб зрозуміти її вміст.
Там знаходимо бекап SSH файлів. Завантажуємо їх.
Розархівуємо файли.
Виявлено приватний ключ користувача, але під час спроби підключення запитується пароль. Це свідчить про те, що ключ зашифрований.
Хеш буде збережено у файл, після чого його буде перевірено за словником rockyou.txt
за допомогою інструменту JohnTheRipper.
Так, ми знаходимо пароль шифрування ключа. За допомогою нього та ключа підключаємося по SSH.
Дивимося , що у нас є в директорії користувача.
В директорії bin знаходимо цікаві файли.
Скрипт виконує команду, яка спочатку виводить рядки, а потім під sudo запускає іншу команду, передаючи її виведення в cat
. Це виглядає досить цікавим. Виконання цієї команди дозволяє отримати дуже інформативний результат.
Перенаправлення в cat
одразу підказує можливість застосування техніки GTFOBins. Суть цієї техніки полягає в тому, що за допомогою різних системних утиліт можна отримати доступ до читання, запису файлів, виконання команд тощо. Приклади використання для різних програм доступні у відповідних довідниках.
Особливість у цьому випадку полягає в тому, що, якщо зменшити розмір вікна терміналу й виконати команду без перенаправлення виведення в cat
, то виведення автоматично перенаправляється в less
. Звідти можна отримати доступ до шелла за допомогою команди !/bin/sh
. Оскільки команда виконується з правами sudo
, отриманий шелл матиме максимальні привілеї.