Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
15 марта 2021 года Pentestit запускает лабораторию «Test lab 15», где IT - специалисты смогут бесплатно оценить свои силы в поисках уязвимостей корпоративной сети и веб-приложениях компании.
Что такое «Test lab»
Лаборатории Test lab — это полигон для киберучений, где участники получают опыт анализа защищённости информационных систем. Каждая такая лаборатория имеет целостную инфраструктуру, историю и множество скрытых уязвимостей, которые необходимо обнаружить, локализовать и проэксплуатировать, а в итоге - составить полноценный сценарий для компрометации сети компании. Важной особенностью Test lab является максимальная реалистичность. Участники, выступающие в роли атакующих, по мере прохождения, получают доступ к отдельным узлам лаборатории, каждый из которых содержит токен. Победителем считается тот, кто первым соберет все токены и получит полный контроль над виртуальной корпоративной сетью. Любой желающий может попробовать свои силы и проверить имеющиеся навыки в области информационной безопасности. Лаборатории всегда уникальны и содержат наиболее актуальные уязвимости.
Что необходимо для проверки своих сил и возможностей:
Зарегистрироваться в личном кабинете на сайте lab.pentestit.ru, где будет доступна информация для подключения к лаборатории (логин/пароль).
Подключиться к лаборатории через OpenVPN.
Установить соединение и получить доступ к шлюзам, за которыми располагается сеть тестовой компании.
Начать развивать атаку.
В чем заключается суть прохождения заданий
Основной смысл лаборатории - получение и закрепление навыков поиска и эксплуатации уязвимостей как в ручном режиме, так и с использованием специального инструментария, такого как: Nmap, Tplmap, Dirbuster, Wapiti, BurpSuite/OWASP Zap, Metasploit Framework, Patator/Hydra, Enum4linux, Whatweb, а также инструментов для реверс-инжиниринга, анализа сетевых протоколов и т.д.
Получая токены, вы сможете глубже проникнуть в тестовую корпоративную сеть, где будет доступно все больше серверов для атаки. В ходе работы вы ознакомитесь с популярными технологиями, это позволит взглянуть на ИБ со стороны злоумышленника. Стоит помнить и про главный ваш инструмент - логическое мышление и находчивость.
Вся информация представлена в ознакомительных целях, не нарушайте законодательство.
Для наглядного примера предлагаем разобрать несколько задач прошедших лабораторий.
Wiki
На странице сайта имеется строка поиска, куда вводим текст и убеждаемся, что он отображается на странице:
Вывод
Предположив, что используется шаблонизатор, вводим данные для его определения:
{{7*7}}
На странице отобразился введённый текст без изменений, следовательно, это не Jinga и не Twig. Для экономии времени воспользуемся инструментом Tplmap, который не смог выяснить, какой плагин используется:
# ./tplmap.py -u http://127.0.0.1/?a=
С помощью WhatWeb узнали, что сайт написан на Ruby-on-Rails:
# whatweb 127.0.0.1
Пробуем воспользоваться пейлоадом для популярного на Ruby-on-Rails шаблонизатором Haml:
<%=7*7>
На странице отобразилось 49, следовательно, плагин найден верно. Затем составляем запрос, позволяющий получить токен:
токен
Router
Произведя разведку в виде сканирования TCP-портов, результатов не получили. Пробуем сканировать UDP. Нашли открытый SNMP порт (161 UDP). И при помощи инструмента Onesixtyone имеем community-строки:
# onesixtyone -c /usr/share/john/password.lst 172.16.50.50
Когда есть необходимые данные, при помощи инструмента Snmpwalk пробуем получить информацию о сервере:
# snmpwalk -c skywalker -v1 172.16.50.50
Проанализировав вывод команды, замечаем странное имя системы, вероятно, это токен.
Java
Открываем jar-файл как архив и видим, что он состоит из одного класса Main. Заходим в Main.class в IDE:
Класс Main
Изучив декомпилированный код, обнаруживаем информацию для подключения к SSH и вывод результата выполнения команды:
df -h | grep /dev/sda1
При этом обращаем внимание, что пароль видоизменяется. Добавляем несколько строчек в класс, чтобы вывести IP-адрес сервера, логин и пароль, с которыми происходит подключение:
Редактируем класс
Компилируем изменённый класс и подменяем им оригинальный класс в jar-файле. Запускаем файл:
Вывод программы
Выведенный на экран пароль является токеном.
Статистика по Test lab
Уже более 33.000 пользователей со всего мира зарегистрировано на сайте лабораторий. При этом, всего 664 участника выполнили первое задание из предыдущей лаборатории. В то же время, только 69 из них смогли скомпрометировать ИТ-структуру виртуальной компании полностью.
О нас
Помимо создания уникальных лабораторий, мы являемся разработчиками Nemesida WAF (комплексная защита сайтов, интернет-магазинов, личных кабинетов, порталов, маркетплейсов, API и других веб-приложений от хакерских атак на основе машинного обучения Nemesida AI), а также предоставляем услуги анализа на наличие недостатков (уязвимостей) корпоративных сетей и веб-приложений крупнейшим компаниям из России, США, Великобритании, Чехии, Украины, Молдавии, Азербайджана, Казахстана, Канады; проводим подготовку сотрудников крупных компаний в области информационной безопасности . Если вы хотите более детально разобраться, как все это работает — предлагаем пройти обучение по программам Zero Security: A (базовая подготовка) или Корпоративные лаборатории Pentestit (расширенная подготовка).
Заключение
В процессе работы в лаборатории Test lab участники изучат природу уязвимостей, основные инструменты эксплуатации, способы противодействия и психологию злоумышленника. Понимая, как выстраивать реальные векторы атаки, вы научитесь эффективно противостоять им. До встречи в новой Test lab 15!