CTF (Capture the Flag) – Kenobi. TryHackMe.
Здравствуйте, дорогие друзья. Сегодня рассмотрим решение уязвимой машины, с сервиса TryHackMe, которая называется – Kenobi.
![kenobi](https://timcore.ru/wp-content/uploads/2021/11/screenshot_30.png)
Можно сказать, что это пошаговое руководство по эксплуатации машины Linux, с использованием Samba. Также нам можно повысить свои привилегии, с помощью манипуляций с переменными пути.
Итак, в первом таске, необходимо запустить машину, и я выберу AttackBox (Kali Linux). Делаю это для удобства начинающим, но, для того, чтобы использовать эту ос, нужно иметь премиум подписку.
После запуска машины, можно отметить первый вопрос пройденным:
![deploiy vm](https://timcore.ru/wp-content/uploads/2021/11/screenshot_1-1-1024x550.png)
Переходим к следующему вопросу, и он звучит так: «Просканируйте машину с помощью nmap, сколько портов открыто?». Задание предельно ясно, и мы идем в терминал Kali, прописав команду: «nmap 10.10.132.42 -vvv»:
![nmap 10.10.132.42 -vvv](https://timcore.ru/wp-content/uploads/2021/11/screenshot_2-1.png)
По завершении результатов сканирования, Вы насчитаете 7 открытых портов. Пропишем ответ в задании:
![По завершении результатов сканирования, Вы насчитаете 7 открытых портов. Пропишем ответ в задании](https://timcore.ru/wp-content/uploads/2021/11/screenshot_3-1.png)
Отлично. Первый таск завершен.
Переходим ко второму таску, и в нем нам придется поработать со стандартом 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](https://timcore.ru/wp-content/uploads/2021/11/screenshot_4-1.png)
В выводе можно насчитать 3 ресурса. Сдаем ответ:
![В выводе можно насчитать 3 ресурса. Сдаем ответ](https://timcore.ru/wp-content/uploads/2021/11/screenshot_5-1.png)
В большинстве дистрибутивов Linux, smbclient уже установлен.
Его можно запустить с помощью команды: «smbclient -L //ip-addr»:
![В большинстве дистрибутивов Linux, smbclient уже установлен. Его можно запустить с помощью команды: «smbclient -L //ip-addr»](https://timcore.ru/wp-content/uploads/2021/11/screenshot_6-1.png)
Итак, в машине существуют 3 ресурса.
Следующий вопрос: «Перечислите файлы в общей папке. Какой файл вы видите?»
Это делается очень просто. С помощью команды: «smbcient //10.10.132.42/anonymous» мы перейдем в шелл smb:
![smbcient //10.10.132.42/anonymous](https://timcore.ru/wp-content/uploads/2021/11/screenshot_7-1.png)
Вводим команду «ls», и видим файл, с расширением «.txt». Сдаем ответ:
![Вводим команду «ls», и видим файл, с расширением «.txt». Сдаем ответ](https://timcore.ru/wp-content/uploads/2021/11/screenshot_8.png)
Следующий вопрос: «На каком порту работает FTP?»
![Следующий вопрос: «На каком порту работает FTP?»](https://timcore.ru/wp-content/uploads/2021/11/screenshot_9-1.png)
Как видим – это порт 21. Сдаем решение:
![Как видим – это порт 21. Сдаем решение](https://timcore.ru/wp-content/uploads/2021/11/screenshot_10-1.png)
Предыдущее сканирование портов 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](https://timcore.ru/wp-content/uploads/2021/11/screenshot_11-1.png)
На глаза попадается директория «/var». Сдаем ответ:
![На глаза попадается директория «/var». Сдаем ответ](https://timcore.ru/wp-content/uploads/2021/11/screenshot_12-1.png)
Переходим к 3-му таску, который посвящен серверу ProFtpd.
Для начала, нам нужно определить версию сервера. Это делается с помощью команды netcat, которая выглядит как: «nc ip_addr 21»:
![nc ip_addr 21](https://timcore.ru/wp-content/uploads/2021/11/screenshot_13-1.png)
Получили версию. Сдаем ответ:
![Получили версию. Сдаем ответ](https://timcore.ru/wp-content/uploads/2021/11/screenshot_14-1.png)
Следующий вопрос звучит как: «Сколько существует эксплойтов для работы ProFTPd?». Воспользуемся инструментом для поиска эксплойтов – Searchsploit:
![searchsploit](https://timcore.ru/wp-content/uploads/2021/11/screenshot_15-1.png)
Получилось 3 эксплойта. Недавно появился еще один эксплойт, так что нужно добавить +1 к основному списку. Сдаем ответ:
![exploit](https://timcore.ru/wp-content/uploads/2021/11/screenshot_16-1.png)
Далее Вы должны были найти эксплойт в модуле mod_copy ProFtpd. Модуль mod_copy реализует команды SITE CPFR и SITE CPTO, которые можно использовать для копирования файлов / каталогов из одного места в другое на сервере.
Любой неаутентифицированный клиент может использовать эти команды для копирования файлов из любой части файловой системы в выбранное место назначения. Мы знаем, что служба FTP работает от имени пользователя Kenobi (из файла в общей папке), и для этого пользователя создается ключ ssh. Теперь мы собираемся скопировать закрытый ключ Кеноби с помощью команд SITE CPFR и SITE CPTO:
![SITE CPFR и SITE CPTO](https://timcore.ru/wp-content/uploads/2021/11/screenshot_17.png)
Все успешно скопировалось, и мы переместили закрытый ключ Кеноби в каталог / var / tmp. Переходим к следующему вопросу: «Давайте смонтируем каталог /var/tmp на нашу машину»:
![/var/tmp/](https://timcore.ru/wp-content/uploads/2021/11/screenshot_18-1.png)
Мы можем перейти в /var/tmp и получить закрытый ключ, а затем войти в учетную запись Кеноби:
![Мы можем перейти в /var/tmp и получить закрытый ключ, а затем войти в учетную запись Кеноби](https://timcore.ru/wp-content/uploads/2021/11/screenshot_19-1.png)
![shell kenobi](https://timcore.ru/wp-content/uploads/2021/11/screenshot_20-1.png)
Осталось найти наш флаг:
![Осталось найти наш флаг](https://timcore.ru/wp-content/uploads/2021/11/screenshot_21-1.png)
Сдаем флаг:
![Сдаем флаг](https://timcore.ru/wp-content/uploads/2021/11/screenshot_22-1.png)
Биты SUID могут быть опасными, некоторые двоичные файлы, такие как passwd, должны запускаться с повышенными привилегиями (например, сбрасывать ваш пароль в системе), однако другие пользовательские файлы могут иметь бит SUID, что может привести ко всевозможным проблемам.
Чтобы найти в системе файлы этого типа, выполните следующее: find / -perm -u = s -type f 2> / dev / null
Вопрос: «Какой файл выглядит особенно необычно?»:
![Вопрос: «Какой файл выглядит особенно необычно?»](https://timcore.ru/wp-content/uploads/2021/11/screenshot_23-1.png)
Сходу ответить сложно, но можно подобрать каталог. У нас это «/usr/bin/menu»:
![Сходу ответить сложно, но можно подобрать каталог. У нас это «/usr/bin/menu»](https://timcore.ru/wp-content/uploads/2021/11/screenshot_24-1.png)
Далее нужно запустить бинарник, и подсчитать количество опций:
![Далее нужно запустить бинарник, и подсчитать количество опций](https://timcore.ru/wp-content/uploads/2021/11/screenshot_25-1.png)
Ответ: 3.
![Ответ: 3.](https://timcore.ru/wp-content/uploads/2021/11/screenshot_26-1.png)
Далее, нам нужно повысить привилегии до рута. Это делается с помощью некоторых команд:
![повышаем привилегии до рута](https://timcore.ru/wp-content/uploads/2021/11/screenshot_27.png)
Осталось найти сам флаг:
![Осталось найти сам флаг](https://timcore.ru/wp-content/uploads/2021/11/screenshot_28.png)
Сдаем флаг рута:
![Сдаем флаг рута](https://timcore.ru/wp-content/uploads/2021/11/screenshot_29-1024x574.png)
Отлично. Мы прошли данную машину.