Статья Атакуя Веб: Путь Offensive Security

Статья является переводом. Оригинал вот

Мой отзыв о курсе AWAE и соответствующем экзамене OSWE

Лично я полюбил , так как многие ресерчеры безопасности в веб-приложениях, и баг баунти хантеры рассматривают эту книгу как Библию black box тестирования веб-приложений. Большое внимание, в этой книге, уделяется поиску проблем в безопасности веб-приложений, без доступа к исходному коду. Но некоторые проблемы сложно найти, только потому, что они лежат на глубине, как загадка в исходном коде. Исходный код веб-приложения - это именно то, что вам стоит изучать, отбросив все другое.

, также известный как AWAE, является курсом, который предоставляет компания Offensive Security. Курс обращает внимание на поиск проблем безопасности в веб-приложениях, и сочетает проблемы безопасности с проблемами в исходном коде приложения, тем самым, максимизирует результаты проблем безопасности до тех пор, пока у вас есть доступ к основному серверу хостинга, из-за выполнения удаленного кода. Этот курс был эксклюзивом (похожим на их курс ), который был доступен только в . К счастью, Offensive Security любезно предоставили свой курс AWAE для всех. Почти год назад они выпустили бета-версию для существующих владельцев сертификатов Offensive Security.


“Как обладатель сертификата Offensive Security, мы хотели, чтобы вы были одними из первых, кто сможет записаться на наш новый онлайн-курс Advanced Web Attacks and Exploitation (AWAE). Ранее AWAE предлагался только на обучающих мероприятиях, и был предназначен только для опытных тестировщиков, которые хотят закрепить свои знания в области веб-уязвимостей и улучшить навыки эксплуатации веб-приложений.

Перед тем, как мы запустим его публично, мы хотели бы предоставить курс избранным выпускникам, которые хорошо себя зарекомендовали, путем предварительного уведомления и раннего доступа к этому долгожданному курсу. Соответствующий экзамен все еще находится в стадии разработки, но если вы зарегистрируетесь на курс, то узнаете, когда он будет доступен по расписанию.”

Спустя пару дней, они обнародовали информацию о том, что курс AWAE теперь доступен для всех.

AWAE ДОСТУПЕН ТЕПЕРЬ ВСЕГДА И ВЕЗДЕ
Джим О'Горман

Наш курс "Продвинутые веб-атаки и эксплуатация" (Advanced Web Attacks and Exploitation, AWAE) уже давно является одним из самых быстро продаваемых курсов на различных тематических мероприятиях. Уроки по Black Hat постоянно распродаются за считанные минуты, и каждый год мы завалены письмами от профессионалов в области безопасности, задающихся вопросом, когда эти уроки станут доступны онлайн. По этой причине, мы рады объявить о том, что AWAE теперь доступен онлайн!
”​


, кстати, прав в одном: этот курс продали всего за несколько минут на мероприятиях BH. К вашему сведению: Джим - один из сеньеров в OffSec и один из соавторов .

Курс был первоначально создан , но эстафета была передана и . Offensive Security опубликовал курса, и вы сразу заметите, что не останавливаетесь, когда обнаруживаете баги, такие как XSS, CSRF и SQL-инъекции, но вы вынуждены усердно работать, пока не доберетесь до конца, т.е. удаленное выполнение кода, просто потому, что, во-первых, это Offensive Security и, во-вторых, зачем останавливаться на мелком XSS, когда можно приложить максимум усилий, и получить RCE!

1587317198228.png


Итак, что нужно для этого курса?

Отличный вопрос. Многие до сих пор задаются этим вопросом, что нужно для того, чтобы пройти курс от начала и до конца и получить максимальную отдачу от него. Поэтому, я составил список:
  • Offensive Security Certified Professional (OSCP) / Общее понимание векторов атак на веб-приложения, теория и практика - OSCP не является обязательным, потому что PWK и AWAE - это два отдельных курса, сосредоточенных на двух отдельных платформах безопасности, но вы должны, по крайней мере, знать основы атак на HTTP, XSS, CSRF и другие атаки на веб-приложения.
  • Умение писать простые Python / Perl / PHP / Bash скрипты - не просто потому, что это позволяет автоматизировать процесс эксплуатации, но и экономит много вашего времени. Вы поблагодарите себя за ваши навыки написания скриптов во время курса. Моя рекомендация - выучить питон, потому что: 1. этот язык широко использовался в курсе для написания скриптов; 2. я был знаком с питоновым скриптингом, и его библиотеки делают его моим любимым языком.
  • Знакомство с Burp Suite - Если вы провели достаточно много времени с Burp Suite community edition, можете не переживать.
  • Notepad++ - Не для просмотра кода, а для использования его поисковых возможностей.
  • Regex - Если вы можете понять, что означает [2-9]|[126]\d|3[0-6], то вы можете начинать. Если нет, то я должен предложить вам познакомиться с этим.
А как насчет таких инструментов, как, скажем, SQLMap?

Нет, здесь это не подойдет.

1587317347675.png


Курс от вас хочет, понимания кода и процесса эксплуатации, также, если уязвимость требует дальнейшего изучения, то вам следует продолжить ресерч-цепочку, чтобы получить то, что вы хотите - например, эксфильтрацию данных с помощью XSS с реализацией regex bypass.

Offensive security не продвигает инструменты, автоматизирующие процесс эксплуатации. Если вы хотите знать, какие именно инструменты не разрешены, как указано в , то вот они:
  • Анализаторы исходного кода - такие, как sonarqube.
  • Средства автоматической эксплуатации (например, db_autopwn, browser_autopwn, SQLmap, SQLninja и т.д.).
  • Массовые сканеры уязвимостей (например, Nessus, NeXpose, OpenVAS, Canvas, Core Impact, SAINT, и т.д.).
  • Особенности в других инструментах, использующих запрещенные или ограниченные экзаменационными правилами.
Что мне нужно для подготовки?

Есть очень хорошие ресурсы, такие как: wetw0rk, deletehead, timip, которые охватывают почти все, что вам нужно для подготовки к курсу AWAE, но это лишь часть, что вас ждет:
  • Понимание различных языков программирования, таких как PHP, Java, NodeJS, .NET, JavaScript - Вы можете не быть экспертом во всем, что нормально, но, пожалуйста, не сдавайтесь, когда увидите масштабность программ. Следите за дополнительными видеоматериалами по соответствующему модулю, проводите обширные исследования по концепциям и темам, и вам будет интересно :)
  • Python - Так как в программе курса вы найдете много скриптов python2, ожидается, что вы, к тому моменту, будете иметь уверенные навыки с указанным языком. Навыки написания скриптов - это плюс.
  • Понимание таких баз данных, как MySQL и PostgreSQL - Не для СУБД, а для шеллов. Как только вы войдете в модуль ManageEngine, вы будете поражены, как можно получить шелл.
1587317435142.png

  • Понимание уязвимостей веб-приложений, которые существуют в .
  • Навык скриптинга.
  • Исправление и автоматизация эксплойтов.
  • Различные способы отладки куска кода, например, простое написание выражений "console.log()" для вывода в JS.
  • Динамическая отладка с помощью dnSpy. DnSpy - отличный инструмент для отладки .NET веб-приложений, даже если вам он и не понравится во время курса AWAE.
  • Подготовка к чтению кода и соответствующим исследованиям! - Вы увидите различные языки, которых достаточно обьемные своим кодом и некоторые могут вам показаться бесконечными.
  • Терпение, сосредоточенность и воля - Поверьте, этот курс истощит вас, если вы планируете пройти модуль неподготовленным. Если вы все же подготовитесь, убедитесь, что у вас есть перечисленные качества, чтобы посидеть и проанализировать, как именно воспроизводится кусок кода, сделать заметки, чтобы понять, что происходит, воссоздать сценарии в виде блок-схем, или DFD, и не сдаваться. Даже когда вы это чувствуете.
1587317463423.png

Тим получил DotNetNuked

Но...

Процесс обнаружения уязвимости может вызвать у вас вопрос "Как это получилось?!". Некоторые уязвимости можно легко обнаружить (например, найти "exec" и проследить за потоком выполнения кода). Но это, понятное дело, не будет везде, особенно если приложение содержит много строк кода. Во время прохождения, у вас также может появится вопрос "Как я сюда попал"? И ответы на эти вопросы не могут прийти к вам так просто. Мой хороший друг сказал: "Требуется некоторое предвидение, а предвидение требует опыт. Нет никакого ярлыка для "обучения" обнаружению уязвимостей, потому что оно может быть чрезвычайно тонким; почаще просматривайте код, чтобы получить лучший результат при обнаружении уязвимостей".

Обратите на это внимание: Попытка сертификации OSWE
  • Некоторые общие советы по проведению сертификации:
  • OSCP - это 24-часовой экзамен, в то время как OSWE - 48-часовой. В отличие от OSCP, вам не нужно делать все максимально быстро. OSCP - это спринт. Это марафон. Делайте перерывы, поешьте, поспите - почаще освежайтесь.
  • Убедитесь, что вы знакомы с инструментами отладки, так как в основном вы будете с ними активно работать, например, с возможностями поиска в Notepad++, dnSpy, regex101.com, JD-GUI.
  • Во время прохождения курса вы столкнетесь с более сложными, чем обычно, упражнениями, которые в OffSec называются "Extra Miles". Эти упражнения не гарантируют сдачу экзамена, но они требуют нестандартного мышления, для их решения. Некоторые из них очень просты (можно решить за 5 минут), в то время как некоторые, казалось бы, разочаровывают своей сложностью (могут занять до 2 недель, и зависит от того, сколько времени вы вкладываете в исследования, просмотр соответствующих видео, блогов и т.д.).
  • Наслаждайтесь :)
Бонус
  • Когда вы начнете со своих лаб, перейдите на . Это место поможет вам абстрактно поделиться своими проблемами или получить соответствующие подсказки, которые помогут вам получить абсолютные результаты. Кроме того, вы можете общаться с различными людьми, которые, как и вы, записались на курс, для обмена идеями. Лучшая часть всего этого то , что ronin и ryujin также являются частью этой платформы, и вы можете попросить о помощи в случае, если поймете, что крепко застряли.
  • Есть способы достичь конечной цели при решении проблем в обычных упражнениях либо в бонусных Extra Miles лабах. Будьте любопытны и следуйте строкам кода.
  • Убедитесь, что у вас есть выходные дни, чтобы продолжать попытки.
  • Пятница 13: JSON-атаки - Интересное, а также соответствующее видео, рекомендую к просмотру.
  • - отличный документ, если вы хотите достичь базового понимания практики безопасного просмотра кода.
Итог

Этот курс был очень как сложным, так и увлекательным. Вероятно, это один из лучших курсов, который заставлит вас привыкнуть к просмотрк исходного кода и разширит границы поиска багов, проживающих в исходных кодах веб-приложений. Я очень благодарен компании Offensive Security за то, что она сделала этот курс доступным для всех.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!