OSCP (PEN-200) - ГЛАЗА НЕ БОЯТСЯ, И РУКИ ДЕЛАЮТ!

OSCP (PEN-200) - ГЛАЗА НЕ БОЯТСЯ, И РУКИ ДЕЛАЮТ!

Роман А. - https://t.me/pentestbacklog

Привет!

Обещанная статья про сдачу OSCP не заставила себя долго ждать.

Для многих (как и для меня) этот экзаменом является неким milestone на пути обучения пентесту, явно указывающим коллегам по цеху на то, что ты что-то знаешь, что-то умеешь, но до уровня "рокет сайентиста" пока ещё не дорос (для этого уже существуют другие экзамены). Тем не менее, считаю наличие данной сертификации очень приятным вложением в свой прогресс.

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

Сейчас я введу вас в курс дела, расскажу про различия экзамена OSCP+ от стандартного OSCP, а также дам парочку советов, которые помогут на пути к заветному сертификату.

Дисклеймер: дальнейшее содержание статьи будет ничем иным, кроме как моей рефлексией постфактум успешной сдачи. Я не ручаюсь на необъективность материала, статья-то авторская! Если по прочтению статьи вы не узнали для себя ничего нового, то перечитайте первое предложение.

Сдал экзамен я на 70 баллов из 100 (минимальный порог), и сдал бы на 100, если только не одно НО!, давайте об этом чуть далее.

Формат сдачи в 2025 году представляет собой ту же формулу, проносящаяся сквозь годы существования сертификации (три отдельных машины и домен Active Directory, состоящий из трёх узлов, включая контроллер домена), лишь с небольшими изменениями:

  • Убрали 10 дополнительных баллов за решение 80% экзаменационного материала. В большинстве своём данный "бонус" существовал для того, чтобы ты со всей силы набрался опыта в решении лабораторных работ перед непосредственной сдачей основной части экзамена. Но, сейчас дополнительных баллов получить нельзя, что может немного затруднить процесс получения необходимого количества баллов.
  • Однако, дабы компенсировать эту утрату, разработчики курса убрали необходимость "пробива" домена. Вместо этого, теперь предоставляется пользователь, с которым уже возможно взаимодействовать с этой частью экзамена напрямую.

Совершенно честное и сбалансированное изменение, позволяющее четко дифференцировать доменную часть экзамена и standalone-машины и убрать образовавшийся "gap" для успешной сдачи (раньше существовала возможность забрать те самые 10 баллов и полностью решить все три standalone-машины, успешно забив на огромный пласт направления - тестирование доменной инфраструктуры).

Формальный процесс остался без изменений: подключение к системе "прокторинга" -> бюрократическая подготовка к экзамену (идентификация твоей личности и краткий экскурс о том, по каким правилам ты будешь жить следующие 24 часа) -> доступ к лабораторным.

Далее опишу некоторые тонкости сдачи, с которыми я столкнулся в те самые 24 часа моего кропотливого труда:

Первое замечание, которое хочется рассказать Вам - прокторы принимают водительские права России, помимо загранпаспорта. Я проверил за вас, так что теперь знаете!

Второе - ввиду ограниченности протокола OpenVPN у многих провайдеров на территории РФ, подключение к экзаменационной инфраструктуре организовывается также, как получался доступ к лабораторным работам - у меня, например, работает WireGuard (тьфу-тьфу-тьфу) и я организовывал двойной VPN:

sudo wg-quick UP <wireguard.conf> && sudo openvpn /path/to/openvpn.conf
sudo ifconfig <tun_openvpn> mtu 1250 - для наиболее полного доступа в рамках организованного подключения - иначе, как я выявил в процессе обучения, некоторый функционал просто не работал: подключение по RDP, инициация сессии по WinRM и прочие прелести сетевых приколов.

Третье - будьте трижды готовы, что что-то может пойти не так. В последний час моего экзамена, когда я из последних сил хотел добить домен, у меня вылетел конфиг openvpn, и, при этом, не помогал даже ребут - подключение восстановилось само по себе за 5 минут до времени закрытия лабы, а это время мне никто не компенсирует.

Этого не стоит бояться, потому что поддержка на связи 24/7 и быстро помогут вам сориентироваться в решении проблемы, но также стоит быть готовым и к внешним воздействиям - например, можно подумать о резервном доступе в интернет через мобильную точку доступа. Это может звучать довольно параноидально, но в критический момент (чего я вам, конечно же, не желаю) может сэкономить уйму нервов.

Четвертое - прочитайте рекомендуемый шаблон отчета, наметьте и подумайте, какие скриншоты необходимо сделать, чтобы наиболее полно описать реализованные векторы атаки. Во время экзамена перепроверьте (а то и не один раз) свои сохраненные скриншоты и в голове переложите их на формат отчета - никто не даст вам после 24 часов сдачи даже и минутку для того, чтобы вы сделали забытый скриншот того, как кинули себе шелл.

Пятое - обратите пристальное внимание на правила использования инструментария - запрещено всё, что:

  • Платное (Burp Pro, Metasploit Pro, и так далее)
  • Предоставляет возможность автоматической эксплуатации, требующей нескольких шагов для реализации уязвимости (например, sqlmap, чтобы одной кнопкой не кидать себе os-shell, или lsassy чтобы не тащить системные креды той же самой кнопкой)
  • Нейросети (ну пожалуйста...)
  • Ещё парочка правил, которые можно прочитать здесь

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

Metasploit: компоненты auxiliary/* exploit/* и post/*, а также meterpreter шелл - только один раз за экзамен.

Внесу ясности в данный факт:

На экзамене банально не существует машин, которые решаются только при помощи данной утилиты. Если, к примеру, вы идентифицировали потенциально уязвимый сервис, а эксплойт для него есть только в msfconsole - исследуйте дальше, вам не сюда.

В существующих статьях о сдаче OSCP уже подробно описали по какой методике лучше всего работается и отдыхается, насколько часто нужно кушать, пить воду и дышать свежим воздухом, так что в данном вопросе я обойдусь без комментариев, лишь выскажу своё наблюдение - вставайте и делайте всё, что хотите (только предупредите в чате проктора), но пока у вас не будет 70-ти необходимых баллов - мысли о возможном векторе захвата вряд ли покинут вашу голову даже во время самого вкусного обеда - будьте к этому готовы.

Затрагивая тему возможных трудностей, которые могут возникнуть в процессе сдачи, я вернусь к тому самому НО!, обозначенному в начале статьи. Я не полностью сдал домен (а в моменте и рисковал даже не набрать 70 баллов) из-за банальной невнимательности.

Напряжение и мысли о грядущем экзамене могут не покидать вашу голову вплоть до самого начала экзамена, но как только ты получаешь доступ к лабам - самая страшная часть PEN-200 уже позади, и нужно бросить все силы на решение заданий.

Первые 4-6 часов экзамена наверняка будут для вас наиболее продуктивными. Но, при первой возникшей трудности, мозг будет в спешке искать способ решения поставленной задачи всеми разными методами. Здесь важно взять себя в руки и последовательно подходить к обозначенной работе. Закопались слишком сильно? Бросьте все внимание на другую машину, не стоит перескакивать обратно при первой же появившейся идее - лучше запишите и попробуйте чуть позже, ибо погнавшись за двумя зайцами...

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


Попробуйте, в процессе решения лабораторных работ, записывать ваш ход мыслей и прогресс в решении. Эту привычку очень удобно применять как в реальной работе, так и тут - меньше путаешься в том, что уже сделал, а иной раз можешь и найти решение, перечитав всё, что делал до этого.

Думаю, про формат сдачи я рассказал всё, что хотел. Настало время поделиться советами по подготовке, которые я нашёл для себя наиболее рабочими:


1) Конечно же, понимание предоставляемого в методичке PEN-200 материала и организация своего личного(!!!) cheat-sheet.

Вспоминая себя в школе - все темы, к которым я оказывался наиболее готов, были сначала проконспектированы в тетрадь.

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

На экзамене можно пользоваться всеми ресурсами из открытых источников в интернете (будь то gitbook'и других пентестеров или материалы об эксплуатации уязвимостей), но делая заметки, вы с большей вероятностью вникните в материал, а это позволить организовать общую насмотренность в рамках решения машинок.

2) Решение трёх предоставленных OSCP-like лабораторных.

Здесь я не хочу ограничить вас в решении только их, поскольку в курсе существует ещё около пяти других больших, объемных итоговых лабораторных. Однако, в совокупности со следующим пунктом, наиболее полезным будет доскональное получение представления об устройстве экзамена. А ещё, оффсеки дают действительно дельный совет - засеките таймер от начала решения и до самого конца, эдакий "пробник" экзамена пойдёт вам только на пользу.

3) Практика "in a wild" - HTB, HTB ProLabs, OSCP Proving Grounds.

На своем пути становления пентестером я выявил для себя два критических вектора успешного развития скиллов: получение удовольствия от работы и результата, а также вовлеченность в процесс - и первое непременно истекает из второго.

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

Этим я хочу сказать, что практика, приносящая результаты - самый главный мотиватор становиться лучше, а также явных факт, что вы таковым становитесь! И "подтолкнуть" вас к осознанию этого, а также подготовить к экзамену, могут описанные мной ниже источники для решения машинок.

Если отойти от написанной выше лирики, то решение машин на этих площадках дадут вам ту самую насмотренность и практические умения для поиска и эксплуатации уязвимостей, которые являются корневым фактором для успешной сдачи OSCP.

Могу выделить наиболее свежий ресурс, хранящий в себе OSCP-like машинки на HTB и Proving grounds, и не только: Вот этот документ: https://docs.google.com/spreadsheets/u/1/d/1dwSMIAPIam0PuRBkCiDI88pU3yzrqqHkDtBngUHNCw8/pubhtml# на вот этом сайте: https://0xdf.gitlab.io/cheatsheets/offsec

Мне не заплатили, это правда полезно!

Помимо этого, также хочется также выделить Dante ProLab на HackTheBox, которую я успешно сдал уже после экзамена. Это только больше дало понять, насколько хорошо она подходит для тщательной подготовке к экзамену - в ней затрагиваются буквально все тактики, которые существуют в завязке PEN-200 - от идентификации сервисов до локального повышения привилегий и пивотинга. Помимо этого, она достаточно хаотична и требует от вас четкой концентрации и беклоггинга ваших действий - разве это не то, что надо?

Единственный момент - цена, а именно 50 долларов за месяц доступа ко всем лабам на сайте. А если хочешь порешать OSCP-like отдельные машинки - доступ до VIP HTB, начинающийся от 16 долларов.

Да, это может быть затратно, но вы вообще видели сколько стоит OSCP!?Выделите необходимое для вас время (и денег) для решения этих сторонних задачек.

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


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

Try Harder!

:)



Report Page