Телефоны Digium под атакой

security IOC

Установка веб-оболочки на веб-сервер - распространенный подход авторов вредоносных программ для запуска эксплойтов или удаленного выполнения команд. В ноябре 2020 года операция INJ3CTOR3 была нацелена на АТС Sangoma, популярную систему VoIP АТС, путем установки веб-оболочки на ее веб-сервер. Недавно Unit 42 наблюдало еще одну операцию, направленную на систему Elastix, используемую в телефонах Digium.

Общие сведения о вредоносной активности, направленной на Asterisk компании Digium

Злоумышленник использует веб-оболочку для утечки данных путем загрузки и выполнения дополнительной полезной нагрузки в программном обеспечении телефона Digium (модуль FreePBX, написанный на PHP). По времени веб-оболочка, по-видимому, связана с уязвимостью удаленного выполнения кода (RCE) CVE-2021-45461 в модуле Rest Phone Apps (restapps).

На данный момент мы наблюдаем более 500 000 уникальных образцов вредоносных программ этого семейства за период с конца декабря 2021 года до конца марта 2022 года. Вредоносная программа устанавливает многоуровневые обфусцированные PHP-бэкдоры в файловую систему веб-сервера, загружает новые полезные нагрузки для исполнения и планирует повторяющиеся задачи для повторного заражения хост-системы. Кроме того, вредоносная программа добавляет случайную нежелательную строку к каждой загрузке вредоносной программы в попытке обойти сигнатурные средства защиты, основанные на индикаторах компрометации (IoC).

Недавно команда WildFire заметила большой объем вредоносного трафика, который, похоже, исходит от одного и того же семейства образцов. В частности, мы наблюдали более 500 000 уникальных образцов за период с середины декабря 2021 года до конца марта 2022 года. Эта необычная активность направлена на широко распространенное коммуникационное программное обеспечение Asterisk с открытым исходным кодом компании Digium для телефонных устройств VoIP.

Elastix - крупнейшее программное решение с открытым исходным кодом для сервера унифицированных коммуникаций, объединяющее в себе функции частной телефонной станции (PBX) по интернет-протоколу (IP), электронной почты, IM, факса и совместной работы. Он имеет веб-интерфейс и включает такие возможности, как программное обеспечение для центра обработки вызовов с предиктивным набором номера. Его функциональность основана на проектах с открытым исходным кодом, включая Asterisk, FreePBX, HylaFAX, Openfire и Postfix.

FreePBX - это наиболее широко используемое в мире программное обеспечение IP PBX с открытым исходным кодом, предлагающее организациям решение "все в одном". Оно свободно доступно для загрузки и установки, содержит все основные элементы, необходимые для построения телефонной системы. Она спонсируется и разрабатывается компанией Sangoma и активным мировым сообществом. Он имеет интуитивно понятный модульный графический интерфейс пользователя (GUI), использующий возможности Asterisk, что значительно упрощает его развертывание и использование. digium_phones - это модуль FreePBX, написанный на PHP.

Вредоносная активность, которую мы недавно наблюдали, имеет сходство с отчетом INJ3CTOR3, опубликованным Check Point Research два года назад, и потенциально может быть возрождением этой кампании атак. Отчет был опубликован на форуме сообщества FreePBX в декабре 2021 года, а затем еще один отчет в январе 2022 года. Эти отчеты согласуются с предположением, что это действительно возрождение предыдущей кампании. Например, восемь доступных по умолчанию команд, приведенных ниже, были показаны в отчете INJ3CTOR3 (от 5 ноября 2020 года) на рисунке 12, "Веб-панель атакующего". Они идентичны тем, которые перечислены в теме форума сообщества FreePBX "K.php - вредоносный скрипт RestApps", сообщение 21/74 (от 12 января 2022 года), автор Денис Соловьев и другие.

Дальнейшие исследования показали, что наша находка может быть следствием официального объявления об известной проблеме безопасности CVE-2021-45461 Potential Rest Phone Apps RCE. Эта уязвимость кроется в модуле Rest Phone Apps (restapps), позволяя потенциально передавать переменную URL, что приводит к сценарию удаленного выполнения кода (RCE).

Вектор атаки

Начальные скрипты дропперов обычно имеют небольшой размер файлов:

12 750 байт полезной нагрузки, полученной из hxxp[://]37[.]49[.]230[.]74/z/wr[.]php
17 215 байт полезной нагрузки, полученной из hxxp[://]37[.]49[.]230[.]74/k[.]php

Обычно мы ожидаем этого от сценария оболочки, внедряющего полезную нагрузку веб-оболочки PHP. Здесь всегда 14 строк кода, обернутых в несколько слоев Base64-кодировки, чтобы скрыть определенные ключевые области, и одна из Base64-кодированных полезных нагрузок была продублирована.

Первоначальный дроппер представляет собой сценарий оболочки с двумя основными целями, а именно:

  • Установить обфусцированный PHP-бэкдор в несколько мест в файловой системе.
  • Поддерживать доступ путем:
  • Создать несколько учетных записей корневых пользователей.
  • Настройки запланированного задания для повторного заражения хост-системы.

Этот дроппер также пытается вписаться в существующее окружение, подменяя временную метку установленного файла PHP-бэкдора меткой известного файла, уже находящегося в системе. Более того, дроппер, получает и выполняет удаленный скрипт из инфраструктуры злоумышленника: IPv4-адрес 37[.]49[.]230[.]74.

Веб-оболочка PHP содержит случайные нежелательные комментарии в попытке обойти сигнатурные средства защиты. Кроме того, она обернута в несколько слоев кодировки Base64, чтобы скрыть свои истинные намерения. Он способен обрабатывать следующие параметры входящего веб-запроса:

  • md5
  • admin
  • cmd
  • call

Веб-оболочка защищена жестко закодированным "хэшем аутентификации MD5", который, по-видимому, уникально сопоставлен с публичным IPv4-адресом жертвы.

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

Веб-оболочка также может принимать параметр admin, который может иметь значение Elastic или Freepbx. После этого будет создана соответствующая сессия администратора.

Помимо поддержки произвольных команд через параметр запроса cmd, в оболочку включены следующие встроенные команды по умолчанию:

  • ls -la
  • ps -aux --forest
  • asterisk -rx 'core show channels'
  • asterisk -rx 'sip show peers'
  • cat /etc/elastix.conf
  • cat /etc/asterisk/sip_additional.conf
  • cat /etc/asterisk/extensions_custom.conf
  • cat /etc/amportal.conf

Другая полезная нагрузка в Base64-кодировке заменяет конфигурационный файл .htaccess, чтобы включить поведение "следовать символическим ссылкам", а также отобразить config.php в качестве страницы по умолчанию. .htaccess - это конфигурационный файл веб-сервера Apache, предназначенный для указания параметров конфигурации для каждого каталога. Он содержит одну или несколько директив конфигурации, которые применяются к определенному каталогу и всем его подкаталогам.

Образец пытается достичь постоянства следующими способами:

  1. Создание учетных записей пользователей.
  2. Именованный sugarmaint, с паролем uenQjcP3Il/zE
  3. Именование supports, с паролем uenQjcP3Il/zE.
  4. Добавление записи о задании по расписанию.
  5. Запускается каждую минуту.
  6. Получает удаленную копию скрипта с адреса hxxp[://]37[.]49[.]230[.]74/k[.]php.
  7. Выполняет его в оболочке.

Indicators of Compromise

URLs

http://37.49.230.74/k.php
http://37.49.230.74/z/post/noroot.php
http://37.49.230.74/z/post/root.php
http://37.49.230.74/z/wr.php

SHA256

  • 000a3688455edacc1dac17539797dc98f055091898a65cd520fb8459c1bc2a2a
  • 0012342749e3bae85a9269a93661e2eb00437c71b2bca2eaca458147f9fe8471
  • 001305bd3be538e50014d42f02dee55056b73a1df770e2605aded8a970091f2f
  • 0050232e04880fbe1d0c670b711b66bb46c32febdc9513074612c90f1f24631b
  • 0059d7b736dc1e61bd5b22fff601579fbc8a12b00981fdd34fd13f0fb44688b0
  • 0088cba19eec78daee0310854c4bf8f7efc64b89bdc7517f0a1c7ebbba673f72

File path

  • /var/www/html/admin/assets/ajax.php
  • /var/www/html/admin/assets/config.php
  • /var/www/html/admin/assets/js/config.php
  • /var/www/html/admin/modules/core/ajax.php
  • /var/www/html/digium_phones/ajax.php
  • /var/www/html/rest_phones/ajax.php
SEC-1275-1
Добавить комментарий