Кто такой белый хакер и как им стать: от первого лица
Вокруг нашей профессии много заблуждений и мифов: нас путают с киберпреступниками, считают, что мы занимаемся взломами «конкурентов» и хотим украсть данные обычных пользователей. Но это не так. Рассказываю, кто мы на самом деле, чем занимаемся и как стать белым хакером.
Что за профессия
По сути, хакеры — это люди, которые стали очень сильными экспертами в какой-то конкретной области. Например, пентестеры смотрят на компьютерные системы и пытаются сделать так, чтобы система выполнила не заложенную в неё задачу, а ту, что поставил перед ней хакер.
Сейчас хакерами чаще всего называют злоумышленников, тех, кто работает на «тёмной» стороне и занят личной наживой, но много тех, кто находится на «светлой» стороне и через поиск уязвимостей хочет сделать различные компании более защищёнными от атак киберпреступников.
Хакеры бывают:
- White hat (они же белые или этичные хакеры) — выявляют дыры в кибербезопасности компаний с их разрешения, чтобы улучшить их защищённость;
- Black hat (киберпреступники) — занимаются взломами в собственных интересах, их цель — заработать деньги или нанести вред жертве;
- Grey hat — могут заниматься поиском уязвимостей в различном ПО или организациях без официального разрешения, но делают это не ради собственной выгоды, а чтобы в дальнейшем помочь и улучшить защищённость.
На языке бизнеса белых хакеров называют специалистами по информационной безопасности. На самом деле белый хакер — это очень широкое понятие и специализаций здесь много:
- специалисты по анализу защищённости приложений (веб, мобильных или десктопных);
- пентестеры — те, кто «ломает» внешнюю или внутреннюю инфраструктуру, эксперты по тестированию на проникновение;
- ресерчеры — исследователи систем безопасности или отдельных продуктов, ищут новые уязвимости нулевого дня либо разрабатывают новые подходы к тестированию;
- аналитики вредоносов — анализируют вирусы, чтобы потом писать правила их блокировки и лечения.
Чем занимаются пентестеры
Пентестер — это специалист, который ищет уязвимости в системах безопасности. Его задача — думать и действовать как хакер, чтобы выявить уязвимости, предотвратить возможные атаки и защитить систему.
К пентестерам приходят компании, которые хотят получить ответ на вопрос: как различные системы на их периметре могут быть использованы против их клиентов, пользователей или интересов компании?
Для этого мы проводим различные работы по анализу инфраструктуры или системы, выявляем уязвимости и недостатки, анализируем, к чему может привести их эксплуатация. Далее передаём эту информацию заказчику, чтобы он мог принять меры по минимизации рисков эксплуатации уязвимостей.
Главная задача пентестеров — выявить максимальное количество уязвимостей, построить из них различные векторы атак и показать заказчику, к чему они могут привести.
А задача заказчика — отработать так, чтобы дыры были закрыты раньше, чем их обнаружат злоумышленники. Для каждого кейса мы предлагаем свой пакет инструментов и сервисов.
Например, существует услуга «Тестирование на проникновение» (тот самый пентест). Она необходима, когда организация хочет проверить полностью свою инфраструктуру и посмотреть, как киберпреступники могут проникнуть во внутренний периметр или развить там привилегии/доступы. В таком случае мы изучаем инфраструктуру и ищем критичные уязвимости.
Есть и другие цели. Например, когда компания выпускает новый сервис и хочет его проверить на наличие различных недостатков и уязвимостей, которые, может, и не приведут к получению доступа во внутреннюю инфраструктуру, но могут в целом навредить бизнесу.
Ещё этичные хакеры занимаются поиском уязвимостей в рамках Bug Bounty. Это программы, которые выступают посредниками между охотниками за ошибками и организациями.
Как стать белым хакером
Чтобы стать хакером, помимо желания, нужно обладать следующими навыками:
- критическое мышление, чтобы рассматривать различные системы с разных точек зрения и думать, как можно их заставить сделать то, чего не было заложено в них изначально;
- постоянная жажда новых знаний, так как в этой профессии необходимо быть всегда на стыке различных технологий;
- страсть к своему делу.
Если же говорить про hard skills, то необходимо в первую очередь:
- Определиться с направлением. Стоит понять, что вас увлекает больше: «ломать» веб-приложения или внутренние сети. Исходя из этого вы сможете понять, чему учиться.
- Изучить основы сетей и администрирования, чтобы знать, где чаще всего совершают ошибки.
- Пройти курсы. Например, для изучения работы веб-приложений и их слабых мест или для развития общих навыков, связанных с инфраструктурой.
- Начать практиковать на различных стендах/приложениях. Это может быть TryHackMe.
Сейчас в Сети появляется множество качественных «обучалок», причём много бесплатного контента. При этом на платных курсах вам никто не даст гарантии, что вы будете знать всё в совершенстве — в первую очередь это зависит от вас и вашего желания учиться. Чаще всего там учат запускать различные приложения, а не разбираться и думать, как выявить уязвимости.
В последние годы мне часто попадаются кандидаты, у которых есть сертификаты онлайн-курсов по хакингу. Часто я вижу, что у них присутствуют базовые знания по запуску утилит для пентестов, но они не знают главного — как уязвимости возникают и к чему могут привести. Такие ребята умеют находить баги с помощью утилит, но не могут понять, как это произошло, или объяснить, как ими воспользоваться для проникновения в систему.
Пентестером может стать человек вовсе не из ИТ. Главное, чтобы он горел хакингом и хотел глубоко разбираться «а почему это работает?». Например, я знаю пентестеров, которые пришли в профессию из экономических и гуманитарных специальностей. К слову, в моей команде были люди, которые не имеют высшего образования в ИБ. Так что, если вас останавливало только это, не отчаивайтесь, это необязательно.
На базовом уровне начинающим пентестерам нужно отлично разбираться в работе сетей: например, как отправляются запросы, как работают различные протоколы и сервисы. Остальное осваивается по ходу дела, включая работу с уязвимостями. Но без фундамента — никуда.
Кого точно не возьмут на работу
Каким бы ни был путь в профессию, перед наймом компании всегда проверяют хакера на порядочность. В основном через нетворкинг, так как рынок маленький: можно узнать информацию практически о каждом. Правило шести рукопожатий в нашей сфере работает прекрасно.
Если человек занимался кражей данных или денег, его даже рассматривать не будут. Если же хакер не нарушал закон, то есть не нанёс реального материального или физического ущерба кому-либо, — его могут нанять.
Бывают исключения, когда хакер совершил преступление по ст. 272 УК РФ «Неправомерный доступ к компьютерной информации», но сделал это по глупости. Например, нашёл баг на сайте компании и что-то на нём опубликовал ради смеха. Если «шутник» потом осознал свою неправоту, его могут теоретически позвать на собеседование. Но предстоит серьёзный разговор с HR и службой безопасности. Те, кто занимается наймом, очень глубоко разбираются в обстоятельствах каждого случая.
Кроме того, изучается информация о кандидате в соцсетях. И если условный хакер рассказал на своей странице о том, что он кого-то хочет хакнуть или уже взломал, его отправляют в чёрный список.
Инструменты, которые нужно освоить
1. Специалисты по анализу защищённости веб-приложений: для проверки уязвимостей в веб-приложениях используется Burp Suite. Этот инструмент, работающий как локальный прокси, перехватывает все запросы, которые приложение отправляет серверу, и все ответы, которые получает обратно. Это позволяет «залезть» в приложение, посмотреть, что и как отвечает сервер, и выявить возможные слабые места в логике или защите.
Ещё один важный инструмент — фаззеры. Фаззинг позволяет проверить, как система реагирует на нестандартные или потенциально вредоносные запросы: например, может ли её поведение стать нестабильным либо привести к утечке данных или логической ошибке, нарушить логику работы с запросами.
2. Специалисты по анализу защищённости мобильных приложений работают в двух направлениях:
1) клиентская часть — это сам код приложения на устройстве пользователя (например, iOS или Android);
2) серверная часть — то, как приложение взаимодействует с сервером (например, API).
Именно поэтому потребуются следующие инструменты:
- APKTool (для Android) — позволяет декомпилировать apk-файлы, чтобы исследовать структуру приложения;
- Jadx — инструмент для анализа исходного кода приложений;
- IDA Pro или Ghidra — для анализа бинарных файлов в iOS;
- Burp Suite или OWASP ZAP — используются для перехвата трафика между мобильным приложением и сервером, поиска уязвимостей в запросах (например, валидации параметров);
- MITMproxy — ещё один популярный инструмент для анализа трафика;
- MobSF (Mobile Security Framework) — универсальный сервис для изучения мобильных приложений, включая статический и динамический анализ.
3. Специалисты по тестированию внешнего периметра — это пентестеры, которые анализируют внешнюю инфраструктуру компании, то есть узлы, доступные из интернета, чтобы проверить, может ли хакер через них получить доступ внутрь организации.
Работа делится на несколько этапов, но начинается со сбора информации об инфраструктуре заказчика. Для этого используются техники OSINT.
Основные инструменты OSINT:
- Hacker Target — для анализа сетей, сервисов и проведения пассивного сбора информации;
- Shodan — поисковик для IoT и сетевых устройств, позволяет быстро узнать, какие сервисы могут быть у целевой инфраструктуры;
- Fofa — китайский аналог Shodan, ищет устройства и сервисы по цифровым следам. Часто используется для выявления уязвимых систем в азиатском регионе;
- Censys — платформа для детального анализа устройств и сервисов в интернете.
На основе полученных данных строится примерная карта Сети, определяются «точки входа» для анализа. Далее подключаются сетевые сканеры. Например:
- Nmap — позволяет быстро находить приложения и сервисы, работающие на тех или иных портах;
- Masscan — анализирует большие подсети и ищет живые устройства или сервисы.
После этого в ход идут фаззеры или другие специализированные скрипты — выбор зависит от личных предпочтений и выявленных ранее сервисов. Могут использоваться различные сканеры уязвимостей (например, nuclei), но они делают много шума и не всегда полезны. Чаще всего инфраструктура изучается руками, ведь только так можно найти логические уязвимости и соединить различные уязвимости в цепочки атак.
4. Специалисты по тестированию внутреннего периметра. Работая с внутренними сетями, пентестеры также запускают сетевые сканеры вроде Nmap или Masscan. Как дополнение часто используют программы для анализа Active Directory, например BloodHound, которые позволяют увидеть структуру сети и выявить возможные дыры в компании.
Отмечу, что автоматические сканеры уязвимостей могут навредить заказчику и «уронить» его инфраструктуру, поэтому применяются в редких случаях и только при большой необходимости. Основные действия: изучение состава сети, анализ инфраструктуры на недостатки, связанные с просчётами администраторов. Но не всегда нужно искать какие-то уязвимости в ОС, если на этом хосте пользователь мог оставить файл с паролями =)
Какие бывают заказчики
Заказчики бывают разные. С каждым годом ситуация улучшается: сейчас клиенты знают, что им нужно, и приходят с конкретными запросами.
Раньше же был распространён стереотип, что мы приносим одни проблемы: дополнительные затраты на исправление багов, недовольные инвесторы и так далее. Но начиная с 2022 года, когда резко возросло количество кибератак, люди стали осознавать реальность хакерских угроз и их последствий. Сегодня у большинства заказчиков есть понимание, что из-за утечек можно не только пострадать финансово и репутационно, но и понести ответственность по закону.
Сейчас я вижу очень высокий уровень киберграмотности у госструктур и крупных компаний, которые с 2022 года живут в постоянном ожидании атак. Начинает подтягиваться и средний бизнес.
Однако до сих пор встречаются клиенты, которые не понимают, для чего проводятся пентесты. Приведу пример. Не так давно мы делали работы по внутреннему тестированию для заказчика из финансовой сферы. Мы начали работу из сегмента DMZ, смогли развиться в сети и дойти до систем, находящихся в изолированных сегментах с карточными данными. И здесь мы уже могли получить информацию о пользователях, их счетах и остатках.
Но на обсуждении сдачи проекта заказчик потребовал предоставить отчёт сканера уязвимостей. При этом он не ожидал, что мы можем так вариативно атаковать Active Directory в поисках путей проникновения в различные сегменты организации. Раньше в отчётах, которые делал предыдущий подрядчик, содержались уязвимости, которые не приводили к последствиям с открытием данных пользователей. Клиент не ожидал, что, используя различные недостатки в сети, можно так далеко зайти.
Бывает и так, что объяснить важность выявленного бага не удаётся. Например, в программе дистанционного банковского обслуживания была обнаружена уязвимость, которая позволяла зайти в сервис неидентифицированному пользователю. И в этом состоянии можно было через API бэкенда собирать информацию о счетах других клиентов.
Это был очень сложно воспроизводимый баг, который пришлось сдавать под видео. Но убедить клиента так и не получилось, он отказался принимать эту уязвимость за критичную. Да, и такое случается в нашей профессии, но очень редко.
Чаще клиенты хотят сами разобраться, что именно мы сделали, им интересны причины и детали. Однажды мы проводили анализ системы для тестирования полученных пользователями знаний и обнаружили типичную проблему для подобных систем — возможность получить ответы на тест и подменить их своими.
Система, перед тем как начать тестирование, в ответе от сервера к браузеру клиента отдавала список верных ответов. А дальше, если уметь смотреть такие ответы, можно было просто выбрать правильные варианты в тесте. Ещё система позволяла самому себе изменить оценку.
Хороший пентестер должен искать подобные ошибки, так как они влияют на бизнес-процесс системы, на которую наш заказчик потратил деньги и которая сейчас не выполняет заложенную в неё функцию.
В этой же системе мы нашли и более серьёзные уязвимости. Например, загрузку файлов, которая привела к контролю над сервисом, и SQL-инъекции, которые позволили получить доступ к БД и хранящимся в них данным.
При обсуждении с заказчиком результатов проверки мы делали упор на заливку и SQLi, но в итоге он больше был заинтересован в отсутствии контроля целостности бизнес-процесса в системе и в возможностях получать ответы и менять свой балл. Именно поэтому, когда мы совместно с ним выходили на разработчика, то обсуждали больше эти проблемы. Критичные уязвимости тоже поправили, но приоритет был отдан бизнес-составляющей.
Как ИИ влияет на профессию
Последние годы ИИ держится в трендах и, конечно, влияет на работу пентестеров — как внутри профессии, так и снаружи.
Для собственных нужд пентестеры применяют ИИ, чтобы быстрее работать с текстами, писать скрипты и генерировать простые атаки на пользователей. Например, когда нужно сделать выжимку объёмных CVE, подготовить отчёт по выявленным уязвимостям, описать баг, сгенерировать шаблоны писем и текстов страниц лендингов. Можно ускорить написание скрипта для проведения атак. Всё это, конечно, требует дальнейшей ручной проверки.
На техническом уровне ИИ пока не позволяет заменить пентестера, потому что многое в пентестах завязано на логике, связке различных уязвимостей в цепочку атак и принятии решений по выявлению уязвимостей. Сейчас максимум, что получается делегировать, — это запуск простых утилит, то есть простую автоматизацию процесса.
Пока что ИИ не способен самостоятельно проводить сложные цепочки атак, выявлять новые уязвимости, хотя и помогает в автоматизации и упрощении работы на базовом уровне.
Проекты с использованием ИИ. Всё чаще ИИ используется для написания кода, особенно это стало заметно с популяризацией так называемого вайб-кодинга. Проблема в том, что такой код нередко не проверяется должным образом и попадает в продакшен со множеством багов и уязвимостей. Если так и будет продолжаться, то работы у белых хакеров будет ещё больше.
Если говорить о самом ИИ — это не самый надёжный помощник в плане безопасности. В агентских системах, где ИИ доверяют сбор информации из различных сервисов вроде бухгалтерии или базы знаний, несложно убедить модель выдать данные, которые она не должна передавать. Например, о зарплате других пользователей, графике отпусков и так далее.
Ещё можно хакнуть коннектор ИИ с системой и через него получить доступ ко всему сервису. Но это характерно вообще для систем, не только с ИИ. Например, в пентестах часто используют сценарий взлома систем мониторинга, таких как Zabbix, когда через систему запускают вредоносное ПО на всех компьютерах, где установлен агент, и таким образом получают к ним доступ.
Что ждёт белых хакеров
- Профессия станет ещё сложнее. Особенно для джунов, которые думают, что достаточно уметь пользоваться сканером уязвимостей — таких уже начинает заменять ИИ. Несмотря на то что нейросеть пока работает неидеально, получается гораздо дешевле, чем нанимать человека, который не хочет развиваться и думает, что основа профессии — запускать различные сканеры.
- Будет увеличиваться количество атак от так называемых скрипт-кидди — людей, которые не обладают глубокими техническими знаниями, но с помощью ИИ запускают скрипты для поиска уязвимостей и взламывают сервисы.
- Работы будет ещё больше, так как сфера ИТ растёт в целом. А с появлением и внедрением ИИ появляются и новые направления, в которых требуется наша экспертиза. Например, становится популярна работа по проверке LLM на наличие уязвимостей, джейлбрейков и недостатков, через которые можно получить данные пользователей компании.
Для работы белым хакером главное — иметь терпение и уметь «думать как злоумышленник». Начинающим необходимо развивать системное понимание принципов работы интернета и сетей, изучать инструменты и подходы, а остальное придёт с опытом.
До встречи!
