Некоторые черви бывают полезны!

5 июля 2022 г. 10:38
 374

Черви - это буквально самая разрушительная сила зла, известная компьютерному миру.

Садоводы знают, что черви - это хорошо. Специалисты по кибербезопасности знают, что черви - это плохо. Очень плохо. На самом деле, черви - это буквально самая разрушительная сила зла, известная компьютерному миру. Червь MyDoom занимает сомнительное место в списке самых «дорогостоящих» вредоносных компьютерных программ за всю историю человечества - его ущерб составил около 52 миллиардов долларов. На втором месте... Sobig - еще один червь!

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

 

Знакомьтесь: «Hopper» - добрый червь!

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

Итак, что может быть лучше для победы над незаметным червем, чем... другой незаметный червь?

Так и появился на свет Hopper! Hopper - это настоящий червь, с командами и управлением, встроенной эскалацией привилегий и многими другими самыми коварными возможностями червей. Но в отличие от большинства червей, Hopper был создан для того, чтобы приносить пользу. Вместо того чтобы причинять вред, Hopper сообщает своим операторам, где и как ему удалось проникнуть в сеть. Он сообщает, как далеко ему удалось проникнуть, что он обнаружил по пути и как улучшить защиту.

 

Близкое знакомство с Hopper.

Команда разработчиков Cymulate создала Hopper на основе обычного вредоносного ПО «stager» - небольшого исполняемого файла, который служит в качестве начальной полезной нагрузки, а его основная цель - доставить более крупную полезную нагрузку. Наш стейджер также служит в качестве PE-упаковщика - программы, которая загружает и выполняет программы косвенным образом, обычно из пакета.

Hopper's stager был написан таким образом, что начальная полезная нагрузка не должна быть изменена, если мы сделаем обновление Hopper. Это означает, что исключение хэшей при каждом обновлении превратилось в историю, и пользователям Hopper нужно исключить хэш стейджера только один раз. Написание стейджера таким образом также открыло путь для выполнения других нужных инструментов.

Чтобы максимально повысить гибкость Hopper, наша команда добавила различные методы начального выполнения, дополнительные методы связи, различные способы получения полезной нагрузки первого этапа, различные методы инъекции и многое другое. Кроме того, для создания очень скрытного червя нам необходимо обеспечить максимальную настройку скрытных функций, поэтому мы сделали конфигурации почти полностью контролируемыми оператором:

 

  • Начальная конфигурация полезной нагрузки - полностью настраиваемые методы выполнения, включая исполняемые файлы, библиотеки, скрипты python, shell-коды, скрипты PowerShell и многое другое.
  • Конфигурация полезной нагрузки первого этапа - настраиваемые методы получения пакетов и методы внедрения пакетов (например, рефлексивное внедрение)
  • Конфигурация маяков второго этапа - настраиваемые каналы связи, тайминг и таймаут сохранения жизни, а также джиттер.
  • API - добавление новых возможностей по воздуху для облегчения расширения возможностей в будущем, включая методы связи, методы распространения и эксплойты.

 

Исполнение, управление учетными данными и распространение

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

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

Для распространения Hopper предпочитает неправильную конфигурацию, а не эксплойты. Причина? Эксплойты могут потенциально вывести системы из строя, они более заметны и легко идентифицируются IPS/продуктами сетевого мониторинга и продуктами EDR. С другой стороны, неправильные конфигурации не так легко обнаружить как вредоносную активность. Например, неправильная конфигурация Active Directory может привести к тому, что пользователь получит доступ к ресурсу, к которому он не должен был иметь доступа, что приведет к распространению. Аналогичным образом, неправильная конфигурация программного обеспечения может позволить пользователю удаленно выполнить код, что приведет к распространению.

 

Скрытность и CnC-коммуникации.

Команда Cymulate выбрала для Hopper исполнение в памяти, поскольку шифрование кода вредоносного ПО в памяти после прекращения его использования может нарушить способность продуктов EDR отпечатывать содержимое в памяти. Кроме того, при выполнении в памяти используются прямые системные вызовы, а не вызовы API, которые могут отслеживаться продуктами EDR. Если Hopper необходимо использовать функции API, он обнаруживает и выгружает крючки EDR перед этим.

Для обеспечения скрытности Hopper общается с командованием и управлением в рабочее время, маскируя активность под обычную активность в рабочее время в случайные временные интервалы. Он также взаимодействует только с серверами, включенными в список разрешенных, или серверами, которые не считаются вредоносными, такими как каналы Slack, Google Sheets или другие публичные службы.

 

Заключение.

Для упреждения атак червей идеальным решением является червь Hopper, похожий на червя White Hat. Рассматривая сеть, так сказать, с точки зрения червя, Hopper превращает главное преимущество червя в главное преимущество защитника.

Примечание: Эта статья написана и предоставлена Йони Ореном, руководителем группы, старшим исследователем безопасности и разработчиком в Cymulate.

Источник: https://thehackernews.com

Системы Информационной Безопасности