Корпоративные лаборатории Pentestit — уникальные по своему формату и содержанию курсы практической ИБ-подготовки, разработанные на основе лучших практик тестирования на проникновение и анализа защищенности, по уровню содержания сравнимые с материалами хакерских конференций.
Специалисты, проходящие обучение в «Корпоративных лабораториях», получают бесценный практический опыт работы с современными методами и инструментами проникновения в систему, изучают психологию злоумышленников, проводят расследование киберпреступлений, и, на основе этого, учатся вырабатывать наиболее эффективные механизмы защиты. В статье мы расскажем, в чем заключается уникальность нашей программы обучения и что получают специалисты, окончившие курс «Корпоративные лаборатории».
Программа «Корпоративные лаборатории» разрабатывается с учетом материалов и практик, применяемых как хакерами, так и работниками подразделений ИБ различных компаний. Прислушиваясь к пожеланиям специалистов, проходящих у нас обучение, мы регулярно обновляем содержание курса таким образом, чтобы обеспечить комфортное и качественное обучение. Для этих же целей мы разработали собственные площадки: удобный личный кабинет, функциональный сервис для просмотра вебинаров, уникальные пентест-лаборатории, построенные на основе корпоративных сетей реальных компаний.
Пример практического задания
В качестве примера — одно из заданий «Корпоративных лабораторий» по эксплуатации веб-уязвимости: time-based SQL-injection. Time-based является типом SQL-инъекции, полагающийся на отправку SQL запроса к базе данных, который заставляет базу данных ждать в течение определенного промежутка времени, прежде чем ответить.
В зависимости от результата, отклик на HTTP-запрос будет возвращен с опозданием, или будет возвращен сразу же. Время отклика укажет нападающему является ли результат его запроса TRUE или FALSE. Эта атака, обычно, медленная, так как злоумышленник должен будет посимвольно перебрать базу данных с использованием временных задержек.
В качестве функции, заставляющих сервер «стать на паузу» могут быть использованы следующие:
- SLEEP(time) – функция, которая доступна для MySQL баз данных. В качестве параметра принимает количество секунд, которое будет ждать сервер перед ответом;
- BENCHMARK(count, expr) – функция, так же доступная только для MySQL. Она выполняет выражение expr заданное количество раз, указанное в аргументе count. Указывая огромные значения в первом параметре можно добиться временной задержки от сервера;
- WAIT FOR DELAY 'hh:mm:ss' – функция временной задержки для MS SQL серверов.
- Pg_sleep(time) – функция для PostgreSQL. Ожидает %time% секунд.
В одном практических заданий представлен пример данной уязвимости. Причем уязвимый параметр не указан в явном виде. Используя BurpSuite можно обнаружить, что при успешной авторизации происходит редирект, где и присутствует уязвимый параметр. Тестируя его с помощью с помощью инструмента Intruder (из BurpSuite), можно заметить что он уязвим к Time-Based SQL-инъекции. Как мы видим, обычный ответ от сервера приходит через ~200мс:
А на следующем изображении видно, что сервер ожидает 10 секунд, а потом отправляет ответ:
Теперь, зная, что именно этот параметр уязвим, можно воспользоваться утилитой sqlmap, указав ему уязвимый параметр и технику сканирования.
Видеозапись вебинара «Обзор курса Корпоративные лаборатории Pentestit»
Для всех заинтересованных мы подготовили запись вебинара, на котором рассмотрена программа курса, процесс обучения, обзор специализированных площадок, теоретическая и практическая подготовка.
Автор: DefconRU