Шрифт:
Интервал:
Закладка:
Выполнение с помощью эксплойтов (T1203)
Мы уже обсуждали, как для получения первоначального доступа к сети злоумышленники используют уязвимости в общедоступных приложениях, но в некоторых случаях они также могут использовать уязвимости в офисном ПО, например в Microsoft Office. Тем не менее, прежде чем вы сосредоточитесь на внутренних уязвимостях, настоятельно рекомендуется сначала закрыть уязвимости в публично доступных приложениях.
Очень хороший пример — недавняя уязвимость в MSHTML (CVE-2021–40444), которую группа Wizard Spider активно использовала для доставки экземпляров Bazar и Cobalt Strike.
Часто злоупотребляют встроенными инструментами. Еще один пример помимо интерпретаторов команд и сценариев — Windows Management Instrumentation (WMI).
Windows Management Instrumentation (T1047)
Windows Management Instrumentation — это распространенный инструмент, которым пользуются различные операторы программ-вымогателей для запуска кода, как локально, так и удаленно, например при продвижении по сети. Так, Cobalt Strike, фреймворк постэксплуатации, чрезвычайно популярный среди лиц, связанных с программами-вымогателями, имеет встроенную возможность использовать WMI для удаленного запуска кода.
Как вы уже знаете, атаки программ-вымогателей под управлением человека могут длиться довольно долго, поэтому злоумышленники должны быть в состоянии выдержать перезагрузки, сохраняя постоянный доступ ко взломанной сети.
Закрепление
Часто на этапе постэксплуатации злоумышленникам требуется постоянный доступ к сети — поэтому, реагируя на инциденты, вы можете столкнуться с различными методами закрепления. Этот шаг почти так же важен, как и само проникновение в сеть. Использование дополнительных бэкдоров гарантирует злоумышленнику, что он всегда сможет вернуться. Давайте рассмотрим примеры наиболее распространенных методов.
Действительные учетные записи (T1078)
Часто, особенно в случаях взлома RDP или VPN, злоумышленники используют для доступа в корпоративную сеть действующие учетные записи. Поскольку они могут пользоваться сразу несколькими взломанными учетными записями, этот метод можно использовать для закрепления в скомпрометированной сети. Более того, с легитимными учетными данными операторы программ-вымогателей могут довольно долго оставаться незамеченными.
Создание учетной записи (T1136)
Если у злоумышленников уже есть учетные данные администратора, они могут использовать их для создания дополнительных учетных записей, чтобы получить резервный доступ к сети, даже если скомпрометированные учетные записи будут обнаружены и заблокированы сотрудниками службы безопасности.
Выполнение автозапуска при загрузке или входе в систему (T1547)
Используя в качестве инструмента первоначального доступа в сеть различные широко доступные программы, операторы программ-вымогателей также активно применяют некоторые распространенные методы закрепления. Например, известно, что Bazar Loader использует для закрепления во взломанной системе ключ реестра Run (SoftwareMicrosoftWindowsCurrentVersionRun).
Другой подметод, используемый тем же трояном, заключается в злоупотреблении функциями Winlogon для запуска программы при входе пользователя в систему. Это делается путем изменения ключа реестра SoftwareMicrosoftWindows NTCurrentVersionWinlogon.
Запланированная задача/задание (T1053)
Создание запланированной задачи — еще один широко распространенный метод, который используется многими троянами, участвующими в атаках программ-вымогателей, управляемых человеком. Вот пример командной строки, которую использует для обеспечения персистентности Qakbot.
Запланированная задача будет выполнять запуск Qakbot каждые шесть часов.
Программный компонент сервера (T1505)
Вы уже знаете, что использование общедоступных приложений — довольно распространенный среди операторов программ-вымогателей метод получения первоначального доступа в сеть. А чтобы обеспечить перманентный доступ, они довольно часто применяют веб-шеллы.
Веб-шеллы — это скрипты, размещенные на общедоступных веб-серверах, позволяющие злоумышленникам запускать различные команды через интерфейс командной строки.
Мы рассмотрели наиболее распространенные методы, которые используют операторы программ-вымогателей для закрепления в скомпрометированных сетях. Теперь давайте посмотрим, как им удается повышать привилегии.
Повышение привилегий
Во многих случаях злоумышленники после получения первоначального доступа к целевой системе не имеют надлежащих привилегий. Для повышения привилегий они используют различные методы. Мы рассмотрим самые распространенные из них.
Эксплуатация уязвимостей для повышения привилегий (T1068)
На разных этапах жизненного цикла атаки программы-вымогателя — в том числе на этапе повышения привилегий — злоумышленникам могут помогать различные уязвимости. Например, операторы программы-вымогателя ProLock использовали для получения привилегий уровня администратора уязвимость в функции CreateWindowEx (CVE-2019–0859).
Другой пример — программа-вымогатель REvil. С ее помощью можно было эксплуатировать для повышения привилегий уязвимость драйвера win32.sys Microsoft Windows (CVE-2018–8453).
Таким образом, для получения более высокого уровня прав можно использовать многие распространенные уязвимости. Если компания не исправляет и не устраняет эти уязвимости, она может столкнуться с серьезными проблемами.
Создание или изменение системного процесса (T1543)
Службы Windows обычно используются различными злоумышленниками, в том числе связанными с программами-вымогателями, для локального или удаленного запуска вредоносного кода. Также службы Windows можно использовать и для повышения привилегий, поскольку они могут выполняться с привилегиями SYSTEM. Следует отслеживать аномалии, связанные со службами Windows, а также регулярно разбирать сценарии их злонамеренного использования для улучшения мониторинга.
Инъекция кода в процесс (T1055)
Еще один весьма распространенный метод — инъекции в процессы. Злоумышленники могут использовать имеющиеся в системе процессы с повышенными привилегиями для выполнения произвольного кода в их адресном пространстве. Эти же приемы можно использовать и для обхода некоторых средств защиты. Например, Trickbot использует для инъекций wermgr.exe (Windows Problem Reporting), а Qakbot — explorer.exe (Windows Explorer).
Злоупотребление механизмом контроля уровня доступа (T1548)
В Windows есть несколько механизмов контроля прав доступа, и, конечно же, операторы программ-вымогателей находят различные способы их обхода. Хороший пример такого механизма — контроль учетных записей пользователей (User Account Control, UAC). Этот механизм позволяет программам повышать привилегии, запрашивая подтверждение у пользователя. Чтобы обойти его, Trickbot, в частности, использовал WSReset.exe, который нужен для сброса настроек Windows Store.
Привилегии — не единственное препятствие, с которым сталкиваются киберпреступники. Сложности вызывают и различные средства защиты, широко распространенные в корпоративных средах.
Обход защиты
В большинстве случаев на протяжении всего жизненного цикла атаки злоумышленникам, управляющим программами-вымогателями, приходится использовать различные методы маскировки. Они могут отключать/удалять защитное ПО, обфусцировать или шифровать данные или, например, удалять улики со скомпрометированных хостов.
Эксплуатация уязвимостей для обхода средств защиты (T1211)
Злоумышленники могут использовать различные уязвимости для обхода средств защиты. Приведу пример из практики — операторы программы-вымогателя Robinhood использовали уязвимость в драйвере Gigabyte (CVE-2018–19320). Это позволило злоумышленникам загрузить еще один неподписанный драйвер, который использовался для завершения процессов и служб, связанных с продуктами безопасности, и обеспечения успешного развертывания программы-вымогателя.
Деобфускация/декодирование файлов или информации (T1140)
Как вредоносные программы, так и программы-вымогатели довольно часто используют для обхода механизмов обнаружения различные методы обфускации (запутывания), такие как шифрование и кодирование. Весьма распространенный метод обфускации — кодирование base64.
Характерный пример этой техники — запуск Cobalt Strike SMB Beacon с помощью PowerShell.