Всем привет, на связи руководитель проектов издательства «БХВ» @holmogorov. Если вы занимаетесь информационной безопасностью не на бумаге, а вживую, то совершенно точно знаете: ИБ-специалисты зачастую вынуждены играть в догонялки. Сначала произошел инцидент — потом вы его расследуете. Кто-то положил сервер с базой данных — мы пытаемся выяснить, как именно это произошло. И порой только задним числом становится понятно, что можно было заметить вторжение раньше, потому что даже самые современные средства мониторинга нередко оставляют защитника в роли пассивного наблюдателя.

Отсюда и типичные вопросы, которые обычно возникают у практиков. Можно ли заметить атаку раньше, чем случился первый серьезный инцидент? Можно ли узнать что-то о самом злоумышленнике, а не только о его полезной нагрузке? Тут на помощь приходят книги, курсы и доклады, однако в этой сфере давным-давно сложился привычный ракур��: мы снова и снова смотрим на инфраструктуру глазами атакующего. Книги описывают применяемые хакером технологии, а потом наглядно показывают, как плохо все защищено. Сканирование, эксплуатация, постэксплуатация, закрепление, боковое перемещение — этот маршрут безопасниками давно выучен наизусть. Но притом почти никто не задается встречным вопросом: а что, если начать смотреть не на жертву, а на самого хакера? Как он проявляет себя на каждом этапе, какие следы оставляет в сети его инструментарий, какие признаки выдают готовящееся вторжение?

«Хакерская самооборона» Андрея Жукова (s0i37) выросла именно из этих запросов. Книга не пытается в очередной раз научить «правильной настройке защиты» в привычном смысле. Она адресована тем, кто хочет большего, чем очередной чек-лист по настройке брандмауэра. В ее основе — хакерский взгляд на защиту: как, зная все тонкости и уязвимости инструментов, можно противостоять другим атакующим. Ведь редкий хакер, проводя атаки, ожидает встречного удара...

Если упростить идею книги до одной фразы, то «Хакерская самооборона» — это про то, как перестать быть молчаливым полигоном для чужих экспериментов. Здесь инфраструктура рассматривается не как жертва вторжения, а как активная среда, с использованием которой можно очень неприятно удивлять самого атакующего — причем без использования каких-либо дорогостоящих коммерческих инструментов и порой даже без прав администратора. Стандартными средствами операционной системы или посредством общедоступных бесплатных утилит. Неплохо, правда?

Как устроена книга?

Читатель книги будто наблюдает со стороны за противостоянием условного хакера, атакующего некую компанию со всеми классическим этапами проникновения — от самого первого шага (разведки) до полного захвата внутренней инфраструктуры. Вместо очередного тоскливого рассказа о том, как закрыть на серваке неиспользуемые порты, автор сразу начинает с обратного: что можно понять о хакере, когда он только-только высунул нос в интернет и начал щупать периметр. Как по заголовкам TCP-пакетов определить, что за инструментарий у него в руках. Как по характеру сканирования отличить живого человека от автоматизированного зоопарка. По сути, это enumeration наоборот — разведка не цели, а источника атаки.

И на этом этапе книга довольно быстро перестает быть «созерцательной» (скучной ее и вовсе не назвать, потому что с самого начала она читается, как детектив). Следующий логичный шаг после наблюдения — вмешательство. Автор подробно разбирает, как ломается привычная хакерская разведка, когда инфраструктура начинает вести себя непривычно. Как можно замедлить сканирование, подсунуть злодею ложные сигнатуры, вызвать аварийное завершение популярных утилит, вешать автоматические сканеры и даже заставлять систему атакующего работать нестабильно. Не в теории, а на конкретных приемах и сценариях. В результате атака превращается из аккуратного техпроцесса в полосу препятствий, где на каждом шагу атакующего заботливо разложены грабли, по которым он обязательно пробежится, даже не сомневайтесь.

Дальше книга движется ровно по тому маршруту, по которому обычно идет злоумышленник, но с непривычной стороны. Беспроводные атаки рассматриваются не как «очередной способ взломать Wi-Fi», а как набор сигналов, по которым хакер быстро становится заметным. Его выдают снифферы, сканеры, relay-атаки и даже самые, казалось бы, безобидные действия. Даже самые аккуратные приемы начинают оставлять следы, если знать, куда именно смотреть.

Андрей Жуков рассматривает Wi-Fi, в качестве полноценного источника телеметрии: как по атакам deauth, PMKID, WPS, Evil Twin (весь этот инструментарий был подробно описан в первой книге) и родственным сценариям можно выявлять присутствие хакера, узнать, чем он пользуется и что именно пытается сделать. Здесь же описаны практические приемы по их предотвращению — как испортить хакеру захват handshake, pmkid, работу eaphammer и многое другое. В этом смысле книга закрывает самое большое слепое пятно современного ИБ.

Третья глава — это уже внутренняя сеть. Снифферы, сканеры, Responder, relay-атаки, перехваты — все то, что обычно относят к «тихой» фазе. В книге она превращается в самую «громкую»: автор показывает, какие побочные эффекты сопровождают работу хакерских инструментов и как иногда самые простые действия позволяют обнаружить в сети присутствие чужака.

И наконец, «финальный босс»  — Active Directory. Здесь речь идет о наиболее сложных и малозаметных техниках: аномалиях аутентификации, странных изменениях объектов, атаках на делегирование, shadow credentials, ACL-манипуляциях. При этом фокус сделан на том, как увидеть процесс до того, как он завершился. И по возможности принять меры.

При этом книга не скатывается в абстрактную «концепцию активной защиты». Каждый раздел построен вокруг практических приемов: что именно наблюдать, какие аномалии искать, какие трюки можно реализовать с минимальными правами, без внедрения тяжелых комбайнов и без доступа к сакральным логам на доменных контроллерах. В этом смысле «самооборона» здесь понимается буквально — как набор способов защитить себя даже тогда, когда у вас нет под рукой красной кнопки «отключить весь интернет нафиг».

Чем книга принципиально отличается от типовых ИБ-книг

Главное отличие в том, что автор не выступает в роли «нудного лектора по защите». Он последовательно остается в рамках хакерской логики, просто разворачивает ее в другую сторону. Инструменты атакующего здесь рассматриваются, как обычное ПО со своими багами, побочными эффектами и кривизной реализации. А сам хакер — не абстрактный «нарушитель», а пользователь этого ПО, который спешит, использует автоматизацию, повторяет всем известные паттерны и временами делает глупости.

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

Второй важный момент — почти все техники рассчитаны на минимальные привилегии. Здесь нет предположения, что у вас имеется полный доступ ко всем логам, дорогостоящие NDR-инструменты и команда из десяти аналитиков. Многие приемы укладываются в уровень обычного администратора или даже продвинутого пользователя. Это сильно смещает книгу из области «корпоративных методичек» в зону практической самообороны.

И, наконец, в книге очень мало абстракций. Почти каждый тезис опирается на конкретные утилиты и практические рекомендации. Практически все, что представлено в книге — авторские техники и приемы. Автор книги, Андрей Жуков — не теоретик и не «консультант широкого профиля», а практикующий пентестер с десятилетним стажем и ведущий специалист по анализу защищенности в компании «Уральский центр систем безопасности». За его плечами классический для крутого ИБ-специалиста бэкграунд: сертификаты OSCP, OSCE и OSWE, собственные исследования уязвимостей с присвоенными CVE и регулярная практическая работа с реальными инфраструктурами.

Если вы читаете «Хакер» или PentestMagazine, то, скорее всего, уже сталкивались с его материалами под ником s0i37. А еще вы могли видеть его в качестве спикера на Positive Hack Days и Zero Nights. Андрей — призер Pentest Awards и разработчик целого набора исследовательских инструментов. Этот опыт в книге хорошо чувствуется: она написана человеком, который долго находился по другую сторону баррикад и отлично знает, как именно ведут себя атакующие в реальных сетях, а не в лабораторных условиях.

Кому книга, скорее всего, зайдет

В первую очередь тем, кто уже сталкивался с реальными атаками и устал от занудной постфактум-аналитики. Синим командам, SOC-аналитикам, администраторам, инженерам ИБ, которым интересно не только закрывать уязвимости, но и понимать, как злоумышленник проявляет себя в процессе реальной атаки.

Она будет особенно полезна тем, кто работает с сетями, Wi-Fi и AD, и хочет расширить набор стандартных инструментов мониторинга. А также тем, кто выстраивает защиту в условиях ограниченных ресурсов и не может позволить себе «поставить еще один девайс за много тысяч денег».

И, отдельно, она может быть интересна и самим пентестерам из RedTeam — как редкая возможность посмотреть на привычные инструменты с непривычной стороны и увидеть, насколько они на самом деле шумные и уязвимые.

Эта книга не обещает, что после её прочтения «атаки прекратятся», и не продает иллюзию тотального контроля. Вместо этого она предлагает сменить точку зрения: перестать быть исключительно стороной, которая фиксирует ущерб, и воспринимать атаку как процесс, в котором у защитника тоже есть пространство для осмысленных действий.