open atlas
↑ К треку
Наступательная безопасность RED · 01 · 02

Картирование поверхности атаки

Реальная поверхность атаки — это то, что действительно достижимо, а не схема архитектуры. Перечисли активы, поддомены и shadow IT на авторизованных целях в скоупе, чтобы увидеть систему глазами атакующего — забытый хост и есть тот, который захватывают.

RED Middle ◷ 15 min
Уровень
ОсновыJuniorMiddleSenior

В модели угроз компании было три сервиса, смотрящих в интернет. Пентест нашёл девятнадцать. Остальные шестнадцать были реальны и авторизованы к тестированию — четырёхлетний маркетинговый микросайт на просроченном фреймворке, хост staging., тихо обслуживавший боевую базу, забытый S3-бакет за wildcard-записью DNS и Jenkins-машина, которую кто-то поднял «на денёк» в 2021-м. Ни одного из них не было на схеме, каждый был в интернете, и первым пал именно Jenkins, владеть которым уже никто не помнил. Схема архитектуры описывает систему, которой ты думаешь, что управляешь. Поверхность атаки — это система, которую ты на самом деле выставляешь наружу, и разрыв между ними — это место, где живут пробои.

К концу урока ты поймёшь, почему реальная поверхность атаки почти всегда больше схемы архитектуры и как дисциплинированное перечисление активов, поддоменов и shadow IT закрывает этот разрыв до того, как им воспользуется атакующий.

Сначала скоуп — перечисление это разведка, а у разведки есть правила

Этот урок живёт внутри авторизованного проекта. Разведка — MITRE ATT&CK выделяет её в тактику TA0043 — это первое, что делает атакующий, и первое, что делаешь ты, но техники перечисления здесь применимы только к активам, входящим в твой подписанный скоуп. «Мы владеем доменом example.com» — это не то же самое, что «нам разрешено тестировать каждый хост, резолвящийся под ним»: поддомен может оказаться сторонним SaaS (status.example.com, указывающий на страницу статуса вендора), который твой документ скоупа явно исключает. Прежде чем перечислять, ты подтверждаешь, что в границах; когда перечисление обнаруживает что-то неожиданное, следующий ход — сверить это со скоупом, а не зондировать. Само обнаружение — «этот хост существует и выставлен наружу» — и есть результат. Всё в этом уроке — это пассивное и лёгкое перечисление, которое ты запускаешь по своему авторизованному хозяйству, чтобы увидеть, что ты на самом деле выставляешь.

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

Поверхность атаки = каждая достижимая точка входа, намеренная или нет

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

Перечисление — это дисциплинированный процесс обнаружения этой поверхности, чтобы её можно было измерить и сократить. Оно идёт тремя переплетёнными проходами — найти активы, развернуть каждый актив в его поддомены и сервисы и вытащить наружу shadow IT, который никто не отслеживает.

Три прохода перечисления

Обнаружение активов отвечает на «чем мы владеем?» прежде, чем на «что это выставляет наружу?». Ты стартуешь от затравок — корневой домен, имя компании, известный блок IP — и разворачиваешься вовне. WHOIS и данные регистратора раскрывают родственные домены; опубликованные регистрации ASN и диапазонов IP (записи RIR) раскрывают принадлежащие сетевые блоки; инвентаризации облачных аккаунтов раскрывают, что и где работает; логи прозрачности сертификатов (каждый когда-либо выпущенный TLS-сертификат публично логируется) раскрывают имена хостов в момент выпуска сертификата для них. Зрелое наблюдение: обнаружение активов — это в основном упражнение по разведке из открытых источников (OSINT): данные уже публичны, потому что сам факт выставления чего-либо в интернет оставляет публичный след (DNS-запись, сертификат, регистрацию ASN). Ты не взламываешь — ты читаешь след, оставленный организацией.

Перечисление поддоменов разворачивает каждый принадлежащий домен в его реальные резолвящиеся хосты. Покрывают это два взаимодополняющих метода. Пассивное перечисление вытягивает имена из источников, которые их уже записали — логи прозрачности сертификатов это тяжёлая артиллерия, потому что wildcard- или похостовый сертификат публично раскрывает имя хоста в момент выпуска; пассивные агрегаторы DNS и индексы поисковиков добавляют ещё. Активное перечисление резолвит кандидатные имена — брутфорс списка распространённых префиксов (dev, staging, api, vpn, admin) по DNS и проверка мисконфигурации передачи зоны, которая, если присутствует, отдаёт тебе всю зону разом. Пассивное тихое и дружелюбное к авторизации, потому что ты запрашиваешь сторонние датасеты, а не цель; активное шумнее и касается DNS цели напрямую, поэтому оно прочнее сидит внутри правил вовлечения проекта.

Shadow IT — это проход, который находит то, о чём не знает ни одна инвентаризация, и именно здесь прячутся настоящие находки. Shadow IT — это любая система, сервис или аккаунт, работающий вне санкционированной, отслеживаемой инвентаризации организации: SaaS, на который маркетинг подписался по корпоративной карте, личный облачный проект с реальными данными клиентов, оставшаяся ВМ подрядчика, поддомен, указывающий на снятый с обслуживания сервис (висящая DNS-запись, которая превращается в захват поддомена, когда кто-то перерегистрирует осиротевшую цель). Он существует, потому что выкатывать легко, а выводить из эксплуатации — ничья работа. Атакующий его обожает именно потому, что никто его не патчит, не мониторит и даже не помнит.

ПроходНа какой вопрос отвечаетОсновные источники / методыЧем опасен, если пропущен
Обнаружение активовЧем мы владеем?WHOIS, регистрации ASN/IP, прозрачность сертификатов, облачные инвентаризацииНепринадлежащий актив не мониторится и не патчится
Поддомены (пассивно)Какие хосты уже утекли публично?Прозрачность сертификатов, пассивный DNS, индексы поисковиковСертификат тихо публикует хост, о котором ты забыл
Поддомены (активно)Что резолвится, чего никто не публиковал?DNS-брутфорс распространённых префиксов, тест передачи зоныstaging. / admin. часто минует укрепление продакшена
Shadow ITЧто работает, чего не отслеживает инвентаризация?Висящий DNS, несанкционированный SaaS, осиротевшие облачные проектыЗахват поддомена; непринадлежащие данные; первый плацдарм пробоя
Почему это работает

Почему забытый хост захватывают так надёжно, а не флагманское приложение, за которым следит вся команда? Потому что внимание безопасности конечно и идёт за тем, что отслеживается. Боевое приложение получает WAF, ритм патчей, дежурный алертинг и бюджет пентеста. Staging-машина, поднятая «на денёк», не получает ничего из этого — нет мониторинга, чтобы заметить вторжение, нет патчей, чтобы закрыть известный CVE, нет владельца, чтобы хотя бы получить алерт. Ожидаемая ценность для атакующего — не «атаковать самое сильное», а «найти выставленное, которое никто не защищает». Поэтому сокращение поверхности атаки — это столько же про вывод из эксплуатации и дисциплину инвентаризации, сколько про укрепление: актив, который ты выключил, нельзя эксплуатировать, а актив, который ты не видишь, нельзя защитить.

Как читать карту по-сеньорски

Результат перечисления — не трофейный список хостов, а приоритизированная картина выставленности. Зрелый инженер читает её, спрашивая по каждому обнаруженному активу: должен ли он быть выставлен наружу, кто им владеет и защищён ли он до уровня, которого заслуживают стоящие за ним данные? Опасный квадрант — «выставлен + непринадлежащий + незащищённый», и shadow IT живёт там по определению. Защитная выгода от того, что делаешь это наступательно, в том, что тебя вынуждают увидеть своё хозяйство так, как видит его атакующий — плоско, целиком и безразлично к твоей оргструктуре, — а не так, как тебе льстит схема архитектуры.

У перечисления есть и ось компромисса, которой зрелый инженер управляет осознанно: пассивные техники тихие, низкорисковые и не касаются цели, но выявляют лишь то, что уже где-то опубликовано; активные техники находят неопубликованные хосты, но касаются инфраструктуры цели и создают шум, способный сработать на детектирование — что на авторизованном проекте может быть ровно тем, что ты хочешь протестировать, а на небрежном это способ устроить инцидент.

Выбери лучший вариант

Ты картируешь поверхность атаки авторизованной цели и хочешь обнаружить как можно больше реальных поддоменов, оставаясь тихим и в рамках правил вовлечения. Выбери лучший основной подход.

Викторина

Почему реальная поверхность атаки почти всегда больше схемы архитектуры организации?

Викторина

В ходе авторизованного перечисления ты обнаруживаешь `status.example.com`, который резолвится на страницу статуса стороннего вендора, явно исключённую твоим документом скоупа. Каков верный ход?

Расставь шаги по порядку

Упорядочь конвейер перечисления поверхности атаки, от затравки до авторизованной цели:

  1. 1 Старт от затравки (корневой домен или имя организации)
  2. 2 Обнаружение активов (найти принадлежащие диапазоны IP, облачные аккаунты, родственные домены)
  3. 3 Перечисление поддоменов (развернуть каждый актив в резолвящиеся хосты и сервисы)
  4. 4 Выявление shadow IT (найти то, что не отслеживает ни одна инвентаризация)
  5. 5 Проверка скоупа (подтвердить, что каждая находка в границах, прежде чем она станет целью)
Вспомните перед уходом
  1. 01
    Дай определение поверхности атаки, объясни, почему реальная поверхность почти всегда больше схемы архитектуры, и назови три прохода перечисления, которые её картируют.
  2. 02
    Сопоставь пассивное и активное перечисление поддоменов и объясни дисциплину скоупа, удерживающую авторизованную оценку авторизованной.
Итог

Картирование поверхности атаки — это дисциплина видеть своё хозяйство так, как видит его атакующий: плоско, целиком и безразлично к оргструктуре. Поверхность атаки — это всё реально достижимое: каждый резолвящийся поддомен, открытый сервис, API, облачный бакет и интеграция, — и она почти всегда больше схемы архитектуры, потому что схема показывает намеренные системы, а выставленность включает shadow IT, забытые staging-хосты, висящий DNS и несанкционированное облако, которые никто не отслеживал. Этот разрыв между намеренным и реальным — место, где живут пробои, и забытый, незащищённый хост и есть тот, который падает первым. Ты закрываешь разрыв тремя проходами перечисления — обнаружение активов (чем владеем, через WHOIS, регистрации ASN, прозрачность сертификатов и облачные инвентаризации), перечисление поддоменов (пассивно сначала через прозрачность сертификатов, затем точечно активным брутфорсом и тестами передачи зоны) и выявление shadow IT (неотслеживаемые системы, где прячутся настоящие находки). Всё это живёт внутри авторизованного скоупа: разведка — это тактика MITRE ATT&CK TA0043, техники применимы только к активам в скоупе, а обнаруженный хост — это результат для сверки со скоупом, а не автоматически цель. Теперь, глядя на систему, первый вопрос не «укреплено ли боевое приложение?», а «что я на самом деле выставляю наружу, владеть чем в команде уже никто не помнит?»

Практика

Начни сверху. Задачи идут от простого к сложному: вспомнить факт, применить к случаю, затем senior-уровень. Открой, попробуй, потом открой ответ.

вспомнитьприменитьуглубить0 из 6 завершено

Что-то непонятно?

Задай вопрос по этому уроку. Вопросы анонимны и попадают напрямую автору — урок станет лучше.

Примени это

Примени этот урок в реальном проекте.

хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources2
expand
  1. 01
  2. 02

Trademarks belong to their respective owners. Editorial reference only.