В предыдущем блоге мы рассказали о том, какие атаки могут быть предприняты злоумышленником, работающим из-под учетной записи обычного пользователя без привилегий локального администратора. В частности, мы приводили пример того, как упрощенное наследование привилегий в рамках доменной авторизации (Single-Sign-On) позволяет злоумышленнику получить доступ к различным сетевым ресурсам и сервисам, действуя из-под ограниченной учетной записи обычного пользователя. В этом блоге мы детально рассмотрим возможные векторы атаки на корпоративную сеть изнутри, т.е. с зараженного компьютера.
После того, как злоумышленник получил контроль над какой-либо пользовательской системой в корпоративной сети, все дальнейшие события укладываются в три последовательных этапа: закрепление в системе, анализ окружения и распространение. Есть множество вариантов реализации каждого из описанных этапов, различающихся техническими методами, стратегией и тактикой. Возможные варианты действий злоумышленника, направленных на закрепление, анализ и распространение в корпоративной сети, изображены на схеме ниже.
Схема действий злоумышленника
Для специалистов ИБ важно знать признаки, по которым та или иная атака может быть своевременно обнаружена. Так, используя предложенную «карту действий», специалисты ИБ могу обнаружить атаку, сопоставляя происходящие в сети события с различными шаблонами поведения злоумышленника.
Закрепление в системе
Обычно в первые минуты или часы после проникновения в корпоративную сеть хакер загружает на атакованный компьютер утилиты (в т.ч. вредоносные), необходимые для сбора информации о системе и установленном ПО, поиска файлов и данных, установления связи с центром управления (C&C), кражи учетных данных, перебора паролей, взлома учетных записей, повышения привилегий, заражения системы, перехвата сетевого трафика, сканирования устройств в сети и т.д.
Чтобы скрыть загрузку всех необходимых инструментов от глаз сетевых администраторов и специалистов ИБ и избежать срабатывания всевозможных систем защиты, хакеры прибегают к маневрам различной степени сложности:
- Файлы передаются по сетевым протоколам/портам общего назначения (HTTP, FTP, HTTPS, SFTP), растворяясь в огромном потоке ежедневного пользовательского трафика.
Файлы загружаются со взломанных серверов, с использованием Fast Flux сетей или через Tor. - Файлы передаются по частям, в обфусцированном и/или зашифрованном виде.
- Иногда для передачи используются различные виды стеганографии, например, сокрытие данных внутри аудио/видео файлов, изображений или заголовков интернет-протоколов (особенно если порты общего назначения закрыты сетевым экраном).
После загрузки необходимых инструментов злоумышленник пытается получить доступ к учетной записи локального администратора или системы. В первом случае обычно используется ПО для перехвата ввода с клавиатуры, перебора паролей, взлома учетных записей или фишинг. Во втором случае для получения доступа к системной учетной записи (т.е. привилегий уровня ядра) обычно используются эксплойты уязвимостей в системных сервисах.
Используя полученные привилегии, злоумышленник сможет глубоко закрепиться в системе, внедрив в ОС руткит или буткит, очистить систему от следов проникновения, скрыть свои инструменты и следы активного заражения от локальных средств защиты. Если злоумышленнику не удалось закрепиться в системе «классическим» способом, он может настроить автоматическое заражение системы, например, используя стандартный планировщик задач.
Разумеется, в каждом конкретном случае сценарий «закрепления в системе» может значительно отличаться от предложенного выше описания. Но, как мы говорили в начале статьи, для специалиста ИБ важно понимать принципы проведения атаки и уметь представлять себе задачи, которые решает злоумышленник. Так, на этапе закрепления основная задача злоумышленника – организовать надежный долгосрочный доступ к атакованной системе. В общем случае, решение задачи удаленного доступа состоит из двух частей: создание канала передачи данных и внедрение средства удаленного управления (бэкдора).
Анализ окружения
До, после или одновременно с закреплением в системе злоумышленнику необходимо собрать информацию об ОС и её конфигурации, установленных обновлениях, программах и средствах защиты. Эта информацию не только пригодится для оценки текущей ситуации и планирования следующих шагов атаки, но и крайне полезна для точного подбора необходимых утилит и эксплойтов.
Для сбора информации о системе обычно вполне достаточно имеющихся под рукой средств:
- cmd, regedit, vbs, powershell в ОС Windows,
- bash, grep, python, perl в Unix/Linux и Mac OS.
С точки зрения хакера, есть масса плюсов в том, чтобы использовать перечисленные утилиты – они есть в каждой системе, доступны даже с ограниченными правами пользователя, а их работа не контролируется большинством средств защиты. Для решения более сложных задач злоумышленники используют как широко известные, так и собственные утилиты, позволяющие перехватывать сетевой трафик, сканировать устройства в сети, подключаться к различным сетевым службам, используя доменную авторизацию, и т.д. При этом, если хакерские утилиты написаны, скажем, на python, то злоумышленники наверняка установят необходимое ПО на зараженный компьютер. В этом случае, python (и т.п.) скорее всего не будет скрыт в системе при помощи руткита, поскольку это может вызвать проблемы в работе интерпретатора.
Для поиска и анализа других устройств в корпоративной сети, злоумышленники применяют методы пассивного и активного сканирования. В частности, используя сниффер для прослушивания трафика с локального сетевого интерфейса, можно легко обнаружить различные устройства по ARP-пакетам или активным подключениям, определить адреса серверов, на которых расположены корпоративные приложения, такие как ActiveDirectory, Outlook, базы данных, корпоративные вебсайты и многие другие. Для получения детальной информации о конкретном узле сети злоумышленники используют сетевые сканеры (например, nmap), позволяющие определить доступные сетевые службы, угадать название и версию ПО, обнаружить присутствие сетевого экрана, IDS/IPS.
Распространение
После того, как злоумышленник закрепился в системе, организовал надежный канал для удаленного доступа и собрал достаточно информации о корпоративной сети, его дальнейшее действия обычно направлены на достижения исходной цели – это может быть кража конфиденциальной информации, атака на инфраструктуру компании, получение контроля над критическими системами с целью шантажа или же собственные нужды. За исключением случаев, когда изначально атакованная система, является конечной целью (например, ноутбук СЕО, центральный сервер или вебсайт), злоумышленнику необходимо захватить контроль над другими системами внутри корпоративной сети – в зависимости от выбранной цели заражение может быть точечным или массовым.
Например, для атаки на инфраструктуру скорее всего потребуется массовое заражение как серверов, обеспечивающих выполнение различных бизнес-процессов, так и рабочих станций операторов и администраторов. С другой стороны, для кражи конфиденциальной информации или шпионажа злоумышленнику придется действовать с большой осторожностью, атакуя только самые приоритетные системы.
Распространение внутри корпоративной сети может быть реализовано множеством способов. Так же, как в случае с закреплением в системе и анализом окружения, злоумышленники выбирают наиболее простые решения, в частности – использование существующих учетных записей. Например, запуская вредоносный код из-под доменной учетной записи пользователя зараженной системы, злоумышленник может свободно подключаться к различным сетевым сервисам (к которым у пользователя есть доступ) используя доменную авторизацию (Single Sign-On), т.е. без указания логина/пароля. С другой стороны, используя перехватчик ввода с клавиатуры, злоумышленник легко может получить логин/пароль как от доменной учетной записи, так и от других сервисов, не поддерживающих доменную авторизацию. Также злоумышленник может попытаться использовать уязвимости в механизмах хранения и проверки учетных данных или использовать перебор пароля.
Наиболее эффективным способом распространения внутри корпоративных сетей является эксплуатация уязвимостей, поскольку большая часть защиты корпоративной сети сосредоточена на предотвращении внешних атак. Как следствие, внутри сети можно встретить множество разнообразных уязвимостей, незащищенных корпоративных сервисов, тестовых серверов, систем управления/виртуализации и т.п. Практика показывает, что даже если специалистам ИБ и инженерам ИТ известно обо всех уязвимостях в корпоративной сети, их устранение длится годами, поскольку требует большого количества ресурсов (человеко-часов). Тем не менее, опытные хакеры с осторожностью используют эксплойты для известных уязвимостей, предпочитая атаковать незащищенные корпоративные сервисы – в случае, если в сети все же используется IDS/IPS (локальный или сетевой), использование эксплойтов для известных уязвимостей может привести к обнаружению злоумышленника.
Обнаружение атаки
На каждом этапе атаки злоумышленники часто используют окружение и имеющиеся под рукой средства в собственных целях, оставаясь незаметными на фоне активности обычных пользователей. Для решения этой проблемы необходимо уменьшать избыточность окружения и бизнес-процессов там, где это возможно, а во всех остальных случаях необходимо следить за тем, что происходит, выявлять аномалии и реагировать на них.
Наглядным примером избыточности в бизнес-процессах является свободный доступ к бизнес-активам (конфиденциальным документам, критичным приложениям, оборудованию и т.д.), права локального администратора и возможность удаленного подключения к корпоративной сети для тех, кому такие права и доступ не нужны. Сказанное относится не только к разделению прав на уровне домена, но и на уровне прикладного ПО – обычно браузерам не нужен доступ к памяти других процессов, а MS Office незачем устанавливать драйвера.
В качестве примера избыточности окружения можно привести наличие на компьютере рядового сотрудника (не являющегося разработчиком, тестировщиком, администратором или специалистом ИБ) ПО для перехвата сетевого трафика, сканирования сети, удаленного доступа, создания локального HTTP/FTP сервера, использования стороннего сетевого оборудования (Wi-Fi и 3G модемов), средств разработки ПО и т.д.
Эффективная стратегия по предотвращению атак внутри корпоративной сети заключается в том, чтобы не дать злоумышленнику действовать скрытно, вынудить его предпринимать сложные и рискованные шаги, которые позволят специалистам ИБ обнаружить факт атаки и вовремя нейтрализовать угрозу. Для этого в корпоративной сети необходимо иметь две вещи: умную защиту и систему управления информационной безопасностью (СУИБ). Информационная безопасность корпоративной сети, построенная на основе интеграции этих двух технологий, принципиально отличается от устоявшейся модели защиты, а именно – может видеть все, что происходит в сети, и незамедлительно реагировать на угрозы.
Умные средства защиты – это те же антивирусы, сетевые экраны, IDS/IPS/HIPS, Application Control, Device Control и т.д., но способные взаимодействовать с СУИБ. Такие средства защиты должны не только собирать и передавать в СУИБ всевозможную информацию, но и выполнять команды по блокированию попыток доступа, создания подключений, передачи данных по сети, запуска приложений, чтения и записи файлов и т.д. Конечно, чтобы все это работало, специалисту ИБ необходимо уметь отличать легитимную активность от вредоносной.
Дыры в защите корпоративной сети: сетевые уязвимости