Как не попасть в школу скидди от Pickle Rick CTF на Try Hack Me

Сегодня я столкнулся со своим первым хакерским вызовом — всего шесть дней в моем учебном путешествии. Не буду вам врать, это чуть не заставило меня плакать. Я был по-мальчишески обучен задаче CTF (Capture The Flag), которая обозначена как легкая. Но, проявив немного настойчивости, оказалось, что это совсем не сложно! 😁

Сегодня мы вместе одолеем Pickle Rick CTF на Try Hack Me. Так что берите удобную подушку для шеи, открывайте терминал и приступайте к взлому.

Введение: Недостающие ингредиенты Рика

Если вы еще не на странице Pickle Rick CTF, перейдите на нее по этой ссылке и запустите свою машину. Я запускаю его локально через OPENVPN, но вы можете сделать это с помощью Attackbox от Try Hack Me.

Когда мы загрузим страницу, нас встретит следующее введение:


Шаг первый: поиск первого флага

Глупые Рик и Морти, кажется, они забыли ингредиенты, чтобы превратить огурец обратно в человека. А мы все забыли? Не волнуйтесь, именно поэтому мы, дружелюбные соседи-хакеры, готовы помочь. Давайте откроем наш сайт https://LAB_WEB_URL.p.thmlabs.com на нашей машине и посмотрим, что там.

Перед нами голый веб-сайт, на котором нет ни навигации, ни полей ввода, ни кнопок — ничего. Как же нам найти флаги, если на сайте ничего нет? Для начала посмотрим на источник страницы, чтобы выяснить, можем ли мы найти какую-либо информацию. 🔍

Мы видим, что у нас есть имя пользователя для чего-то — возможно, для формы входа. Скопируйте его куда-нибудь, потому что мы будем использовать его позже. Давайте посмотрим, сможем ли мы найти, для какой страницы это нужно, открыв терминал с помощью CTRL + ALT + T.

Запустим сканирование Nmap на наш IP-адрес. Если вы не знакомы с Nmap, не беспокойтесь, просто знайте, что это очень мощный инструмент, который позволяет нам сканировать адреса в локальной или удаленной сети, чтобы увидеть, какие операционные системы, машины, протоколы или порты запущены.

nmap 0.0.0.0 (enter your machine's IP address)
Вход в полноэкранный режим Выход из полноэкранного режима

Мы видим, что он использует три разных порта. Мы сосредоточимся на двух открытых портах, которые можно описать следующим образом:

Теперь, когда мы знаем, какие порты открыты, мы можем запустить сканирование Nikto на нашем IP-адресе. Nikto помогает нам найти потенциальные угрозы безопасности на веб-сайтах и в веб-приложениях с помощью сканирования, которое может вернуть такую информацию, как неправильная конфигурация служб, небезопасные файлы/программы и многое другое.

nikto -h http://10.10.78.35
Вход в полноэкранный режим Выход из полноэкранного режима

Когда сканирование Nikto наконец завершилось, а день рождения уже прошел (потому что это длится вечно 😑), мы можем обозначить две важные части информации, подтверждающие наши предыдущие подозрения. Мы видим, что у нас есть два файла, которые мы теперь можем использовать для поиска информации: robots.txt и login.php. При желании можно также запустить сканирование Dirb, но оно не даст нам больше информации, чем наше сканирование Nikto.

Давайте сначала откроем наш robots.txt и посмотрим, что мы сможем найти. Возможно, Wubbalubbadubbadubdub — это пароль? Держите это значение поближе.

Далее перейдем к файлу login.php и посмотрим, можем ли мы ввести наше имя пользователя, которое мы указали ранее, с нашим значением Wubbalubbadubdub из файла robots.txt. Вуаля, мы вошли!


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

pwd
Войти в полноэкранный режим Выход из полноэкранного режима

Мы видим, что находимся в каталоге /var/www/html, поэтому, чтобы перейти к содержимому нашей системы, нам нужно будет сказать cd ../../../../ — но прежде чем мы перейдем к чему-либо, давайте посмотрим, есть ли что-нибудь в текущем каталоге.

ls -a
Вход в полноэкранный режим Выход из полноэкранного режима

Файл Sup3rS3cretPickl3Ingred.txt кажется подозрительным, почему бы нам не открыть его? 🧐

Ух ты, и вот мы нашли наш первый флаг! 😁


Если вам было интересно, что находится в файле clue.txt, то вот, пожалуйста:

Существует также каталог /assets, но в нем нет ничего важного для нас.


Шаг второй: поиск второго флага

С первым флагом мы разобрались, давайте двигаться дальше. Вернитесь к командной панели и выполните cd в ../../../../, чтобы мы могли перечислить все, что находится в нашем текущем рабочем каталоге.

cd ../../../; ls-a;
Вход в полноэкранный режим Выход из полноэкранного режима

Мы видим, что отсюда мы можем перейти в домашнюю папку. Давайте сделаем это и перечислим все содержимое этой папки, чтобы посмотреть, какие важные данные мы сможем найти.

cd ../../../; ls-a; cd '/home'; ls -a
Вход в полноэкранный режим Выход из полноэкранного режима

Поскольку это Rick and Morty CTF, давайте посмотрим, что находится в каталоге /rick.

cd ../../../; ls-a; cd '/home/rick'; ls -a
Войти в полноэкранный режим Выход из полноэкранного режима

Наверняка во втором каталоге ингредиентов есть что-то ценное. Поскольку это не тип файла, такой как .txt или .php, мы не можем вставить его в наш URL. Нам нужно посмотреть, можем ли мы «прочитать» его в командной панели с помощью таких команд, как cat.

Но есть одна проблема! Если мы попытаемся прочитать содержимое файла с помощью команды cat, мы получим ошибку. Похоже, что наша программа больше любит собак, так как команда отключена, чтобы нам было труднее увидеть содержимое файла. Нам нужно найти альтернативную команду! 😼

Может быть, нашей командной панели стоит прислушаться к Анжеле из «Офиса»! 😆

Не волнуйтесь, благородный рыцарь, давайте попробуем менее любимого брата кота — поняли, менее? *Sigh*, шутка никогда не бывает смешной, если ее приходится объяснять. 😪

cd ../../../; ls -a; less '/home/rick/second ingredients';
Вход в полноэкранный режим Выход из полноэкранного режима

Мы нашли флаг! Теперь давайте найдем последний!


Шаг 3: Поиск третьего флага

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

Давайте посмотрим, какие привилегии нам нужны, чтобы попасть в корневую папку. Для этого нам нужно воспользоваться командой sudo -l, которая выведет список разрешенных (и запрещенных) команд для вызывающего пользователя на текущем хосте.

sudo -l
Вход в полноэкранный режим Выход из полноэкранного режима


Мы видим, что нам не нужен никакой пароль, чтобы попасть в корневую папку. Это означает, что мы можем просто перечислить все ее содержимое напрямую. 😎

sudo ls /root
Вход в полноэкранный режим Выйти из полноэкранного режима

Хорошая работа по достижению этой точки. Поскольку мы можем предположить, что наш третий флаг будет находиться в файле 3rd.txt, мы можем уменьшить его и посмотреть, что он читает. Я хочу показать вам, что мы не можем получить доступ к нему через URL, как к нашему файлу Sup3rS3cretPickl3Ingred.txt. Нам нужно использовать командную панель!

sudo less /root/3rd.txt
Вход в полноэкранный режим Выход из полноэкранного режима

Ух ты! Мы нашли все три флага! 🥳


Заключение

Надеюсь, Рик сможет вернуться к человеческой жизни, благодаря нам, конечно. Надеюсь, эта статья, какой бы беспорядочной она ни была, хоть немного помогла.

И с этим мы успешно завершили Pickle Rick CTF! 👾

Оцените статью
Procodings.ru
Добавить комментарий