Как стать пентестером: что нужно знать и с чего начинать путь в профессии

Чтобы наш контент был достоверным и вы могли полагаться на него в своих решениях, эксперты проверили статью на актуальность. Как мы создаем и проверяем контент
Пентестер — перспективная профессия с зарплатой от 200 тыс. рублей в месяц (согласно вакансиям на hh.ru). В чем заключается эта работа, можно ли стать пентестером без опыта и как удаление негатива влияет на карьеру? Разбираемся в статье.
Эта статья будет полезна:
- Специалистам по информационной безопасности, стремящимся расширить свои навыки и знания.
- Разработчикам, желающим лучше понимать уязвимости своих продуктов.
- Студентам и выпускникам технических специальностей, интересующимся информационной безопасностью.
- Всем, кто хочет узнать больше о профессии пентестера и о том, как начать свой путь в этой области.
Пентест: что это и для чего нужно
Пентест (или пенетрационное тестирование) — оценка безопасности информационной системы путем активной атаки на нее. Специалисты по пентесту действуют как хакеры — ищут в системе слабые места и взламывают ее, поэтому в народе тестирование на проникновение называют белым хакингом.

Кто такой пентестер
Пентестер (или penetration testers) — специалист, который проводит пентест, то есть испытывает компьютерную систему на возможность взлома. У специалиста по пентесту несколько задач:
- зафиксировать уязвимые места в системе;
- сформулировать рекомендации для усиления безопасности;
- предотвратить реальные угрозы;
- отслеживать несанкционированные доступы в систему;
- мониторить риски утечки информации.
Penetration testing путают с оценкой уязвимостей. Тестировщики, проверяющие эксплойты, отслеживают слабые места системы на этапе проектирования или установки ПО. Пентестеры ищут ошибки и методы обхода доступа в активных системах.
Средняя зарплата пентестера в России — 3 млн рублей в год. Компании предлагают от 200 тыс. до 350 тыс. рублей в месяц. А большинство пентестеров осваивают специальность самостоятельно.
Что нужно знать пентестеру
Веб-приложения сейчас наиболее уязвимы. Осуществляя тест на проникновение, вы будете тестировать нагрузку на онлайн-банкинг, интернет-платформы, хостинг-сервисы, онлайн-магазины. Кроме базовых уязвимостей (XSS, SQL, CSRF) нужно научиться распознавать и другие проблемы в сети. Самые актуальные из них можно найти на OWASP Top-10 — это рейтинг проблем безопасности, которые отсортированы по частоте встречи в системах.
Нужно знать и уметь работать:
- с Acunetix или Burp — сканерами безопасности;
- OAuth — открытым протоколом авторизации;
- SSO — технологией единого входа;
- Jenkins — программной платформой с открытым системным кодом на Java, которая обеспечивает непрерывную интеграцию ПО;
- ElasticSearch — свободной программной поисковой системой на базе Java, которую распространяют по лицензии Apache, с использованием библиотеки Lucene.
Не помешает разобраться с тем, как осуществлять обзор кода, — это самая эффективная техника для поиска уязвимостей и неправильных конфигураций. Пользователю стоит освоить реверс-инжиниринг и основные языки программирования хотя бы на уровне общего представления. Некоторые уязвимости есть только в конкретных языках программирования, например, Buffer Overflow (переполнение буфера) — в C и C++, а десериализация — в Python, Ruby и Java.
Но это не значит, что для работы нужно быть гуру во всем. Зачастую нужно знать только свой «стек», то есть языки и техники, которые используются при разработке или эксплуатации системы.

Чтобы стать хорошим пентестером лучше начинать не с нуля, а уже иметь какой-либо бекграунд в ИТ. Слишком специфичная сфера. Лично мне отличных специалистов удавалось вырастить из программистов и системных администраторов. Последним будет особенно полезно, ведь знание пентеста и проблем безопасности вкупе с инструментами позволит добавить себе звание devSecOps, а это очень классные карьерные перспективы и уровень зарплаты, сопоставимый с топ-менеджерами. Программистам квалификация в пентестинге помогает преодолеть карьерный «потолок», избежать выгорания и выйти в интересную, хорошо оплачиваемую нишу ИБ без особых рисков и радикальных перемен. Пускай уже я больше менеджер и управленец, путь пентестера был полон очень интересными событиями.
 Антон ШустиковСЕО ИБ проекта CakesCats
Антон ШустиковСЕО ИБ проекта CakesCats
Как работают пентестеры
Специалисты внутри отдела информационной безопасности делятся на 2 команды:
- Red Team (красная команда). Главная задача — реальная атака. Пентестеры из редтима пытаются взломать систему или получить несанкционированный доступ к внутренней информации. Они создают полный сценарий атаки, ищут векторы и уязвимости сети, анализируют и эксплуатируют их и создают отчеты по их предотвращению.
В процессе работы редтимеры:
— проводят тесты на проникновение в сети, приложения, IT- и физическую инфраструктуру;
— используют методы социальной инженерии для получения несанкционированного доступа в систему;
— анализируют уязвимости и выявляют слабые места;
— создают отчеты с рекомендациями по устранению обнаруженных уязвимостей;
— участвуют в учениях по кибербезопасности и обучении персонала реагированию на киберинциденты.
- Blue Team (синяя команда). Работает на стороне обороны и отвечает за защиту системы от кибератак. Блютимеры анализируют результаты испытаний и другие сведения, чтобы выявить уязвимости и разработать стратегии для устранения проблем безопасности и предотвращения атак.
В процессе работы участники синей команды:
— мониторят аномальные сетевые активности;
— обнаруживают и реагируют на инциденты безопасности;
— устанавливают и настраивают системы обнаружения вторжений и предотвращения атак;
— проводят регулярные аудиты безопасности системы;
— разрабатывают и реализуют стратегии защиты от атак;
— участвуют в учениях по реагированию на киберинциденты;
— реагируют и отвечают на атаки команды Red Team.
Как проводят тестирование на проникновение
Тест состоит из 4 фаз:
- Recon/OSINT — так называемая разведка, сбор сведений о компьютерной системе или аккаунте из открытых источников.
- Атака с целью найти уязвимости.
- Получение чувствительных сведений, доступа в систему, повреждение или изменение данных.
- Отчет, устранение недостатков безопасности и антикризисный план.
Обычно для заказчиков важно, чтобы пентестер умел:
 — находить и разрабатывать 0day/1day эксплойты;
— разбираться в устройстве системы заказчика/работодателя, базовых принципах работы сетей и ОС нужного семейства;
— работать со специфическими инструментами ИБ.
Самое сложное в тестировании на проникновение — обнаружить и проэксплуатировать уязвимость.
Специалист по кибербезопасности, пентестингу и криминально-компьютерной экспертизе Кешав Каушик рассказал о типичном рабочем дне. Так выглядит жизнь тех, кто проделывает испытание проникновением.

В начале рабочего дня я читаю, что происходит в мире кибербезопасности. Мне нужно понимать, с какими угрозами мы можем столкнуться. Осуществляя тестирование на проникновение, я выбираю подход. После этого работаю над разными фазами цикла этичного хакинга: собираю сведения, делаю футпринт (своеобразную карту компьютерной сети со списком хостов, доменными именами, адресами и открытыми портами, которые используются ОС), провожу сканирование и прибегаю к энумерации (конфигурированию). Затем атакую систему, получаю доступ, смотрю, насколько могу контролировать ситуацию, а после этого «заметаю следы». Весь процесс документируется, клиенту предоставляется отчет и последующие консультации.
 Кешав Каушикспециалист по кибербезопасности
Кешав Каушикспециалист по кибербезопасности
Консультирование — тоже часть пентеста, ведь нужно не только находить слабые места системы, но и понимать, как исправить ситуацию. Поэтому проделав техническую работу, Кешав устраивает семинары и кампании, повышающие осведомленность населения в области кибербезопасности. Цель такой работы — рассказать пользователям о возможных киберугрозах и мерах их предотвращения. Это нужно еще и для того, чтобы организации понимали, что им действительно нужно тестирование на проникновение и безопасность систем. Ведь до сих пор многие не знают о существовании этичных хакеров, которые смотрят на проблему глазами киберпреступника и дают по-настоящему действенные рекомендации.
Виды пентеста
Основные способы провести испытание:
- Внешнее тестирование (черный ящик) — проверка безопасности системы без предварительного знания о ее внутренней структуре и кодах программ. Тестировщик изучает доступные публичные ресурсы, проводит сканирование и анализ уязвимостей, чтобы определить уровень защиты снаружи.
- Внутреннее тестирование (белый ящик) — тестирование системы с полным знанием ее внутренней структуры и деталей реализации. Тестировщик имеет доступ к сети и/или коду программы и совершает атаку с точки зрения внутреннего пользователя или злоумышленника, чтобы определить уязвимости и проблемы безопасности внутри сети.
- Слепое и двойное слепое тестирование — в слепом тестировании специалисты имеют ограниченные сведения о системе, чтобы смоделировать ситуацию, когда у злоумышленника нет подробных внутренних сведений. В двойном слепом тестировании и у пентестера, и у отдела безопасности нет полной информации друг о друге.
Также выделяют дополнительные способы:
- Социальная инженерия — методика, при которой тестировщики манипулируют или вводят в заблуждение сотрудников организации или их контрагентов, чтобы получить несанкционированный доступ к системе. Они могут использовать перехват паролей, фишинговые атаки, обман на основе доверия и т.д.
- Реверс-инжиниринг — тестировщики анализируют программные коды, протоколы связи, алгоритмы шифрования и другие компоненты системы, чтобы найти слабые места и потенциальные точки входа для атаки.

Один из моих «менти» рассказывал историю, когда хакер проник в систему еще на этапе её становления. И только через годы дал о себе знать. Возможно, если бы были соблюдены правила безопасности и имелись знания в пентесте, то бизнесу удалось бы избежать финансовых потерь и потерь времени связанных со сложнейшим аудитом системы, который вёл через года и к началу вообще всех работ. Потому для компаний подход «работает не лезь» плохо применим, и ИБ нужно срочно перестать финансировать по остаточному принципу. Именно такие задачи решает пентестер.
 Антон ШустиковСЕО ИБ проекта CakesCats
Антон ШустиковСЕО ИБ проекта CakesCats
Программы для проведения пентеста
Софт, которым пользуются продвинутые пентестеры:
— Metasploit. Популярный фреймворк для поиска уязвимостей. В нем много инструментов для анализа серверов и сети, сбора информации, а еще можно создавать собственные эксплойты и пейлоады для атак.
— Nmap. Сканер сети, который определяет активные хосты, открытые порты, OC и версии служб и может просканировать сетевые протоколы.
— Burp Suite. Программа для тестирования веб-приложений. Позволяет проводить анализ трафика, перехватывать внутренние запросы и сканировать уязвимости в ручном режиме.
— Wireshark. Сниффер сетевого трафика, который можно использовать для анализа и отслеживания пакетов данных, передаваемых по сети.
— Hashcat. Инструмент для взлома паролей.
— Nessus. Коммерческое программное обеспечение с большим функционалом для поиска и анализа уязвимостей.
Как стать пентестером с нуля: что нужно знать
- Бесплатные источники. На Awesome Ethical Hacking Resources есть много материалов, чтобы погрузиться в тему и попробовать провести первые атаки: от книг и обучающих видео до лекций и полноценных курсов. Базовые навыки можно получить бесплатно, а заодно разобраться, насколько эта сфера вам интересна.
- Платное обучение. Курсы станут хорошей опорой, чтобы не утонуть в море материалов. Вот подборка популярных курсов по пентестингу. Из явных плюсов такого обучения: есть четкий план погружения в тему, вся информация структурирована, поддержка кураторов и сокурсников. Из минусов: не везде дают качественный разбор материалов, поэтому выбирать обучение стоит очень тщательно.
- Практика. Есть много способов, чтобы потренироваться и получить первый опыт. Попробуйте выполнить задания по хакингу и пентесту на сайтах TryHackMe, BugCrowd, HackThisSite, Hackaday. Так можно отработать разные виды атак в домашних условиях. Еще есть одиночные и командные соревнования на поиск доказательств взлома систем (CTF) — так можно натренировать точечные навыки. Реальные задачи можно найти у крупных компаний, которые объявляют хакатоны на поиск уязвимостей.
- Сертификация. Есть разные сертификаты: Certified Ethical Hacker (CEH — сертифицированный этический хакер), Offensive Security Certified Professional (OSCP — сертифицированный профессионал по атакующей безопасности), Security+. Каждый специалист может подготовиться и сдать экзамен, чтобы подтвердить свои навыки.
Какие технологии пентестинга изучить в первую очередь
- Операционные системы. Освойте основы работы с Windows, Linux и macOS.
- Сетевые протоколы. Изучите TCP/IP, DNS, HTTP, FTP, SMTP и SNMP. Так вы поймете, как происходит обмен информацией в сети и как можно уязвимо использовать сетевые протоколы.
- Web-технологии. Изучите основы HTML, CSS, JavaScript и SQL. Понимание этих технологий поможет вам понять уязвимости, связанные с веб-приложениями.
- Базы данных: MySQL, Oracle или Microsoft SQL Server. Понимание их структуры поможет искать и эксплуатировать уязвимости, связанные с хранением данных.
- Криптография. Знание основ, включая асимметричное и симметричное шифрование, хэширование и цифровые подписи, позволит анализировать и обходить защиту данных.
- Программы. Изучите такие популярные инструменты, как Nmap, Metasploit, Burp Suite и Wireshark. Так вы научитесь сканировать сети, искать слабые места, эксплуатировать их и анализировать сетевой трафик.
Пентест — это непрерывный процесс обучения и развития. Поэтому вам потребуется постоянно обновлять свои знания и изучать новые программы, технологии и методы.
Книги и подкасты для изучения
Что еще может помочь, чтобы разобраться в теме?
Книги
- «The Web Application Hacker’s Handbook» Даффида Штуттарда и Маркуса Пинто. Подробное руководство по тестированию веб-приложений, в книге много практических примеров и техник по обходу внутренней защиты.
- «Metasploit: The Penetration Tester’s Guide» Дэвида Кеннеди, Джима О’Гормона, Девона Кернса и Мати Ахарони. Книга рассказывает про Metasploit Framework и объясняет, как его использовать для проведения пентестов.
- «Hacking: The Art of Exploitation» Джона Эриксона. Книга описывает основы хакинга и показывает, как использовать различные инструменты и техники.
- «The Basics of Hacking and Penetration Testing» Патрика Энгебретсона. Эта книга предлагает введение в пентест, объясняет основные концепции и методы, используемые в области компьютерной безопасности.
- «Аудит безопасности информационных систем» Николая Скабцова. В книге разобраны методы проникновения в открытые системы и способы обхода систем безопасности сетевых сервисов.
Подкасты
- «Security Now!» со Стивом Гибсоном и Лео Лапорте. Здесь обзор последних новостей в области кибербезопасности и обсуждение разных тем, связанных с пентестом и безопасностью систем.
- «Paul’s Security Weekly» с Полом Азадорианом. В этом подкасте разбираются различные аспекты кибербезопасности, включая пентест, уязвимости и защиту информации.
- «Brakeing Down Security» с Брайаном Брейком и Майклом Харрисом. Еще один подкаст, где обсуждаются темы компьютерной безопасности, включая тестирование на проникновение, угрозы и защиту.
- «The Social-Engineer Podcast» с Крисом Хэдджином. В этом подкасте рассматриваются различные аспекты социальной инженерии и методы обмана, которые можно использовать для атак.
Белый хакер отличается от злоумышленника тем, что не использует навыки в негативных целях. Прежде чем доверить человеку конфиденциальные сведения, специалиста тщательно проверяют, в том числе по открытым источникам. Так работодатели убеждаются в его профессионализме и надежности. Поэтому пентестеру важно следить за своей репутацией и при необходимости удалять негатив, неактуальные или устаревшие материалы.
Чек-лист: с чего начать, чтобы стать пентестером
Теперь мы знаем список требований, которые определяют нужные знания и навыки. Предлагаем подборку бесплатных ресурсов:
- Сообщество OWASP — открытый проект про безопасность веб-приложений. Он рассматривает самые распространенные риски и точки обхода, учит анализу и работе с уязвимостями.
- На Wiki представлена подробная инструкция по тестированию веб-приложений, подготовленная в рамках OWASP. Здесь вы узнаете, как тестировать конфигурации, управлять цифровой идентичностью, мониторить проблемы аутентификации и авторизации, осуществлять менеджмент сессий и валидацию форм, работать с ошибками, зашифровывать файлы при помощи криптографии и многое другое.
- Чтобы разобраться в тестировании мобильных программ, посмотрите бесплатные видеоуроки, рассматривающие этичный хакинг и тестирование на проникновение.
- На портале PentesterLab Bootcamp можно освоить Kali Linux — главный инструмент для каждого, кто задумывается об этой профессии. На сайте много информации о Linux и скриптинге, http, виртуальных хостингах на PHP/DNS, SSL/TLS, введении собственного кода в чужие веб- и мобильные приложения, обзоре кода и анализе трафика, nmap и криптографических атаках.
- Дафид Статтард написал «Настольную книгу хакера веб-приложений по обнаружению и эксплойту уязвимостей системы». Это полный гайд для специалистов, которые только начинают карьеру в области тестирования на проникновение.
Полезным будет опыт тех, кто уже использует инструменты пентеста. Популярные комьюнити: HackerOne, HackForums, Chaos Computer Club.
Чтобы наш контент был достоверным и вы могли полагаться на него в своих решениях, эксперты проверили статью на актуальность. Как мы создаем и проверяем контент


 
    





