5. Hack The Box. Проходження Blunder. Ломаємо Bludit CMS (level easy)

15 травня 2023 1 хвилина Автор: Lady Liberty

Сучасна Bludit CMS

Bludit – це веб-додаток для створення власного веб-сайту або блогу за лічені секунди. Воно повністю безкоштовне та з відкритим вихідним кодом. Bludit використовує файли у форматі JSON для зберігання контенту, вам не потрібно встановлювати чи настроювати базу даних. Вам потрібний лише веб-сервер з підтримкою PHP. Безперечна перевага, якщо вам необхідно зробити простенький сайт, який можна без проблем розмістити на будь-якому, навіть найдешевшому, хостингу. А також переносити з сервера на сервер за лічені хвилини. Для зберігання даних використовуються файли JSON для обробки інформації PHP 5.6 або вище. Завдяки цьому система працює дуже швидко навіть без будь-якої оптимізації на стандартному шаблоні. У Bludit є репозиторії плагінів і шаблонів, а також докладна документація, форум та чат з розробниками та іншими користувачами. Останнє оновлення було на початку 2022 року, причому готується до випуску нова версія. Тож назвати систему покинутою точно не вийде — помилки виправляються, безпека на рівні.

Bludit залишила дуже приємне враження, однозначно використовуватиму у своїх проектах. Це оптимальний варіант для невеликого блогу/сайту, коли не потрібний складний функціонал, а потрібно «поставити та працювати». Швидко, легко, дуже продумано. Звичайно, це не альтернатива таким монстрам, як WordPress або Bitrix. Але завдання перед Bludit стоять зовсім інші. Мінусів практично не знайшов. Тим, хто хоч трохи розуміється на HTML і CSS, тут усе буде зрозуміло. Можливо, відлякає невелика кількість готових шаблонів і мала популярність цієї CMS, але це дуже слабкий недолік. Серед переваг простота, швидкість, сучасність.

Recon

1. Насамперед скануємо відкриті порти. Я це роблю за допомогою наступного скрипта, який приймає один аргумент — адресу хоста, що сканується (Скріншот 1. та Скріншот 2.)


Скріншот 1. Приклад команди.

 


Скріншот 2. Результат сканування.

 

2. Так як на хості працює тільки веб-сервер, при цьому стартова сторінка нам нічого не дає, давайте переберемо директорії. Для цього використовуємо швидкий gobuster. У параметрах зазначаємо, що ми хочемо сканувати директорії (dir), вказуємо сайт (-u), список слів (-w), розширення, які нас цікавлять (-x), кількість потоків (-t). (Скріншот 3. та Скріншот 4.)

Скріншот 3. Приклад команди.

 


Скріншот 4. Результат сканування.

 

3. Так ми бачимо кілька цікавих файлів. Перший з них – todo.txt.    (Скріншот 5.)


Скріншот 5. Вміст цікавого файлу.

 

4. Тут ми одразу відзначаємо ім’я користувача. Також було знайдено і панель входу адміністратора. (Скріншот 6.)


Скріншот 6. Панель входу адміністратора.

 

5. Ми бачимо CMS Bludit, давайте спробуємо знайти для неї експлоїти. І є лише один експлоїт, включений навіть у metasploit, але для нього потрібні облікові дані. (Скріншот 7.)


Скріншот 7. Експлоїт, включений у metasploit .

 

Entry Point

1. Небагато почитавши про цю CMS, я знайшов скрипт для перебору паролів. Як логін використовуємо знайдене ім’я файлу todo.txt. Але списки паролів зі стандартних списків не підходили. І мені порадили використати непряму інформацію. Для цього збираємо словник із головної сторінки сайту.     (Скріншот1. та Скріншот 2.)


Скріншот1. Приклад команди.

 


Скріншот 2. Результат сканування.

 

2. Трохи змінивши скрипт перебору, виконаємо брут та знайдемо пароль! (Скріншот 3. та Скріншот 4.)


Скріншот 3. Змінений скрипт.

Скріншот 4. Главная страница админки.

 

3. І тепер ми можемо використовувати експлойт в metasploit. (Скріншот 5., Скріншот 6. та Скріншот 7.)


Скріншот 5. Експлойт в metasploit.

 


Скріншот 7. Отримання пароля.

Скріншот 6. Результат сканування експілойт.

 

USER

1. Давайте оглянемося в директорії сайту, щоб знайти ще облікові дані. Тобто файл users.php. (Скріншот 1. та Скріншот 2.)


Скріншот 1. Деректорія сайту.

 


Скріншот 2.Файл users.php.

 

2. І є хеші, ймовірно – SHA1. (Скріншот 3.) Але крекнути їх не сталося і в основі ми їх не знаходимо. Тому продовжимо пошук на хості та бачимо ще одну версію даної CMS. (Скріншот 4.)


Скріншот3. Хеш-SHA1.

Скріншот 4. Інша версія CMS.

 

3. А ось хеш із цієї версії вже знаходимо в базі. (Скріншот 5.) Подивимося, які є користувачі. (Скріншот 6.)


Скріншот 5. Хеш з бази даних.

 


Скріншот 6. Користувачі на іншому хості.

Скріншот 7. Пароль.

4. Давайте запустимо звичайний TTY шелл. (Скріншот 8.) І цей пароль підходить до першого ж користувача. (Скріншот 9.)


Скріншот 8. TTY шелл.

Скріншот 9. Пороль для користувача .

ROOT

1. Давайте подивимося налаштування sudo. (Скріншот 1.) Бачимо цікавий рядок (ALL, !root). І загугливши, знаходимо спосіб LPE. (Скріншот 2.)


Скріншот 1. Налаштування sudo.

Сккріншот 2. Google запит.

2. Давайте отримаємо root. (Скріншот 3., Скріншот 4. та Скріншот 5.)


Скріншот 3. Інструкція.

Скріншот 4. Приклад команди.

 



Скріншот 5. Отримання root прав.
Знайшли помилку?
Якщо ви знайшли помилку, зробіть скріншот і надішліть його боту.