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

HR бренд репутация москва

Пентестер — перспективная профессия с зарплатой от 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 фаз: 

  1. Recon/OSINT — так называемая разведка, сбор сведений о компьютерной системе или аккаунте из открытых источников.
  2. Атака с целью найти уязвимости. 
  3. Получение чувствительных сведений, доступа в систему, повреждение или изменение данных.
  4. Отчет, устранение недостатков безопасности и антикризисный план. 

Обычно для заказчиков важно, чтобы пентестер умел:

 — находить и разрабатывать 0day/1day эксплойты;
— разбираться в устройстве системы заказчика/работодателя, базовых принципах работы сетей и ОС нужного семейства;

— работать со специфическими инструментами ИБ.

Самое сложное в тестировании на проникновение — обнаружить и проэксплуатировать уязвимость. 

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

Кешав Каушик

специалист по кибербезопасности

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

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

Виды пентеста

Основные способы провести испытание:

  • Внешнее тестирование (черный ящик) — проверка безопасности системы без предварительного знания о ее внутренней структуре и кодах программ. Тестировщик изучает доступные публичные ресурсы, проводит сканирование и анализ уязвимостей, чтобы определить уровень защиты снаружи.
  • Внутреннее тестирование (белый ящик) — тестирование системы с полным знанием ее внутренней структуры и деталей реализации. Тестировщик имеет доступ к сети и/или коду программы и совершает атаку с точки зрения внутреннего пользователя или злоумышленника, чтобы определить уязвимости и проблемы безопасности внутри сети.
  • Слепое и двойное слепое тестирование — в слепом тестировании специалисты имеют ограниченные сведения о системе, чтобы смоделировать ситуацию, когда у злоумышленника нет подробных внутренних сведений. В двойном слепом тестировании и у пентестера, и у отдела безопасности нет полной информации друг о друге. 

Также выделяют дополнительные способы:

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

Антон Шустиков

СЕО ИБ проекта CakesCats

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

Программы для проведения пентеста

Софт, которым пользуются продвинутые пентестеры:

Metasploit. Популярный фреймворк для поиска уязвимостей. В нем много инструментов для анализа серверов и сети, сбора информации, а еще можно создавать собственные эксплойты и пейлоады для атак. 

Nmap. Сканер сети, который определяет активные хосты, открытые порты, OC и версии служб и может просканировать сетевые протоколы.

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

Wireshark. Сниффер сетевого трафика, который можно использовать для анализа и отслеживания пакетов данных, передаваемых по сети.

Hashcat. Инструмент для взлома паролей. 

Nessus. Коммерческое программное обеспечение с большим функционалом для поиска и анализа уязвимостей. 

Как стать пентестером с нуля: что нужно знать

  1. Бесплатные источники. На Awesome Ethical Hacking Resources есть много материалов, чтобы погрузиться в тему и попробовать провести первые атаки: от книг и обучающих видео до лекций и полноценных курсов. Базовые навыки можно получить бесплатно, а заодно разобраться, насколько эта сфера вам интересна.
  2. Платное обучение. Курсы станут хорошей опорой, чтобы не утонуть в море материалов. Вот подборка популярных курсов по пентестингу. Из явных плюсов такого обучения: есть четкий план погружения в тему, вся информация структурирована, поддержка кураторов и сокурсников. Из минусов: не везде дают качественный разбор материалов, поэтому выбирать обучение стоит очень тщательно.
  3. Практика. Есть много способов, чтобы потренироваться и получить первый опыт. Попробуйте выполнить задания по хакингу и пентесту на сайтах TryHackMe, BugCrowd, HackThisSite, Hackaday. Так можно отработать разные виды атак в домашних условиях. Еще есть одиночные и командные соревнования на поиск доказательств взлома систем (CTF) — так можно натренировать точечные навыки. Реальные задачи можно найти у крупных компаний, которые объявляют хакатоны на поиск уязвимостей.
  4. Сертификация. Есть разные сертификаты: 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. Так вы научитесь сканировать сети, искать слабые места, эксплуатировать их и анализировать сетевой трафик.

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

Книги и подкасты для изучения

Что еще может помочь, чтобы разобраться в теме? 

Книги

  1. «The Web Application Hacker’s Handbook» Даффида Штуттарда и Маркуса Пинто. Подробное руководство по тестированию веб-приложений, в книге много практических примеров и техник по обходу внутренней защиты.
  2. «Metasploit: The Penetration Tester’s Guide» Дэвида Кеннеди, Джима О’Гормона, Девона Кернса и Мати Ахарони. Книга рассказывает про Metasploit Framework и объясняет, как его использовать для проведения пентестов.
  3. «Hacking: The Art of Exploitation» Джона Эриксона. Книга описывает основы хакинга и показывает, как использовать различные инструменты и техники.
  4. «The Basics of Hacking and Penetration Testing» Патрика Энгебретсона. Эта книга предлагает введение в пентест, объясняет основные концепции и методы, используемые в области компьютерной безопасности.
  5. «Аудит безопасности информационных систем» Николая Скабцова. В книге разобраны методы проникновения в открытые системы и способы обхода систем безопасности сетевых сервисов.

Подкасты

  1. «Security Now!» со Стивом Гибсоном и Лео Лапорте. Здесь обзор последних новостей в области кибербезопасности и обсуждение разных тем, связанных с пентестом и безопасностью систем.
  2. «Paul’s Security Weekly» с Полом Азадорианом. В этом подкасте разбираются различные аспекты кибербезопасности, включая пентест, уязвимости и защиту информации.
  3. «Brakeing Down Security» с Брайаном Брейком и Майклом Харрисом. Еще один подкаст, где обсуждаются темы компьютерной безопасности, включая тестирование на проникновение, угрозы и защиту.
  4. «The Social-Engineer Podcast» с Крисом Хэдджином. В этом подкасте рассматриваются различные аспекты социальной инженерии и методы обмана, которые можно использовать для атак.

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

Чек-лист: с чего начать, чтобы стать пентестером

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

  1. Сообщество OWASP — открытый проект про безопасность веб-приложений. Он рассматривает самые распространенные риски и точки обхода, учит анализу и работе с уязвимостями. 
  2. На Wiki представлена подробная инструкция по тестированию веб-приложений, подготовленная в рамках OWASP. Здесь вы узнаете, как тестировать конфигурации, управлять цифровой идентичностью, мониторить проблемы аутентификации и авторизации, осуществлять менеджмент сессий и валидацию форм, работать с ошибками, зашифровывать файлы при помощи криптографии и многое другое. 
  3. Чтобы разобраться в тестировании мобильных программ, посмотрите бесплатные видеоуроки, рассматривающие этичный хакинг и тестирование на проникновение. 
  4. На портале PentesterLab Bootcamp можно освоить Kali Linux — главный инструмент для каждого, кто задумывается об этой профессии. На сайте много информации о Linux и скриптинге, http, виртуальных хостингах на PHP/DNS, SSL/TLS, введении собственного кода в чужие веб- и мобильные приложения, обзоре кода и анализе трафика, nmap и криптографических атаках.
  5. Дафид Статтард написал «Настольную книгу хакера веб-приложений по обнаружению и эксплойту уязвимостей системы». Это полный гайд для специалистов, которые только начинают карьеру в области тестирования на проникновение. 

Полезным будет опыт тех, кто уже использует инструменты пентеста. Популярные комьюнити: HackerOne, HackForums, Chaos Computer Club

Часто задаваемые вопросы

  • Чем занимается пентестер?

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

  • Как стать пентестером?

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

  • Какие программы нужны для пентестинга?

    Пентестеры используют инструменты для сканирования сети и приложений, анализа трафика, обнаружения и эксплуатации уязвимостей (например, Metasploit, Nmap, Burp Suite, Wireshark).

  • Что важно работодателям при выборе пентестера?

    Специалистов выбирают на основе опыта, сертификаций (например, CEH, OSCP), знания инструментов и методик тестирования на проникновение. Помимо этого важно убедиться в надежности кандидата, поэтому ключевую роль может сыграть его репутация.

Комментарии

У этой статьи пока нет комментариев, но вы можете быть первым

Ответ

Ваш Email останется в секрете. *

Вверх