За останні роки кількість атак на сайти, що працюють на CMS Joomla, суттєво зросла. Якщо раніше зловмисники переважно шукали окремі цілі, то сьогодні більшість атак виконується автоматизованими інструментами, які безперервно сканують Інтернет у пошуках відомих вразливостей. Після виявлення незахищеного сайту атака відбувається автоматично і часто займає лише кілька секунд.
Найчастіше причиною успішного злому є не сама Joomla, а несвоєчасне встановлення оновлень системи управління контентом або сторонніх розширень. Після того як розробники випускають виправлення безпеки, інформація про вразливість стає відомою не лише адміністраторам сайтів, а й хакерам. Якщо власник сайту відкладає оновлення, його ресурс залишається відкритим для вже відомих способів проникнення.
Особливо гостро ця проблема проявилася у 2026 році, коли було зафіксовано кілька масштабних хвиль атак на сайти Joomla. Зловмисники активно використовували вразливості у популярних розширеннях і заразили тисячі сайтів по всьому світу. Нижче розглянемо найнебезпечніші випадки та пояснимо, як захистити свій сайт від подібних атак.
Зміст
Чим загрожує злам сайту
Злам сайту — це не лише технічна проблема, а й серйозний ризик для бізнесу, репутації та безпеки даних. Після отримання доступу до сервера зловмисники можуть непомітно змінювати вміст сторінок, розміщувати шкідливі файли, перенаправляти відвідувачів на фішингові ресурси або використовувати ваш хостинг для проведення нових атак. У багатьох випадках власник сайту дізнається про компрометацію лише тоді, коли сайт перестає працювати, пошукові системи позначають його як небезпечний або хостинг-провайдер тимчасово блокує акаунт.
Особливо небезпечними є атаки, під час яких хакер отримує можливість виконувати довільний код на сервері. У такій ситуації недостатньо просто видалити знайдений веб-шел або оновити вразливе розширення. Зловмисник міг створити додаткові приховані точки доступу, змінити системні файли, викрасти паролі чи встановити інші шкідливі компоненти, які залишаться непоміченими навіть після поверхневого очищення сайту.
Наслідки успішного зламу можуть бути такими:
- викрадення бази даних із персональними даними користувачів;
- компрометація паролів адміністраторів, FTP, SSH та поштових скриньок;
- розміщення фішингових сторінок, вірусів або спам-скриптів;
- зараження всіх сайтів, що знаходяться в одному обліковому записі хостингу;
- потрапляння сайту до чорних списків пошукових систем, браузерів та антивірусних компаній;
- блокування акаунта хостинг-провайдером через поширення шкідливого програмного забезпечення;
- фінансові втрати, пов'язані з простоєм сайту, відновленням даних та усуненням наслідків інциденту.
Саме тому після виявлення факту злому не варто обмежуватися лише встановленням останньої версії Joomla. Необхідно провести повний аудит безпеки, перевірити журнали подій, змінити всі паролі доступу, проаналізувати цілісність файлів і переконатися, що на сервері не залишилося прихованих бекдорів або інших механізмів повторного проникнення. Лише комплексна перевірка дозволяє бути впевненим, що сайт дійсно очищений, а не залишився під прихованим контролем зловмисників.
Злам сайтів із застарілою версією CMS Joomla
Будь-яка система керування сайтом регулярно отримує оновлення безпеки. Після виявлення нової вразливості розробники випускають виправлення, а інформація про саму проблему нерідко стає публічною. Це означає, що після виходу оновлення не лише власники сайтів дізнаються про вразливість, а й кіберзлочинці. Якщо сайт продовжує працювати на застарілій версії CMS, він залишається відкритим для атак, від яких сучасні версії вже захищені.
Більшість масових зламів відбувається не тому, що хакери спеціально обирають конкретний сайт. Зазвичай вони використовують автоматизовані сканери, які безперервно перевіряють Інтернет у пошуках відомих вразливостей. Після виявлення застарілої версії CMS або компонента спеціальна програма автоматично намагається використати відомий експлойт. Якщо атака успішна, на сервер завантажується шкідливий код і сайт переходить під контроль зловмисника.
Особливо небезпечними є сайти, які не оновлювалися роками. Вони можуть містити десятки вже відомих вразливостей, для яких давно існують готові інструменти злому. У такій ситуації достатньо лише одного незахищеного компонента, щоб отримати повний контроль над сайтом.
Поширеною помилкою є думка, що невеликий або маловідомий сайт не становить інтересу для хакерів. Насправді автоматизованим інструментам байдуже, кому належить сайт і скільки в нього відвідувачів. Для них важлива лише наявність уразливості. Саме тому зламу піддаються як великі корпоративні портали, так і невеликі сайти компаній, особисті блоги чи інтернет-магазини.
Регулярне оновлення CMS є одним із найефективніших способів захисту. Встановлення актуальних версій системи та розширень закриває відомі вразливості й значно зменшує ризик успішної атаки. Якщо ж сайт працює на застарілій версії, кожен день без оновлення збільшує ймовірність компрометації, особливо після появи у відкритому доступі нових експлойтів. Навіть якщо сайт працює стабільно і не має видимих проблем, це не означає, що він захищений від сучасних методів злому.
Злам сайтів із застарілими розширеннями від Tassos
У квітні 2026 року хакерами було зламано сайти на CMS Joomla, які використовували застарілу версію Tassos Framework. Зловмисники повністю видаляли файли і базу даних оригінальних сайтів, а замість них завантажували свої файли з розширенням .shtml, .py, .php, .json та ін.
Після захоплення основного сайту, хакери виходили за його межі і починали заражати сусідні ресурси, а потім і увесь акаунт.
Ще в січні 2026 року розробник закрив «діру» у своєму плагіні. Але ті сайти які не оновилися були атаковані та зламані.
В зоні ризику також опинилися сайти які використовували інше неоновлене програмне забезпечення цього розробника:
- Convert Forms
- EngageBox
- Google Structured Data
- Advanced Custom Fields
- Smile Pack
- MailChimp Auto-Subscribe
Тож, якщо на вашому сайті використовується застаріла версія будь-якого з цих розширень, то рекомендуємо негайно оновити його. Разом з розширенням оновиться й Tassos Framework.
Злам сайтів які використовують застарілу версію JCE Editor
У червні 2026 року хакери виявили і почали використовувати вразливість «JCE Profiles Hack» (CVE-2026-48907) у популярному редакторі JCE Editor. Використовуючи цю вразливість, вони змогли без будь-якої автентифікації створювати свій профіль в редакторі та розміщувати веб-шел на будь-якому сайті, який використовує JCE версії нижче 2.9.99.5.
Як хакери атакують сайти через JCE Editor
Спочатку зловмисник імпортує свій профіль і вмикає для цього профілю завантаження файлів у форматах php, py та txt із вимкненою перевіркою MIME (Multipurpose Internet Mail Extensions — перевірку типів файлів та даних які завантажуються на сайт). Потім, він використовуйте цей профіль для завантаження веб-шелу (шкідливого скрипта).
В результаті на сервері з’являється так званий Backdoor (чорний хід). Хакеру не потрібно використовувати систему щоб отримати доступ до файлів які зберігаються на сайті. Більш того, зловмисники фактично створювали свою CMS всередині існуючої і в такий спосіб отримували доступ не тільки до сайту, а й до всього акаунту: бази даних, пошти, інших сайтів. А на неправильно налаштованих серверах, хакерам вдалося навіть вийти за межі поточного акаунта і захопити увесь сервер. Тобто уразивши всього-на-всього один сайт, зловмисники змогли захопити усі сайти, які були на цьому сервері.
Як захистити сайт від зламу через JCE Editor
9 червня 2026 року на GitHub було опубліковано робочий експлойт-коду і після цього по всьому Інтернету почався масовий злам сайтів на CMS Joomla. Адже ці автоматизовані інструменти розсипають один і той самий експлойт на кожну доступну інсталяцію JCE. Тому навіть сайти без публічної реєстрації опинилися в зоні ризику.
Розробник JCE вже публічно підтвердив, що вразливість активно експлуатується, робочий експлойт-код є у відкритому доступі, а атаки автоматизовані, тому навіть сайт без публічної реєстрації не є безпечним. Надійним підтвердженням з боку розробника є записи у логах доступу до вашого веб-сервера, де неавтентифіковані запити на index.php?option=com_jce&task=profiles.import позначають момент першого доступу до сайту.
16 червня 2026 року кіберагентство уряду США, CISA, додало вразливість CVE-2026-48907 до свого каталогу «Відомі уразливості, що експлуатуються», вказавши її як «Вразливість неправильного контролю доступу в редакторі вмісту Joomla від Widget Factory».
CISA додає вразливість до цього каталогу лише тоді, коли має докази її активного використання в реальних умовах, тож це є незалежним підтвердженням вразливості на урядовому рівні. CISA закликає кожну організацію розглядати вразливість, включену до KEV, як пріоритет, котрий вимагає негайного виправлення. Урядовим агентствам наказано відкласти всі інші справи та виправити цю вразливість. Тому старі сайти на Joomla у вашому портфоліо не є винятком. Всі сайти які використовують розширення JCE версії нижче 2.9.99.5 повинні негайно оновити його.
Злам сайтів із старим шаблоном Helix3
29 червня 2026 року JoomShaper випустив оновлення для Helix3 Framework, а 01 липня 2026 року — оновив шаблон Helix3 для CMS Joomla.
03 липня 2026 року хакери масово атакували сайти на CMS Joomla які не оновили цей шаблон і фреймворк. Після зламу замість сторінок з контентом сайту, користувачі побачили повідомлення «Hacked By CoupDeGrace» або «Hacked by trenggalek6etar».
На своїй сторінці, розробник чітко вказав, що у версії 3.1.1 від 29.06.2026 року виправлено вразливість у фреймворку Helix3. Тож причина зламу сайтів така сама як і в попередніх випадках — неоновлення, або несвоєчасне оновлення розширення.
Якщо ви використовуєте будь-яке застаріле розширення від JoomShaper — оновіть його негайно!
Що робити якщо ваш сайт зламали
Якщо є підозра, що сайт був скомпрометований, діяти потрібно якомога швидше. Не варто вважати, що проблему буде вирішено після видалення одного шкідливого файлу або встановлення оновлення. Якщо зловмисник уже отримав доступ до сервера, він міг залишити приховані бекдори, створити нові облікові записи, викрасти паролі або змінити системні файли. Тому головне завдання — не лише відновити роботу сайту, а й повністю усунути наслідки проникнення.
Рекомендується виконати такі дії:
- Негайно переведіть сайт у режим технічного обслуговування або тимчасово обмежте до нього доступ, щоб запобігти подальшому поширенню шкідливого коду.
- Створіть резервну копію поточного стану сайту та бази даних. Вона може знадобитися для аналізу інциденту або відновлення важливої інформації.
- Оновіть Joomla та всі встановлені розширення до актуальних версій, у яких відомі вразливості вже усунуті.
- Перевірте файли сайту на наявність веб-шелів, бекдорів, сторонніх PHP-скриптів та інших підозрілих змін. Особливу увагу слід приділити директоріям із можливістю завантаження файлів і системним папкам CMS.
- Перегляньте журнали доступу (Access Log) та журнали помилок (Error Log), щоб визначити спосіб проникнення, час атаки та дії, які виконував зловмисник.
- Замініть усі паролі, пов'язані із сайтом: адміністратора Joomla, бази даних, FTP, SSH, панелі керування хостингом і поштових скриньок. Якщо паролі не змінити, зловмисник може повторно отримати доступ навіть після очищення сайту.
- Перевірте всі облікові записи користувачів і адміністраторів, видаліть невідомі акаунти та переконайтеся, що права доступу відповідають їхньому призначенню.
- Якщо на одному хостинг-акаунті розміщено декілька сайтів, перевірте кожен із них. Після компрометації одного сайту шкідливий код часто поширюється й на інші проєкти в тому самому акаунті.
- Після очищення сайту виконайте повторне сканування, перевірте його працездатність і переконайтеся, що нових підозрілих файлів або змін більше не з'являється.
Якщо немає достатнього досвіду в адмініструванні серверів і безпеці Joomla, краще звернутися до фахівців. Неповне очищення системи часто призводить до повторного злому через кілька годин або днів, оскільки прихований бекдор залишається активним. Професійний аналіз дозволяє не лише видалити шкідливий код, а й встановити причину компрометації, усунути її та мінімізувати ризик повторного інциденту.
Покрокова інструкція з відновлення сайту на CMS Joomla після зламу
Найпростіший спосіб відновити сайт на CMS Joomla – це звісно ж backup. Але ж ми не знаємо коли саме зловмисник почав завантажувати на сайт шкідливі файли. І не знаємо в яких саме каталогах знаходяться ці файли, скільки їх, які вони. Тому зараз я розповім вам про самий дієвий, на мою думку, спосіб відновити сайт після зламу.
- Закрийте доступ до всіх сайтів, розміщених у хостинг-акаунті, за допомогою
deny from allу файлі.htaccessабо командиchmod o-xдля каталогу кожного сайту (без рекурсивної зміни прав).Насамперед потрібно ізолювати зламаний сайт, щоб зловмисник більше не міг виконувати на ньому жодних дій, а шкідливий код не продовжував заражати інші сайти у вашому акаунті. Директива
deny from allу файлі.htaccessзабороняє доступ до сайту через веб-сервер для всіх відвідувачів, а командаchmod o-xзабирає у сторонніх користувачів право входити до каталогу сайту через файлову систему. Використовуватиchmod o-xпотрібно лише для самого каталогу сайту, без рекурсивної зміни прав для всіх вкладених файлів і папок, інакше можна випадково порушити роботу системи та ускладнити подальше відновлення. - Змініть усі паролі, через які можна отримати доступ до сайту або сервера: FTP, SSH, панелі керування хостингом, бази даних MySQL та електронної пошти. Якщо зловмисник уже дізнався хоча б один із них, він зможе повторно увійти до системи навіть після видалення шкідливого коду. Для кожного сервісу використовуйте окремий складний пароль, який містить великі й малі літери, цифри та спеціальні символи. Не використовуйте прості або поширені паролі. На сьогоднішній день рекомендована довжина паролів 12-16 символів.
- Вкажіть нові паролі до бази даних у файлах конфігурації сайтів.
Після зміни пароля до бази даних сайт більше не зможе підключитися до неї, доки новий пароль не буде вказаний у його файлі конфігурації (configuration.php). Якщо цього не зробити, замість сторінок сайту з'явиться повідомлення про помилку підключення до бази даних.
- Перевірте список завдань cron і видаліть звідти підозрілі завдання.
Cron — це планувальник завдань, який автоматично запускає програми за розкладом. Після зламу хакери нерідко додають до нього власні завдання, щоб регулярно запускати шкідливі скрипти або знову отримувати доступ до сайту навіть після його очищення.
- Відкрийте доступ до одного сайту з однієї (вашої) ip адреси за допомогою наступних рядків у .htaccess:
deny from all allow from xx.xxx.xx.xxxде
xx.xxx.xx.xxx— ваша ip адреса, яку можна дізнатися за допомогою будь-якого спеціалізованого онлайн-сервісу.Після ізоляції всіх сайтів вам потрібно відкрити доступ лише до того сайту, який ви відновлюєте, і тільки для своєї IP-адреси. Це не дозволить стороннім користувачам і можливому зловмиснику відкрити сайт через браузер, але дасть вам можливість безпечно виконувати роботи з очищення та відновлення.
- Перевірте, чи не з'явилися у CMS сайту зайві користувачі з правами адміністратора.
Після зламу зловмисники нерідко створюють власні облікові записи з правами адміністратора, щоб у будь-який момент знову отримати доступ до сайту. Видаліть усі невідомі акаунти.
- Змініть пароль адміністратора на новий і достатньо складний.
Якщо зловмисники отримали доступ до бази даних сайту, то виникає велика імовірність того, що вони заволоділи обліковими даними всіх користувачів, включаючи адміністратора. Тому навіть після повного очищення сайту від шкідливих файлів залишається ризик, що вони зможуть увійти до адміністративної панелі, використовуючи ваш логін і пароль.
- Якщо сайт не використовує SSL, то увімкнути SSL у властивостях www домену і попросіть технічну підтримку встановити безкоштовний сертифікат (Наприклад Let's Encrypt).
SSL-сертифікат шифрує дані, які передаються між сайтом і відвідувачем, тому їх значно складніше перехопити або підмінити. Крім того, сайти, що працюють через захищений протокол HTTPS, викликають більше довіри у користувачів і краще відповідають сучасним вимогам безпеки.
- Виконайте оновлення CMS до останньої стабільної версії, можливо для цього доведеться виконати декілька послідовних оновлень.
Оновлення CMS закриває відомі вразливості, через які зловмисники могли отримати доступ до сайту. Якщо ваш сайт використовує дуже стару версію Joomla, може знадобитися кілька послідовних оновлень, оскільки перейти одразу до останньої версії не завжди можливо.
- Після оновлення перейменуйте каталог сайту із <sitename> в <sitename>.infected, та створіть новий порожній каталог для сайту.
Не працюйте зі зламаними файлами напряму. Перейменування каталогу дозволяє зберегти їх для подальшого аналізу, а новий порожній каталог стане основою для розгортання чистої копії сайту без ризику повторного використання заражених файлів.
- Вивантажте дамп бази даних сайту, після чого видаліть базу і створити нову порожню (якщо тариф дозволяє декілька баз даних, то можна просто створити нову порожню базу даних без видалення старої).
База даних містить статті, налаштування та інший вміст сайту, тому перед будь-якими змінами обов'язково створіть її резервну копію. Використання нової порожньої бази даних допомагає уникнути перенесення прихованих змін або небажаних налаштувань, які могли бути залишені зловмисниками.
- Завантажте в новостворений порожній каталог сайту дистрибутив останньої стабільної версії CMS. Файли CMS обов’язково завантажуйте з офіційного сайту і встановлюйте CMS з нуля в порожню базу даних.
Встановлення CMS з нуля гарантує, що всі системні файли будуть чистими й не міститимуть прихованого шкідливого коду. Завантажуйте дистрибутив лише з офіційного сайту розробника, щоб бути впевненими в його справжності та безпеці.
- Завантажте в базу зроблений раніше дамп, або змініть в конфігураційному файлі CMS налаштування БД і під'єднайтеся до старої бази.
Після встановлення чистої CMS потрібно повернути до неї вміст вашого сайту: статті, меню, налаштування та інші дані, які зберігаються в базі даних. Якщо ви використовуєте нову базу даних, імпортуйте в неї резервну копію, а якщо залишили стару — просто вкажіть нові параметри підключення у файлі конфігурації CMS.
- Перенесіть із каталогу
<sitename>.infectedу відповідні каталоги нового сайту зображення, документи, медіаконтент та інші користувацькі файли. При цьому уважно слідкуйте за тим, щоб у файлах, які переносяться не було.htaccessі виконуваних php файлів. Не копіюйте виконувані файли PHP, файли .htaccess та інші системні елементи, оскільки саме в них найчастіше приховується шкідливий код, який може повторно заразити вже відновлений сайт. - Встановіть/перевстановіть плагіни та теми для CMS. Але перед їх встановленням обов'язково перевірте чи не знаходили останнім часом у цих плагінах вразливостей.
Плагіни та шаблони можуть містити вразливості, тому встановлюйте лише їхні актуальні версії, завантажені з офіційних джерел. Перед встановленням варто перевірити, чи не повідомляли розробники або фахівці з кібербезпеки про критичні проблеми безпеки в цих розширеннях.
- Захистіть каталог з адміністративною частиною CMS засобами http-авторизації (встановіть пароль на папку administrator для CMS Joomla).
Додатковий пароль на каталог адміністративної частини створює ще один рівень захисту, який ускладнює несанкціонований доступ до панелі керування сайтом. Навіть якщо зловмисник дізнається пароль адміністратора Joomla, без проходження HTTP-авторизації він не зможе відкрити сторінку входу до адміністративної панелі.
Деякі з наведених кроків можуть не знадобитися саме у вашій ситуації. Крім того, відновлення сайту можна виконувати не лише безпосередньо на хостингу, а й на локальному сервері, а після завершення робіт перенести готовий сайт разом із базою даних на робочий сервер.
Головне — зрозуміти сам принцип безпечного відновлення. Він полягає в тому, щоб розгорнути чисту копію CMS з офіційного дистрибутива, перенести до неї лише безпечні користувацькі файли (наприклад, зображення з каталогу images) і підключити базу даних, у якій зберігаються статті, меню, налаштування та інший вміст сайту.
Такий підхід значно зменшує ризик повторного зараження.
Перед початком будь-яких робіт обов'язково створіть повну резервну копію файлів сайту та бази даних. Це дозволить повернутися до початкового стану, якщо під час відновлення виникнуть непередбачені проблеми.
