Как стать пентестером: что нужно знать и с чего начинать путь в профессии
Пентестер — перспективная профессия с зарплатой от 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.
Но это не значит, что для работы нужно быть гуру во всем. Зачастую нужно знать только свой «стек», то есть языки и техники, которые используются при разработке или эксплуатации системы.
Антон Шустиков
СЕО ИБ проекта CakesCats
Чтобы стать хорошим пентестером лучше начинать не с нуля, а уже иметь какой-либо бекграунд в ИТ. Слишком специфичная сфера. Лично мне отличных специалистов удавалось вырастить из программистов и системных администраторов. Последним будет особенно полезно, ведь знание пентеста и проблем безопасности вкупе с инструментами позволит добавить себе звание devSecOps, а это очень классные карьерные перспективы и уровень зарплаты, сопоставимый с топ-менеджерами. Программистам квалификация в пентестинге помогает преодолеть карьерный «потолок», избежать выгорания и выйти в интересную, хорошо оплачиваемую нишу ИБ без особых рисков и радикальных перемен. Пускай уже я больше менеджер и управленец, путь пентестера был полон очень интересными событиями.
Как работают пентестеры
Специалисты внутри отдела информационной безопасности делятся на 2 команды:
- Red Team (красная команда). Главная задача — реальная атака. Пентестеры из редтима пытаются взломать систему или получить несанкционированный доступ к внутренней информации. Они создают полный сценарий атаки, ищут векторы и уязвимости сети, анализируют и эксплуатируют их и создают отчеты по их предотвращению.
В процессе работы редтимеры:
— проводят тесты на проникновение в сети, приложения, IT- и физическую инфраструктуру;
— используют методы социальной инженерии для получения несанкционированного доступа в систему;
— анализируют уязвимости и выявляют слабые места;
— создают отчеты с рекомендациями по устранению обнаруженных уязвимостей;
— участвуют в учениях по кибербезопасности и обучении персонала реагированию на киберинциденты.
- Blue Team (синяя команда). Работает на стороне обороны и отвечает за защиту системы от кибератак. Блютимеры анализируют результаты испытаний и другие сведения, чтобы выявить уязвимости и разработать стратегии для устранения проблем безопасности и предотвращения атак.
В процессе работы участники синей команды:
— мониторят аномальные сетевые активности;
— обнаруживают и реагируют на инциденты безопасности;
— устанавливают и настраивают системы обнаружения вторжений и предотвращения атак;
— проводят регулярные аудиты безопасности системы;
— разрабатывают и реализуют стратегии защиты от атак;
— участвуют в учениях по реагированию на киберинциденты;
— реагируют и отвечают на атаки команды Red Team.
Как проводят тестирование на проникновение
Тест состоит из 4 фаз:
- Recon/OSINT — так называемая разведка, сбор сведений о компьютерной системе или аккаунте из открытых источников.
- Атака с целью найти уязвимости.
- Получение чувствительных сведений, доступа в систему, повреждение или изменение данных.
- Отчет, устранение недостатков безопасности и антикризисный план.
Обычно для заказчиков важно, чтобы пентестер умел:
— находить и разрабатывать 0day/1day эксплойты;
— разбираться в устройстве системы заказчика/работодателя, базовых принципах работы сетей и ОС нужного семейства;
— работать со специфическими инструментами ИБ.
Самое сложное в тестировании на проникновение — обнаружить и проэксплуатировать уязвимость.
Специалист по кибербезопасности, пентестингу и криминально-компьютерной экспертизе Кешав Каушик рассказал о типичном рабочем дне. Так выглядит жизнь тех, кто проделывает испытание проникновением.
Кешав Каушик
специалист по кибербезопасности
В начале рабочего дня я читаю, что происходит в мире кибербезопасности. Мне нужно понимать, с какими угрозами мы можем столкнуться. Осуществляя тестирование на проникновение, я выбираю подход. После этого работаю над разными фазами цикла этичного хакинга: собираю сведения, делаю футпринт (своеобразную карту компьютерной сети со списком хостов, доменными именами, адресами и открытыми портами, которые используются ОС), провожу сканирование и прибегаю к энумерации (конфигурированию). Затем атакую систему, получаю доступ, смотрю, насколько могу контролировать ситуацию, а после этого «заметаю следы». Весь процесс документируется, клиенту предоставляется отчет и последующие консультации.
Консультирование — тоже часть пентеста, ведь нужно не только находить слабые места системы, но и понимать, как исправить ситуацию. Поэтому проделав техническую работу, Кешав устраивает семинары и кампании, повышающие осведомленность населения в области кибербезопасности. Цель такой работы — рассказать пользователям о возможных киберугрозах и мерах их предотвращения. Это нужно еще и для того, чтобы организации понимали, что им действительно нужно тестирование на проникновение и безопасность систем. Ведь до сих пор многие не знают о существовании этичных хакеров, которые смотрят на проблему глазами киберпреступника и дают по-настоящему действенные рекомендации.
Виды пентеста
Основные способы провести испытание:
- Внешнее тестирование (черный ящик) — проверка безопасности системы без предварительного знания о ее внутренней структуре и кодах программ. Тестировщик изучает доступные публичные ресурсы, проводит сканирование и анализ уязвимостей, чтобы определить уровень защиты снаружи.
- Внутреннее тестирование (белый ящик) — тестирование системы с полным знанием ее внутренней структуры и деталей реализации. Тестировщик имеет доступ к сети и/или коду программы и совершает атаку с точки зрения внутреннего пользователя или злоумышленника, чтобы определить уязвимости и проблемы безопасности внутри сети.
- Слепое и двойное слепое тестирование — в слепом тестировании специалисты имеют ограниченные сведения о системе, чтобы смоделировать ситуацию, когда у злоумышленника нет подробных внутренних сведений. В двойном слепом тестировании и у пентестера, и у отдела безопасности нет полной информации друг о друге.
Также выделяют дополнительные способы:
- Социальная инженерия — методика, при которой тестировщики манипулируют или вводят в заблуждение сотрудников организации или их контрагентов, чтобы получить несанкционированный доступ к системе. Они могут использовать перехват паролей, фишинговые атаки, обман на основе доверия и т.д.
- Реверс-инжиниринг — тестировщики анализируют программные коды, протоколы связи, алгоритмы шифрования и другие компоненты системы, чтобы найти слабые места и потенциальные точки входа для атаки.
Антон Шустиков
СЕО ИБ проекта 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.
Часто задаваемые вопросы
-
Чем занимается пентестер?
Это специалист, который тестирует безопасность информационных систем, сетей и приложений. Он использует техники злоумышленников, чтобы найти уязвимости и возможные угрозы для конфиденциальности, целостности и доступности данных.
-
Как стать пентестером?
Для этого нужно изучить основы компьютерной безопасности, получить практические навыки в тестировании уязвимостей, пройти специализированные курсы и сертификации, а также практиковаться в проведении пентестов на виртуальных и локальных средах, используя специальные тренажеры для оттачивания навыков.
-
Какие программы нужны для пентестинга?
Пентестеры используют инструменты для сканирования сети и приложений, анализа трафика, обнаружения и эксплуатации уязвимостей (например, Metasploit, Nmap, Burp Suite, Wireshark).
-
Что важно работодателям при выборе пентестера?
Специалистов выбирают на основе опыта, сертификаций (например, CEH, OSCP), знания инструментов и методик тестирования на проникновение. Помимо этого важно убедиться в надежности кандидата, поэтому ключевую роль может сыграть его репутация.