Темы Wordpress и «бесплатный сыр»
Тот факт, что бесплатные шаблоны для cms, скачанные не с оригинальных сайтов, могут быть заражены, содержать «пасхальные яйца» или уязвимости, вряд ли кого-то удивит. На просторах интернета достаточно много материала на эту тему. Но статьи с предупреждениями об опасности «бесплатного сыра» не содержат конкретных цифр, никто не пытался количественно измерить масштаб бедствия.
Мы решили провести эксперимент: скачали и проверили 2350 популярных руссифицированных шаблонов для Wordpress, которые блоггеры используют на своих сайтах.
Результат нас неприятно удивил. Более половины, а точнее 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» в первой десятке в результатах поисковой выдачи.
Обращаем внимание на то, что они не единственные. Существует огромное число сайтов-клонов, которые предлагают пользователям те же архивы с зараженными и уязвимыми темами. Например, если скачать тему blogdog с другого сайта, например, wp-templates.ru, то мы увидим тот же хакерский бэкдор в файле comments-popup.php.
С помощью данного бэкдора можно выполнять произвольный код на сайте (загрузить веб-шелл, удалить содержимое каталогов, вставить вирусный код в шаблоны и скрипты, получить доступ к базе данных и многое другое), в результате чего получить полный контроль над всеми сайтами аккаунта хостинга.
Только с сайта wp-templates.ru тему blogdog скачали 309 раз, а в результатах поиска по запросу » тема wordpress blogdog » находится несколько десятков сайтов-каталогов с шаблонами. По грубым оценкам, суммарное число скачанных зараженных тем — более 500 000.Какой вред таят в себе зараженные шаблоны?
1. Спам-ссылкиПодавляющее большинство (около 97%) проверенных тем содержат код, размещающий чужой контент и спам-ссылки на страницах блога. Это так называемое «черное seo» — недобросовестный метод продвижения сайтов в поисковых системах и накручивания поисковых параметров тИЦ и PR. Как он работает? В момент открытия страницы код в файлах header.php, footer.php или functions.php выполняет загрузку списка спам-ссылок с внешнего сайта и размещает их на страницах блога в невидимом для посетителей блоке.
Более продвинутый вариант кода может выполнять кэширование загруженных ссылок в файле (обычно такой файл имеет расширение .png или .gif и размещается в каталоге images темы, чтобы не вызвать подозрение вебмастера). Кроме размещения спам-ссылок в невидимом блоке, код может вставлять чужой контент (текст и ссылки) на страницах блога, а также заменять отдельные слова в тексте на ссылку, ведущую на чужой сайт.
В шаблонах часто можно встретить и статические ссылки на чужие сайты. Но они будут также изначально закодированы с помощью base64 или функции str_rot13.
С учетом большой популярности бесплатных тем, данный метод «черного» продвижения достаточно эффективен, так как позволяет сформировать большую ссылочную массу, поэтому активно используется недобросовеcтными seo оптимизаторами и хакерами для продвижения сайтов клиентов или собственных проектов.
В результате работы вредоносного кода сайт превращается в линкферму, заспамленную «пластиковыми окнами», «виагрой» и ссылками на сайты для взрослых, теряет лояльность со стороны поисковой системы и посетителей, а иногда попадает в бан или блокируется антивирусным программным обеспечением. Еще одним негативным моментом для сайта является также увеличение нагрузки на процессор и замедление открытия страниц блога, так как каждый при открытии каждой страницы выполняется подключение к внешнему ресурсу.
Пример заражения шаблона:
После декодирования:
2. Критические уязвимости в timthumb.php Следующая по популярности проблема в шаблонах wordpress — это уязвимости в скрипте timthumb.php. Данный скрипт очень популярен среди разработчиков шаблонов и активно используется в темах для автоматического масштабирования изображений. В версии 2.8.13 и более ранних обнаружено несколько критических уязвимостей, позволяющих исполнять произвольный код на сайте и загружать произвольные файлы на хостинг (в том числе хакерские веб-шеллы). Если на вашем сайте установлена одна из старых версий, необходимо как можно быстрее обновить ее до актуальной из репозитория timthumb.googlecode.com/svn/trunk/timthumb.php. В противном случае все сайты на вашем аккаунте хостинга под угрозой.3. Бэкдоры и веб-шеллы И, наконец, переходим к самым опасным и явным признакам зараженной темы — это наличие бэкдоров и веб-шеллов.
Эти скрипты предоставляют хакеру полный контроль над файловой системой и базой данных аккаунта: можно управлять файлами и каталогами, размещать дорвеи, мобильные и поисковые редиректы, вирусный код в шаблонах и многое другое. Поскольку на большинстве виртуальных хостингов скрипты сайта могут получить доступ к файлам соседнего сайта, скопрометированными оказываются все сайты владельца, размещенные на том же аккаунте хостинга.
К счастью, веб-шеллов было обнаружено всего в 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.
Как уберечь свой блог от взлома через уязвимости в шаблонах Скачивайте темы только из проверенных источников. Если вы скачиваете коммерческую премиум-тему с сайта, где она размещена бесплатно, скорее всего шаблон заражен. Поэтому в первую очередь от взлома блогов на wordpress страдают любители халявы. Коммерческие темы для wordpress нужно покупать на официальных сайтах. Это практически исключает вредоносные вставки в шаблонах. Проверьте скачанные темы на наличие вредоносного кода и спам-ссылок. Это можно сделать сканером AI-BOLIT. Все подозрительные файлы проверьте вручную. Для анализа тем на вредоносные вставки вы также можете обратиться к специалистам. Для экспресс-проверки можете воспользоваться сканером тем rwp_checker.php.Не рекомендуем использовать десктопные антивирусы для проверки шаблонов. В большинстве случаев они не обнаружат ничего подозрительного, так как обнаружение вредоносного кода в php скриптах — не их профиль. Если на вашем сайте используется скрипт для масштабирования изображений timthumb.php или его модификации (thumb.php, _img.php и пр), проверьте его версию и обновите до последней доступной: timthumb.googlecode.com/svn/trunk/timthumb.php Удалите все неиспользуемые шаблоны из директории wp-content/themesПо нашим наблюдениям, пользователи устанавливают не один, а сразу несколько бесплатных шаблонов, тем самым увеличивая в разы вероятность взлома сайта. Если тема неактивна, она все равно позволяет открывать вредоносные скрипты из каталога wp-content/wp-themes/<имя темы>, поэтому не рекомендуем хранить коллекцию тем непосредственно на хостинге. Оставьте одну, активную, а остальные удалите.