16. HackTheBox. Level Medium: Проходження Resolute. Password spraying. Від DnsAdmin до SYSTEM

18 грудня 2024 1 хвилина Автор: Lady Liberty

HackTheBox — популярна платформа для тестування навичок у сфері кібербезпеки. У цій статті розглянуто покрокове проходження машини Resolute, яке дозволяє відпрацювати реальні техніки експлуатації уразливостей.

Проходження Resolute і підняття привілеїв

У статті розглядається процес збору інформації про машину, виконання password spraying для отримання доступу до облікового запису користувача, а також підвищення привілеїв від DnsAdmin до SYSTEM шляхом використання шкідливої ​​DLL-бібліотеки.

Для підключення до лабораторії використовується VPN. Рекомендується уникати підключення з робочого комп’ютера або пристрою, на якому зберігаються важливі дані, оскільки приватна мережа може містити досвідчених фахівців у сфері кібербезпеки.

Recon

Ця машина має IP адресу 10.10.10.169, яку додаємо в /etc/hosts.

10.10.10.169    resolute.htb

Першим кроком є сканування відкритих портів. Щоб пришвидшити процес, замість тривалого сканування всіма портами за допомогою nmap, використовується masscan для швидкого отримання результатів.

masscan -e tun0 -p1-65535,U:1-65535 10.10.10.169  --rate=500

На хості відкрито багато портів. Тепер проскануємо їх за допомогою nmap, щоб відфільтрувати та вибрати потрібні.

nmap resolute.htb -p53,88,135,139,389,445,464,593,636,3268,3269,5985,9389,47001,49664,49665,49666,49667,49671,49676,49677,49688,49915

Тепер для отримання більш детальної інформації про послуги, що працюють на портах, запустимо сканування з опцією -А.

nmap -A resolute.htb -p53,88,135,139,389,445,464,593,636,3268,3269,5985,9389,47001,49664,49665,49666,49667,49671,49676,49677,49688,49915

З результатів nmap виявляється доменне ім’я megabank.local, яке необхідно додати у файл /etc/hosts. Основним етапом розвідки для Windows є базове перерахування. Для цього, працюючи з машини на Linux, зазвичай використовується утиліта enum4linux.

enum4linux -a megabank.local

Серед отриманої інформації про домен, користувачів, групи та політику паролів виявлено коментар до облікового запису користувача mark, у якому зазначено пароль. Однак спроби авторизації з цими обліковими даними на всіх сервісах виявляються невдалими.

USER

Оскільки в системі вже є відомий пароль та список користувачів, доцільно застосувати одну з технік Lateral Movement — Password Spraying. Суть цієї техніки полягає у спробах використання відомого пароля для авторизації від імені всіх доступних користувачів.

Перевірку в першу чергу проводять через SMB. Для цього можна використовувати модуль smb_login у Metasploit Framework.

Вказуємо необхідні параметри.

І успішно знаходимо користувача, якого підходить даний пароль.

Для перевірки облікових даних зручно використовувати утиліту smbmap. Їй передаються параметри користувача, пароль, домен і хост для тестування доступу.

Після перевірки облікових даних отримується перелік доступних ресурсів. Звернувшись до списку відкритих портів, можна помітити працюючу службу WinRM на порту 5985. Для зручної взаємодії з цією службою з-під Linux рекомендується використовувати інструмент Evil-WinRM.

USER2

Evil-WinRM працює чудово, але Meterpreter є зручнішим інструментом. Програма дозволяє вказати директорію з файлами PowerShell або C#, які автоматично завантажуються в сесію при підключенні. Наступним кроком є створення PowerShell-файлу, що містить навантаження Meterpreter.

Створюємо листенер для прослуховування з’єднання.

Тепер підключаємося з Evil-WinRM та вказуємо директорію зі скриптом.

Однак після запуску файлу з навантаженням скрипт виконується без помилок, але підключення не встановлюється.

Ймовірно, скрипт було заблоковано. Оскільки він написаний на PowerShell, це, найімовірніше, сталося через AMSI. Проте Evil-WinRM має власні вбудовані корисні модулі, які можуть допомогти обійти цю проблему.

Як можна здогадатися, необхідно використати перший із доступних модулів. Після його застосування слід повторно запустити файл із навантаженням для перевірки результату.

Спостерігаємо успішне поєднання.

Під час виконання скриптів для Recon і аналізу системи виявляється цікава директорія, яка заслуговує на подальше дослідження.

Це директорія, яка зберігає текстовий файл із записаною сесією PowerShell, після команди “Start-Transcript”. Шукаємо файл.

Переглядаємо вміст знайденої директорії для аналізу доступних файлів і потенційно корисної інформації.

У цій директорії виявляється сесія користувача Ryan. Подальший аналіз дозволяє знайти команду, за допомогою якої передавався пароль.

Пробуємо облікові дані для служби WinRM.

І в результаті логінімся як Ryan.

ROOT

Під час перевірки інформації про поточного користувача виявляється цікава деталь: він входить до групи DnsAdmins, що відкриває можливості для подальшого підвищення привілеїв.

Членство в групі DnsAdmins дозволяє підвищити привілеї до рівня SYSTEM. Це можна реалізувати, вказавши завантаження DLL-файлу під час наступного запуску служби. Наступним кроком є створення DLL-файлу, що містить навантаження Meterpreter, для виконання цієї операції.

Запустимо листенер.

Активуємо smb-сервер. Вказуємо директорію, назву та підтримку SMB 2-ї версії.

За допомогою dnscmd вкажемо, яку DLL завантажити.

Команду успішно виконано, тепер необхідно перезавантажити службу DNS, щоб DLL із навантаженням було завантажено системою.

Після перезавантаження служби DNS спостерігається встановлення підключення через SMB, що підтверджує успішне завантаження DLL із навантаженням.

Також відкриту сесію.

У результаті успішного завантаження DLL і перезавантаження служби DNS отримано привілеї рівня System, що забезпечує повний контроль над машиною.

Висновок

У статті розглядається проходження машини Resolute на HackTheBox з використанням різних технік кібербезпеки. Проводимо сканування портів, збираємо інформацію про домен і користувачів, використовуємо Password Spraying для отримання доступу, підключаємось через WinRM та обходимо AMSI для запуску Meterpreter. Завдяки правам групи DnsAdmins створюється шкідлива DLL для підвищення привілеїв до рівня SYSTEM, що завершує експлуатацію машини.
Інші статті по темі
CTF та райтапиОсвітаСамонавчання
Читати далі
1. HackTheBox. Level Easy: Проходження Remote. NFS, RCE в CMS Umbraco та LPE через UsoSvc
У статті описано, як дослідити відкриті порти, аналізувати мережеві сервіси (зокрема NFS), знаходити конфігураційні файли та облікові дані, а також експлуатувати уразливості в CMS Umbraco.
50
Знайшли помилку?
Якщо ви знайшли помилку, зробіть скріншот і надішліть його боту.