Це застаріла машина Hack The Box, яка доступна за моєю VIP підпискою. Оскільки вона застаріла, я можу поділитися з вами описом процесу (writeup) для неї. Ці описи пояснять мої кроки до завершення, а також інструменти та техніки, які я використовував. Машини, які я обрав для виконання, беруться з таблиці TJ NULL і є підготовкою до майбутніх сертифікацій. Під час підготовки до сертифікацій CPTS (HTB Certified Penetration Testing Specialist), PNPT (TCM Practical Network Penetration Tester) та OSCP+ (OFFSEC Offensive Security Certified Professional), я сподіваюся поділитися тим, чого я навчився, і допомогти іншим завдяки серії цих описів.
Початкова перевірка
Першим кроком після запуску машини є сканування відкритих портів за допомогою Network Mapper (Nmap). Перед тим, як глибоко сканувати порти для ідентифікації сервісів або перевірки скриптів, найкраща практика — спочатку знайти лише відкриті порти. Для того щоб сканувати тільки відкриті порти на машині в закритому середовищі, як Hack The Box, я зазвичай використовую команду “sudo nmap -p- -min-rate=10000 -oA allports.txt -v”. Це швидке і агресивне сканування, яке зберігає результати у всіх форматах (-oA) у файл allports.txt. Після того як ви знайдете відкриті порти, можна сканувати їх за допомогою ключа -p. Наприклад, -p 80,22 дозволить сканувати тільки ці два порти, а -p- скануватиме всі 65,535. Я люблю використовувати sudo для nmap разом з -sC (тестування простих скриптів) і -sV (відбиток версій сервісів). Також використовую -Pn (пропуск виявлення хостів), а іноді -T4 для прискорення сканування (-T5 може бути нестабільним). Ключ -A дозволяє здійснити детекцію ОС, сканування скриптів, виявлення версій та трасування в одному кроці, що може замінити інші параметри. Використання ключа для сканування всіх портів (-p-) разом зі скануванням скриптів і перерахунком сервісів може зайняти значно більше часу, оскільки тестуватиметься всі 65,353 порти.
sudo nmap -sC -sV -Pn -T4 -p- 10.10.10.8
Результати сканування Nmap показують, що відкритий тільки порт 80 (http). З цього сканування я можу побачити версію та сервіс, який працює на системі.
Веб-експлуатація
Відвідавши сайт, видно, що наразі працює HttpFileServer (HFS) 2.3. Пошукавши експлойти для HFS 2.3, я знайшов модуль Metasploit для Rejetto HTTP File server 2.3 тут.
ЗАУВАЖЕННЯ Для виконання цієї машини я буду використовувати Metasploit.
Після відкриття Metasploit, я спочатку шукаю експлойти Rejetto, який знайшов раніше. Потім перевіряю параметри та налаштовую їх.
Після налаштування параметрів, потрібно включити браузерне розширення FoxyProxy на порт 8080 (звичайно налаштований для BurpSuite).
Після запуску експлойту в Metasploit, я отримав доступ до машини як користувач kostas. Я забираю перший прапор (flag) і переходжу до етапу підвищення привілеїв.
Підвищення привілеїв
Тепер, коли я є користувачем на машині, я виконую звичні кроки для виявлення можливостей підвищення привілеїв.
Є багато сайтів, що надають загальні кроки для пост-футхолд енумерації, я маю комбінований список, який я зробив з тих сайтів і використовую для швидкої довідки.
Принісши WinPeas і запустивши його, я побачив деякі вразливості, а також автоматичні облікові дані для входу в акаунт користувача kostas.
Я використаю Exploit Suggester в Metasploit, щоб подивитися, чи знайде він якісь модулі для експллуатації вразливостей. Спочатку я відправлю свою поточну сесію у фоновий режим, потім шукаю suggester і вибираю модуль. Наступним кроком буде налаштування сесії в модулі пост-експлуатації.
Після завершення роботи Exploit Suggester, я спробую використати модуль exploit/windows/local/ms16032secondarylogonhandle_privesc.
Після запуску експлойту я отримав повідомлення, що сесія meterpreter почалась, і модуль справді працював, як було заплановано.
Нарешті, я перевіряю, що я є користувачем SYSTEM і забираю останній прапор (flag), щоб завершити роботу з цією машиною. У майбутньому я планую виконати цю машину без використання Metasploit. Я додам повідомлення (REDO) в заголовок, коли це зроблю. Це покаже, що машина була завершена іншим способом. Буде кілька машин Metasploit, які я завершу без використання Metasploit.
Машина завершена. Сподіваюся, вам сподобався цей опис і ви дізналися щось нове. Звертайтесь до мене, якщо є щось, що ви хочете, щоб я пояснив детальніше, або якщо є поради, якими можна поділитися. Дякую за те, що читаєте і слідкуєте за моєю подорожжю.
Уроки, що були засвоєні:
Використання Metasploit
Я вибрав використати Metasploit для виконання цієї машини. Metasploit має модулі для захоплення зворотних шелів, пост-експлуатації та багато іншого. Цей інструмент автоматизації експлуатації є величезною економією часу, як показано на цій машині, і досить легко виконувати експлуатацію без знань того, як саме працює процес експлуатації. Саме тому такі екзамени, як OSCP, не дозволяють використовувати Metasploit. Але в реальному житті це надзвичайно важливий інструмент для вже експлойтованих сервісів, і він зекономить багато часу вашій команді під час виконання завдань.
Перекладено з: Optimum | HTB Writeup | Windows