Контакты
Подписка 2024

Карьера пентестера: с чего начинать

Андрей Горшков, 28/12/23

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

Автор: Андрей Горшков, специалист команды анализа защищенности Angara Security

ris1-Dec-28-2023-08-31-57-5484-AM

Обычная ситуация: за то время, пока вы изучаете уязвимости в одном фреймворке, выходит десяток новых отчетов по их исследованию. Чтобы быстро разобраться с потенциальными уязвимостями, которые несут прежде неизвестные вам фреймворки и технологии, нужно хорошо ориентироваться в источниках информации. Во время работы в команде на реальном проекте времени на вдумчивый поиск, как правило, нет. Если эти навыки накладываются на хорошее базовое образование, у вас есть перспективы в профессии.

Мои стартовые знания о предмете сформировались на курсах по анализу защищенности в Московском политехническом университете, они в дальнейшем и предопределили выбор профессии. В вузе я получил базовую подготовку по разработке в том числе веб-приложений, а практический опыт – в разработке на PHP. Благодаря самостоятельному обучению у меня появилась возможность попрактиковаться в инфраструктурном пентесте.

Первые попытки трудоустройства веб-пентестером показали, что моих знаний недостаточно. Тогда я решил поискать компании, работа в которых помогла бы восполнить пробелы в образовании и накопить опыт. Так я оказался в ИБ-техподдержке компании Angara Security. Примерно через два месяца состоялось мое первое собеседование на позицию специалиста по анализу защищенности, которое выявило все слабые места. Еще через несколько месяцев работы под руководством наставника и погружения в учебные материалы я прошел четыре собеседования и получил должность пентестера.

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

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

Как подготовиться к собеседованию

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

  1. Пентестер обязан знать, как приложение работает на уровне сети: что такое TCP-хендшейки, разрешения ip, доменные имена, прокси и т.д. К базовым знаниям также относятся принципы работы протоколов HTTP/HTTPS. Потренируйтесь заранее отвечать на вопросы типа "В чем разница http-методов?", "В каких случаях используется PATCH, а в каких POST?", "Чем HTTP 0.9/1.1 отличается от HTTP/2?".
  2. Далеко не всегда уязвимость скрывается в коде веб-приложения, она может быть заложена в его архитектуре, например в веб-сервере. Зачастую пентестер не видит архитектуру приложения, но может предполагать, как оно устроено, поэтому полезно иметь соответствующие знания.
  3. Сложность уязвимостей постоянно растет. Вам необходимо разбираться в базовых вещах, чтобы на их фундаменте можно быто выстроить понимание более сложных.
  4. Навык поиска ответов на возникающие вопросы в открытых источниках, даже если есть у кого спросить. Сначала стоит поискать информацию и попробовать справиться самостоятельно, а уже потом просить помощи.
  5. Умение писать и читать код на разных языках: обязательно на PHP, JavaScript, Python, Java, C#. Для анализа веб-приложений используются разные методы: белый, серый и черный ящики. Если, например, вы используете белый ящик и у вас есть исходные коды приложения, опыт в разработке будет очень полезен. Пригодится навык писать скрипты автоматизации и адаптировать под свою задачу сторонние инструменты.
  6. Проекты часто включают изучение работы приложения со стороны внешнего периметра. Нужно уметь сканировать сеть и знать уязвимые сервисы, чтобы не пропустить очевидную брешь в безопасности.
  7. В работе часто требуется теоретически обосновать суть уязвимости. Для этого нужно знать базовые понятия, например: принципы работы баз данных, разбираться в свойствах информации и понимать, что такое уязвимость, эксплуатация и т.д. В список необходимых базовых навыков входят администрирование систем Windows и Linux.

Изучение максимального числа уязвимостей не сделает вас специалистом высокого класса, так как оно не нарабатывает навык их поиска. В реальных проектах самое сложное – это обнаружение уязвимости. Я рекомендую искать образы уязвимых приложений и анализировать их, не подсматривая в стек технологий и подсказки о заложенных уязвимостях. Это упражнение дает базовый опыт и представление о том, как все устроено в реальном проекте.

Тем, у кого нет базового образования в области анализа защищенности, можно попробовать платные курсы по пентесту. Хорошие курсы, увы, недешевы, но в бюджетном сегменте ничего стоящего порекомендовать не могу.

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

Темы:ПентестПрофессияЖурнал "Информационная безопасность" №6, 2023

Обеспечение кибербезопасности.
Защита АСУ ТП. Безопасность КИИ
Конференция | 28 июня 2024

Жми для участия
Обзоры. Спец.проекты. Исследования
Участвуйте в обзорах / исследованиях проекта "Информационная безопасность"!
Станьте автором журнала!
Статьи по той же темеСтатьи по той же теме

Хотите участвовать?

Выберите вариант!

КАЛЕНДАРЬ МЕРОПРИЯТИЙ 2024
ПОСЕТИТЬ МЕРОПРИЯТИЯ
ВЫСТУПИТЬ НА КОНФЕРЕНЦИЯХ
СТАТЬ АВТОРОМ
Linux
23 мая. Инструменты миграции на защищенный Linux
Участвуйте!

More...
Обзоры. Исследования. Спец.проекты
Обзоры и исследования проекта "Информационная безопасность"
Жми, чтобы участвовать