Взлом модулей Битрикс: обзор уязвимостей и их устранение
В последнее время были выявлены уязвимости в ряде модулей для 1С-Битрикс, которые широко используются для импорта и экспорта данных. Хакеры активно эксплуатируют эти уязвимости для получения несанкционированного доступа к системе и выполнения произвольного кода.
Список уязвимых модулей
Ниже приведён список модулей, которые подвергаются атакам:
kda.importexcel
– модуль для импорта данных в инфоблоки Битрикс из Excel-файлов.kda.exportexcel
– модуль для экспорта данных из Битрикс в Excel.esol.massedite
– модуль для массового редактирования элементов инфоблоков.esol.importxml
– инструмент для импорта XML-файлов.esol.importexportexcel
– объединённый модуль для импорта/экспорта данных в Excel.esol.allimportexport
– комплексный модуль для всех видов импорта и экспорта.
Суть взлома
Хакеры используют уязвимости в административных скриптах этих модулей, загружая вредоносные файлы или выполняя произвольный PHP-код. Основной вектор атаки – запуск cron-скриптов с некорректными правами доступа.
Как закрыть уязвимость
Для устранения проблемы необходимо выполнить два шага:
1. Фикс прав на уязвимые файлы
Запустите следующий bash-скрипт (от root), который исправит права доступа и сбросит возможные запрещающие атрибуты:
bash#!/bin/bash # Скрипт необходимо запускать от имени root. # Задайте DOCUMENT_ROOT, если он отличается от /home/bitrix/www DOCROOT="/home/bitrix/www" # Список файлов относительно DOCUMENT_ROOT FILES=( "/bitrix/modules/esol.allimportexport/admin/cron_settings.php" "/bitrix/modules/esol.importexportexcel/admin/iblock_export_excel_cron_settings.php" "/bitrix/modules/esol.importexportexcel/admin/iblock_import_excel_cron_settings.php" "/bitrix/modules/esol.importxml/admin/import_xml_cron_settings.php" "/bitrix/modules/esol.massedit/admin/profile.php" "/bitrix/modules/kda.exportexcel/admin/iblock_export_excel_cron_settings.php" "/bitrix/modules/kda.importexcel/admin/iblock_import_excel_cron_settings.php" ) for file in "${FILES[@]}" do FULLPATH="$DOCROOT$file" echo "Обрабатывается: $FULLPATH" if [ ! -f "$FULLPATH" ]; then echo "Файл не найден: $FULLPATH" continue fi # Убираем атрибут immutable, если он установлен chattr -i "$FULLPATH" 2>/dev/null # Восстанавливаем права: 644, и владельца/группу: bitrix:bitrix chmod 644 "$FULLPATH" chown bitrix:bitrix "$FULLPATH" echo "Права и владелец восстановлены для: $FULLPATH" done echo "Все файлы обработаны."
Как запустить скрипт:
Скачайте и выполните команду (не забудьте поправить путь до папки сайта, если используется нестандартный bitrix-env):
bashwget -O fix_rule.sh https://onehost.kz/fix_rule chmod +x fix_rule.sh ./fix_rule.sh
2. Установка патча для закрытия уязвимости
Для окончательной защиты системы необходимо установить patch.php, который закроет уязвимости в модулях.
Как установить патч:
- Скачайте патч:
bash
wget -O patch.php https://onehost.kz/patch
- Загрузите его в корень сайта.
- Откройте в браузере
https://ваш_сайт/patch.php
.
Важно! Для работы патча на веб-сервере должен быть включён phar.
Вывод
-
Уязвимости в модулях kda.importexcel, kda.exportexcel, esol.massedite, esol.importxml, esol.importexportexcel, esol.allimportexport представляют серьёзную угрозу безопасности.
-
Для устранения проблемы необходимо исправить права доступа и установить защитный патч.
- Если ваш сайт использует эти модули, настоятельно рекомендуется проверить систему на следы взлома и удалить подозрительные файлы.