Темы Wordpress и «бесплатный сыр»

Тот факт, что бесплатные шаблоны для cms, скачанные не с оригинальных сайтов, могут быть заражены, содержать «пасхальные яйца» или уязвимости, вряд ли кого-то удивит. На просторах интернета достаточно много материала на эту тему. Но статьи с предупреждениями об опасности «бесплатного сыра» не содержат конкретных цифр, никто не пытался количественно измерить масштаб бедствия.def41fd1454e4839a856475b2ee6bd69.png

Мы решили провести эксперимент: скачали и проверили 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.

f0ecf83420d449bb9b84e6f95704bff5.png

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

Только с сайта wp-templates.ru тему blogdog скачали 309 раз, а в результатах поиска по запросу » тема wordpress blogdog » находится несколько десятков сайтов-каталогов с шаблонами. По грубым оценкам, суммарное число скачанных зараженных тем — более 500 000.Какой вред таят в себе зараженные шаблоны?

1. Спам-ссылкиПодавляющее большинство (около 97%) проверенных тем содержат код, размещающий чужой контент и спам-ссылки на страницах блога. Это так называемое «черное seo» — недобросовестный метод продвижения сайтов в поисковых системах и накручивания поисковых параметров тИЦ и PR. Как он работает? В момент открытия страницы код в файлах header.php, footer.php или functions.php выполняет загрузку списка спам-ссылок с внешнего сайта и размещает их на страницах блога в невидимом для посетителей блоке.ef775a46573949f4822dbd994b439600.png

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

c9b267e23a984b97bc1d0778b366193c.png

В шаблонах часто можно встретить и статические ссылки на чужие сайты. Но они будут также изначально закодированы с помощью base64 или функции str_rot13.

85b5c1c242f9498faf7b18d9a14a4fe7.png

С учетом большой популярности бесплатных тем, данный метод «черного» продвижения достаточно эффективен, так как позволяет сформировать большую ссылочную массу, поэтому активно используется недобросовеcтными seo оптимизаторами и хакерами для продвижения сайтов клиентов или собственных проектов.

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

Пример заражения шаблона:

03611797dda548d0a59201ec05f8c11c.png

После декодирования:

f3a49726b9304154b4cbac68b40a1943.png

2. Критические уязвимости в timthumb.php Следующая по популярности проблема в шаблонах wordpress — это уязвимости в скрипте timthumb.php. Данный скрипт очень популярен среди разработчиков шаблонов и активно используется в темах для автоматического масштабирования изображений. В версии 2.8.13 и более ранних обнаружено несколько критических уязвимостей, позволяющих исполнять произвольный код на сайте и загружать произвольные файлы на хостинг (в том числе хакерские веб-шеллы). Если на вашем сайте установлена одна из старых версий, необходимо как можно быстрее обновить ее до актуальной из репозитория timthumb.googlecode.com/svn/trunk/timthumb.php. В противном случае все сайты на вашем аккаунте хостинга под угрозой.3. Бэкдоры и веб-шеллы И, наконец, переходим к самым опасным и явным признакам зараженной темы — это наличие бэкдоров и веб-шеллов.ecec757eb3d74e869fa9fe3c7ded292d.png

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

К счастью, веб-шеллов было обнаружено всего в 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.80f6a7ba765645d0abcee45a7915109e.png

Как уберечь свой блог от взлома через уязвимости в шаблонах Скачивайте темы только из проверенных источников. Если вы скачиваете коммерческую премиум-тему с сайта, где она размещена бесплатно, скорее всего шаблон заражен. Поэтому в первую очередь от взлома блогов на 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/<имя темы>, поэтому не рекомендуем хранить коллекцию тем непосредственно на хостинге. Оставьте одну, активную, а остальные удалите.

© Habrahabr.ru