![]() |
Предисловие (дисклеймер)
Всем доброго времени суток! Этот цикл статей берет свое начало в силу моей заинтересованности данной сферой, а также в силу развития как мягких, так и сложных навыков. Мы будем разбирать уязвимые машины на HTB как для повышения своей компетенции, так и просто в целях самообразования и развития общей эрудиции. В этих разборах поначалу я буду расписывать все максимально подробно для новичков: почему используем именно эту утилиту, флаги утилиты, какие еще вектора атак имели место и тому подобное. После прохождения блока Starting Point я буду думать, что у читателя уже заложился некоторый фундамент взлома машинок, и статьи будут становиться лаконичнее. Под новичками я понимаю людей, которые пришли в данную сферу не с около нулевым багажом знаний, а с некоторыми базовыми навыками такими как: основы сетей, Linux, OWASP TOP 10 и другие. Ведь нам необходимо не просто научиться решать данные машины по некоторой методологии, а с умом и пониманием оценивать те вектора атак, которые заложены в них для дальнейшего предотвращения подобного рода атак на реальной работе. Цитата:
Приветствуется конструктивная критика как от чайников, так и от самоваров в этой сфере. Также прошу сильно не судить, поскольку сам являюсь новичком в этом ремесле. План работы в этом цикле следующий:
После вступительных слов, думаю, можно переходить к непосредственному разбору машины. Настоящий дисклеймер: все техники и инструменты из этой статьи используются исключительно в образовательных целях и не могут применяться на реальной инфраструктуре без соответствующего согласования. Разбор машины "Meow" Просмотрев теги, можно сделать вывод, что в этой машине заложена уязвимость неправильной конфигурации в протоколе Telnet. Для дальнейшей работы с машиной нам необходимо подключиться к ней по VPN. Это можно сделать с помощью openvpn: скачиваете конфигурационный файл с HTB на свою виртуальную машину (Kali Linux), в терминале запускаем утилиту openvpn от sudo, в аргументе которой указываем скачанный файл. В случае успешного подключения в конце логов будет строка «Initialization Sequence Completed». Если подключиться не получается, проверьте, что в вашей ВМ в настройках сети стоит сетевой мост. После подключения к VPN нам будет предложено запустить атакуемую машину: После запуска машины будет предложен её IP-адрес, который потребуется для работы с ней. Переходим к первому вопросу: Методология обучения в Starting Point представляет собой пошаговое решение предложенной машины, то есть на каждом шаге будет задаваться вопрос, и вам необходимо найти/дать на него ответ. Все эти таски составлены таким образом, чтобы привести вас к решению машины. В самом конце этих вопросов обычно необходимо предоставить флаг пользователя и рута. В этот момент вы должны резюмировать всю полученную ранее информацию из этих вопросов и составить логическую цепочку, приводящую к флагам. В первом вопросе нас спрашивают про аббревиатуру «VM». Я думаю, для всех это очевидно, если кому-то не очевидно, взгляните на шаблон ответа. Имеется ввиду Virtual Machine. Вводим ответ и переходим к следующему заданию: Во втором вопросе нас спрашивают, какой инструмент мы используем для администрирования OC через командную строку. Если вы работали с Linux, то знаете, что инструмент командной строки там называется «Terminal». Следующий таск: Спрашивается об инструменте, с помощью которого мы подключились к HTB labs. Чуть ранее я уже проспойлерил, так что ответ: «openvpn». Переходим к следующему заданию: В этом задании спрашивается об аббревиатуре туннельного интерфейса. Для решения просмотрим сетевую конфигурацию нашей системы с помощью утилиты ip : Отсюда видно название сетевого интерфейса, который используется для подключения к VPN: tun0. Переходим на следующий вопрос: В этом таске нас спрашивают об инструменте, который используется для проверки соединения с машиной с помощью протокола ICMP. Я беру за аксиому, что вы знакомы с основами сетей, так что данный вопрос не должен вызывать трудностей. Очевидно, что речь идет об общеизвестной утилите ping, которая используется для отправки echo request и приёма echo reply. Даем ответ и двигаемся дальше: Здесь спрашивается о самом распространенном инструменте для сканирования открытых портов на целевой машине. Обратимся за помощью к Google: Google выдал нам инструмент под названием Nmap. Действительно, данный инструмент возглавляет список всех сетевых сканеров и является наиболее популярным среди них. Эта утилита может стать очень серьезным инструментом в руках опытного специалиста. Даем ответ и едем дальше: Теоретические вопросы кончились — переходим к практическим. Здесь нас спрашивают о названии сервиса, который поднят на 23 порту целевой машины. Для решения воспользуемся инструментом, о котором велась речь в предыдущем вопросе: Пояснение команды:
Сценарии по умолчанию представляют собой набор некоторых скриптов, которые используются nmap во время сканирования каждого порта. Они содержат в себе информационные запросы, проверки на уязвимости, возможности определения версий приложений и тому подобные вещи. К тому же данный флаг позволяет нам задавать набор скриптов автоматически, что может ускорить нашу проверку портов и минимизировать необходимость задания скриптов вручную. К примеру, если на 22 порту был найден сервис SSH, то с этим флагом nmap запустит скрипт проверки на наличие какой-либо уязвимости в протоколе удаленного доступа. Если на 80 порту работает веб-сервер, то тогда утилита автоматически запустит скрипт, выявляющий уязвимости веб-серверов. Про принцип определения версий ПО: Nmap с флагом -sV определяет версии программного обеспечения на различных портах путем отправки зондов (probes) к ним и анализа полученных ответов. Термин probes закрепил за собой nmap, вы можете считать, что это отпечатки пальцев (fingerprinting), по которым как раз и составляется различная информация о том или ином порте. Существует различное количество зондов, которые могут быть отправлены nmap к тому или иному порту. Я приведу в пример два популярных зонда:
Из вывода nmap можно заключить, что на 23 порту запущена служба «telnet». Вводим ответ и переходим к следующему вопросу: Дальше нас спрашивают под каким логином можно войти по telnet в систему без пароля. Здесь нужно вспомнить о том, какая уязвимость была заложена в данную машину — неправильная конфигурация. Она как раз и является слабым звеном в данной тачке. Какие в таком случае могут быть вектора атак? В вопросе кроется подсказка: можно войти с помощью пустого пароля. На лицо признак мисконфига со стороны людей, отвечающих за безопасность машины. Таким образом, можно попытаться перебрать различные популярные логины по типу: admin, administrator, root и так далее: Команда telnet принимает два аргумента:
Отвечаем на вопрос и переходим к заключительному таску: Предлагается найти флаг рута. Это не вызовет проблем, поскольку мы уже авторизованы под записью суперпользователя. Задача сводится к обычному поиску: Оказалось все проще: флаг лежал в домашней директории. На этом данную машину можно считать пройденной — полный доступ к системе был успешно получен. Заключение На этом первая статья в этом цикле подходит к концу. Сегодня мы рассмотрели простейшую машинку, уязвимость которой заключалась в неправильной конфигурации протокола telnet. Я крайне надеюсь, что данная статья была кому-либо полезна, и кто-нибудь открыл для себя что-то новое. Пишите свои пожелания, критику и просто оставляйте фидбэк от прошедшего занятия — мне будет приятно видеть обратную связь. В следующей статье будет разбор машины «Fawn», где поработаем с протоколом FTP. До скорой встречи! |
| Время: 14:43 |