Пентестинг — что нужно знать

Тестирование на проникновение (penetration testing, pentesting) используется для своевременного обнаружения проблем и уязвимостей в IT-системах. Для этого применяются как ручные методы тестирования, так и автоматизированные инструменты.

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

Навыки и инструменты пентестера

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

  • Основы
  • Кибер-инфраструктура для пентестинга
  • Повышение кроссплатформенных привилегий
  • Атаки на сетевую инфраструктуру
  • Реверс-инжиниринг и анализ вредоносных ПО
  • Подготовка к экзаменам CEH и OSCP

Разберём их подробнее.

Основы

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

Какой опыт здесь поможет? В качестве хорошего бэкграунда для исследования вредоносных программ подойдёт знание ассемблера. Если же вы смотрите в сторону веб-безопасности, то однозначно нужно начать с изучения веб-технологий:

  • Основные технологии, используемые браузерами: HTML, JavaScript, HTTP, веб-сокеты, CSS, SOP, CORS, cookies, хранилища и особенности их работы.
  • Основные технологии разработки серверной части: PHP, фреймворки, системы управления контентом. После можно переходить к более строгим и требовательным языкам и технологиям, таким как Java, Python, Node.JS, C#, Golang и пр.

Знание Linux на уровне пентестера не ограничивается установкой «хакерского» дистрибутива Kali. Управление сервисами, пользователями, правами, сетью и менеджеры пакетов — вот фундамент, который позволит понять, как UNIX-подобные операционные системы работают изнутри.

То же касается и Windows Server. Вам помогут знания о механизмах управления сетью устройств и сетевым оборудованием. Это касается работы с Active Directory, сетевыми протоколам DNS, DHCP и ARP, а также их настройки.

Отдельным блоком следует выделить корпоративные сети Cisco, их архитектуру. Хороший пентестер может быстро разобраться в настройке оборудования Cisco, маршрутизации, VLAN и Trunk портов, мониторить трафик и управлять корпоративной сетью.

Кибер-инфраструктура для пентестинга

На должности пентестера вам предстоит сканировать сети и анализировать сетевой трафик. В этом поможет Wireshark — популярный инструмент для захвата и анализа сетевого трафика, который часто используется как в обучении, так и в реальных задачах. Также вам предстоит мониторить и обрабатывать открытые источники по принципу open-source intelligence (OSINT), работать со взломом паролей, атаками на Wi-Fi и MITM. Именно на этом этапе вы познакомитесь с методом полного перебора или брутфорсом, а также соответствующими программами вроде John The Ripper.

Повышение кроссплатформенных привилегий

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

Изменение привилегий делится на три основных типа:

  • вертикальное повышение — имитация пользователя уровнями выше;
  • горизонтальное повышение — имитация пользователя того же уровня;
  • понижение — имитация пользователя уровнями ниже.

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

Атаки на сетевую инфраструктуру

Такие атаки делятся на активные и пассивные — тип напрямую зависит от вредоносного ПО. Для обеспечения защиты от атак на сетевую инфраструктуру используются:

  • VPN;
  • прокси-серверы;
  • файрволы;
  • системы сетевого мониторинга.

Но это касается методов защиты конечных пользователей. В роли специалиста по пентестингу вам предстоит тестировать атаки через SMB Relay и Responder, использовать PowerShell как инструмент атак и анализа защищённости сети, проверять конфигурацию домена, захватывать и анализировать сетевой трафик.

Реверс-инжиниринг и анализ вредоносных ПО

Но настоящие специалисты по кибербезопасности идут ещё дальше. Они изучают и анализируют логику исполняемых файлов, исследуют результаты работы вредоносных ПО, проводят реверс-инжиниринг компилируемых исполняемых файлов и производят их отладку. Именно здесь вам пригодится язык ассемблера, C, а также отладчики OllyDbg, x64dbg и GDB.

Подготовка к экзаменам CEH и OSCP

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

Дополнительные инструменты

Комплексные:

  • OWASP ZAP — опенсорсный кроссплатформенный инструмент для автоматического поиска уязвимостей веб-приложений в процессе разработки и тестирования;
  • Burp Suite — набор взаимосвязанных компонентов для комплексного аудита безопасности;
  • Metasploit — открытая платформа для создания эксплойтов под различные ОС.

Брутфорсеры:

  • THC-Hydra — многофункциональный брутфорс паролей;
  • RainbowCrack — популярный взломщик хешей;
  • John the Ripper — кроссплатформенный инструмент с тремя типами перебора: полным, гибридным и по словарю.

Сканеры сетей:

  • Nmap;
  • ZMap;
  • Masscan.

Анализаторы трафика:

  • Wireshark;
  • tcpdump;
  • mitmproxy.