CTF (Capture the Flag) – Kenobi. TryHackMe.
Здравствуйте, дорогие друзья. Сегодня рассмотрим решение уязвимой машины, с сервиса TryHackMe, которая называется – Kenobi.
Можно сказать, что это пошаговое руководство по эксплуатации машины Linux, с использованием Samba. Также нам можно повысить свои привилегии, с помощью манипуляций с переменными пути.
Итак, в первом таске, необходимо запустить машину, и я выберу AttackBox (Kali Linux). Делаю это для удобства начинающим, но, для того, чтобы использовать эту ос, нужно иметь премиум подписку.
После запуска машины, можно отметить первый вопрос пройденным:
Переходим к следующему вопросу, и он звучит так: «Просканируйте машину с помощью nmap, сколько портов открыто?». Задание предельно ясно, и мы идем в терминал Kali, прописав команду: «nmap 10.10.132.42 -vvv»:
По завершении результатов сканирования, Вы насчитаете 7 открытых портов. Пропишем ответ в задании:
Отлично. Первый таск завершен.
Переходим ко второму таску, и в нем нам придется поработать со стандартом Windows – Samba. SMB имеет два порта, 445 и 139.
По заданию, необходимо выполнить скрипт, с помощью nmap, и найти общие ресурсы, которые будут выполнены, с помощью команды:
«nmap -p 445 —script = smb-enum-share.nse, smb-enum-users.nse 10.10.132.42»:
В выводе можно насчитать 3 ресурса. Сдаем ответ:
В большинстве дистрибутивов Linux, smbclient уже установлен.
Его можно запустить с помощью команды: «smbclient -L //ip-addr»:
Итак, в машине существуют 3 ресурса.
Следующий вопрос: «Перечислите файлы в общей папке. Какой файл вы видите?»
Это делается очень просто. С помощью команды: «smbcient //10.10.132.42/anonymous» мы перейдем в шелл smb:
Вводим команду «ls», и видим файл, с расширением «.txt». Сдаем ответ:
Следующий вопрос: «На каком порту работает FTP?»
Как видим – это порт 21. Сдаем решение:
Предыдущее сканирование портов nmap показало, что порт 111 запускает службу rpcbind. Это просто сервер, который преобразует номер программы удаленного вызова процедур (RPC) в универсальные адреса. Когда служба RPC запускается, она сообщает rpcbind адрес, который она прослушивает, и номер программы RPC, которую она готова обслуживать. В нашем случае порт 111 — это доступ к сетевой файловой системе. Давайте использовать nmap командой: «nmap -p 111 —script = nfs-ls, nfs-statfs, nfs-showmount 10.10.132.42»:
На глаза попадается директория «/var». Сдаем ответ:
Переходим к 3-му таску, который посвящен серверу ProFtpd.
Для начала, нам нужно определить версию сервера. Это делается с помощью команды netcat, которая выглядит как: «nc ip_addr 21»:
Получили версию. Сдаем ответ:
Следующий вопрос звучит как: «Сколько существует эксплойтов для работы ProFTPd?». Воспользуемся инструментом для поиска эксплойтов – Searchsploit:
Получилось 3 эксплойта. Недавно появился еще один эксплойт, так что нужно добавить +1 к основному списку. Сдаем ответ:
Далее Вы должны были найти эксплойт в модуле mod_copy ProFtpd. Модуль mod_copy реализует команды SITE CPFR и SITE CPTO, которые можно использовать для копирования файлов / каталогов из одного места в другое на сервере.
Любой неаутентифицированный клиент может использовать эти команды для копирования файлов из любой части файловой системы в выбранное место назначения. Мы знаем, что служба FTP работает от имени пользователя Kenobi (из файла в общей папке), и для этого пользователя создается ключ ssh. Теперь мы собираемся скопировать закрытый ключ Кеноби с помощью команд SITE CPFR и SITE CPTO:
Все успешно скопировалось, и мы переместили закрытый ключ Кеноби в каталог / var / tmp. Переходим к следующему вопросу: «Давайте смонтируем каталог /var/tmp на нашу машину»:
Мы можем перейти в /var/tmp и получить закрытый ключ, а затем войти в учетную запись Кеноби:
Осталось найти наш флаг:
Сдаем флаг:
Биты SUID могут быть опасными, некоторые двоичные файлы, такие как passwd, должны запускаться с повышенными привилегиями (например, сбрасывать ваш пароль в системе), однако другие пользовательские файлы могут иметь бит SUID, что может привести ко всевозможным проблемам.
Чтобы найти в системе файлы этого типа, выполните следующее: find / -perm -u = s -type f 2> / dev / null
Вопрос: «Какой файл выглядит особенно необычно?»:
Сходу ответить сложно, но можно подобрать каталог. У нас это «/usr/bin/menu»:
Далее нужно запустить бинарник, и подсчитать количество опций:
Ответ: 3.
Далее, нам нужно повысить привилегии до рута. Это делается с помощью некоторых команд:
Осталось найти сам флаг:
Сдаем флаг рута:
Отлично. Мы прошли данную машину.