В одной из прошлых колонок я рассказал о стадиях целенаправленных атак (kill chain). Первая стадия, стадия «разведки», начинается задолго до того, как атакующий дотронется до первой машины жертвы. От количества и качества данных, собранных на этом этапе, зависит успешность атаки и, самое главное, стоимость ее проведения.
Материал подготовлен специально для колонки в издании “Хакер”
Разумеется, можно стучаться эксплоитами на уязвимые сервисы, доступные на периметре (и, например, засветить сплоиты и свое присутствие в логах систем защиты), а можно использовать spear phishing и закрепиться на рабочей станции внутри периметра. Результат будет достигнут в обоих случаях, но стоимость атаки совершенно разная.
Стадия разведки — ключевая для выбора тактики, техник и тулз (tactics, techniques and procedures, далее TTPs), которые будут использоваться для достижения цели. Однако чаще всего задача разведки заключается в следующем: найти как можно больше потенциальных точек входа для доступа к цели и оценить стоимость реализации обнаруженных векторов. Для того чтобы усложнить жизнь атакующему, который проводит разведку, необходимо понимать, какие TTPs он использует на данном этапе.
Поиск незакрытых дверей
От множества точек входа в корпоративную сеть зависит множество векторов атак, доступных злоумышленнику. Можно формально классифицировать точки входа:
- информационные системы, расположенные на периметре и имеющие доступ в интернет (серверы, рабочие станции, административные панели специального оборудования и так далее);
- мобильные устройства, используемые сотрудниками внутри периметра и за его пределами;
- учетные записи в облачных сервисах сотрудников (в том числе используемые в личных целях).
Последний пункт зачастую требует от атакующего «интерактива» с жертвой (например, коммуникацию с объектом фишинговой атаки), что повышает риск обнаружения атаки. Поэтому в некоторых случаях приоритет отдается эксплуатабельным точкам входа, расположенным на периметре.
Сетевой периметр — понятие, которое с развитием технологий и повсеместным внедрением облаков постепенно исчезает. Концепция Bring your own device (BYOD), позволяющая сотрудникам компаний использовать личные устройства для бизнес-процессов, а также появление облаков (привет, office365!) размывают периметр. Контролировать потоки данных между корпоративной сетью и внешним миром становится невероятно трудно. И это же облегчает жизнь злоумышленникам — многообразие вариантов проникновения растет.
В больших организациях периметр пестрит сервисами, о которых забыли (или не знают) админы и которые уже давно не патчились. Предлагаю поискать такие сервисы в твоей организации. На примере любимых мною медицинских организаций мы рассмотрим множество векторов проникновения. Впоследствии ты можешь использовать полученные знания для инвентаризации периметра принадлежащих тебе сетей.
Просканировать, отметить, повторить
Очевидно, для понимания того, что расположено на сетевом периметре, необходимо получить диапазон IP-адресов, принадлежащий целевой организации. В этом списке возможно наличие IP-адресов третьих сторон (сервис-провайдеры, подрядчики и прочие) — атакующий их точно включит в скоп, а ты, как аудитор своей сети, этого делать не можешь. Полученный диапазон IP можно занести в port-сканер. Вместо Nmap я рекомендую использовать для этой цели Masscan или ZMap — это сильно сократит время сканирования.
Так, для оценки точек входа в медицинские корпоративные сети можно выгрузить из RIPE диапазоны IP-адресов всех организаций, в названии которых присутствуют ключевые слова:
- healthcare;
- medic;
- clinic;
- surgery;
- hospit;
- dental;
- pharmacist.
После этого можно запускать порт-сканер и подождать его выдачу несколько дней.
Если сканировать с помощью ZMap, то впоследствии можно воспользоваться утилитой ZTag для расстановки тегов по каждому обнаруженному сервису. Теги проставляются на основе собранной базы баннеров. В случае со сканом медучреждений полученные сервисы классифицируются следующим образом.
Среди тривиальных вещей вроде веб-приложений и почтовых серверов находятся интересные приложения: системы управления зданиями (building management systems; кстати, у нас по этой теме написана целая серия статей, вот например), принтеры (зачастую без какой-либо авторизации к админ-панелям), хранилища NAS (и даже специализированные PACS-серверы), умные чайники и прочее. Используя каждый из найденных сервисов, атакующий может определять векторы атаки и оценивать сложность (читай — стоимость) их реализации.
OSINT без интерактива
Другой известный способ получить информацию о периметре и при этом никак с ним не взаимодействовать — изучить логи Shodan и аналогичных поисковых систем, роботы которых любезно все сделали за атакующего.
Как было видно из логов выше, в публичном доступе находятся всевозможные серверы, которые могут нести в себе специфику деятельности целевой организации и хранить ценную информацию. К примеру, если говорить о медицинских компаниях, то их периметр содержит DICOM-устройства и PACS-серверы (picture archiving and communication system). Это медицинские системы, основанные на стандарте DICOM (digital imaging and communications in medicine, отраслевой стандарт создания, хранения, передачи и визуализации медицинских изображений и документов обследованных пациентов) и состоящие из следующих компонентов:
- DICOM-клиент — медицинское устройство, обладающее возможностью передачи информации DICOM-серверу;
- DICOM-сервер — программно-аппаратный комплекс, который обеспечивает получение и хранение информации от клиентов (в частности, к таким устройствам относятся PACS-серверы);
- диагностическая DICOM-станция и DICOM-принтеры — программно-аппаратный комплекс, отвечающий за обработку, визуализацию и печать медицинских изображений.
Отличительная особенность большинства данных систем — наличие веб-интерфейса для управления ими через Сеть. Здесь могут обнаружиться уязвимости, которые злоумышленник может использовать для получения доступа к ценной информации и процессам. Стоит подробнее рассмотреть эти системы и проверить, доступны ли они из интернета, то есть служат ли потенциальной точкой входа для злоумышленника.
Поиск DICOM-устройств можно начать с простейшего запроса в поисковике Shodan: DICOM port:104
.
Также можно попробовать найти диагностические DICOM-станции — специализированные PACS-системы, которые используются для обработки, диагностики и визуализации данных. Пример запроса для поисковой системы Censys: pacs and autonomous_system.organization: (hospital or clinic or medical or healthcare)
.
Используя стандартные запросы в Shodan на получение информации о доступных ресурсах на порте 445 (SMB), атакующий иногда может узнать имена внутренних ресурсов (серверов и рабочих станций), благодаря которым определить, какие узлы в сети в дальнейшем представляют интерес, а какие — нет.
Сбор информации для социальной инженерии
Закрепиться внутри корпоративного периметра эффективно позволяет использование различных сценариев социальной инженерии. Например, рассылка фишинговых сообщений, которые содержат вредоносные вложения или ссылки, ведущие на фишинговые ресурсы.
Для реализации данных сценариев атакующий также должен собрать информацию об объекте атаки, чтобы увеличить вероятность, что адресат перейдет по ссылке в письме или откроет вложение. В настоящее время службы безопасности крупных организаций стараются повышать осведомленность своих сотрудников о вредоносной корреспонденции, что явно не идет на пользу злоумышленникам. Теперь злодеям необходимо не только обойти спам-фильтры жертвы и доставить «полезную нагрузку» в Inbox, но и мотивировать объект атаки выполнить необходимые действия и, самое главное, не вызвать подозрений.
Обилие социальных сетей, а также «раскрепощенность» типичного их пользователя предоставляет атакующему возможность извлечь информацию о своей жертве и составить убедительный контекст «полезной нагрузки»: текст сопроводительного письма, стиль коммуникации.
Это творческая задача, и зависит она от конкретной ситуации, но в качестве общего примера можно привести ресурс, который использует открытые API популярных соцсетей для извлечения ценной информации об учетной записи.
К примеру, атакующий, обратившись к LinkedIn, смог определить ключевых сотрудников для организации атаки spear-phishing, их имена, фамилии, контактные данные (электронную почту). Используя эти данные, несложно найти аккаунты этих сотрудников в других соцсетях, например в Facebook. При помощи веб-сервиса атакующий может собрать интересную статистику своих жертв, например где и в каких отелях они «чекинились». Далее от имени отеля злодей может отправить сообщение с напоминанием об оплате некоторых Resort Fee и прикрепленным инвойсом в виде PDF-документа. Profit!
Recon как искусство
Тема извлечения данных об объекте атаки очень обширна, и об одной только разведке на основе открытых источников написана не одна книга. По этой причине я и сфокусировал внимание на сборе технической информации о периметре — именно в нем зачастую содержатся незакрытые двери, которые не патчатся годами и о которых может не знать сам владелец.
В дополнение к этому атакующий, пробирающийся через внешние ресурсы, не взаимодействует с человеком (как это происходит в случае с социальной инженерией), а значит, единственное препятствие — это всевозможные IDS/IPS, WAF и все, что фиксирует активность на периметре. Если эти средства там вообще есть.