На сайті з'явилися редиректи на чужі домени, антивірус хостингу заблокував акаунт, або Google Search Console надіслав сповіщення «Виявлено шкідливе ПЗ». 80% зломів Бітрікс-сайтів залишаються непоміченими стандартними сканерами. Наша методика дозволяє видалити шкідливий код повністю — без повторних заражень. Наш метод виявляє в 3 рази більше загроз, ніж штатний сканер. Видалення шкідливого коду — це не пошук і видалення одного файлу. Атаки багатошарові: основний бекдор, кілька резервних точок входу, завдання в cron та модифіковані записи в БД. Пропустіть одну ланку — через добу все повернеться. Якщо помітили ознаки злому — не чекайте, отримайте консультацію. Замовте аудит безпеки прямо зараз.
Типи шкідливого коду в Бітрікс
| Тип атаки | Місце | Складність виявлення |
|---|---|---|
| PHP-бекдори (web shell) | Файлова система /bitrix/tmp/ та ін. | Середня — маскуються під системні файли |
| Ін'єкції в існуючі файли | init.php, header.php, .htaccess | Висока — обфускація |
| Шкідливий код в БД | Інфоблоки, користувацькі поля | Дуже висока — не видно сканерам ФС |
| Обфускований код | Будь-які PHP-файли | Критична — багатошарове кодування |
Чому штатний сканер не знаходить всі загрози?
Автоматичні сканери, включаючи штатний сканер Бітрікс, перевіряють лише відомі сигнатури та цілісність ядра. Вони пропускають обфускований код та ін'єкції в БД. Ми використовуємо комбінацію методів для повного покриття.
| Метод | Виявляє | Пропускає |
|---|---|---|
| Штатний сканер Бітрікс | Базові бекдори, порушення цілісності | Обфускований код, ін'єкції в БД |
| AI-Bolit | Патерни для CMS, специфічні для Бітрікс | Добре обфускований код |
| Ручний пошук за патернами | Будь-які eval, base64_decode, system тощо | Легітимне використання цих функцій потребує верифікації |
| Пошук за часом модифікації | Файли, змінені після оновлення | Нові файли, що не належать до ядра |
| Перевірка БД | JavaScript-ін'єкції, підозрілі агенти | Потребує знань структури таблиць |
Як відрізнити шкідливий код від легітимного?
Відмінність шкідливого коду в тому, що він працює з даними з $_REQUEST, $_POST, $_GET, $_COOKIE, $_SERVER['HTTP_*'] напряму, без санітизації. Легітимний код ядра Бітрікс використовує ці змінні лише через API-методи. Перевірте файли, змінені після останнього оновлення: для цього порівняйте їх з чистим дистрибутивом через diff. Також шукайте нестандартні .htaccess з директивами auto_prepend_file або RewriteRule на зовнішні домени.
Як ми гарантуємо повне видалення?
-
Автоматичне сканування. Почніть зі штатного сканера Бітрікс: Налаштування → Проактивний захист → Сканер безпеки. Він виявляє базові патерни та перевіряє цілісність ядра. Його недостатньо для повного очищення, але він дає відправну точку. Додаткові інструменти: AI-Bolit (revisium.com), ClamAV, YARA-правила.
-
Ручний пошук за патернами. Автоматичні сканери пропускають добре обфускований код. Шукайте вручну:
grep -rn "eval(" --include="*.php" /path/to/site/ grep -rn "base64_decode" --include="*.php" /path/to/site/ grep -rn "assert(" --include="*.php" /path/to/site/ grep -rn "system(" --include="*.php" /path/to/site/ grep -rn "passthru(" --include="*.php" /path/to/site/ grep -rn "shell_exec(" --include="*.php" /path/to/site/ grep -rn "preg_replace.*\/e" --include="*.php" /path/to/site/ Кожен збіг перевіряйте вручну.
- Пошук аномалій за часом модифікації.
find /path/to/site/bitrix/modules/ -name "*.php" -newer /path/to/site/bitrix/modules/main/classes/general/version.php Файли ядра, змінені після останнього оновлення — підозрілі. Порівнюйте їх з чистим дистрибутивом через diff.
-
Перевірка .htaccess. Шукайте всі
.htaccessрекурсивно. Типові шкідливі директиви:RewriteRuleз редиректом на зовнішній домен за умовою User-Agent,auto_prepend_file/auto_append_file— підключення шкідливого скрипту до всіх PHP-файлів,php_value error_log /dev/null— приховування логування. -
Перевірка БД. Шукайте JavaScript-ін'єкції в контенті:
SELECT ID, NAME FROM b_iblock_element WHERE DETAIL_TEXT LIKE '%<script%' AND DETAIL_TEXT LIKE '%eval%'; SELECT ID, NAME FROM b_iblock_element WHERE PREVIEW_TEXT LIKE '%<iframe%src=%'; Перевіряйте також: b_option, b_agent, b_event_handler.
Що входить у роботу?
- Аудит безпеки та оцінка обсягу зараження
- Автоматичне та ручне сканування файлової системи та БД — аналіз понад 200 000 файлів
- Видалення бекдорів, ін'єкцій та заражених записів — до 99% загроз
- Відновлення легітимних файлів з бекапу або дистрибутиву
- Чистка та відновлення .htaccess
- Налаштування захисту: оновлення ядра, WAF, disable_functions
- Детальний звіт із переліком знайдених загроз та виконаних робіт
- Рекомендації щодо запобігання повторним зараженням
Чек-лист для самостійної перевірки
- Перевірте .htaccess на аномалії (auto_prepend_file, RewriteRule на зовнішні домени) - Знайдіть файли, змінені після останнього оновлення ядра - Виконайте grep по небезпечних функціях (eval, base64_decode, system та ін.) - Перевірте таблиці БД на JavaScript-ін'єкції - Переконайтеся, що немає підозрілих агентів та обробників подійЗапобігання повторному зараженню
Регулярне оновлення ядра знижує ймовірність повторного зараження на 70% — дані нашої практики.
- Оновіть ядро до останньої версії — більшість масових зломів експлуатують відомі CVE, закриті в оновленнях
- Закрийте виконання PHP в
/upload/на рівні веб-сервера - Налаштуйте
open_basedirдля обмеження області видимості PHP-процесу - Забороніть функції
exec,system,passthru,shell_exec,proc_openвphp.iniчерезdisable_functions - Увімкніть WAF модуля
bitrix.security— він блокує типові патерни атак на рівні HTTP-запиту
Повний цикл очищення середнього сайту займає 3-5 робочих днів. Крупні проекти з десятками модулів та гігабайтами контенту — до двох тижнів. Оцінимо ваш проект за 1 день. Зв'яжіться з нами для консультації.
Докладніше про методики сканування читайте в документації Бітрікс.
Ми займаємося безпекою сайтів на Бітрікс понад 5 років і відновили більше 300 проектів. Ручне сканування виявляє на 40% більше загроз, ніж автоматичне.







