Стейджер (stager)

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

Стейджеры входят в состав легитимных инструментов для тестирования на проникновение, например фреймворков Metasploit, Cobalt Strike и Covenant.

Одноступенчатые атаки и атаки с использованием стейджера

Злоумышленники могут доставлять на скомпрометированное устройство сразу основную полезную нагрузку или же использовать промежуточные компоненты вроде стейджера. В первом случае полезная нагрузка называется stageless (одиночная, не поэтапная). Такая полезная нагрузка содержит всю вредоносную функциональность в одном файле, поэтому она, с одной стороны, исключает потерю части кода в ходе атаки, с другой — довольно много весит.

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

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

Как работает стейджер

После доставки и запуска стейджер выполняет следующие действия:

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

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

Виды стейджеров

Стейджеры существуют в различных форматах, таких как:

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

Публикации на схожие темы