Зламали сайт на Joomla: що робити

Влітку 2026 року сайтами на Joomla прокотилася хвиля масових автоматичних зламів. Атакують не вручну і не обираючи жертв: боти обходять інтернет, знаходять вразливе розширення і завантажують веб-шел за лічені секунди. Якщо ваш сайт раптом почав перекидати відвідувачів на чужі сторінки, розсилати спам чи показувати напис «Hacked by...», нижче розберемо покроково, що робити просто зараз і як повернути контроль.

Зміст
  1. Як зрозуміти, що сайт справді зламали
  2. Чому влітку 2026 масово ламають Joomla
  3. Перша година: що зробити одразу
  4. Як вичистити сайт правильно
  5. Відновлення з бекапу: коли це працює
  6. Як закрити дірку, щоб не повторилося
  7. Коли варто покликати фахівця

Як зрозуміти, що сайт справді зламали

Іноді злам видно одразу: замість головної сторінки чужий напис. Але частіше він тихий і працює тижнями, а ви дізнаєтеся про нього останнім. Ось ознаки, за якими зараження виказує себе:

  • Сайт перекидає відвідувачів на сторонні сторінки (казино, аптеки, сумнівні завантаження), особливо під час переходу з пошуку або з телефону.
  • У пошуку під вашим сайтом з'явилися чужі сторінки чи ієрогліфи, а Google показує «Цей сайт може бути зламано».
  • В адмінці завелися користувачі з правами Super User, яких ви не створювали.
  • Хостинг надіслав повідомлення про шкідливий код чи незвичне навантаження, іноді з призупиненням акаунта.
  • Сервер розсилає спам без вашого відома, а IP пошти потрапив у чорні списки RBL.
  • У папках media, images, tmp з'явилися незнайомі PHP-файли, файли з подвійним розширенням (.xml.php) чи дивним регістром (.pHp).
  • Органічний трафік різко впав: сторінки вилетіли з індексу або позначені як небезпечні.

Навіть один пункт зі списку це привід для повної перевірки. Часто злам працює вибірково: звичайному відвідувачу сайт здається нормальним, а редирект спрацьовує лише для тих, хто прийшов із Google, або тільки один раз з одного пристрою. Тому «у мене все відкривається» ще не означає «все чисто».

Важливо: поки що не видаляйте нічого в паніці. Логи, підозрілі файли та записи в базі це докази, за якими знаходять точку входу. Зітрете їх одразу, і дірка залишиться відкритою, а сайт заразять знову вже за день.

Чому влітку 2026 масово ламають Joomla

Річ майже ніколи не в самому ядрі Joomla, воно якраз захищене непогано, а в популярних сторонніх розширеннях. За короткий час розкрили одразу кілька критичних вразливостей (CVSS до 10.0), які дозволяють неавтентифіковане завантаження і виконання PHP-коду. Тобто повне захоплення сайту без жодного пароля:

  • JCE (Joomla Content Editor): CVE-2026-48907, закрито у версії 2.9.99.5.
  • SP Page Builder: CVE-2026-48908, закрито у 6.6.2.
  • iCagenda: CVE-2026-48939, закрито у 4.0.8 та 3.9.15.
  • Page Builder CK: CVE-2026-56290, закрито у 3.6.0.

Частину з них експлуатували як 0-day, ще до виходу патча, і всі внесені до каталогу активно експлуатованих вразливостей CISA (KEV). Експлойти публічні, а атаки йдуть ботами по всьому інтернету. Тому аргумент «у мене маленький сайт, кому він потрібен» не працює: ботам байдуже, який у вас трафік, вони б'ють за ознакою «встановлено вразливе розширення».

Масштаб підтверджують і національні центри кібербезпеки. 9 липня 2026 року Австралійський центр кібербезпеки (ACSC) попередив про велику тривалу глобальну кампанію: зловмисники масово сканують сайти на CMS і встановлюють веб-шели, і Joomla JCE прямо названо в списку вразливого софту. ACSC зазначає, що кампанію, ймовірно, пришвидшує ШІ, скорочуючи час від розкриття вразливості до атаки до лічених годин.

Окрема помітна хвиля це дефейси головної сторінки з підписом «Hacked by AntonKill». Профільні джерела по Joomla пов'язують її передусім із вразливістю фреймворку шаблонів Helix3 від JoomShaper (CVE-2026-49049): шкідливий код впроваджується прямо в параметри шаблона в базі даних, тому чищення самих лише файлів буває недостатньо.

Висновок простий: якщо у вас стоїть будь-яке з цих розширень і воно не оновлене, питання не «чи зламають», а «коли». І перше, що варто зробити навіть на чистому сайті, оновити їх до безпечних версій.

Перша година: що зробити одразу

Завдання першої години не «вилікувати», а зупинити збитки і зберегти можливість спокійно розібратися. По порядку:

  1. Змініть паролі. Адміністратор Joomla, доступи до хостингу і панелі, FTP/SFTP та база даних. Якщо один пароль використовувався в кількох місцях, змінюйте всюди.
  2. Закрийте сайт від відвідувачів. Переведіть його в режим обслуговування (офлайн у Joomla) або тимчасово віддавайте заглушку. Це захистить відвідувачів від редиректів і шкідника та зупинить розсилку спаму.
  3. Збережіть докази. Завантажте свіжі логи сервера (access та error) і зробіть повний архів сайту та дамп бази «як є», до чищення. За логами знаходять і час, і спосіб проникнення.
  4. Перевірте адміністраторів. Заблокуйте чи видаліть акаунти з правами Super User, які ви не створювали. Заразом подивіться, чи не підмінили пошту у вашому власному акаунті.
  5. Попередьте хостинг. Багато хостерів допомагають з первинною діагностикою, дають доступ до своїх сканерів і, що важливо, не блокують акаунт, якщо бачать, що ви вже займаєтеся проблемою.
  6. Знайдіть останній чистий бекап. Перевірте, чи є резервна копія за період до зараження. Від цього залежить, яким шляхом піде відновлення.
Не поспішайте натискати «відновити з бекапу» першою ж дією. Якщо не закрити вразливість, відновлений сайт заразять за тим самим сценарієм того ж дня. Спочатку зрозуміти точку входу, потім відновлювати.

Як вичистити сайт правильно

Головна помилка звучить так: «знайшов один дивний файл, видалив, заспокоївся». Веб-шел майже завжди не один: поруч лежать копії-закладки, а в базі й у легітимних файлах сидять вставки, які відновлюють доступ. Чищення це система, а не одна дія.

1. Знайти й прибрати веб-шели

Шукайте свіжі та підозрілі PHP-файли там, де їх бути не повинно: в images, media, tmp, cache. Ознаки: подвійне розширення (.xml.php), нестандартний регістр (.pHp), нещодавня дата зміни, а також PHP з функціями eval, base64_decode, gzinflate, assert і preg_replace з модифікатором /e. Такі вставки майже завжди шкідливі.

2. Звірити файли з чистою копією

Найнадійніше порівняти файли сайту з еталоном: завантажте чисту Joomla вашої версії й ті самі розширення з офіційних джерел і звірте. Усе, що відрізняється в ядрі й у файлах розширень, кандидат на заміну. Свої правки (шаблон, конфігурацію) при цьому тримайте окремо.

3. Почистити базу даних

Перевірте базу на ін'єкції: у параметрах шаблонів (особливо Helix3), у статтях, у модулях і в системних плагінах. Шукайте теги script та iframe, вставки з document.write і підключення зовнішніх доменів. Заразом перевірте таблицю користувачів і таблицю розширень: там ховають і прихованих адмінів, і шкідливі плагіни, які заново створюють шели.

4. Перевірити точки закріплення

Загляньте в .htaccess (правила редиректу і підключення PHP), у заплановані завдання (cron) і в системні плагіни Joomla, які спрацьовують на кожному завантаженні. Саме тут найчастіше залишають «другий ключ», щоб повернутися після чищення.

Критерій готовності: сайт чистий не тоді, коли зник редирект, а тоді, коли не залишилося жодної точки повторного входу. Якщо після чищення шкідник з'являється знову за день, значить, пропущено закладку або не закрито первісну вразливість.

Відновлення з бекапу: коли це працює

Бекап це найшвидший шлях, але лише за двох умов: копія зроблена завідомо до зараження і ви точно знаєте, через що зайшли. Якщо відновити сайт і не оновити вразливе розширення, повторне зараження це питання годин.

Складність у тому, що злам часто помічають за тижні, і всі свіжі бекапи вже містять шел. Тоді чиста копія є, але вона надто стара: відтоді з'явилися нові статті, замовлення, налаштування. У цьому випадку оптимально комбінувати: розгорнути стару чисту копію як основу, акуратно перенести на неї свіжий контент із бази (попередньо перевіривши його) й обов'язково оновити все, через що могли зайти.

І окремо про майбутнє: бекап корисний рівно настільки, наскільки він існує і перевірений. Резервні копії мають створюватися автоматично, зберігатися окремо від сайту (щоб шифрувальник чи дефейс їх не зачепили) і хоча б іноді розгортатися на тест, щоб переконатися, що вони робочі.

Як закрити дірку, щоб не повторилося

Вичистити сайт це половина роботи. Якщо не прибрати причину, все повториться. Базовий набір захисту:

  • Оновлюйте Joomla і всі розширення вчасно. Більшість зламів 2026 року це не «хитра атака», а вхід через розширення, для якого патч уже вийшов. Видаліть те, чим не користуєтеся: кожне зайве розширення це зайві двері.
  • Увімкніть двофакторну автентифікацію для адмін-акаунтів і приберіть очевидні логіни на кшталт admin.
  • Налаштуйте права на файли й папки правильно (зазвичай 644 на файли, 755 на папки) і забороніть виконання PHP у папках завантажень (media, images), де його бути не повинно.
  • Поставте сайт за Cloudflare чи інший WAF: він відсікає частину автоматичних атак і сканерів ще до того, як вони дійдуть до Joomla.
  • Робіть автоматичні бекапи зі зберіганням окремо від сайту і перевіряйте їх.
  • Приберіть із сервера сліди розробки: старі копії, тестові скрипти, забуті phpMyAdmin і архіви. Часто саме вони і стають входом.
Безпека це не «поставив і забув», а звичка: оновлення, мінімум зайвого, резервні копії. Один вечір налаштування заощаджує тижні відновлення і втрачені позиції в пошуку.

Коли варто покликати фахівця

Багато з переліченого реально зробити самому, особливо якщо злам помітили рано і є свіжий чистий бекап. Але є ситуації, де зволікання і напівзаходи обходяться дорожче, ніж допомога:

  • Шкідник повертається після кожного чищення: значить, пропущено закладку або не закрито первісну дірку.
  • Немає чистого бекапу, а на сайті живий контент і замовлення, які не можна втратити.
  • Хостинг заблокував акаунт або сайт позначено в Google як «небезпечний», і треба швидко пройти повторну перевірку.
  • Дефейс сидить у базі (той самий Helix3 і «AntonKill»), де чищення файлів недостатньо.
  • Сайт комерційний, і кожен день простою це втрачені заявки й позиції.

Якщо це ваш випадок, я відновлюю сайти на Joomla після злому під ключ: знаходжу і прибираю шели та редиректи, чищу базу, закриваю вразливість, повертаю сайт у пошук і налаштовую захист, щоб не повторилося. Докладніше про послугу і ціни на сторінці відновлення сайту після злому. Діагностику роблю безкоштовно, ще до початку робіт.

Часті запитання

Як зрозуміти, що сайт на Joomla зламали?

Головні ознаки: редиректи на чужі сайти (особливо з пошуку і з телефону), незнайомі PHP-файли в папках media та images, нові користувачі з правами Super User, скарги хостингу на шкідник, спам-розсилка з сервера і позначка «Цей сайт може бути зламано» в Google. Навіть одна така ознака це привід для повної перевірки.

Що робити насамперед, якщо сайт заражений?

Змініть усі паролі (адмін, хостинг, FTP, база), закрийте сайт у режим обслуговування, збережіть логи і повний бекап «як є» для розбору, видаліть незнайомих адміністраторів і попередьте хостинг. Не відновлюйтеся з бекапу одразу: спочатку треба зрозуміти, через що зайшли, інакше заразять знову.

Чому влітку 2026 року масово ламають сайти на Joomla?

Через серію критичних вразливостей у популярних розширеннях (JCE, SP Page Builder, iCagenda, Page Builder CK) і у фреймворку шаблонів Helix3. Вони дозволяють завантажити і виконати PHP-код без пароля. Експлойти публічні, атаки ведуть боти автоматично, тому під удар потрапляють навіть маленькі сайти.

Чи можна просто видалити вірусний файл, і все?

Майже ніколи. Веб-шел рідко буває один, а доступ часто закріплюють у базі, в .htaccess, у cron і в системних плагінах. Якщо видалити один файл і не закрити вразливість, сайт заразять повторно. Потрібне системне чищення плюс усунення причини.

Чи допоможе відновлення з резервної копії?

Так, якщо копія зроблена до зараження і ви закрили вразливість. Проблема в тому, що злам часто помічають пізно, і свіжі бекапи вже заражені. Тоді беруть стару чисту копію як основу і переносять на неї перевірений свіжий контент, обов'язково оновивши вразливі розширення.

Що таке «Hacked by AntonKill» і чим це небезпечно?

Це масова хвиля дефейсів головної сторінки Joomla-сайтів у 2026 році, яку пов'язують із вразливістю шаблонів Helix3 (CVE-2026-49049). Особливість у тому, що шкідливий код сидить у параметрах шаблона в базі даних, тому чищення самих файлів недостатньо: треба чистити і базу.

Як захистити сайт на Joomla від повторного злому?

Вчасно оновлюйте ядро і розширення, видаляйте невикористовувані, увімкніть двофакторну автентифікацію, налаштуйте права файлів і заборону PHP у папках завантажень, поставте сайт за Cloudflare чи інший WAF і робіть автоматичні бекапи зі зберіганням окремо від сайту.

Скільки коштує відновити сайт після злому?

Залежить від масштабу: іноді достатньо вичистити шели й оновити пару розширень, іноді потрібна повна перезбірка з чистої копії з перенесенням контенту. Я оцінюю після безкоштовної діагностики, коли видно реальний обсяг. Написати можна в Telegram, відповідаю впродовж робочого дня.

Не виходить вичистити сайт самостійно?

Допоможу відновити Joomla після злому: приберу шели та редиректи, закрию дірку, поверну сайт у пошук. Діагностика безкоштовна, відповім упродовж робочого дня.

Відновлення сайту Написати в Telegram
Русский English Deutsch Polski Українська
Telegram