ОБСУЖДЕНИЕ На проверке 

Writeup HTB для резюме пентестера: гайд

Автор темы
Тёмный стол исследователя ночью: на экране ноутбука открыт GitHub-репозиторий с мануалом по Kerberoasting, рядом блокнот со схемой атаки от руки. На втором мониторе светится терминал Hack The Box,...


На третьем техническом собеседовании тимлид открыл мой GitHub, нашёл writeup по retired-машине с HTB и спросил, почему я выбрал Kerberoasting вместо очевидного SMB relay. Пятнадцать минут мы разбирали один writeup - и стандартное тестовое задание отменили. Это был мой первый оффер на junior-пентестера: три опубликованных разбора перевесили и диплом, и сертификат. Ниже - конкретный план, как превратить writeup HTB для резюме пентестера в работающее конкурентное преимущество.

Что рекрутер и техлид реально оценивают в writeup'е​

Рекрутер в ИБ-компании тратит на первичный просмотр резюме от 30 секунд до двух минут. Ссылки на CTF-площадки - маркер, по которому он решает, передавать ли резюме дальше. Показательный эксперимент провела лид рекрутинга компании «Бастион» (Habr, 2024): фейковое резюме пентестера со ссылками на Bug Bounty, CTFtime, TryHackMe и Hack The Box за две недели получило 123 просмотра от 51 компании и 25 откликов. Ни один рекрутер не спросил про конкретные кейсы - хотя в резюме было прямо указано «готов рассказать по запросу». Ссылки сработали как сигнал: человек практикуется, а не просто «интересуется ИБ». Подробнее - в нашем руководстве по карьера в кибербезопасности.

Когда резюме доходит до техлида - критерии другие. Его интересует не количество решённых машин, а ход мысли:
  • Методология - есть ли системный подход (recon → enumeration → exploitation → post-exploitation → reporting), или кандидат тыкается наугад
  • Обоснование решений - почему выбран этот вектор, а не альтернативный
  • Качество документирования - сможет ли человек написать отчёт, понятный клиенту без технического бэкграунда
  • Глубина понимания - знает ли кандидат, почему exploit сработал, а не просто воспроизводит чужие команды
Согласно рекомендациям HTB Blog, при найме в кибербезопасность решает «evidence of your passion and persistence». Writeup - самый прямой способ это показать.

Где публиковать writeup HTB и TryHackMe​

GitHub портфолио для пентестера: минимальная структура​

GitHub-профиль - первое место, куда техлид идёт после прочтения резюме. В примерах резюме от HTB ссылка на GitHub стоит в шапке наравне с email, а в образце entry-level резюме для аналитика указываются конкретные цифры: «HTB machine completions include 14 retired boxes».

Минимальная структура репозитория:
Код:
pentesting-writeups/
├── README.md            # Оглавление с кратким описанием
├── HTB/
│   ├── machine-name-1/
│   │   ├── writeup.md
│   │   └── screenshots/
│   └── machine-name-2/
├── TryHackMe/
│   └── room-name-1/
└── tools/
    └── custom-enum.sh   # Самописные скрипты
Правила оформления, без которых не взлетит:
  • README.md с навигацией - рекрутер не будет копаться в папках. Таблица: название машины, ОС, сложность, ссылка на writeup
  • Дата и сложность в каждом writeup'е - показывает прогрессию от Easy к Hard
  • Скриншоты рядом с текстом, а не на внешнем хостинге, который через полгода отвалится
  • Самописные скрипты в отдельной папке - даже простой bash для автоматизации enumeration показывает навык, который ценят работодатели
Антирекомендация: GitHub с нулём коммитов и единственным форком «awesome-hacking-tools». Такой профиль хуже, чем отсутствие ссылки вообще. Серьёзно - лучше вообще не давать ссылку.

Блог по кибербезопасности для резюме: площадки и выбор​

GitHub хранит writeup'ы, но не продвигает их. Для видимости нужна площадка с аудиторией.

Habr - главная техническая площадка рунета. Индексация в поиске, комментарии от практиков с реальным опытом, возможность попасть в корпоративный блог ИБ-компании. Из минусов: порог входа по качеству текста, негативная карма демотивирует (но закаляет). Для русскоязычного портфолио пентестера - наиболее весомая площадка.

Medium - английскоязычная аудитория, теги InfoSec и CyberSecurity с десятками тысяч подписчиков. Международная видимость, если целитесь в вакансии за рубежом. Минус: paywall отпугивает часть читателей.

Личный блог на Hugo или Jekyll с хостингом на GitHub Pages. Полный контроль и демонстрация навыков работы с git и CI/CD. Минус - нет встроенной аудитории, продвигать придётся самому.

Telegram-канал - специфика рунета, работает как дополнительный канал дистрибуции. Ссылку стоит указывать в резюме, если в канале есть хотя бы 10-15 постов с техническим разбором, а не репосты новостей.

Оптимальная комбинация: GitHub как хранилище всех writeup'ов + одна блог-площадка для публикации лучших. По roadmap-гайду Total Cyber Academy, минимальное портфолио для junior-роли включает 8-12 writeup'ов по разным классам уязвимостей и 3 якорных проекта: полный аудит веб-приложения, разбор внутренней сети и самописный инструмент автоматизации.

Как писать writeup HTB, который работает на резюме​

Структура writeup от разведки до рекомендаций​

Каждый writeup TryHackMe или HTB должен зеркалить структуру реального пентест-отчёта. Работодатель через writeup оценивает, сможет ли кандидат писать отчёты для клиентов. Чек-лист по разделам:
📚 Часть контента скрыта. Этот материал доступен участникам сообщества с рангом One Level или выше
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме

Пример сильной фразы в writeup'е: «Нашёл writable crontab, задание запускается от root каждые 5 минут. Вместо стандартного reverse shell через Metasploit написал однострочник на bash - в реальном проекте это снизило бы вероятность срабатывания EDR, а клиенту показало бы, что детект зависит не от конкретного инструмента».

Плохой writeup vs хороший - конкретные примеры​

Плохой writeup (так делают большинство новичков):
  • «Запустил nmap. Нашёл порт 80. Открыл сайт. Нашёл SQLi. Использовал sqlmap. Получил shell. Забрал флаг»
  • Один скриншот - финальный флаг
  • Команды без пояснений
  • Нет раздела с рекомендациями
По сути это лог действий, а не анализ. Техлид посмотрит и закроет - ему непонятно, думал ли кандидат вообще.

Хороший writeup:
  • Каждый шаг объяснён: «Выбрал ручную эксплуатацию SQL-инъекции вместо sqlmap, чтобы показать понимание UNION-based injection (OWASP A03:2021 - Injection)»
  • Скриншоты ключевых этапов с аннотациями (не скриншот терминала на весь экран, а обрезанный фрагмент с выделением важного)
  • Описаны тупиковые ветки: «Попробовал X, не сработало по причине Y - переключился на Z»
  • Раздел Remediation с ссылками на OWASP, MITRE ATT&CK, конкретные CWE
  • Ссылки на официальную документацию инструментов, а не на рандомный пост в интернете
Тупиковые ветки - особенно ценная часть. Техлид на собеседовании хочет видеть, что кандидат умеет работать с неопределённостью, а не просто идёт по готовому exploit chain. Я бы даже сказал, что один хорошо описанный тупик стоит двух успешных эксплойтов.

Сколько writeup'ов нужно для портфолио пентестера​

Конкретные ориентиры на основе рекомендаций для junior-пентестеров:
  • 8-12 writeup'ов с разными классами уязвимостей - не 10 машин с одинаковым SQLi
  • 3 якорных проекта: полный аудит веб-приложения, упражнение по внутренней сети, самописный инструмент
  • Покрытие OWASP Top 10: хотя бы по одному writeup'у на Injection (A03:2021), Broken Access Control (A01:2021), Security Misconfiguration (A05:2021)
Принципиальный момент: публикуйте writeup'ы только по retired-машинам HTB. Публикация разборов активных машин нарушает правила платформы и мгновенно уничтожает доверие к автору. На TryHackMe проверяйте условия конкретной комнаты - большинство допускает публикацию после завершения.

КатегорияЧто это даёт работодателюИнструменты для writeup
Web (SQLi, XSS, SSRF)Понимание OWASP Top 10Burp Suite, sqlmap, manual testing
Active DirectoryНавыки внутреннего пентестаBloodHound, Impacket, Rubeus
Linux PrivEscСистемное мышлениеLinPEAS, GTFOBins, ручной анализ
Windows PrivEscРабота с PowerShell и WinPEASWinPEAS, PowerUp, SharpUp
PWN / BinaryБазовые навыки reversingGhidra, pwntools, GDB

Такой набор закрывается за 3-4 месяца при практике 3-5 часов в неделю. На резюме это отражается конкретными цифрами - как в примере entry-level резюме: «Completed 180+ TryHackMe rooms (Top 5% globally). HTB machine completions include 14 retired boxes».

Ошибки в CTF writeup публикации, которые убивают портфолио​

Публикация флагов и credentials. Не просто нарушение правил площадки. Техлид, увидевший root-флаг в writeup'е, делает однозначный вывод: кандидат не понимает базовый OPSEC. В MITRE ATT&CK техника T1593.003 (Code Repositories, reconnaissance) описывает целенаправленный поиск злоумышленниками чувствительных данных в публичных репозиториях. Writeup с реальными хешами, API-ключами или скриншотами credentials - прямой вектор для атакующего. Замените флаги на [REDACTED], хеши обрезайте. Для тех кто в танке: если вы показываете флаг HTB в публичном репо - вы буквально демонстрируете утечку данных в своём портфолио пентестера.

Copy-paste из чужих writeup'ов. Техлид проверит - поиск находит совпадения за секунды. Один обнаруженный плагиат ставит под вопрос всё портфолио. Если использовали чужой разбор как подсказку - упомяните честно: «Застрял на этапе X, подсмотрел подход у автора Y, адаптировал под свою ситуацию». Честность здесь работает лучше, чем попытка казаться умнее.

Список команд без контекста. Сухая последовательность nmap → gobuster → searchsploit → exploit без объяснений показывает, что кандидат умеет копировать из терминала, но не понимает, что происходит. Одно предложение перед каждым ключевым шагом: зачем именно это действие.

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

Отсутствие README. Репозиторий с десятком папок без оглавления - не портфолио пентестера, а файлопомойка. README.md - первый файл, который открывает рекрутер.

Отдельный момент для тех, кто целится в международные компании: writeup'ы стоит писать на английском. Если работаете на российский рынок - русский язык допустим, но техническая терминология (SQL injection, privilege escalation, lateral movement) остаётся на английском. Так устроена профессиональная лексика и поисковая выдача.

Резюме в ИБ с нуля без ссылки на портфолио в 2025 году - как резюме разработчика без GitHub. Даже фейковое резюме с правильными ссылками на CTF-площадки получило 25 откликов за две недели. Но ссылка работает только если за ней стоит реальный контент: writeup - самый доступный формат, который не требует ни коммерческого опыта, ни сертификата, ни разрешения работодателя.

Вижу одну повторяющуюся проблему: люди пишут 15-20 одинаковых writeup'ов по Easy-машинам и считают, что количество компенсирует глубину. Не компенсирует. Техлид после третьего однотипного разбора закрывает вкладку и переходит к следующему кандидату. Шесть разных writeup'ов - web, AD, Linux privesc, Windows privesc, binary exploitation через Ghidra, самописный скрипт автоматизации - дают в разы больше, чем двадцать вариаций на тему nmap → gobuster → exploit-db → root.txt. Покажите, что умеете думать, а не повторять.

Второе наблюдение: writeup без раздела remediation - это CTF-отчёт, а не пентест-артефакт. На собеседовании обязательно спросят: «А что вы порекомендуете клиенту?» Если в голове только exploitation - разговор заканчивается быстро. Привычка писать рекомендации к каждой найденной уязвимости (даже учебной) формирует мышление пентестера, а не CTF-игрока. Именно это видит техлид, когда листает ваш GitHub.

И последнее: не ждите момента, когда writeup'ов станет «достаточно». Публикуйте первый после решения первой Medium-машины. Он будет несовершенным - и это нормально. Git-история покажет рост, а это ценнее безупречного текста, написанного разом. Если параллельно идёте к OSCP и нужна системная подготовка по веб-части - на WAPT эту цепочку проходят в первых модулях с лабами.
 
AI-выжимка (тезисы)
Что рекрутер и техлид реально оценивают в writeup'е :: Фейковое резюме со ссылками на CTFtime, TryHackMe и Hack The Box получило 123 просмотра от 51 компании и 25 откликов за две недели, при этом ни один рекрутер не спросил о конкретных кейсах.
GitHub портфолио для пентестера: минимальная структура :: В образце entry-level резюме от HTB указывают конкретные цифры вроде «14 retired boxes», а GitHub с нулём коммитов и единственным форком хуже отсутствия ссылки.
Блог по кибербезопасности для резюме: площадки и выбор :: Оптимальная схема — GitHub как хранилище плюс одна блог-площадка; минимум для junior-роли: 8-12 writeup'ов по разным классам уязвимостей и 3 якорных проекта.
Структура writeup от разведки до рекомендаций :: Раздел Remediation с рекомендациями по закрытию уязвимостей — именно то, что отличает CTF-решателя от пентестера в глазах работодателя.
Плохой writeup vs хороший - конкретные примеры :: Один хорошо описанный тупиковый ветка стоит двух успешных эксплойтов: описания «попробовал X, не сработало по причине Y» показывают работу с неопределённостью.
Сколько writeup'ов нужно для портфолио пентестера :: Нужно 8-12 writeup'ов с разными классами уязвимостей и покрытие OWASP Top 10; публикуйте только retired-машины HTB, иначе нарушаете правила платформы.
Ошибки в CTF writeup публикации, которые убивают портфолио :: Публикация флагов и credentials в writeup'е сигнализирует техлиду о незнании OPSEC и демонстрирует утечку данных — флаги заменяйте на [REDACTED].