OSWE — сертификация продвинутого уровня, идеально подходящая для пентестера и аудитора веб-систем. Это был один из самых сложных экзаменов в моей жизни: куча оставленного здоровья, из 48 часов удалось поспать часов 12, и я даже не знал, что могу так “выражаться”. Состояние было “быстрее бы сдохнуть”. Но обо всем по порядку.
Что такое OSWE
OSWE (Offensive Security Web Expert):
Сертификация разработана небезызвестной компанией Offensive Security (именно ей принадлежит разработка и поддержка Kali Linux).
OSWE идет вместе с курсом AWAE, отдельно OSWE не закажешь, да и смысл без практик идти на сертификацию.
AWAE — это определенно не курс для начинающих, ибо будет сложно.
На кого рассчитана сертификация и курс:
— на ребят с опытом в тестировании на проникновение,
— на технарей и разработчиков, умеющих читать и дебажить код.
Раньше этот курс можно было пройти только в оффлайн режиме в рамках конференции Black Hat, но теперь они завернули это в онлайн продукт.
Все построено по принципу: специалисту предоставляется исходный код веб-системы для анализа, и через найденные дыры в коде нужно захватить контроль над лайв системой.
Сертификат, кстати, выдается бессрочный и на всю жизнь, как говорят разработчики сертификации — если вы смогли пройти эту сертификацию, вы уже специалист в этой области даже через 10 лет.
Что такое AWAE
Курс AWAE (Advanced Web Attacks And Exploitation)
Никаких “Hello world”, весь курс построен на реальных уязвимостях, зарегистрированных в CVE, в реальных open-source проектах, которые достаточно популярны.
Дают материалы, видео, в которых расписаны уязвимости, как их эксплуатировать и писать эксплойты.
На время подготовки выделяется персональный VPN доступ в тестовую среду, где все уже развернуто, ломай — сколько хочешь.
Весь материал персонально подписан, чтобы в случае шаринга или выкладывания на торренты, можно было определить, кто пошарил, и наказать, как минимум, отзывом действующего сертификата.
Курс построен на достижении максимального эффекта от уязвимостей — Remote Code Execution (RCE), получение административного доступа в веб-систему и получение удаленного шела на сервер.
Причем эксплуатирование уязвимости должно быть автоматизировано через эксплойты (можно на любом языке, но предлагают на Python).
Курс реально дает новые практики для тестирования на проникновение.
Что покрывает курс:
Темы: XSS, CSRF, Session Hijacking, Session Riding, Blind SQL Injection, Path Traversal, Type Juggling, Insecure Deserialization, Arbitrary File Upload и др.
Тулы: Burp Suite, Kali Linux, Metasploit и др.
Языки: PHP, Node.js, Java, .NET, Python
Как проходит сам экзамен
Экзамен идет онлайн 48 часов; сколько тебе поспать, поесть — сам решай.
Экзамен сдаешь удаленно за своей машиной, но контроль за тобой ведется полный:
вначале, валидация с паспортом и твоим лицом;
показываешь через камеру рабочее место, даже под столом показываешь, что есть;
потом шаришь свои экраны и включаешь камеру — за тобой и твоей машиной будут в течение 48 часов постоянно следить;
хочешь в туалет — уведомляешь чела с той стороны, пришел — снова уведомляешь.
Если в AWAE курсе все уязвимости из зарегистрированных в CVE, то на экзамене это будут системы, где специально сделали кастомные уязвимости — можете даже не гуглить и не тратить время.
Выделяется отдельный VPN в защищенную сеть, где уже развернуты сами цели.
Цели — это две веб-системы, в которых нужно обойти систему аутентификации и получить shell доступ на серверах:
за обход аутентификации дается 30 баллов,
за получение удаленного доступа — 20 баллов,
минимум для прохождения экзамена — 80 баллов.
Для доказательства, что атака во время сертификации прошла успешно, нужно на сервере найти нужный файл (он вне директории веб-приложения) и предоставить содержимое этого файла.
До экзамена я думал, что в задании расскажут как приблизительно действовать, в результате получаешь IP целевого сервера и среду, где можно проанализировать код системы и подебажить. Среды имеют абсолютно свои уникальные переменные среды.
Перекачать себе весь код не получится, только удаленный анализ.
Есть жесткие ограничения на использование только определенных инструментов, поэтому сканы на уязвимости, брутфорсеры сразу отпадают.
Сложности
Подсказывать с этой стороны тебе никто не сможет, а от того, кто за тобой наблюдает, ты услышишь только их фирменную фразу — try harder.
Это будет 48-часовой стресс, мозг постоянно работает в режиме поиска вариантов атак (даже во сне).
У меня получилось 100 баллов набрать, но времени было впритык.
В какой-то момент эксплоит на C# пришлось переписывать быстро на Python, потому что через VPN медленно шла атака, а в самой сети была Kali, с которой атака в разы быстрее.
Кто-то на Редите писал, что он за первые полдня поломал обе системы, а потом курил — безбожно трындит; объем работы, который необходимо провести — колоссальный, и не может быть даже физически освоен за несколько часов.
А кто-то на Редите писал, что за 48 часов так ничего и не нашел и набрал 0 баллов, и переживал, что если возьмет еще платно пересдачу, нет никакой гарантии, что она не пройдет также с нулевым результатом, ведь ВСЕ уже проанализировано.
Будут моменты, когда вера в себя и в успех будет падать до нуля или доходить до полной уверенности, а потом снова падать, тут главное не сдаваться и продолжать.
Посыл
OSWE — это достойный экзамен для любого пентестера, многое будет решать опыт в разработке и практической безопасности.
Складируйте и систематизируйте ваш опыт, практики, команды в каком-нибудь инструменте — для меня это давно уже CherryTree.
Из каждой уязвимости выжимайте максимум урона.
Для достижения максимального урона комбинируйте уязвимости в одной атаке.
Очень много в стрессовых ситуациях решает психология и ваше отношение к ситуации, равно как и способность к рациональному мышлению.