Исследователи Elastic изучают BPFDoor - полезную нагрузку бэкдора, специально разработанную для Linux с целью повторного проникновения в ранее или активно взломанную целевую среду. Эта полезная нагрузка наблюдалась в системах в течение пяти лет, что позволяет предположить, что субъекты угроз, ответственные за эксплуатацию вредоносной программы, существуют уже некоторое время и, скорее всего, действуют незамеченными во многих средах.
BPFDoor Backdoor
BPFDoor - это полезная нагрузка бэкдора, специально разработанная для Linux. Его цель - долговременное сохранение для повторного проникновения в ранее или активно взломанную целевую среду. Для достижения этой цели он использует BPF и ряд других техник, стараясь быть максимально эффективным и скрытным. Исследователи PWC обнаружили эту очень интересную вредоносную программу в 2021 году. PWC приписывает этот черный ход конкретной группе из Китая, Red Menshen, и подробно описала ряд интересных компонентов в исследовании угроз высокого уровня, опубликованном на прошлой неделе.
Выводы PWC показали, что Red Menshen сосредоточила свои усилия на атаках на конкретные телекоммуникационные, правительственные, логистические и образовательные группы на Ближнем Востоке и в Азии. Эта активность наблюдалась в течение рабочего периода с понедельника по пятницу, с 01:00 UTC до 10:00 UTC, что указывает на то, что операторы вредоносного ПО были последовательны в своих атаках и действовали в течение рабочей недели.
Возможно, наибольшее беспокойство вызывает то, что сама полезная нагрузка наблюдалась в течение последних 5 лет на различных стадиях разработки и сложности, что указывает на то, что субъект угрозы, ответственный за эксплуатацию вредоносной программы, работал в течение некоторого времени, оставаясь незамеченным во многих средах.
Red Menshen использовала сеть VPS-серверов в качестве контроллера сети и получила доступ к этим системам через взломанные маршрутизаторы, расположенные на Тайване. Маршрутизаторы действуют как VPN-сеть для вражеских групп через последовательность специально созданных пакетов, отправленных на зараженный узел. Исследователи отмечают, что эта полезная нагрузка распространена повсеместно и что зараженные узлы были замечены в США, Южной Корее, Гонконге, Турции, Индии, Вьетнаме и Мьянме.
Вредоносная полезная нагрузка на основе BPF, хотя в конечном итоге и является редкостью, служит конкретной цели на хостах под управлением Linux, где скрытность и производительность являются критически важными для успеха. Такие инструменты, как BPFDoor, не одиноки. Недавно компания Pangu Labs обнаружила полезную нагрузку под названием Bvp47 - датчик, который использовал скрытую телеметрию на основе BPF для получения подробной информации о рабочих нагрузках, выполняемых на зараженных хостах.
eBPF (расширенные пакетные фильтры Беркли), новая эволюция BPF, используемая сегодня все чаще, набирает популярность среди системных операторов благодаря своей эффективности и проверенным мощным возможностям, часто используемым для сбора телеметрии производительности системы, сети и безопасности. Злоумышленники берут это на заметку, и мы предполагаем, что в будущем вредоносные программы, нацеленные на облачные системы, будут все чаще использовать эти методы.
Эта пассивная по своей сути полезная нагрузка бэкдора создана для обеспечения устойчивости - метода восстановления доступа в случае потери полезной нагрузки первого или второго этапа. Он создан и предназначен для установки на высокопроизводительные серверы или устройства, IoT/SCADA или облачные системы с доступом в Интернет. Бэкдор обычно находится во временном хранилище, поэтому в случае перезагрузки или выключения сервера бэкдор будет потерян.
Следует полагать, что при обнаружении этой вредоносной программы в системе полезная нагрузка, созданная при первоначальном доступе (первая стадия) или после эксплойта (вторая стадия), скорее всего, все еще присутствует и, возможно, активна где-то в среде. Этот бэкдор превосходно работает в скрытном режиме, используя любую возможность, чтобы слиться с системой и остаться незамеченным.
- При выполнении двоичный файл копирует себя в /dev/shm/. Временная файловая система /dev/shm означает разделяемую память и представляет собой временное хранилище файлов, служащее эффективным средством межпроцессного взаимодействия.
- Переименовывает свой процесс в kdmtmpflush, жестко заданное имя процесса
- Инициализирует себя с помощью флага -init и форкает себя. Форкинг в Linux означает создание нового процесса путем дублирования вызывающего процесса
- Удаляет себя, удаляя исходный вызванный двоичный файл. Форк-процесс продолжает выполняться изменяет значения времени создания и модификации форк-процессов, также известное как timestomping
- Создает для себя новое окружение процесса и удаляет старое, устанавливая (подделывая) новое имя процесса. Он изменяет внешний вид системы, подобно тому, как надевает маску. Процесс по-прежнему называется kdmtmpflush, но если бы вы запустили ps, то увидели бы любое значение, которое он установил.
- Создает файл идентификатора процесса (PID) в /var/run. Файлы PID - это текстовые файлы, содержащие процесс связанной с ним программы, предназначенные для предотвращения множественных запусков, маркировки остатков и используемые программой для самоостановки. Этот файл находится в /var/run, другом хранилище временных файлов.
- Создает необработанный сетевой сокет. В Linux сокет - это конечная точка сетевого взаимодействия, которая позволяет детально определить каждую секцию пакета, позволяя пользователю реализовать собственный протокол транспортного уровня выше уровня Интернета (IP).
- Устанавливает фильтры BPF на необработанный сокет. BPF позволяет программе в пространстве пользователя установить фильтр на любой сокет и разрешить или запретить прохождение определенных типов данных через сокет.
- Наблюдает за входящими пакетами
- Если обнаружен пакет, который соответствует фильтрам BPF и содержит необходимые данные, он передается в бэкдор для обработки.
- Снова форкает текущий процесс
- Изменяет рабочий каталог форк-процесса на /
- Изменяет (подделывает) имя форк-процесса на жестко закодированное значение
- На основе пароля или существования пароля, отправленного в "волшебном пакете", бэкдор предоставляет обратный shell, устанавливает bind shell или отправляет обратно ping
Indicators of Compromise
SHA256
- 07ecb1f2d9ffbd20a46cd36cd06b022db3cc8e45b1ecab62cd11f9ca7a26ab6d
- 144526d30ae747982079d5d340d1ff116a7963aba2e3ed589e7ebc297ba0c1b3
- 2e0aa3da45a0360d051359e1a038beff8551b957698f21756cfc6ed5539e4bdb
- 3a1b174f0c19c28f71e1babde01982c56d38d3672ea14d47c35ae3062e49b155
- 4c5cf8f977fc7c368a8e095700a44be36c8332462c0b1e41bff03238b2bf2a2d
- 591198c234416c6ccbcea6967963ca2ca0f17050be7eed1602198308d9127c78
- 599ae527f10ddb4625687748b7d3734ee51673b664f2e5d0346e64f85e185683
- 5b2a079690efb5f4e0944353dd883303ffd6bab4aad1f0c88b49a76ddcb28ee9
- 5faab159397964e630c4156f8852bcc6ee46df1cdd8be2a8d3f3d8e5980f3bb3
- 74ef6cc38f5a1a80148752b63c117e6846984debd2af806c65887195a8eccc56
- 76bf736b25d5c9aaf6a84edd4e615796fffc338a893b49c120c0b4941ce37925
- 93f4262fce8c6b4f8e239c35a0679fbbbb722141b95a5f2af53a2bcafe4edd1c
- 96e906128095dead57fdc9ce8688bb889166b67c9a1b8fdb93d7cff7f3836bb9
- 97a546c7d08ad34dfab74c9c8a96986c54768c592a8dae521ddcf612a84fb8cc
- c80bd1c4a796b4d3944a097e96f384c85687daeedcdcf05cc885c8c9b279b09c
- dc8346bf443b7b453f062740d8ae8d8d7ce879672810f4296158f90359dcae3a
- f47de978da1dbfc5e0f195745e3368d3ceef034e964817c66ba01396a1953d72
- f8a5e735d6e79eb587954a371515a82a15883cf2eda9d7ddb8938b86e714ea27
- fd1b20ee5bd429046d3c04e9c675c41e9095bea70e0329bd32d7edd17ebaf68a