Привет, Хабр. Сегодня мы расскажем вам о таком звере, как eWPTX (Web Application Penetration Testere Xtreme), сертификации для веб-пентестеров от INE Security. В данной статье мы с вами разберёмся:

  • что это за сертификация;

  • чему и как нас будут учить;

  • действительно ли она eXtreme.

Ну и попутно будем сравнивать eWPTX с Burp Suite Certified Practitioner (BSCP), ещё одной широко известной сертификацией в области анализа защищённости веб-приложений.

Изображение сгенерировано нейросетью ChatGPT
Изображение сгенерировано нейросетью ChatGPT

Пролог

Меня зовут Константин. Я являюсь экспертом отдела анализа защищённости в Angara Security, и ломать веб-приложения (по договору, разумеется) — моя прямая обязанность.

Сдав свою первую сертификацию (BSCP), я задался вопросом: а что дальше? Первым пришёл в голову OSWE — вероятно, самый популярный сертификат, подтверждающий навыки эксплуатации уязвимостей в веб-приложениях «белым ящиком» (это когда для анализа приложения выдаётся весь его исходный код). Но спустя какое-то время я решил, что «белый ящик» — немного не то, чего я хочу, поскольку на проектах чаще всего попадается анализ защищённости «чёрным ящиком», когда мы заранее ничего не знаем о приложении и не имеем никакой дополнительной информации о нём со стороны заказчика. К тому же в свободное время я сижу на Bug Bounty , и там исходный код тем более выдавать никто не будет, поэтому было решено поискать сертификацию, дабы прокачаться в поиске уязвимостей без доступа к исходникам.

Во время поисков я набрёл на небезызвестный роадмап по ИБ-сертификациям. Внимательно его изучив, я заметил, что одной из топовых сертификаций в области веба является eWPTX, выше которой только OSWE:

Начал гуглить про этот серт, и каково же было моё удивление, когда я не нашёл ни одного обзора данного экзамена на русском языке. Вот правда, ни одного. Зато было довольно много ревью от англоязычных коллег (например, тут, тут, ну и вот здесь), которые в целом положительно отзывались об этом экзамене, писали про то, что он real-life, похож на реальный процесс пентеста веб-приложений, ведь на сам экзамен даётся целых 7 дней и ещё столько же на написание отчёта! «Похоже, это то, что мне нужно», — подумал я и решил остановиться на этой сертификации.

Что такое eWPTX

Открываем страничку с описанием данного серта и читаем:

  • Самая продвинутая Red Team сертификация от INE Security по тестированию веб-приложений.

  • 100% practical.

  • Имитирует процесс реального веб-пентеста и включает в себя оценку ряда навыков, на которых мы остановимся чуть подробнее.

По поводу стоимости: попытка сдачи стоит 599 $. В подарок к ней идут три месяца подписки, благодаря которой можно изучать учебные материалы курса. Также в комплекте идёт пересдача. Забегая вперёд, скажу, что трёх месяцев более чем достаточно для подготовки к данному экзамену, поэтому продлевать подписку смысла нет.

А теперь о тех самых навыках, которые будут проверяться у экзаменуемого:

  • Методология проведения веб-пентестов (читай, «знание и умение пользоваться OWASP Top 10 и OWASP WSTG». В целом звучит неплохо, поскольку правильная методология позволяет провести наиболее тщательное тестирование с максимальным покрытием всевозможных проверок.

  • Разведка веб-приложений. Включает в себя активные и пассивные техники рекона, сбор информации о поддоменах организации, использование фаззинга, а также Git-specific утилит для обнаружения секретов и уязвимостей в исходном коде.

  • Атаки на аутентификацию, в том числе атаки на механизмы управления сессиями, а также на протоколы OAuth и OpenID Connect.

  • Уязвимости, связанные с инъекциями. Сюда входят SQL-инъекции всех сортов, NoSQL-инъекции и LDAP-инъекции.

  • Тестирование API. Обещают научить анализировать API-эндпоинты и находить различные уязвимости типа parameter manipulation, манипулирование рейтлимитами, DoS.

  • Атаки на серверную часть (SSRF) и атаки на небезопасную десериализацию.

  • Обход фильтров и WAF. Научат анализировать и тестировать правила WAF, обфусцировать пэйлоады и обходить механизмы фильтрации.

Ну, коли данные навыки будут проверяться во время экзамена, то обучающие материалы должны покрыть все вышеописанные топики. А с учётом того, что сертификация у нас не простая, а золотая eXtreme, то речь должна идти о каких-то продвинутых техниках. Ну должна же, да?..

Курс обучения

P.S. дальнейшее повествование и замечания к курсу будут исходить из той предпосылки, что он рассчитан на людей с опытом, да и сам экзамен позиционирует себя как eXtreme.

Само обучение включает в себя просмотр большого числа видео — суммарно на ~76 часов:

Средняя длительность видео — что-то около 15–20 минут, и после каждого видео необходимо пройти мини-тест на усвоение темы. Сами тесты, как правило, на 5–6 вопросов и к ним будет сразу несколько претензий. Во-первых, слишком много тестов для сертификации, которая позиционирует себя как 100% practical. Во-вторых, при прохождении тестов было ощущение, что их делали по принципу «лишь бы что-то было». Типичный вопрос теста может звучать так:

«Какое программное обеспечение используется для тестирования веб-приложений?»

1.  Excel

2.  BurpSuite

3.  Hashcat

4.  Notepad

И большинство вопросов именно такого формата, с очевидным ответом.

Но у читателя может возникнуть вопрос: неужели нет практических заданий? Ответ: конечно, они есть! Но есть несколько НО.

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

Второе. Большинство практических заданий, около 80–90%, представляют из себя инстанс старенького DVWA или OWASP GOAT, притом GOAT ещё с уязвимостями из OWASP Top 10 2017. Остальные 10–20% заданий представляют собой веб-приложения, над созданием которых явно не сильно заморачивались. Это даже обидно, поскольку ты платишь 600 $, а взамен получаешь приложения, которые и сам можешь бесплатно развернуть у себя локально и точно так же потыкать на уязвимости, а созданные разработчиками курса приложения выглядят слишком просто, будто их все по-быстрому написали за один день...

Мы выяснили, что с тестами и практическими заданиями у курса есть проблемы, но, может быть, ситуацию спасает инструктор, который подаёт материал интересно и по делу, делится какими-то продвинутыми техниками эксплуатации уязвимостей. (На минуточку, сертификация у нас eXtreme?)

Инструктор курса — Alexis Ahmed. Поначалу к нему вопросов не было. Инструктор разъясняет некоторые моменты своим языком, а не просто читает с презентации. Но спустя какое-то время начинаешь замечать, что в некоторых темах инструктор чуть «плавает». Особенно это было заметно в модуле SQL-инъекций, где он около 10 минут разбирался с тем, почему не работает time-based SQL injection, а оказалось, что полезная нагрузка сформирована некорректно... Возникает чувство, что инструктор вместе с вами видит это задание впервые и пытается его как-то решить. В связи с этим возникает вопрос: почему нельзя было перезаписать видео, чтобы слушатели курса не видели подобных фейлов и не смотрели на попытки исправления ошибок инструктора с комментариями  «Hmm, this should work, but it doesn't...»?

Ладно, может быть, с подачей материала тоже не всё гладко. Но давайте посмотрим на наполнение данного курса, чтобы понять, что именно в нём eXtreme.

Наполнение курса eWPTX

Рассматривать наполнение будем по модулям, всего их 6 штук:

Intro to Advanced Web Application Penetration Testing

Сначала я обрадовался слову Advanced в названии данного топика, поскольку рассчитывал найти для себя нечто новое. Открываем модуль — и многочасовой рассказ про OWASP Top 10 и OWASP WSTG, про фазы веб-пентеста, про основы Web Recon (сбор поддоменов, гугл доркинг, фингерпринтинг стека приложения), про Crawling, а также про то, что такое сессии и куки. Если бы курс был ориентирован для начинающих, вопросов бы и не возникло, но в нашем случае подают материал, с которым опытный специалист уже и так знаком. Также в этом разделе была всего пара практических заданий, отчего данный модуль можно назвать самым скучным.

Давайте в сухом остатке выделим плюсы и минусы данного модуля.

Плюсы:

  • Действительно неплохая теоретическая база по заявленным темам, для новичка самое то.

Минусы:

  • Слишком много теории, не хватает практических работ.

  • Материал рассчитан на совсем уж начинающих веб-пентестеров.

  • Несмотря на то, что курс обновлён в 2024 году, в нём не говорится о более современных инструментах для того же Recon`а (например, об утилитах от Project Discovery вообще не упоминается).

Authentication & Session Management Testing

Следующий топик — про аутентификацию и менеджмент сессий.

И первые видосы, которые мы смотрим... повторяют материал о сессиях и куках из предыдущего модуля. Зачем это сделано — непонятно, но нам дважды рассказывают про то, что такое сессии и как они работают.

Затем рассказывают про тестирование механизмов аутентификации (usernameenum), тестирование слабых паролей и прочее. Всё это типичные уязвимости аутентификации, а некоторые из них (например, математическая капча в самом простом её виде) вовсе не встречаются в современных приложениях.

Далее нам рассказывают о существовании атрибутов безопасности cookie, знакомят с уязвимостями механизмов управления сессиями Cookie Tampering, Session Fixation и освещают ещё несколько тривиальных тем. Лично я ранее не знал о существовании такой атаки, как Session Fixation, да и после того, как узнал, мне всё равно кажется, что найти такое в современных приложениях нереально. А в остальном — ничего особенного: нам снова рассказали про базовые атаки на сессии, никаким eXtreme здесь и не пахнет.

После этого нам повествуют об аутентификации на основе токенов, в частности JWT-токенов. Описывают их структуру и приводят, кажется, две атаки: на alg:none и на слабый секрет подписи токена. То есть снова самая что ни есть база, про которую специалисты с опытом уже давно знают.

Далее по плану идёт OAuth, и можно предположить, что здесь будет много материала, поскольку OAuth довольно интересный протокол в том числе с точки зрения безопасности — есть несколько типов OAuth-flow, каждый из которых имеет свои особенности. Но создатели курса eWPTX решили отвести на тему OAuth всего одну лекцию и одно практическое задание. При этом сама лекция максимально беглая и обзорная. И вот, казалось бы, OAuth и SSO — действительно непростые темы, их можно разобрать более глубоко, тем более когда вы заявляете о том, что сертификация не для новичков. Но нет же, вместо этого мы получаем очень поверхностный обзор, при этом бесплатный материал от PortSwigger Academy куда качественнее и глубже раскрывает тему...

А завершает данный топик раздел про обход 2FA, который включает в себя... брутфорс OTP. Как неожиданно.

Итак, говоря о преимуществах и недостатках данного модуля.

Плюсы:

  • Материал будет понятен даже людям без опыта.

Минусы:

  • Материал рассчитан на новичков, всё разжевывают с нуля.

  • Рассказывают о самых базовых уязвимостях, о которых опытные (и не очень) веб-пентестеры давно знают.

· Глубины погружения в темы нет от слова «совсем». Возьмём для примера JWT. Ведь есть более интересные уязвимости, связанные с небезопасной реализацией подписи на основе асимметричных шифров, существуют инъекции в JWT claims, но про эти темы вам не расскажут. Об OAuth и говорить не стоит, с ним всё ещё печальнее.

Если честно, после данного раздела меня настигло некоторое разочарование, ведь я ожидал увидеть незнакомые мне уязвимости или же знакомые, но с новыми вариантами их эксплуатации. Но я не получил ни того, ни другого. Однако надежда умирает последней, поэтому не вешаем нос и идём к следующему топику!

Advanced Injection Attacks

И вот мы подобрались к одному из самых больших топиков, под который отведено аж 24 часа. Львиную долю этого времени занимают, конечно же, SQL-инъекции. К этому моменту читатель уже сам в силах догадаться, какой материал нам предстоит изучить: да, мы будем изучать SQL-инъекции с нуля :-)

Для этой цели отведён целый модуль, который занимает наибольший объём данного раздела. Но после этого нас ждёт модуль Advanced SQLi, где само название намекает на что-то сложное, интересное, необычное. Может быть, покажут особенности различных СУБД, как раскрутить SQL-инъекцию до чтения локальных файлов или даже RCE?

Но к чему нам эти сложности? Авторы курса предпочли более интересный материал, поэтому рассказывают нам про SQLMap и лишь под конец говорят про Out-of-Band и Second-Order SQL injection, но говорят весьма поверхностно. Стоит ли упоминать, что в данном модуле от Advanced лишь одно название? Вопрос, конечно, риторический.

Далее нам рассказывают про NoSQL- и LDAP-инъекции. В целом неплохо, но хотелось бы больше практики и эксплуатации NoSQL-инъекций в различных контекстах — в функционале поиска, логина и т.д. Ну и возникает вопрос об актуальности LDAP-инъекций в 2025 году.

И под конец топика остаются два вида атак: ORM Injection и XML Attacks. Про первые было записано всего одно видео, в котором рассказали, что такое ORM и привели пример одной гипотетической атаки, — на этом всё. С XML-атаками ситуация сложилась поинтереснее. Этот модуль был, наверное, одним из самых лучших относительно других модулей во всём курсе, хоть и вышел он небольшим. Больше всего этот модуль запомнился, наверное, по причине интересной лабы, похожей на эту лабу PortSwigger, но только с некоторыми усложнениями. И, вероятно, это одна из немногих лабораторных работ, которая действительно непростая и над которой нужно сначала подумать, прежде чем будет получено решение.

Подведём итоги Плюсы:

  • Неплохие модули с XML-, NoSQL-инъекциями, их было интересно проходить.

  • Материал построен таким образом, что человек без опыта его тоже поймёт.

Минусы:

  • Больше половины данного топика посвящено обыкновенным SQL-инъекциям, про которые не знает только ленивый. Никаких advanced-техник эксплуатации рассмотрено не было.

  • Все темы рассмотрены неглубоко. Хотелось бы больше погружения в некоторые темы, например в те же SQL-, NoSQL-, XML-инъекции.

  • Думаю вы тоже это заметили, но где остальные, не менее популярные уязвимости, связанные с инъекциями? Авторы курса сделали вид, что XSS, SSTI, CSTI не существует? Данные уязвимости не упоминаются нигде в курсе, что для eWPTX выглядит весьма странно.

API Penetration Testing

Итак, следующий топик посвящён тестированию API. Здесь нам расскажут про SOAP API и REST API, обещают научить тестировать уязвимости типа IDOR, инъекции и security мисконфиги.

Если честно, послушать про SOAP API было довольно интересно, поскольку я с ним встречался только на CTF. В данном модуле рассказали про WSDL: что это такое, какие компоненты в него входят, в чём разница между WSDL 1.1 и WSDL 2.0.

Про REST API слушать было скучно по той причине, что все представленные в данном разделе уязвимости давно всем известны. Опытных специалистов вряд ли можно удивить тем, что API может быть уязвим к SQL- и OSCommand-инъекциям и может раскрывать информацию о других пользователях через IDOR.

Резюмируя, можно сказать, что в целом материал неплох, но рассчитан на начинающих. Также опечалило то, что не было упомянуто GraphQL API, которое всё чаще встречается как на Bug Bounty, так и на веб-пентестах Некоторые итоги модуля по тестированию API.

Плюсы:

  • Довольно подробно рассказали про SOAP API и WSDL, показали как на основе WSDL собирать API-запросы.

  • Материал подан доступным языком, так что начинающим специалистам не составит труда в нём разобраться.

Минусы:

  • Не хватило, как и в предыдущих модулях, глубины погружения в каждую из тем. Рассмотрены лишь типовые уязвимости.

  • Материалы модуля не затрагивают GraphQL API от слова «совсем».

Filter Evasion & WAF Bypass Techniques

В описании данного модуля говорится о том, что будут рассмотрены методы обхода WAF и способы обфускации полезных нагрузок. И начинается данный курс с того, что нам объясняют, что такое кодирование в принципе и что из себя представляют распространённые методы кодирования.

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

В общем и целом, довольно слабый модуль, который покрывает самые базовые техники обхода фильтров.

Плюсы:

  • Рассказывают, что такое кодирование, для чего оно нужно, и показывают базовые техники обхода фильтрации.

Минусы:

  • Показывают только базовые техники.

  • Не хватает примеров обходов фильтров в различных контекстах. Например, если мы нашли SQL-инъекцию в одном из параметров SOAP API, полезная нагрузка помещена внутри XML, но блокируются любые кавычки, то как можно обойти фильтрацию на стороне сервера? Или пусть у нас есть SSRF, но обращаться на 127.0.0.1 или localhost мы не можем — как в таком случае можно обойти данный фильтр?

Server-Side Attacks

Итак, заключительный модуль курса. Несмотря на его обширное название, в рамках этого модуля будут рассмотрены всего две уязвимости: SSRF и небезопасная десериализация. Да, на этом Server-Side-атаки, видимо, исчерпаны.

В целом материал достаточно базовый. Нет ничего того, чего бы не было в PortSwigger Academy в соответствующих топиках.

Плюсы:

  • Хорошее объяснение SSRF и небезопасной десериализации как классов уязвимостей.

Минусы:

  • Недостаток лабораторных работ, особенно в части SSRF.

  • Нет глубокого погружения в тему: про SSRF рассказывают только базовую базу, не хватает более сложных примеров. В случае с десериализацией то же самое. Можно было, например, дать практические задания на построение Gadgetchain в случае с PHP.

  • А где остальные Server-side-атаки? Где атаки на системы кэширования, HTTP Request Smuggling, Race Condition? Где это всё?

На этом обучение заканчивается и можно переходить к самому главному — к экзамену.

Экзамен eWPTXv3

Неслучайно я написал «v3». Дело в том, что формат экзамена, который я описал в начале данной статьи (про 7 дней на поиск уязвимостей и ещё 7 дней на отчёт), — это формат ПРЕДЫДУЩЕЙ версии экзамена eWPTXv2. При этом на сайте INE Security нигде не указано про версии экзамена, есть просто eWPTX, и при покупке курса я предполагал, что формат экзамена у них единый. Но нет.

eWPTXv3 имеет совершенно другой формат. Вместо 14 суток вам даётся 18 часов на решение теста из 45 вопросов. Да, экзамен, позиционирующий себя как 100% practical предлагает нам в качестве экзамена зарешать тест. Но, справедливости ради, отвечать нужно будет не только на теоретические вопросы.

Более подробно про формат экзамена можно посмотреть тут, я же расскажу вкратце. На время экзамена для вас разворачивается мини-лаборатория, доступ к которой осуществляется по RDP через Apache Guacamole прямо внутри вашего браузера, что сразу накладывает неудобства в виде медленного отклика. В этой лаборатории есть несколько хостов, их IP-адреса вам будут известны заранее. На каждом из хостов есть один или несколько веб-сервисов, и вам нужно проанализировать их все, попутно отвечая на вопросы теста.

К слову о вопросах, среди них есть как практические, так и теоретические. С практическими всё примерно ясно. Спрашивают: «Сколько всего SQL-инъекций вы обнаружили на стенде?» — значит, нужно идти и тыкать кавычки везде, где только можно, а потом вписать ответ. Но есть вопросы теоретического характера, и вот с ними у меня были основные сложности за счёт их неоднозначных формулировок и вариантов ответа. Причём таких заданий немало, ~15% от общего пула вопросов.

Сам стенд работал относительно стабильно, всего один раз пришлось его перезагрузить из-за проблем с одним веб-приложением.

Для того чтобы сдать экзамен, необходимо набрать не менее 70% правильных ответов, то есть ответить на 32 вопроса из 45, результаты экзамена приходят в течение пары минут после сдачи.

Мнение об экзамене

Экзамен я успешно сдал. При этом сам экзамен, как и весь курс eWPTX, не оправдал моих ожиданий. И вот почему:

  • Простота. Этот экзамен ну совсем не eXtreme, как заявлено в самом названии сертификации и в её описании. Наполнение курса более чем посредственное: никаких инсайтов или advanced-техник по эксплуатации уязвимостей я так и не узнал.

  • Число уязвимостей. Мало того, что данная сертификация идёт «по верхам», так здесь ещё и не рассматривается огромный пласт актуальных уязвимостей. XSS, HTTP Request Smuggling, GraphQL API, Prototype pollution, SSTI, Web cache poisoning, Web cache deception — все эти темы не рассматриваются в курсе. В то же время данный материал есть в БЕСПЛАТНОМ доступе на PortSwigger Academy. И даже все упомянутые в курсе уязвимости уже рассмотрены у Portswigger и находятся в открытом доступе с возможностью решать лабораторные работы. Тогда вопрос: для чего платить 600 $?

  • Практические задания. Порядка 90% из них (если не все) были созданы путём развёртывания open-source лабораторных типа WebGoat, DVWA, Mutillidae II и прочих. Зачем за это платить, если можно у себя локально развернуть все эти стенды и тренироваться в эксплуатации уязвимостей? Тогда не проще ли оплатить подписку на Try Hack Me или Hack The Box Academy и изучать материал там?

Возможно, сдача BSCP и опыт на реальных проектах по пентесту веб-приложений сделали своё дело и этот экзамен для меня был не самым оптимальным вариантом с точки зрения получения новых знаний. С другой стороны, моей целью было развитие навыков в области анализа защищённости приложений именно «чёрным ящиком» и eWPTX была одной из тех сертификаций, которая, как мне казалось, идеально удовлетворяла моим требованиям. Вероятно, eWPTXv2 их и удовлетворила бы, но текущая версия экзамена как-то разочаровала. Не могу сказать, что данная сертификация плоха, скорее она не подошла конкретно для меня.

Рекомендации

С одной стороны, можно было бы порекомендовать данную сертификацию специалистам, которые только начинают свой путь в анализе защищённости веб-приложений, чтобы сформировать некоторый фундамент. С другой стороны, INE позиционирует eWPTX как сертификацию экспертного уровня, что явно не сходится с её содержимым и в таком случае возникает вопрос: а кто целевая аудитория?

Резюмируем по поводу eWPTXv3: если вы новичок, рекомендую сначала пройти Portswigger Academy, сдать BSCP и только потом посмотреть в сторону eWPTXv3 (но лучше не смотреть). Если же вы, уважаемый читатель, специалист с опытом и описанными топиками данной сертификации вас не удивить, то можно посмотреть в сторону CWEE от Hack The Box или взять проверенный временем OSWE.

Надеюсь, данный материал окажется вам полезен и поможет сделать правильный выбор!

Комментарии (0)