Два года назад я просидел три вечера подряд перед развёрнутой Kali Linux, запустил
nmap на собственный роутер и не понял половины вывода. Четвёртый вечер ушёл на попытку эксплуатировать учебную XSS в DVWA - нашёл одну штуку строго по туториалу и решил, что уже пентестер. На пятый день попробовал подать заявку на закрытый раздел форума - получил отказ, потому что не решил вступительное задание на SQL-инъекцию. Между "установил Kali" и "нашёл реальную уязвимость" лежит конкретная работа, которую никто за тебя не сделает. Ниже - roadmap, который я хотел бы получить тогда.Почему совет "установи Kali и ломай" - путь в никуда
Самый частый ответ на вопрос "с чего начать пентест" в русскоязычных чатах - скачай Kali, запусти Metasploit, найди эксплойт. Совет пропускает три-четыре месяца фундамента. Без понимания того, как TCP-пакет проходит от браузера до сервера, выводnmap - набор чисел. Без знания HTTP - Burp Suite бесполезен. Без базового Python - автоматизация рутины невозможна.На рынке труда ищут не операторов кнопок. Когда в SOC прилетает алерт о подозрительном соединении на порт 4444, специалист с фундаментом откроет дамп в Wireshark и увидит reverse shell - DNS-запросы на домен
.xyz, команды whoami внутри TCP-потока. Человек без фундамента запустит сканер, ничего не обнаружит и закроет тикет как false positive. Разница - в понимании протоколов, а не в количестве установленных утилит.Ещё одна ловушка - stealth-техники из YouTube. ACK-сканирование, фрагментированные пакеты, decoy-адреса - звучит круто, но современные IDS и файрволы давно научились это детектировать. Новичок тратит неделю на "невидимое сканирование" учебной машины TryHackMe, где файрвола вообще нет. Сначала - базовый скан и понимание результата. Тонкости обхода - потом, когда появится контекст, где это реально нужно.
Фундамент: обучение пентесту с нуля
Прежде чем открывать терминал с целью что-то сканировать, стоит потратить 2-3 месяца на основы. Не ради галочки - без них каждый следующий шаг занимает вдвое больше времени.
Сети. TCP/IP, DNS-резолвинг, ARP, NAT. Задача - не зубрить модель OSI, а понимать конкретные вещи: что происходит при вводе URL в браузер? Где в этой цепочке можно перехватить данные? Как работает TCP handshake и почему SYN-скан быстрее полного подключения? В терминах MITRE ATT&CK это база для техник Active Scanning (T1595, Reconnaissance) - без знания сетей не разберёшь, что именно сканер обнаружил.
Linux. Файловая система, права доступа, процессы, базовые команды.
chmod, chown, ps aux, grep, find - минимальный набор. Kali - всего лишь дистрибутив с предустановленными инструментами. Если не понимаешь, что делает команда find / -perm -4000 -type f 2>/dev/null (ищет файлы с SUID-битом - потенциальные векторы повышения привилегий), то и LinPEAS не поможет.Веб-технологии. HTTP-запросы и ответы, cookie, сессии, заголовки. Что такое GET vs POST? Как работает аутентификация через токены? Что происходит при redirect? Без этого OWASP Top 10 останется списком непонятных аббревиатур.
Python. Разработчиком становиться не нужно. Достаточно уметь: отправить HTTP-запрос через
requests, распарсить JSON-ответ, написать цикл для перебора параметров. Вместо ручной проверки 50 URL - скрипт сделает это за секунды.Как найти первую уязвимость: пошаговый roadmap
📚 Часть контента скрыта. Этот материал доступен участникам сообщества с рангом One Level или выше
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме
A03:2021 - Injection. SQL-инъекции, command injection. Приложение не фильтрует пользовательский ввод - классическая проверка в поле логина. На учебных стендах вроде DVWA и WebGoat это работает. В реальных приложениях - сложнее, но принцип тот же.
A05:2021 - Security Misconfiguration. Забытые дефолтные пароли, открытые директории (Directory Indexing), verbose error messages, отсутствие аутентификации на административных интерфейсах. Мисконфигурация - самый частый тип находок у начинающих багхантеров, потому что не требует глубокого понимания кода. Просто смотришь, что торчит наружу и забыто.
Для веб-тестирования нужен Burp Suite Community Edition. На старте хватит двух функций: Proxy для перехвата запросов между браузером и сервером и Repeater для повторной отправки изменённых запросов. Не пытайся сразу освоить Scanner или Intruder - вернёшься к ним через пару месяцев, когда руки будут помнить, что искать.
Privilege escalation: от low-priv shell до root
Получил shell на машине, но ты обычный пользователь без привилегий. Следующий этап - повышение привилегий. LinPEAS - первое, что стоит запустить на целевой машине.LinPEAS автоматически проверяет десятки векторов: SUID-бинарники, cron-задачи с неправильными правами, credentials в конфигурационных файлах (техника Credentials In Files, T1552.001, Credential Access), writable PATH-директории, kernel exploits. Вывод цветной: красное - почти гарантированный вектор эскалации, жёлтое - стоит проверить вручную.
После LinPEAS - сверяйся с GTFOBins (gtfobins.github.io). Если LinPEAS нашёл SUID на
python, GTFOBins покажет команду для получения root. SUID на nmap старой версии - interactive mode с выходом в shell. SUID на php - однострочник для выполнения команд от root. Каждый бинарник из каталога GTFOBins - потенциальный вектор. Привычка сверяться с этим ресурсом формируется быстро и экономит часы ковыряния вслепую.Закрытые CTF задания и секретный раздел форума ИБ
Как работает доступ к приватным сообществам
Закрытые разделы на форумах по ИБ - не маркетинговая уловка. Это фильтр, который отсеивает случайных людей и создаёт среду для обсуждения технических деталей без оглядки на широкую публику. Модераторы оценивают новых участников по нескольким критериям.Решённые задания. Большинство площадок требуют пройти вступительный тест: CTF-задание на веб-уязвимость, расшифровку строки, реверс бинарника. Уровень начальный-средний, но без фундамента из предыдущих разделов не пройти. На некоторых площадках вступительное задание меняется раз в месяц - нельзя просто загуглить ответ.
Writeup или research. Ряд сообществ просят показать опубликованный writeup - разбор решения CTF-задания или описание найденной уязвимости. Один качественный writeup на GitHub весит больше десяти сертификатов с тестами на multiple choice. Это доказательство того, что кандидат умеет документировать процесс, а не угадывать ответы.
Репутация на открытых площадках. Активность на TryHackMe, HackTheBox, CTFtime - всё это формирует публичный профиль. Закрытые Telegram-группы и Discord-серверы часто спрашивают ник на HTB или ссылку на CTFtime-профиль при подаче заявки. Пустой профиль - почти гарантированный отказ.
Рекомендация действующего участника. В некоторых сообществах нужен поручитель. Поэтому нетворкинг на открытых CTF и форумах - не пустая трата времени. Знакомства завязываются в командных CTF, в тредах с обсуждением writeup'ов, в чатах площадок для практики.
Типичные ошибки при подаче заявки: пустой профиль без решённых задач, агрессивный тон в открытых тредах, попытка купить доступ. Модераторы проверяют историю - одного токсичного комментария может хватить для отказа.
Приватные CTF как получить доступ: входной билет через соревнования
CTF-соревнования - самый прямой путь к признанию в сообществе для начинающих пентестеров. CTFtime.org агрегирует расписание всех соревнований по миру. Для старта подходит Jeopardy-формат - отдельные задания по категориям (web, crypto, forensics, reverse, pwn) без необходимости защищать свою инфраструктуру.Конкретный план входа:
- Зарегистрируйся на CTFtime.org и найди соревнование с рейтингом ниже 30 - они проще и дружелюбнее к новичкам.
- Собери команду из 2-3 человек. В одиночку на первых CTF тяжело, а открытые CTF-чаты в Telegram помогут найти напарников.
- Сфокусируйся на одной-двух категориях: web и forensics - самые доступные для начинающего.
- После соревнования - напиши writeup на каждое решённое задание. Даже если решил одну задачу из двадцати - это уже результат, а не позор.
Площадки для практики хакинга: план на три месяца
| Период | Площадка | Задача | Результат |
|---|---|---|---|
| Месяц 1 | TryHackMe | Пути Pre-Security, Jr Penetration Tester | Понимание базовых уязвимостей, первые флаги |
| Месяц 2 | HackTheBox | Retired-машины уровня Easy с writeups | Навык самостоятельного решения без подсказок |
| Месяц 3 | CTF + Bug Bounty | Jeopardy CTF, регистрация на Standoff 365 | Первый writeup, знакомство с реальным скоупом |
Месяц 1: TryHackMe. Платформа ведёт за руку. Каждый шаг объясняется: зачем запускать команду, что означает вывод, какой следующий шаг. Начни с пути Pre-Security - он покрывает сети, GNU/Linux и веб. Потом Jr Penetration Tester - первые реальные уязвимости в контролируемой среде. Для тех кто в танке: TryHackMe - это как тренажёр вождения с инструктором. Всё мягко и безопасно, но навык формируется.
Месяц 2: HackTheBox. Подсказок нет. Получаешь IP-адрес машины, дальше - сам. Начинай с retired-машин уровня Easy - для них есть публичные writeups, можно подсмотреть при затыке. Правило: сначала пробуй самостоятельно минимум 2 часа. Потом читай решение и анализируй, что упустил. Без этого writeups превращаются в бездумное копирование команд.
Месяц 3: CTF и Bug Bounty. К этому моменту есть базовый навык и 20-30 решённых машин. Участвуй в одном-двух CTF за месяц. Параллельно зарегистрируйся на российских Bug Bounty площадках: Standoff 365 от Positive Technologies, BI.ZONE Bug Bounty. Не пытайся сразу ломать крупные цели - выбери программу с широким скоупом (много поддоменов) и ищи мисконфигурации (A05:2021), IDOR (A01:2021), reflected XSS. Даже находка на 50 долларов - это строчка "нашёл уязвимость в Bug Bounty программе компании N" в резюме. А ещё - доказательство самому себе, что ты не просто скрипт-кидди с Kali.
Как оформить первый writeup
Writeup - документация процесса решения задачи. Для сообщества это доказательство компетенции. Для тебя самого - способ систематизировать знания (и через полгода вспомнить, как ты вообще это решил).Структура:
- Задача. Название машины, категория, сложность.
- Разведка. Результат
nmap, обнаруженные сервисы, первые наблюдения в браузере. - Эксплуатация. Какую уязвимость нашёл, какой payload применил, что получил - shell, данные или флаг.
- Повышение привилегий. Что показал LinPEAS, какой вектор выбрал, как добрался до root.
- Выводы. Что нового узнал, какие ошибки допустил, что бы сделал иначе.
Большинство статей про обучение пентесту заканчиваются списком из пятнадцати платформ и пожеланием удачи. На практике главная проблема новичка - не нехватка ресурсов, а отсутствие обратной связи. Решаешь машину, получаешь root, но не понимаешь: это был оптимальный путь или костыль через kernel exploit вместо элегантного GTFOBins-вектора?
Сообщество важнее инструментов. Один комментарий от опытного участника под writeup - "здесь ты мог использовать SUID на python вместо kernel exploit" - экономит неделю самостоятельных поисков. Закрытые разделы форумов ценны не секретными знаниями, а концентрацией людей, которые дают честный технический фидбек.
Через год-два порог входа в ИБ вырастет ещё сильнее. Автоматические сканеры становятся лучше с каждым кварталом, и "найти reflected XSS через
alert(1)" скоро перестанет считаться результатом. Останутся те, кто понимает бизнес-логику приложений и находит уязвимости, которые сканер пропустит: race conditions, сложные IDOR-цепочки, логические ошибки в платёжных потоках. Фундамент из сетей, ОС и веб-технологий - это то, что не устаревает. Если хочешь пройти этот фундамент системно, а не ковыряться в YouTube-туториалах вслепую - на codeby.academy есть IB Basics, где разбирают "как разобраться", а не "запомните терминологию".
Последнее редактирование модератором: