Уязвимость модуля “vote” в CMS 1С-Битрикс

Как все начиналось
- 03.03.2022 НКЦКИ (Национальный Координационный Центр по Компьютерным Инцидентам) выпустил бюллетень ALRT-20220303.2, в котором сообщалось о найденной 0-day уязвимости в модуле «vote» CMS 1С-Битрикс (модуль позволяющий организовать систему опросов и голосований посетителей сайта), уязвимость актуальная для редакций Стандарт или выше в редакции до 22.0.400.
- 17.03.2022 уязвимости был присвоен номер CVE-2022-27228.
- 23.05.2022 в публичном доступе появился документ «attacking_bitrix.pdf», где разбирались некоторые уязвимости в CMS 1С-Битрикс, методы их разработки и эксплуатации, в том числе и вышеупомянутой уязвимости.
- 30.06.2022 (дата примерная, возможно раньше) в сети были опубликованы RCE-эксплойты, написанные на php, использующие методы взлома и эксплуатации уязвимостей, описанных в документе «attacking_bitrix.pdf», в котором они упоминались как «Отличное место для закладки».
- 12.07.2022 НКЦКИ обновил бюллетень до версии 2, появилось подробное описание и рекомендации для борьбы с злоумышленниками.
- 26-28.07.2022 мы наблюдали эксплуатацию данной уязвимости в автоматическом режиме — некоторое количество сайтов было взломано, уничтожены данные, произведён дефейс публичной части сайта.
Главная страница сайта стала выглядеть следующим образом:

Как была произведена атака?
- Сформирован POST-запрос к скрипту uf.php сайта;
- Изменен файл agents.php в ядре Битрикса;
- Размещен агент, который при запуске создавал файл putin_h****.php, что и позволяло осуществить запуск кода при помощи php-функции eval().
Как определить, что ваш сайт взломали?
Так как взлом происходит в автоматическом режиме, возможна ситуация при которой злоумышленники ваш сайт взломали, но еще не воспользовались этим. Если не обнаружить это сразу, то и резервные копии будут содержать в себе последствия взлома, особенно при недостаточной глубине их хранения. Помимо очевидного дефейса, определить, что сайт взломан можно по следующим параметрам:
- В панели администратора в разделе «модули/агенты» присутствует лишний агент, размещающий файл /bitrix/tools/putin_h****.php;
- Наличие файла /bitrix/tools/putin_h****.php;
- В логах веб-сервера присутствуют POST-запросы к файлу /bitrix/tools/vote/uf.php.
Что делать, если ваш сайт взломали?
- 01 Удалить размещенный злоумышленниками агент и вредоносный файл, проверить не модифицированы ли другие файлы проекта (например, командой «find» найти файлы с датой модификации позднее чем дата POST-запроса);
- 02 Проверить встроенными инструментами CMS 1С-Битрикс, имеются ли в ядре файлы с модификациями, заменить их оригинальными версиями из резервной копии;
- 03 Установить актуальные обновления CMS 1С-Битрикс (это также поможет устранить модификации в ядре);
- 04 Изменить пароли всех пользователей с правами администратора.
Даже если признаков взлома нет, мы рекомендуем:
- Обновить веб-сервер и CMS 1С-Битрикс до актуальных версий;
- Проверить целостность файлов ядра;
- Желательно отключить неиспользуемые модули 1С-Битрикс для уменьшения векторов атаки на ресурс.
- Проверить настройки инструментов по обеспечению безопасности — наличия SSL сертификата на сайте, проактивной защиты, резервного копирования c достаточной глубиной хранения копий;
Итог
К сожалению, невозможно защитить свой сайт от взлома на 100%, в любой CMS есть уязвимые места, некоторые из которых уже известны, некоторые еще не найдены, а некоторые еще не появились. Тем не менее, простейшие правила безопасности, такие как надежные пароли, регулярная установка обновлений, наличие резервных копий и мониторинга, позволят минимизировать как шансы злоумышленников на взлом, так и сроки восстановления сайта в случае возникновения проблем.