Стать хакером: из «Test lab» в «Корпоративные лаборатории»

59d00e2136930374564969.jpeg

В 2013 году мы запустили уникальные лаборатории тестирования на проникновение — «Test lab». Являясь, по сути, копиями реальных корпоративных сетей (не CTF), содержащие различные уязвимости и ошибки конфигураций, лаборатории позволяют понять, как происходит реальная атака на корпоративную сеть злоумышленниками, освоить их инструменты и методологии, научиться выстраивать различные вектора атак. Без таких знаний специалистам по информационной безопасности невозможно выработать качественные защитные меры.

Спустя 4 года «Test lab» не утратили своей уникальности и собрали более 18500 участников со всего мира. Ежедневно работая с такой аудиторией, накапливая практические навыки тестирования на проникновение, форензики и противодействия кибер-атакам, мы делаем «Корпоративные лаборатории Pentestit» — уникальные по своему составу курсы практической ИБ-подготовки.

Лаборатории тестирования на проникновение «Test lab»


В 2013 году мы создали первые лаборатории «Test lab», которые представляли собой копию реальной сети маленькой компании (домен, почта, файловый сервер и что-то еще). Суть участия в лаборатории — компрометации ее структуры, при этом необходимо правильно выстроить вектор атаки. В этом и заключается уникальность «Test lab» — в отличие от CTF, узлы в лабораториях взаимосвязаны между собой, компрометация одного из них может помочь развить вектор атаки на другие. В некоторых лабораториях мы закладываем социо-технические вектора атаки (например, на офис-менеджера или иного сотрудника лаборатории) для большей реалистичности.

Прежде, чем реализовывать идею — нужно хорошо понимать свою целевую аудиторию. Каждый раз, запуская очередную лабораторию, мы получаем бесценный практический опыт, который, вместе с нашими навыками поиска и эксплуатации уязвимостей, мы переносим в «Корпоративные лаборатории Pentestit», делая их отличным полигоном для получения быстрой и качественной практической подготовки в области ИБ для специалистов по защите информации, пентестеров, разработчиков и системных администраторов.

59d01d09baf90454997627.png

Разминка — «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.

59d4b53a8da74860329317.png

Данная уязвимость интересна тем, что с помощью нее злоумышленник может выполнить произвольный код на уязвимой машине, включив код в веб-приложение. Это можно сделать, например, с помощью различных лог файлов, если в параметре page указать /var/log/apache2/access.log, то получим содержимое лог файла.
Теперь необходимо внедрить код, для чего можно заменить заголовок User Agent на шелл:

59d4b537c2b98740669138.png

После внедрения пейлода в поле User Agent мы можем вызвать наш веб-шелл из журнала веб-сервера:

59d4b53d6426a232773404.png

С помощью формирования команд в URI мы можем выполнять команды на веб-сервере и обнаружить искомый токен.

Хардкор — «Корпоративные лаборатории Pentestit»


У нас свой взгляд на проведение курсов, поэтому вебинары составляют только 30%, остальные 70% — интенсивная практика, оставляя знания «на кончиках пальцев». Такая схема обучения требует максимальной вовлеченности и самоотдачи — вебинары дают понимание того, как происходит поиск, эксплуатация уязвимостей, знания противодействия атакам и разбора инцидентов, но они не способны научить правильно мыслить. Такой опыт может дать только практика. Давайте рассмотрим несколько кейсов.

Кейс 1 — ошибка системного администратора
В локальной сети установлен мини веб-сервер для скачивания дистрибутивов системными администраторами. В списке файлов можно обнаружить скрипт резервного копирования с указанием путей выполнения на Windows-сервере. Веб-сервер содержит уязвимость Directory Traversal и позволяет получить тот или иной файл (если известно его название и он находится на этом сервере). Атакующий обнаруживает папку Backup, содержащую утилиту Radmin и выгруженную ветку реестра passwords.reg. В поле «Parameter» содержится хеш пароля администратора. Подбираем его и получаем возможность подключится к Windows-серверу.

59d229db63206634199303.png


Кейс 2 — Форензика: Volatility, Wireshark
На одной из машин в сети было обнаружено аномальное поведение. Удалось оперативно снять дамп памяти и сетевого трафика.

Анализ дампа памяти будем проводить при помощи Volatility Framework. Выведем информацию о дампе:

59d4b5346e77f786188369.png

В дампе памяти замечаем процесс с нестандартным именем: Movie_HD720p, PID: 198. Видим, что исполняемый файл процесса Movie_HD720p.torrent.exe, именно через него и произошло заражение.

На порт 7337, который слушал процесс PID 198 (Movie_HD720p), производилось подключение с адреса XXX.XXX.XXX.XXX.

59d4b53435018704729838.png

Настроив фильтр в Wireshark можно увидеть сетевую активность злоумышленника: он не использовал шифрование, поэтому команды передавались в открытом виде.

59d4b53532507433125322.png


Кейс 3 — Web Application: Blind SQLi
В локальной сети ображиваем веб-сервер SCADA, относящийся к системе АСУ ТП.

59d4b5351b2e5230730056.png

Исследую код страницы веб-приложения обнаруживаем скрытые значение, передающиеся методом POST:

59d4b535788de486485920.png

Вероятнее всего эта информация уже устарела, при вводе данных получаем сообщение о том, что мы забанены:

59d4b53725b56272692774.png

Пробуем исследовать ответы сервера с помощью burp suite:

59d4b535bd7ec510156635.png

При блокировке пользователя добавляется новый параметр url=panel, пробуем исследовать поведение сервера при изменении параметров:

59d4b536938e4805517333.png

Отправив несколько запросов на выявления SQL-инъекции видим, что при подстановке значений sleep веб-приложение отдает ответ с задержкой, приблизительно (погрешность) равной значению sleep параметра. Это указывает на наличие Time-Based SQL-инъекции.

Используя выявленный параметр в запросе sqlmap выявляем содержимое базы данных и получаем искомый токен.


Программа курса Корпоративные лаборатории
Модуль «Профи» — развитие профессиональных навыков в области тестирования на проникновение и получение практический опыт компрометации современных систем.
  • Законодательство в сфере ИБ в России и за рубежом;
  • Тестирование на проникновение: методология, методы, виды, инструментарий;
  • Сетевая безопасность: сканирование, ошибки в конфигурациях, эксплуатация и пост-эксплуатация;
  • Безопасность веб-приложений: природа SQL‐инъекций, основы XSS и инструменты для эксплуатации веб‐уязвимостей;
  • Построение эффективных систем обеспечения ИБ: вводная информация и обзор существующих IDS;
  • Проведение MITM-атак и методы защиты;
  • Расширенный workshop по SQLi: атаки на популярные базы данных;
  • Расширенный workshop по XSS;
  • Уязвимости современных веб‐приложений;
  • Расширенная сетевая безопасность: поиск уязвимостей в сетевой инфраструктуре;
  • Применение Python в тестировании на проникновение;
  • Построение эффективных систем обеспечения ИБ;
  • Безопасность беспроводных сетей;
  • Практическая работа в специализированных лабораториях.

Модуль «Эксперт» — предназначен для развития экспертных практических навыков в области тестирования на проникновение, защиты систем и расследования инцидентов информационной безопасности.

  • Пост‐эксплуатация в Windows системах;
  • Пост‐эксплуатация в Linux системах;
  • Расследование кибер-преступлений;
  • Форензика мобильных устройств;
  • Форензика: использование Volatility Framework для анализа дампов RAM и файловых систем;
  • Практическая работа в специализированных лабораториях.

Модуль «RedTeam» — предназначен для обучения командной работы по направлениям: тестирование на проникновение, расследование инцидентов ИБ

  • Командное взаимодействие при проведении тестирования на проникновение;
  • Системы обработки данных при проведении тестирования на проникновение;
  • Использование средств анализа и управления уязвимостями;
  • Проведение социо-технических кампаний;
  • Реагирование и расследование инцидентов;
  • Анализ вредоносной активности: выявление и нейтрализация угроз;
  • Практическая работа в специализированных лабораториях.

Еще одна особенность «Корпоративных лабораторий» — это единый сюжет лабораторной среды, проще говоря — лаборатории представляют собой копии реальных компаний с заложенными уязвимостями и ошибками конфигурации и требуют верно выстроенных векторов атак. Любую из наших программ обучения сопровождает куратор, задачей которого является помощь в выполнении заданий (если требуется), а также контроль правильности их выполнения. Курс завершается выдачей фирменного сертификата.

59ce12be9288c123755774.jpeg

Видео-обзоры Корпоративных лабораторий
Полный обзор «Корпоративных лабораторий»

Timing-атака на SSH

PowerShell Empire framework

Комбинированные атаки на веб-приложения

Зашифрованное командное управление через DNS

Демонстрация работы сканера OpenVAS9 в Kali Linux



Если появятся вопросы — задавайте в комментариях. До встречи на курсах Pentestit!

© Habrahabr.ru