В 2013 году мы запустили уникальные лаборатории тестирования на проникновение — «Test lab». Являясь, по сути, копиями реальных корпоративных сетей (не CTF), содержащие различные уязвимости и ошибки конфигураций, лаборатории позволяют понять, как происходит реальная атака на корпоративную сеть злоумышленниками, освоить их инструменты и методологии, научиться выстраивать различные вектора атак. Без таких знаний специалистам по информационной безопасности невозможно выработать качественные защитные меры.
Спустя 4 года «Test lab» не утратили своей уникальности и собрали более 18500 участников со всего мира. Ежедневно работая с такой аудиторией, накапливая практические навыки тестирования на проникновение, форензики и противодействия кибер-атакам, мы делаем "Корпоративные лаборатории Pentestit" — уникальные по своему составу курсы практической ИБ-подготовки.
Лаборатории тестирования на проникновение «Test lab»
Первые лаборатории «Test lab», представляющие собой копии сети маленьких компаний (домен, почта, файловый сервер и что-то еще), превратились в сложные и распределенные централизованные сети (Домены, VPN-туннели, сервера подразделений и пр.), при этом не утратив своей сути — необходим произвести полную компрометацию ИТ-структуры лаборатории, правильно выстраивая вектора атаки. В этом и заключается уникальность «Test lab» — в отличие от CTF, узлы в лабораториях взаимосвязаны между собой, компрометация одного из них может помочь развить вектор атаки на другие. В некоторых лабораториях мы закладываем социо-технические вектора атаки (например, на офис-менеджера или иного сотрудника лаборатории) для большей реалистичности.
Прежде, чем реализовывать идею — нужно хорошо понимать свою целевую аудиторию. Каждый раз, запуская очередную лабораторию, мы получаем бесценный практический опыт, который, вместе с нашими навыками поиска и эксплуатации уязвимостей, мы переносим в «Корпоративные лаборатории Pentestit», делая их отличным полигоном для получения быстрой и качественной практической подготовки в области ИБ для специалистов по защите информации, пентестеров, разработчиков и системных администраторов.
Разминка — «Zero Security: A»
Обучение в «Корпоративных лабораториях» требует качественной предварительной подготовки. Такую подготовку можно получить на курсе «Zero Security: A», где под руководством куратора вы изучите стандартный инструментарий Kali Linux Rolling Edition 2017, узнаете о всех этапах тестирования на проникновение — от разведки и сбора информации до методах поиска и эксплуатации уязвимостей и социальной инженерии. Как и «Корпоративные лаборатории», 70% курса составляет практическая работа в специализированных лабораториях.
Программа курса Zero Security: A
- УК РФ и преступления в сфере информационных технологий
- Модели угроз, их виды, объекты исследований
- Знакомство с Linux. Введение в Kali Linux Rolling Edition 2017.1 и обзор стандартного инструментария
- Разведка и сбор информации
- Сканирование сети
- Эксплуатация web-уязвимостей, введение в Burp Suite, знакомство с OWASP Top-10
- Безопасность сетевой инфраструктуры
- Анализ защищенности беспроводных сетей
- Введение в Metasploit Framework
- Анализ методов обхода проактивных систем защиты
- Введение в социальную инженерию
Одно из заданий в Zero Security: A - Local File Inclusion
При проведении пентеста веб-приложений особое внимание необходимо уделять параметрам, которые присутствуют в различных запросах, благодаря им мы можем влиять на реакцию веб-приложения. У нас есть всего один параметр в GET запросе — page, значениями которого являются файлы с расширением php, из чего можно сделать вывод, что различные страницы включаются в исходный код веб-приложения, например, с помощью функции include().
Приступим к тестированию. Для начала попробуем изменить значение параметра на любую случайную строку — website/?page=abc.php, в результате чего часть информации на странице пропала, ведь мы добавили несуществующую страницу.
Мы точно убедились в том, что веб-приложение уязвимо к Local File Include.
Данная уязвимость интересна тем, что с помощью нее злоумышленник может выполнить произвольный код на уязвимой машине, включив код в веб-приложение. Это можно сделать, например, с помощью различных лог файлов, если в параметре page указать /var/log/apache2/access.log, то получим содержимое лог файла.
Теперь необходимо внедрить код, для чего можно заменить заголовок User Agent на шелл:
После внедрения пейлода в поле User Agent мы можем вызвать наш веб-шелл из журнала веб-сервера:
С помощью формирования команд в URI мы можем выполнять команды на веб-сервере и обнаружить искомый токен.
Приступим к тестированию. Для начала попробуем изменить значение параметра на любую случайную строку — website/?page=abc.php, в результате чего часть информации на странице пропала, ведь мы добавили несуществующую страницу.
Мы точно убедились в том, что веб-приложение уязвимо к Local File Include.
Данная уязвимость интересна тем, что с помощью нее злоумышленник может выполнить произвольный код на уязвимой машине, включив код в веб-приложение. Это можно сделать, например, с помощью различных лог файлов, если в параметре page указать /var/log/apache2/access.log, то получим содержимое лог файла.
Теперь необходимо внедрить код, для чего можно заменить заголовок User Agent на шелл:
После внедрения пейлода в поле User Agent мы можем вызвать наш веб-шелл из журнала веб-сервера:
С помощью формирования команд в URI мы можем выполнять команды на веб-сервере и обнаружить искомый токен.
Хардкор — «Корпоративные лаборатории Pentestit»
У нас свой взгляд на проведение курсов, поэтому вебинары составляют только 30%, остальные 70% — интенсивная практика, оставляя знания «на кончиках пальцев». Такая схема обучения требует максимальной вовлеченности и самоотдачи — вебинары дают понимание того, как происходит поиск, эксплуатация уязвимостей, знания противодействия атакам и разбора инцидентов, но они не способны научить правильно мыслить. Такой опыт может дать только практика. Давайте рассмотрим несколько кейсов.
Кейс 1 - ошибка системного администратора
В локальной сети установлен мини веб-сервер для скачивания дистрибутивов системными администраторами. В списке файлов можно обнаружить скрипт резервного копирования с указанием путей выполнения на Windows-сервере. Веб-сервер содержит уязвимость Directory Traversal и позволяет получить тот или иной файл (если известно его название и он находится на этом сервере). Атакующий обнаруживает папку Backup, содержащую утилиту Radmin и выгруженную ветку реестра passwords.reg. В поле «Parameter» содержится хеш пароля администратора. Подбираем его и получаем возможность подключится к Windows-серверу.
Кейс 2 - Форензика: Volatility, Wireshark
На однои? из машин в сети было обнаружено аномальное поведение. Удалось оперативно снять дамп памяти и сетевого трафика.
Анализ дампа памяти будем проводить при помощи Volatility Framework. Выведем информацию о дампе:
В дампе памяти замечаем процесс с нестандартным именем: Movie_HD720p, PID: 198. Видим, что исполняемый файл процесса Movie_HD720p.torrent.exe, именно через него и произошло заражение.
На порт 7337, который слушал процесс PID 198 (Movie_HD720p), производилось подключение с адреса XXX.XXX.XXX.XXX.
Настроив фильтр в Wireshark можно увидеть сетевую активность злоумышленника: он не использовал шифрование, поэтому команды передавались в открытом виде.
Анализ дампа памяти будем проводить при помощи Volatility Framework. Выведем информацию о дампе:
В дампе памяти замечаем процесс с нестандартным именем: Movie_HD720p, PID: 198. Видим, что исполняемый файл процесса Movie_HD720p.torrent.exe, именно через него и произошло заражение.
На порт 7337, который слушал процесс PID 198 (Movie_HD720p), производилось подключение с адреса XXX.XXX.XXX.XXX.
Настроив фильтр в Wireshark можно увидеть сетевую активность злоумышленника: он не использовал шифрование, поэтому команды передавались в открытом виде.
Кейс 3 - Web Application: Blind SQLi
В локальной сети ображиваем веб-сервер SCADA, относящийся к системе АСУ ТП.
Исследую код страницы веб-приложения обнаруживаем скрытые значение, передающиеся методом POST:
Вероятнее всего эта информация уже устарела, при вводе данных получаем сообщение о том, что мы забанены:
Пробуем исследовать ответы сервера с помощью burp suite:
При блокировке пользователя добавляется новый параметр url=panel, пробуем исследовать поведение сервера при изменении параметров:
Отправив несколько запросов на выявления SQL-инъекции видим, что при подстановке значений sleep веб-приложение отдает ответ с задержкой, приблизительно (погрешность) равной значению sleep параметра. Это указывает на наличие Time-Based SQL-инъекции.
Используя выявленный параметр в запросе sqlmap выявляем содержимое базы данных и получаем искомый токен.
Исследую код страницы веб-приложения обнаруживаем скрытые значение, передающиеся методом POST:
Вероятнее всего эта информация уже устарела, при вводе данных получаем сообщение о том, что мы забанены:
Пробуем исследовать ответы сервера с помощью burp suite:
При блокировке пользователя добавляется новый параметр url=panel, пробуем исследовать поведение сервера при изменении параметров:
Отправив несколько запросов на выявления SQL-инъекции видим, что при подстановке значений sleep веб-приложение отдает ответ с задержкой, приблизительно (погрешность) равной значению sleep параметра. Это указывает на наличие Time-Based SQL-инъекции.
Используя выявленный параметр в запросе sqlmap выявляем содержимое базы данных и получаем искомый токен.
Программа курса Корпоративные лаборатории
Модуль «Профи» — развитие профессиональных навыков в области тестирования на проникновение и получение практический опыт компрометации современных систем.
Модуль «Эксперт» — предназначен для развития экспертных практических навыков в области тестирования на проникновение, защиты систем и расследования инцидентов информационной безопасности.
Модуль «RedTeam» — предназначен для обучения командной работы по направлениям: тестирование на проникновение, расследование инцидентов ИБ
- Законодательство в сфере ИБ в России и за рубежом;
- Тестирование на проникновение: методология, методы, виды, инструментарий;
- Сетевая безопасность: сканирование, ошибки в конфигурациях, эксплуатация и пост-эксплуатация;
- Безопасность веб-приложений: природа SQL?инъекций, основы XSS и инструменты для эксплуатации веб?уязвимостей;
- Построение эффективных систем обеспечения ИБ: вводная информация и обзор существующих IDS;
- Проведение MITM-атак и методы защиты;
- Расширенный workshop по SQLi: атаки на популярные базы данных;
- Расширенный workshop по XSS;
- Уязвимости современных веб?приложений;
- Расширенная сетевая безопасность: поиск уязвимостей в сетевой инфраструктуре;
- Применение Python в тестировании на проникновение;
- Построение эффективных систем обеспечения ИБ;
- Безопасность беспроводных сетей;
- Практическая работа в специализированных лабораториях.
Модуль «Эксперт» — предназначен для развития экспертных практических навыков в области тестирования на проникновение, защиты систем и расследования инцидентов информационной безопасности.
- Пост?эксплуатация в Windows системах;
- Пост?эксплуатация в Linux системах;
- Расследование кибер-преступлений;
- Форензика мобильных устройств;
- Форензика: использование Volatility Framework для анализа дампов RAM и файловых систем;
- Практическая работа в специализированных лабораториях.
Модуль «RedTeam» — предназначен для обучения командной работы по направлениям: тестирование на проникновение, расследование инцидентов ИБ
- Командное взаимодействие при проведении тестирования на проникновение;
- Системы обработки данных при проведении тестирования на проникновение;
- Использование средств анализа и управления уязвимостями;
- Проведение социо-технических кампаний;
- Реагирование и расследование инцидентов;
- Анализ вредоносной активности: выявление и нейтрализация угроз;
- Практическая работа в специализированных лабораториях.
Еще одна особенность «Корпоративных лабораторий» — это единый сюжет лабораторной среды, проще говоря — лаборатории представляют собой копии реальных компаний с заложенными уязвимостями и ошибками конфигурации и требуют верно выстроенных векторов атак. Любую из наших программ обучения сопровождает куратор, задачей которого является помощь в выполнении заданий (если требуется), а также контроль правильности их выполнения. Курс завершается выдачей фирменного сертификата.
Видео-обзоры Корпоративных лабораторий
Полный обзор «Корпоративных лабораторий»
Timing-атака на SSH
PowerShell Empire framework
Комбинированные атаки на веб-приложения
Зашифрованное командное управление через DNS
Демонстрация работы сканера OpenVAS9 в Kali Linux
Timing-атака на SSH
PowerShell Empire framework
Комбинированные атаки на веб-приложения
Зашифрованное командное управление через DNS
Демонстрация работы сканера OpenVAS9 в Kali Linux
Если появятся вопросы — задавайте в комментариях. До встречи на курсах Pentestit!