Цифровой элемент
10 минут на чтение
6301
Отправь статью на почту?

Атака на 1С-Битрикс, рекомендации по защите сайта

Подписаться

В мае 2023 года была проведена массовая атака веб-серверов национального сегмента РФ сети интернет.

В качестве цели атаки выступала «1С-Битрикс: Управление сайтом». В ходе расследование было установлено, что массовые взломы были проведены загодя, а начиная с 2022 года через известные уязвимости, включая CVE-2022-27228.

Злоумышленником был установлен бэкдор, позволяющий создавать произвольные файлы и вызывать команды ОС. 26 мая в районе 14:00 бэкдору была дана команда на замену главной страницы сайта. Техническое описание атаки было опубликовано по на форуме разработчиков.

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

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

Целью атакующих являются:

  • Все не обновлённые версии «1С-Битрикс: Управление сайтом» (Bitrix Site Manager). Следует обратить внимание, что после окончания срока действия лицензии, обновление ПО не выполняется.
  • Обновленные версии «1С-Битрикс: Управление сайтом» с незакрытыми уязвимостями.
  • Обновленные версии «1С-Битрикс: Управление сайтом» с установленным бэкдором.

Скорая помощь

Используемые уязвимости

Arbitrary Object Instantiation в модуле «Опросы, голосования»/«Vote»

Модуль «Опросы, голосования» («Vote») позволяет проводить опросы и голосования, которые помогают узнать мнение пользователей сайта.

Эксплуатация уязвимости позволяет удаленному злоумышленнику записать произвольные файлы в систему посредством отправки специально сформированных сетевых пакетов. Данная уязвимость присутствует в модуле «vote» CMS «1С-Битрикс: Управление сайтом» до версии 22.0.400 всех редакций, кроме «Старт».

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

17.03.2022 уязвимости был присвоен номер CVE-2022-27228.

23.05.2022 в публичном доступе появился документ «attacking_bitrix.pdf», где разбирались новые уязвимости в CMS «1С-Битрикс» и методы их эксплуатации, включая CVE-2022-27228. В этом документе описан способ эксплуатации уязвимости CVE-2022-27228, приводящий к выполнению произвольных команд неавторизованным пользователем.

Если на WEB-сервере включено логирование POST-запросов, то в результате успешной эксплуатации CVE-2022-27228, в лог файл запишется строка, содержащая успешный POST-запрос к файлу «/bitrix/tools/vote/uf.php»

Пример :

***POST
/bitrix/tools/vote/uf.php?attachId[ENTITY_TYPE]=CFileUploader&attachId[ENTITY_I D][events][onFileIsStarted][]=CAllAgent&attachId[ENTITY_ID][events][onFileIsStarte d][]=Update&attachId[MODULE_ID]=vote&action=vote HTTP/1.0" 200 ***

Arbitrary File Write в модуле «Визуальный редактор»

В основную кодовую базу «1С-Битрикс: Управление сайтом» входит служебный модуль «fileman», реализующий возможность визуального HTML-редактора. В составе этого модуля присутствует уязвимый скрипт «html_editor_action.php». Эксплуатация уязвимости этого файла аналогично CVE-2022-27228 позволяет неавторизованному Злоумышленнику удаленно выполнять произвольный код на целевой системе.

В результате успешной эксплуатации этой уязвимости, в лог файле появится строка, содержащая успешный POST-запрос к файлу «/bitrix/tools/html_editor_action.php» Пример:

***POST /bitrix/tools/html_editor_action.php HTTP/1.0" 200 ***

Описание действий постэксплуатации

Основные действия после эксплуатации:

  • заменяется index.php в корневой директории WEB-приложения;
  • встраивание вредоносного кода в PHP-скрипты модулей;
  • удаляется файл /bitrix/.settings.php;
  • создаются скрипты Агентов с вредоносным кодом или модифицируются существующие скрипты;
  • удаляют данные из таблиц базы данных b_iblock, b_iblock_element, b_iblock_element_property;
  • создание файлов .htaccess во всех каталогах WEB-приложения;
  • создание PHP-скриптов в директории /bitrix/admin/ с произвольными именами файлов;
  • и т. д.

Описание реагирования на успешную атаку

Идентификация

Проверка средствами «1С-Битрикс:Поиск троянов»

Необходимо установить из каталога готовых решений «1С-Битрикс:Поиск троянов» и запустить сканирование. Для этого необходимо открыть панель управления сайта и перейти на следующую вкладку:

Настройки → bitrix.xscan → Поиск и Поиск (бета).

Модуль отсканирует весь сайт и отобразит выявленные подозрительные файлы.

Проверка по журналам доступа к WEB-серверу

Проверить факт успешной эксплуатации CVE-2022-27228. Пример команды поиска:

grep -E 'POST /bitrix/tools/(html_editor_action.php)|(vote/uf.php)' /var/log/www.access.log* | grep ' 200 '

Аналогичным образом проверить запросы к файлам из Таблицы №2 с кодом ответа 200.

Аналогичным образом проверить POST-запросы с кодом ответа 200, содержащие строки:

Фрагмент строки

bitrixxx

BX_STAT

BX_TOKEN

==

Для ‘BX_STAT’ поиска лучше воспользоваться регулярным выражением: ‘BX_STAT[^E]’

Поиск новых вредоносных файлов

1. Проверить наличие нетипичных файлов. Были выявлены следующие индикаторы компрометации:

Индикаторы компрометации

Имя файла

Директория

Пример команды для поиска

xmlrpcs.php

Используются различные каталоги

find ./ -name xmlrpcs.php

inputs.php

Используются различные каталоги

find ./ -name inputs.php

рекомендуется исключить из поиска легитимный файл:

/bitrix/modules/sale/lib/delivery/inputs.php

l.php

/bitrix/src/app/

find ./ -name l.php

/bitrix/tools/spread.php

/bitrix/tools/

/bitrix/


access.php wp.php term.php locale.php themes.php network.php container.php

router.php wp-login.php

/bitrix/modules/iblock/lib/biz proctype/

любой из файлов в указанной директории

/bitrix/tools/send_trait_imap.p hp



/bitrix/tools/.cas.php

/bitrix/tools/.cas.tmp.php



2. Рекомендуется обратить внимание на все файлы с несловарным, случайно сгенерированным именем из набора символов [a-z, 0-9] в каталоге /bitrix/admin/ и в корневой директории сайта.

Были выявлены файлы вида:

  • /bitrix/admin/f408f2b7df70.php
  • /bitrix/admin/8f1c222aae51.php
  • /2469a41bac71.php
  • /98826/bfd99.php

Поиск модифицированных файлов

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

Фрагмент строки

str_rot13

md5($_COOKIE

bitrixxx

eval(base64_decode

BX_STAT

BX_TOKEN

parse_str(hex2bin

iasfgjlzcb

QlhfVE9LRU4=

gzinflate(base64_decode

C.A.S

urldecode(base64_decode(hex2bin

Из результатов поиска по «str_rot13» необходимо исключить следующие файлы:

  • /bitrix/modules/main/classes/general/vuln_scanner.php
  • /bitrix/modules/main/lib/search/content.php bitrix/modules/socialnetwork/lib/item/logindex.php

В этих файлах функция «str_rot13()» используется по умолчанию.

Для поиска файлов с ‘BX_STAT’ лучше воспользоваться регулярным выражением вида:

‘BX_STAT[^E]

т.к. аргумент ‘BX_STATE’ используется по умолчанию в легитимных файлах. Пример команды для поиска подозрительных файлов:

grep
'str_rot13|md5\(\$_COOKIE|bitrixxx|eval\(base64_decode|BX_STAT[^E]|BX_TOKEN|parse_str\(hex2bin|i asfgjlzcb|QlhfVE9LRU4=|gzinflate\(base64_decode|C\.A\.S|urldecode\(base64_decode\(hex2bin' /*

Известные файлы, в которые встраивается вредоносный код:

  • /bitrix/modules/main/include/prolog_after.php
  • /bitrix/admin/security_file_verifier.php
  • /bitrix/modules/main/bx_root.php

Следует обратить внимание, что искать стоит не только по файлам приложения (.php), так как злоумышленники в том числе используют технику с записью файла “.htaccess” для изменения конфигурации веб-сервера.

Поиск закрепления доступа

1. Проверить планировщик задач (cron) на наличие нелегитимных задач:

ls /etc/cron*

2. На странице со списком Агентов «1С-Битрикс» (/bitrix/admin/agent_list.php) проверить вызываемые функции на наличие вредоносного кода.

Для этого необходимо открыть панель управления сайта и перейти на следующую вкладку:

Настройки > Настройки продукта > Агенты

Название агента может быть любым, но, скорее всего, вредоносный Агент будет виден визуально. Также видно наличие функции eval(), которую агенты содержать не должны:

Наличие функции eval().jpg
Наличие функции eval()

3. Проверить иные способы закрепления доступа на узле.

Карта с описанием типовых способов закрепления в ОС Linux

Цикл статей, описывающих поиск техник закрепления, отраженных на карте

Сдерживание

В случае, если нет возможности обновить CMS до актуальной версии можно заблокировать POST-запросы к уязвимым файлам.

Модификация файлов WEB-приложения

Для каждого сайта необходимо модифицировать следующие файлы:

  • /bitrix/tools/upload.php
  • /bitrix/tools/mail_entry.php
  • /bitrix/modules/main/include/virtual_file_system.php
  • /bitrix/components/bitrix/sender.mail.editor/ajax.php
  • /bitrix/tools/vote/uf.php
  • /bitrix/tools/html_editor_action.php
  • /bitrix/admin/site_checker.php

Перед функцией «require_once» добавить следующий код:

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
header("Status: 404 Not Found");
die(); 
}

Ограничение доступа к уязвимым файлам средствами WEB-сервера

Добавить в конфигурацию WEB-сервера запрещающие правила. Пример правил для NGINX:

location /bitrix/tools/vote/uf.php {
if ($request_method = POST ) { deny all;
}
}

location /bitrix/tools/html_editor_action.php { if ($request_method = POST ) {
deny all;
}
}

Ограничение доступа к уязвимым файлам средствами WAF/NGFW

Запретить прямые обращения POST-запросами к файлам:

  • /bitrix/tools/html_editor_action.php
  • /bitrix/tools/vote/uf.php

Очистка зараженного узла и восстановление приложение

  1. Остановить службу WEB-сервера.
  2. Проверить наличие иного работающего в памяти процесса, исполняющего PHP и остановить этот процесс. kill $(ps aux | grep 'php' | awk '{print $2}')
  3. Очистить cache WEB-приложения.
  4. Удалить выявленные ранее сторонние вредоносные файлы
  5. Проверить резервную копию сайта аналогично описанному выше. В случае обнаружения вредоносных объектов, удалить вредоносные объекты или имплементации вредоносного кода.
  6. Дополнительно рекомендуется использовать механизм контроля целостности файлов
  7. Восстановить сайт из резервной копии.
  8. Проверить работоспособность всех разделов сайта.
  9. Обновить «1С-Битрикс: Управление сайтом» и PHP до актуальных версий.

Рекомендации по защите WEB-приложения

  • Перевести сайт на актуальную версию PHP 8. Инструкция.
  • Обновлять «1С-Битрикс: Управление сайтом» до актуальных версий.
  • Установить, включить и настроить согласно рекомендациям модули:
    • «Проактивный фильтр (Web Application Firewall)»
    • «Контроль активности»
  • Выполнить проверку WEB-приложения средствами «Сканер безопасности»
  • Закрыть доступ к файлам на уровне сервера (например, в .htaccess):
    • /bitrix/tools/upload.php
    • /bitrix/tools/mail_entry.php
    • /bitrix/modules/main/include/virtual_file_system.php
    • /bitrix/components/bitrix/sender.mail.editor/ajax.php
    • /bitrix/tools/vote/uf.php
    • /bitrix/tools/html_editor_action.p
  • Проверить и включить логирование событий доступа к WEB-приложению (все типы access) и ошибок (error).

Восстановление работоспособности в случае блокировки

В некоторых случаях сайт может быть заблокирован НКЦКИ по причине его взлома с последующим размещением противоправного контента и использованием злоумышленниками для проведения компьютерных атак на критическую информационную инфраструктуру Российской Федерации в соответствии со статьей 5 Федерального закона № 187-ФЗ «О безопасности критической информационной инфраструктуры Российской Федерации», пунктом

5.1 Приказа ФСБ России от 24.07.2018 г. № 366 и пунктом 9 Правил централизованного управления сетью связи общего пользования, утвержденных постановлением Правительства Российской Федерации от 12 февраля 2020 года № 127.

Блокировка применяется до момента фиксации НКЦКИ факта удаления противоправного контента.

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

Источник: Рекомендации по применению компенсирующих мер и реагированию на атаки, связанные с CMS «1С-Битрикс: Управление сайтом» от компании «Сайбер ОК».

Мне не нравится
Россия, Челябинская область, Челябинск, ул. Энтузиастов, 2, оф. 200 Телефон: +7 (351) 220-45-35

Читайте в нашем блоге

Все статьи
Обзор ключевых инструментов digital-маркетинга

Обзор ключевых инструментов digital-маркетинга

В digital-маркетинге существует множество инструментов, которые помогают специалистам достигать своей целевой аудитории. Давайте рассмотрим как...

29.03.2024
142
Что будет, если не продлить лицензию Битрикс24?

Что будет, если не продлить лицензию Битрикс24?

Битрикс24 – это платформа, которая помогает организовать и автоматизировать бизнес-процессы компании, обеспечивая удобство использ...

04.03.2024
236
Как настроить редирект через .htaccess

Как настроить редирект через .htaccess

Редирект можно настроить разными способами: в панели управления хостингом, через код HTML, через PHP, с помощью web.config, через .htaccess, а ...

04.03.2024
190
Как восстановить доступ в панель администрирования сайта на 1С-Битрикс?

Как восстановить доступ в панель администрирования сайта на 1С-Битрикс?

Через панель администратора сайта на 1С-Битрикс можно управлять настройками сайта, менять контент и так далее. Также там можно заводить новых п...

21.12.2023
869
Как создать аккаунт разработчика в App Store, Google Play, AppGallery

Как создать аккаунт разработчика в App Store, Google Play, AppGallery

Перед тем, как опубликовать мобильное приложение в сторе, нужно зарегистрировать аккаунт разработчика. Мы поддерживаем клиента на протяжении вс...

08.12.2023
2200
Файлы-куки: как правильно информировать пользователей и избежать штрафов

Файлы-куки: как правильно информировать пользователей и избежать штрафов

Веб-аналитика и маркетинг сегодня немыслимы без использования куки-файлов (cookies) - небольших фрагменты данных, которые веб-сайты сохраняют в...

06.12.2023
536
Безопасность сайта: поиск вирусов и троянов

Безопасность сайта: поиск вирусов и троянов

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

20.11.2023
861
«Цифровой Элемент» принял участие в Русском Экономическом Форуме

«Цифровой Элемент» принял участие в Русском Экономическом Форуме

Форум посвящен масштабным вопросам развития суверенной экономики России в XXI веке. Среди основных тем: импортозамещение, технологическое разви...

13.11.2023
393