<
  • Главная
Статьи

Безкоштовні шаблони для WordPress - дослідження безпеки - 54% заражені або уразливі

  1. Вступ
  2. Методологія дослідження
  3. результати перевірки
  4. Спам-посилання
  5. Критичні уразливості в timthumb.php
  6. Бекдори і веб-шелли
  7. Revisium WordPress Theme Checker
  8. висновки

У статті наведено дослідження безпеки безкоштовних шаблонів для системи управління сайтом WordPress, доступних для скачування на популярних ресурсах для веб-майстрів. Розглядаються проблеми використання подібних тим і шаблонів. Також наводяться рекомендації та посилання на невелику утиліту для перевірки завантажених тим на наявність шкідливого коду.

1. Введення

2. Методологія дослідження

3. Результати перевірки

4. Revisium WordPress Theme Checker

5. Висновки

Вступ

WordPress є найбільш популярною безкоштовною системою управління сайтами. Станом на серпень 2013 року кількість сайтів, що працюють під управлінням CMS WordPress, становило понад 22%, що в числовому еквіваленті - понад 10 мільйонів сайтів по всьому світу. Цією значною цифрою обумовлена ​​також популярність тим і шаблонів для даного "движка", які можна знайти як безкоштовні на форумах, порталах і блогах для веб-майстрів, так і платні в магазинах шаблонів.

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

Методологія дослідження

На основі пошукової видачі Яндекса і Google був складений список з 6 найбільших пошукових безкоштовних шаблонів, що містять тисячі архівів з темами для WordPress. З кожного сайту було завантажено 500 останніх завантажених архівів з шаблонами. Однакові архіви були об'єднані. В результаті сформувався список з 2350 унікальних тим, серед яких досить багато зустрічалося комерційних "преміум-шаблонів" і переведених західних.

Всі шаблони були просканувати інструментами для пошуку шкідливого коду AI-Bolit , Maldet і ClamAv . Із знайдених шаблонів були виділені загальні шкідливі фрагменти, які вручну були деобфусціровани і проаналізовані.

результати перевірки

Більше половини, а точніше 54%, виявилися зараженими хакерськими веб-Шелл, бекдор, black hat SEO ( "спам") посиланнями, а також містили скрипти з критичними уразливими.
Теми і шаблони для WordPress ми скачували з популярних сайтів-каталогів, що пропонують російськомовні преміум і тематичні шаблони:

  • best-WordPress-templates.ru (99% заражених або вразливих тем)
  • WordPress-ru.ru (99% заражених або вразливих тем)
  • wpfree.ru (97% заражених або вразливих тем)
  • wpfreethemes.ru (16% уразливих тем)
  • bestwordpress.ru (7% вразливих тем)
  • wordpreso.ru (3% заражених тим)

Дані сайти були обрані як найбільш популярні, оскільки знаходяться за запитом "безкоштовні теми для WordPress" в першій десятці в результатах пошукової видачі.

Звертаємо увагу на те, що вони не єдині. Існує величезна кількість сайтів-клонів, які пропонують користувачам ті ж архіви з зараженими і уразливими темами.

Малюнок 1. Приклад інфікованої теми WordPress


За допомогою даного бекдора можна виконувати довільний код на сайті (завантажити веб-шелл, видалити вміст каталогів, вставити вірусний код в шаблони і скрипти, отримати доступ до бази даних і багато іншого), в результаті чого отримати повний контроль над усіма сайтами аккаунта хостингу.

Тільки з сайту wp-templates.ru тему blogdog скачали 309 раз, а в результатах пошуку за запитом "тема WordPress blogdog" знаходиться кілька десятків сайтів-каталогів з шаблонами. За грубими оцінками, сумарна кількість завантажених заражених тим - більше 500 000. Якої шкоди таять в собі заражені шаблони?

Спам-посилання

Переважна більшість (близько 97%) перевірених часом містять код, що розміщує чужий контент і спам-посилання на сторінках блогу. Це так зване "чорне SEO" - недобросовісний метод просування сайтів в пошукових системах і накручування пошукових параметрів ТИЦ і PR. Як він працює? У момент відкриття сторінки код в файлах header.php, footer.php або functions.php виконує завантаження списку спам-посилань з зовнішнього сайту і розміщує їх на сторінках блогу в невидимому для відвідувачів блоці.

Малюнок 2. Приклад шкідливого PHP -скріпт а для спам-розсилки

Приклад шкідливого PHP -скріпт а для спам-розсилки


Більш просунутий варіант коду може виконувати кешування завантажених посилань у файлі (зазвичай такий файл має розширення .png або .gif і розміщується в каталозі images теми, щоб не викликати підозру вебмастера). Крім розміщення спам-посилань в невидимому блоці, код може вставляти чужий контент (текст і посилання) на сторінках блогу, а також замінювати окремі слова в тексті на посилання, що веде на чужій сайт.

Малюнок 3. Приклад шкідливого PHP -скріпт а для спам-розсилки


У шаблонах часто можна зустріти і статичні посилання на чужі сайти. Але вони будуть також спочатку закодовані за допомогою base64 або функції str_rot13.

Малюнок 4. Приклад шкідливого PHP -скріпт а для спам-розсилки

Приклад шкідливого PHP -скріпт а для спам-розсилки


З урахуванням великої популярності безкоштовних тим, даний метод "чорного" просування досить ефективний, оскільки дозволяє сформувати велику кількість посилань, тому активно використовується недобросовеcтнимі SEO-оптимізаторами і хакерами для просування сайтів клієнтів або власних проектів.
В результаті роботи шкідливого коду сайт перетворюється в лінкферму, заспамленності "пластиковими вікнами", "віагрою" і посиланнями на сайти для дорослих, втрачає лояльність з боку пошукової системи і відвідувачів, а іноді потрапляє в бан або блокується антивірусним програмним забезпеченням. Ще одним негативним моментом для сайту є також збільшення навантаження на процесор і уповільнення відкриття сторінок блогу, так як при відкритті кожної сторінки виконується підключення до зовнішнього ресурсу.
Приклад зараження шаблону:

Малюнок 5. Приклад зараження шаблону WordPress


Після декодування:

Малюнок 6. Приклад зараження шаблону WordPress (перекодованим скрипт)

Приклад зараження шаблону WordPress (перекодованим скрипт)

Критичні уразливості в timthumb.php

Наступна за популярністю проблема в шаблонах WordPress - це уразливості в скрипті timthumb.php. Даний скрипт дуже популярний серед розробників шаблонів і активно використовується в темах для автоматичного масштабування зображень. У версії 2.8.13 і раніших виявлено кілька критичних вразливостей, що дозволяють виконувати довільний код на сайті і завантажувати довільні файли на хостинг (в тому числі хакерські веб-шелли). Якщо на вашому сайті встановлена ​​одна із старих версій, необхідно якомога швидше відновити її до актуальної зі сховищ timthumb.googlecode.com/svn/trunk/timthumb.php . В іншому випадку всі сайти на ваш обліковий запис хостингу під загрозою.

Бекдори і веб-шелли

І, нарешті, переходимо до найнебезпечнішим і явним ознаками зараженої теми - це наявність бекдор і веб-Шелл.

Малюнок 7. Приклад впровадженого в веб-сторінку PHP -шеллкода

Приклад впровадженого в веб-сторінку PHP -шеллкода


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

Для того щоб оцінити можливий збиток від наявності на сайті веб-Шелл або бекдор, досить згадати гучну зараження шкідливий Linux Mayhem , В результаті дій якого було уражено понад 1400 серверів з тисячами сайтів і проведені масові брутфорс атаки на адмін-панелі CMS Joomla, WordPress, а також FTP акаунти.
На щастя, веб-Шелл було виявлено всього в 3% перевірених часом каталогу wordpresso.ru (в шаблонах 3_PM, beautygames, blogdog, browntextures, edu_0, gamesstylish, gamingzone, grand-banquet, hostingsite, myfinance_0, pink-cake, PurpleStyle, refresh -your-taste). Проте, необхідно бути на чеку і перед використанням перевіряти теми на наявність хакерських скриптів.

Revisium WordPress Theme Checker

На допомогу веб-майстрам ми написали невеликий сканер , Який шукає типові шкідливі фрагменти в темах WordPress. Зокрема, ті фрагменти, які були виявлені в ході експерименту.

Малюнок 8. Результат сканування Revisium WordPress Theme Checker

Результат сканування Revisium WordPress Theme Checker

висновки

Результати аналізу показують очевидний факт - довіряти шаблонами, скачаним ні з офіційної сторінки розробника теми для WordPress можна. При використанні таких шаблонів необхідно обов'язково виконувати ретельний статичний аналіз вихідного коду теми на предмет виявлення шкідливого коду, "закладок" або вразливостей. Але найкраще використовувати перевірені джерела, а преміум-шаблони купувати. Як писав А.С. Пушкін: "... не ганявся б ти, піп, за дешевизною".

Наостанок кілька порад про те, як уберегти свій блог від злому при використанні шаблонів:

  1. Завантажуйте теми тільки з перевірених джерел. Якщо ви завантажуєте комерційну преміум-тему з сайту, де вона розміщена безкоштовно, швидше за все шаблон заражений. Тому в першу чергу від злому блогів на WordPress страждають любителі халяви. Комерційні теми для WordPress потрібно купувати на офіційних сайтах. Це практично виключає шкідливі вставки в шаблонах.
  2. Перевірте викачані теми на наявність шкідливого коду і спам-посилань. Це можна зробити сканером AI-BOLIT . Всі підозрілі файли перевірте вручну. Для аналізу тим на шкідливі вставки ви також можете звернутися до фахівців. Для експрес-перевірки можете скористатися сканером тим rwp_checker.php .
    Чи не рекомендуємо використовувати десктопні антивіруси для перевірки шаблонів. У більшості випадків вони не виявлять нічого підозрілого, так як виявлення шкідливого коду в php скрипти - не їхня профіль.
  3. Якщо на вашому сайті використовується скрипт для масштабування зображень timthumb.php або його модифікації (thumb.php, _img.php тощо), перевірте його версію та оновити до останньої доступної: timthumb.googlecode.com/svn/trunk/timthumb.php
  4. Видаліть всі невикористовувані шаблони з директорії wp-content / themes
    За нашими спостереженнями, користувачі встановлюють не один, а відразу кілька безкоштовних шаблонів, тим самим збільшуючи в рази ймовірність злому сайту. Якщо тема неактивна, вона все одно дозволяє відкривати шкідливі скрипти з каталогу wp-content / wp-themes / <ім'я теми>, тому не рекомендуємо зберігати колекцію тим безпосередньо на хостингу. Залиште одну, активну, а решта видаліть.

000. Якої шкоди таять в собі заражені шаблони?
Як він працює?


Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью