Статья Руководство начинающему пентестеру: Как войти в профессию с нуля

Введение
Untitled.webp
Многие скорее всего думали, что безопаностью приложений занимаются сами разработчики. Однако, это не так, от части, основную роль в безопасности играют пентестеры. В данной статье мы узнаем, кто такой пентестер, чем они занимаются, как стать пентестером, какие навыки для этого нужны, как обучаются на пентестера, где пентестеры практикуются и развиваются.


Кто такой Пентестер и его роль
Для начала, давайте разберёмся, кто такой пентестер. Пентестер или же «Белый хакер» - это эксперт по информационной безопасности, который занимается санкционированным взломом компьютерных систем.

Задача пентестера - обнаружить в веб-приложениях уязвимости, которыми может воспользоваться «черный хакер», и сообщить о них заказчику - разработчикам или владельцам системы.


Какими навыками должен обладать настоящий пентестер?
Настоящий пентестер умеет работать с ОС Windows/Linux. Понимание, как устроенны эти ОС помогает пентестеру намного эффективнее находить уязвимые места в них. Например, уязвимы могут быть разрешения директорий и файлов, уязвимые компоненты операционной системы, уязвимое ПО (зачастую использование устаревших версий). Пентстеру, для того, чтобы эффективно проникать, нужно уметь качественно администрировать эти операционные системы.

Определённо точно, настоящему пентестеру нужно понимание сетей, топологии и инфораструктуры. Специалист должен понимать, как устроена сеть его цели: где находиться firewall, маршрутизаторы, коммутаторы. Понимать, как транспортируются пакеты от точки А до точки Б, чтобы находить обходные пути и выявлять неправильные настройки. Оценивать, насколько эффективно сеть разделена на сегменты. Т.е например, можно ли из пользовательского интерфейса попасть в административную панель. Точно также, специалист должен понимать, какие порты открыты и какие службы работают (Например, СУБД, Веб-сервер). Пентестер также умеет перехватывать трафик (ARP Spoofing), анализировать его для кражи учётных данных или сессий. Также уметь манипулировать с трафиком – подменивать DNS, создавать фальшивые точки доступа, атаковать MITM (Man-in-the-Middle).

Каждый пентестер в своём багаже имеет знание минимум 3 языков программирования, а более уверенные специалисты - больше. В основном это Python, Bash и SQL. Зачем пентестеру программировать? Затем, что софт с GitHub, не всегда рабочий и может иметь в себе кучу проблем, и пентестер который не умеет писать код – становиться ламером. Программировать пентестеру нужно, чтобы:
  1. Чинить утилиты.
  2. Создавать уникальные скрипты для индивидуальной уязвимости.
  3. Писать payload’s
  4. Автоматизировать процессы.
Например, Python очень хорош в работе с сетями, на нём пишут Краулеры, парсеры и т.д.
Bash – хорош для взаимодействия с ОС семейства Linux, на bash пишут скрипты для обхода неправильных настроек доступа и т.д.
SQL- язык для прямого взаимодействия с БД, тут объяснять нечего.

Веб-технологии - это база, которую нужно знать на уровне рефлексов, давайте разберём поэтапно, что нужно знать и понимать:
Как работает веб?
Браузер, сервер, Протокол. HTTP/HTTPS, запросы GET, POST, PUT, DELETE, HEAD и их ответы.
Заголовки - Cookie, Authorization, User-Agent, Referer, и коды ответов от них, 200, 404, 302, 500.
Браузерный Dev-Tools, вкладка Network, Console, Application (смотреть Cookie, LocalStorage)
Фронтенд
HTML, CSS, JavaScript - формы и поля для ввода, тэги, искать API, токены, логика проверок.
Бэкенд
Python(Flask,Django), PHP, Node.js, Ruby, SQL(Postgress, NoSQL) - Базовый минимум для понимания того, как работает скрытая часть сайта.
Базовые эксплойт техники
Stack-Based Buffer Overflow или же переполнение буфера на стеке - Программа выделяет в памяти ограниченное место под данные. Если скормить ей данных больше, чем она расчитана - лишние данные начнут перезаписывать соседние участки памяти.
Shellcode - Небольшой бинарный код, который делает полезность для специалиста. Зачастую - открывает удалённую командную оболочку.
XSS - Внедрение вредоносного JavaScript в страницу, которую видят другие пользователи.
FLI - Заставляем веб-приложение показать локальный файл с сервера (/etc/passwd).


Сертификаты и Курсы
OSCP - Сертифицированный специалист по этичному хакингу Offensive Security (также известный как OffSec Certified Professional) - это сертификат по этичному хакингу, предлагаемый компанией Offensive Security (или OffSec), который обучает методологиям тестирования на проникновение и использованию инструментов, входящих в состав дистрибутива Kali Linux (преемника BackTrack).
CEH - Сертифицированный этичный хакер - это квалификация, выдаваемая EC-Council и получаемая за демонстрацию знаний в оценке безопасности компьютерных систем путем поиска уязвимостей в целевых системах, используя те же знания и инструменты, что и злонамеренный хакер, но законным и легитимным способом для оценки состояния безопасности целевой системы.


Практика и трудоустройство
В любом портфолио будто программиста или видеомонтажёра и даже пентестера, будут указаны пет-проекты. Что это? Пет-проект - это проект "для себя, for fun", вы как бы тренируетесь и потом закрепляете это в своём резюме. Например, очень хорошим примером будут ваши WriteUps. WriteUps - это инструкция/гайд по решению тасков на какой-либо платформе. Самописные скрипты для узких задач (естесвенно, на странице с утилитой должно быть расписано зачем и почему).
Чтобы начать учиться искусству пентеста, начните с изучения основ что я изложил в предидущей главе и закрепите их в Root-me, HackerLab(веб), а затем попробуйте свои силы в HackTheBox, HackerLab(Pentesting Machine) в лёгких тасках. Постепенно повышайте сложность, не нужно бояться, если у вас что-то не получается, поверьте, это нормально.
На собеседовании на вакансию Пентестер необходимы следующие навыки: Базовые технические знания (TCP/IP, DNS, HTTP, Linux/Windows, OWASP(топ распространённых уязвимостей)), Практические навыки (Burp Suite, Nmap, Nikto, Sqlmap, Metasploit, опыт CTF), Понимание методологий (Как писать отчёты и описывать найденные уязвимости), Мини-портфолио (То, о чём я уже рассказал выше).
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab