Capture the Flag, CTF, TryHackMe

CTF (Capture the Flag) – Kenobi. TryHackMe.

Здравствуйте, дорогие друзья. Сегодня рассмотрим решение уязвимой машины, с сервиса TryHackMe, которая называется – Kenobi.

kenobi

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

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

После запуска машины, можно отметить первый вопрос пройденным:

deploiy vm

Переходим к следующему вопросу, и он звучит так: «Просканируйте машину с помощью nmap, сколько портов открыто?». Задание предельно ясно, и мы идем в терминал Kali, прописав команду: «nmap 10.10.132.42 -vvv»:

nmap 10.10.132.42 -vvv

По завершении результатов сканирования, Вы насчитаете 7 открытых портов. Пропишем ответ в задании:

По завершении результатов сканирования, Вы насчитаете 7 открытых портов. Пропишем ответ в задании

Отлично. Первый таск завершен.

Переходим ко второму таску, и в нем нам придется поработать со стандартом Windows – Samba. SMB имеет два порта, 445 и 139.

По заданию, необходимо выполнить скрипт, с помощью nmap, и найти общие ресурсы, которые будут выполнены, с помощью команды:

«nmap -p 445 —script = smb-enum-share.nse, smb-enum-users.nse 10.10.132.42»:

nmap -p 445 --script = smb-enum-share.nse, smb-enum-users.nse 10.10.132.42

В выводе можно насчитать 3 ресурса. Сдаем ответ:

В выводе можно насчитать 3 ресурса. Сдаем ответ

В большинстве дистрибутивов Linux, smbclient уже установлен.

Его можно запустить с помощью команды: «smbclient -L //ip-addr»:

В большинстве дистрибутивов Linux, smbclient уже установлен. Его можно запустить с помощью команды: «smbclient -L //ip-addr»

Итак, в машине существуют 3 ресурса.

Следующий вопрос: «Перечислите файлы в общей папке. Какой файл вы видите?»

Это делается очень просто. С помощью команды: «smbcient //10.10.132.42/anonymous» мы перейдем в шелл smb:

smbcient //10.10.132.42/anonymous

Вводим команду «ls», и видим файл, с расширением «.txt». Сдаем ответ:

Вводим команду «ls», и видим файл, с расширением «.txt». Сдаем ответ

Следующий вопрос: «На каком порту работает FTP

Следующий вопрос: «На каком порту работает FTP?»

Как видим – это порт 21. Сдаем решение:

Как видим – это порт 21. Сдаем решение

Предыдущее сканирование портов nmap показало, что порт 111 запускает службу rpcbind. Это просто сервер, который преобразует номер программы удаленного вызова процедур (RPC) в универсальные адреса. Когда служба RPC запускается, она сообщает rpcbind адрес, который она прослушивает, и номер программы RPC, которую она готова обслуживать. В нашем случае порт 111 — это доступ к сетевой файловой системе. Давайте использовать nmap командой: «nmap -p 111 —script = nfs-ls, nfs-statfs, nfs-showmount 10.10.132.42»:

nmap -p 111 --script = nfs-ls, nfs-statfs, nfs-showmount 10.10.132.42

На глаза попадается директория «/var». Сдаем ответ:

На глаза попадается директория «/var». Сдаем ответ

Переходим к 3-му таску, который посвящен серверу ProFtpd.

Для начала, нам нужно определить версию сервера. Это делается с помощью команды netcat, которая выглядит как: «nc ip_addr 21»:

nc ip_addr 21

Получили версию. Сдаем ответ:

Получили версию. Сдаем ответ

Следующий вопрос звучит как: «Сколько существует эксплойтов для работы ProFTPd?». Воспользуемся инструментом для поиска эксплойтов – Searchsploit:

searchsploit

Получилось 3 эксплойта. Недавно появился еще один эксплойт, так что нужно добавить +1 к основному списку. Сдаем ответ:

exploit

Далее Вы должны были найти эксплойт в модуле mod_copy ProFtpd. Модуль mod_copy реализует команды SITE CPFR и SITE CPTO, которые можно использовать для копирования файлов / каталогов из одного места в другое на сервере.

Любой неаутентифицированный клиент может использовать эти команды для копирования файлов из любой части файловой системы в выбранное место назначения. Мы знаем, что служба FTP работает от имени пользователя Kenobi (из файла в общей папке), и для этого пользователя создается ключ ssh. Теперь мы собираемся скопировать закрытый ключ Кеноби с помощью команд SITE CPFR и SITE CPTO:

SITE CPFR и SITE CPTO

Все успешно скопировалось, и мы переместили закрытый ключ Кеноби в каталог / var / tmp. Переходим к следующему вопросу: «Давайте смонтируем каталог /var/tmp на нашу машину»:

/var/tmp/

Мы можем перейти в /var/tmp и получить закрытый ключ, а затем войти в учетную запись Кеноби:

Мы можем перейти в /var/tmp и получить закрытый ключ, а затем войти в учетную запись Кеноби
shell kenobi

Осталось найти наш флаг:

Осталось найти наш флаг

Сдаем флаг:

Сдаем флаг

Биты SUID могут быть опасными, некоторые двоичные файлы, такие как passwd, должны запускаться с повышенными привилегиями (например, сбрасывать ваш пароль в системе), однако другие пользовательские файлы могут иметь бит SUID, что может привести ко всевозможным проблемам.

Чтобы найти в системе файлы этого типа, выполните следующее: find / -perm -u = s -type f 2> / dev / null

Вопрос: «Какой файл выглядит особенно необычно?»:

Вопрос: «Какой файл выглядит особенно необычно?»

Сходу ответить сложно, но можно подобрать каталог. У нас это «/usr/bin/menu»:

Сходу ответить сложно, но можно подобрать каталог. У нас это «/usr/bin/menu»

Далее нужно запустить бинарник, и подсчитать количество опций:

Далее нужно запустить бинарник, и подсчитать количество опций

Ответ: 3.

Ответ: 3.

Далее, нам нужно повысить привилегии до рута. Это делается с помощью некоторых команд:

повышаем привилегии до рута

Осталось найти сам флаг:

Осталось найти сам флаг

Сдаем флаг рута:

Сдаем флаг рута

Отлично. Мы прошли данную машину.