Как я прошел OSWE сертификацию

в 8:02, , рубрики: OSWE, penetration testing, security, websec, безопасность, веб-приложений, информационная безопасность, Карьера в IT-индустрии, сертификация, Тестирование веб-сервисов

OSWE — сертификация продвинутого уровня, идеально подходящая для пентестера и аудитора веб-систем. Это был один из самых сложных экзаменов в моей жизни: куча оставленного здоровья, из 48 часов удалось поспать часов 12, и я даже не знал, что могу так “выражаться”. Состояние было “быстрее бы сдохнуть”. Но обо всем по порядку.

image

Что такое OSWE

OSWE (Offensive Security Web Expert):

  • Сертификация разработана небезызвестной компанией Offensive Security (именно ей принадлежит разработка и поддержка Kali Linux).
  • OSWE идет вместе с курсом AWAE, отдельно OSWE не закажешь, да и смысл без практик идти на сертификацию.
  • AWAE — это определенно не курс для начинающих, ибо будет сложно.
  • На кого рассчитана сертификация и курс:
    — на ребят с опытом в тестировании на проникновение,
    — на технарей и разработчиков, умеющих читать и дебажить код.
  • Сертификация недешевая — минимальный пакет 1400 USD.
  • Раньше этот курс можно было пройти только в оффлайн режиме в рамках конференции Black Hat, но теперь они завернули это в онлайн продукт.
  • Все построено по принципу: специалисту предоставляется исходный код веб-системы для анализа, и через найденные дыры в коде нужно захватить контроль над лайв системой.
  • Сертификат, кстати, выдается бессрочный и на всю жизнь, как говорят разработчики сертификации — если вы смогли пройти эту сертификацию, вы уже специалист в этой области даже через 10 лет.

Что такое AWAE

Курс AWAE (Advanced Web Attacks And Exploitation)

  • Никаких “Hello world”, весь курс построен на реальных уязвимостях, зарегистрированных в CVE, в реальных open-source проектах, которые достаточно популярны.
  • Эти уязвимости и даже эксплоиты можно найти здесь — exploit-db.com или cvedetails.com
  • Дают материалы, видео, в которых расписаны уязвимости, как их эксплуатировать и писать эксплойты.
  • На время подготовки выделяется персональный 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.
  • Из каждой уязвимости выжимайте максимум урона.
  • Для достижения максимального урона комбинируйте уязвимости в одной атаке.
  • Очень много в стрессовых ситуациях решает психология и ваше отношение к ситуации, равно как и способность к рациональному мышлению.
  • TRY HARDER

Удачи.

Денис Колошко, Penetration Tester, CISSP, OSWE

Автор: dhound

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js