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

Атака на 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

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

Все статьи
Лучшие бесплатные и условно-бесплатные аналоги Figma в 2024 году

Лучшие бесплатные и условно-бесплатные аналоги Figma в 2024 году

Figma — один из наиболее востребованных инструментов для создания интерфейсов и прототипов в сфере веб-дизайна и разработки мобильных приложени...

10.12.2024
3
Интеграция Битрикс24 и Asterisk

Интеграция Битрикс24 и Asterisk

Современные компании всё чаще сталкиваются с необходимостью интеграции IP-телефонии и CRM-систем для улучшения управления клиентскими коммуника...

29.11.2024
218
Хостинг. Лучшие хостинг-провайдеры в России

Хостинг. Лучшие хостинг-провайдеры в России

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

19.11.2024
352
Региональное продвижение сайта: поддомены или подпапки

Региональное продвижение сайта: поддомены или подпапки

Запросы пользователей в поисковых системах делятся на две категории: геозависимые и геонезависимые. Геозависимые запросы — это...

29.10.2024
1027
Битрикс24 vs Microsoft SharePoint: Как выбрать оптимальную платформу для вашего бизнеса?

Битрикс24 vs Microsoft SharePoint: Как выбрать оптимальную платформу для вашего бизнеса?

Эффективность бизнеса во многом зависит от правильного выбора цифровых инструментов, обеспечивающих работу команды и управление документами. Дв...

10.09.2024
1529
Внедрение системы управления персоналом и автоматизация: обзор HRM-систем

Внедрение системы управления персоналом и автоматизация: обзор HRM-систем

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

06.09.2024
1602
ELMA365 CRM – система автоматизации и управления бизнес процессами

ELMA365 CRM – система автоматизации и управления бизнес процессами

ELMA365 CRM – это мощная и гибкая CRM-BPM система, разработанная российской компанией ELMA, специально для удовлетворения потре...

02.09.2024
1409
Что делать, если Google Документы перестанут работать? Топ-9 альтернатив для России

Что делать, если Google Документы перестанут работать? Топ-9 альтернатив для России

Периодически в интернете появляются слухи о возможной блокировке Google Docs в России. Хотя пока нет серьезных причин для паники, лучше заранее...

27.08.2024
3521