Сегодня покажу Вам туториал прохождения задания начального уровня в Hack The Box под кодовым именем Fawn. Суть - эксплуатация уязвимостей ftp протокола.
Ответы на вопросы
Как и в прошлый раз сразу представлю для ленивых ответы на вопросы тестового задания на самой платформе. Чаще всего мне интереснее пройти тест, понять про что идет речь и сразу приступить к тестированию виртуальной машины, но не советую "переписывать все с листочка". Попробуйте ответить сами, а ответы Вам лишь для сверки или когда ну уж совсем не знаете.
Хакерство
Теперь непосредственно к сути дела, а именно виртуальной машине Fawn. В этот раз я решил попробовать все сделать через виртуальную машину которую предлагает сам HTB, кстати отмечу сразу, что для тех у кого под рукой нет гипервизора или машины на Linux - очень даже неплохой вариант.
Единственный минус - это ограниченный срок использования в 2 часа.
Как создать саму виртуальную машину объяснять нет смысла, так как все делается в два клика без подводных камней.
Подключился через ssh основной машины:
Тут нас встречает красивое лого авторизации (действительно симпатичное).
Адрес Fawn машины: 10.129.33.230
Как всегда начну со сканирования портов утилитой nmap.
nmap -sV 10.129.33.230
Открыт 21 порт протокол tcp (транспортного уровня) на ftp протоколе (прикладного уровня).
Небольшой экскурс в модель взаимодействия открытых систем (OSI) для нашего случая:
- Прикладной - здесь наш протокол ftp
- Представлений
- Сеансовый
- Транспортный - здесь наш протокол tcp
- Сетевой
- Канальный
- Физический
Поэтому ошибки в том, что я назвал и ftp, и tcp протоколами нет, просто они работают на разных уровнях модели OSI.
Так как мы проходим легкий уровень, то скорее всего уязвимость кроется на этапе аутентификации (входу по логину и паролю) в ftp, но предлагаю Вам всегда мыслить чуть шире. Из nmap сканирования мы также видим версию ftp-сервиса - vsftpd 3.0.3. Предлагаю рассмотреть данное ПО с точки зрения наличия в нем уязвимостей.
Идем на официальный сайт vsftpd. Актуальная версия на момент написания статьи - 3.0.5, а это значит, что в предыдущей версии скорее всего имеется уязвимость. Осталось найти какая конкретно уязвимость. Есть база уязвимостей NVD, производим поиск по версии программного обеспечения и находим уязвимость - отказ в обслуживании, с оценкой - 7.5 (Высокая). Это значит, что с большой вероятностью злоумышленник эксплуатируя данную уязвимость получит доступ к сервису ftp. Это просто пища для размышлений, ведь прохождение заданий на HTB - это творческий процесс и в более сложных задачах мы могли бы воспользоваться именно этой уязвимостью в безопасности ftp.
Возвращаемся к заданию.
Так как уровень легкий, попробуем зайти на ftp под root без пароля:
ftp root@10.129.33.230
Попытка провалилась. Следующий этап - перебор других учетных записей, но зная стандартные настройки ftp наиболее вероятной учетной записью без пароля является anonymous (анонимный вход без пароля).
Без опыта работы с данным протоколом можно было и просто загуглить.
Успех. Сразу смотрим что находится в корне ftp-сервиса и находим цель задания - flag.txt (Флаг).
Переносим данный файл себе на основную машину:
get flag.txt
Смотрим содержимое файла командой cat:
cat flag.txt
Значение флага получено, копируем и вставляем в задание на платформе HTB.
Заключение
Как и в прошлый раз все достаточно просто, но теперь вы знаете как можно найти иные пути решения задачи. Никогда не останавливайтесь на достигнутом, ищите нестандартные пути решения - ведь злоумышленник именно так и будет делать, а чтобы предотвратить возможную атаку на Вашу систему необходимо мыслить как злоумышленник и тогда Вам будет легче закрыть все дыры в системе (в нашем примере можно было устранить уязвимость отказа в обслуживании просто обновлением программного обеспечения до актуальной версии).