ENG    РУС

Все статьи »

Более половины бесплатных шаблонов для wordpress заражены или уязвимы

Закажите лечение сайта и защиту от взлома у специалистов

На просторах интернета можно встретить множество статей, предупреждающих пользователей об опасности установки бесплатных темы, скачанных не с оригинальных сайтов. Говорят, что в этих шаблонах могут содержаться вирусы и другой вредоносный код. Мы решили это проверить, поэтому сделали анализ 2350 русифицированных шаблонов для Wordpress, которые блоггеры используют на своих сайтах.

Результат нас неприятно удивил. Более половины, а точнее 54%, оказались зараженными хакерскими веб-шеллами, бэкдорами, black hat seo (“спам”) ссылками, а также содержали скрипты с критическими уязвимостями.

зараженные темы wordpress

Темы и шаблоны для Wordpress мы скачивали с популярных сайтов-каталогов, предлагающих русскоязычные премиум и тематические шаблоны:

  1. best-wordpress-templates.ru (99% зараженных или уязвимых тем)
  2. wordpress-ru.ru (99% зараженных или уязвимых тем)
  3. wpfree.ru (97% зараженных или уязвимых тем)
  4. wpfreethemes.ru (16% уязвимых тем)
  5. bestwordpress.ru (7% уязвимых тем)
  6. wordpresso.ru (3% зараженных тем)

Данные сайты были выбраны как наиболее популярные, поскольку находятся по запросу “бесплатные темы для wordpress” в первой десятке в результатах поисковой выдачи.

Обращаем внимание на то, что они не единственные. Существует огромное число сайтов-клонов, которые предлагают пользователям те же архивы с зараженными и уязвимыми темами. Например, если скачать тему blogdog с другого сайта, например, wp-templates.ru, то мы увидим тот же хакерский бэкдор в файле comments-popup.php.

уязвимость в теме wordpress. Бэкдор в blogdog шаблоне.

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

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

Какой вред таят в себе зараженные шаблоны?

1. Спам-ссылки

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

Зараженный шаблон Wordpress. Ссылки загружаются динамически.

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

Зараженный шаблон Wordpress. Динамические сылки в футере с кэшированием.

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

Зараженный шаблон Wordpress. Ссылки в футере.

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

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

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

Закодированные ссылки в зараженном шаблоне Wordpress

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

Зараженный шаблон Wordpress

Список зараженных тем данных фрагментом (379):

111, 2011_New_Look, 3x3-beta, 9blue, ABCMag-1.0, absolutely-green, adult-vod-16, Adult01, aesthete, akira, Aller_au_Cinema, almost-spring, amler, anatomy, AnIrresistableDesire, aquaria_ru, arclite, artistic, Artwork, ASimpleMagazine, atlantia, auto, AutoInsurance-1.0, autopilot, auto_1, awp-dating, Ayumi, AzSands-theme, A_La_Mode_ru, Baseball_Japanese_Soul, beautiful-day, beauty-bling, BeautyEffect, beautypoem, BeautyStyle, benevolence, Bikini_Beauty, bizflare.1.0.1, Black_Pearl_1, blix, bloggers-cafe, Blogging_Delicious, blue-splash, BlueConcept, blue_flowers, Bouquet_of_Love, Brain_Storming, Broken_Heart_Crane, buick-10, Bulletin_Board, bullseye, Bunny and Teddy, business-wp-theme, business_simple, Business_Talk, Calculating, Call_a_Spade_a_Spade_10, celebrating_matrimony, Cheerful Blues, Chelsea_FC_Theme, Children_and_Toys, Christmas-Night, ChristmasGifts, christmas_bells, Christmas_in_My_Heart, christmas_tree, citrus, City_Journal, Clean Style Orange Black, clg-law, coffee-desk, CoffeeTime, Coffee_and_TV, cold-spring, Coliseum_Fever, college-theme-with-plugins, ColorBeauty, colorpaper, colourise, Commute_Reader, connections, cook-off, coolflower, CoolMag-1.0, cordobo-green-park, Craftwork, crash, CSSGallery_v1.10/CSSGallery_v1.10, Cute_Desire, Cute_Outfits, daily-digest, dance_through_the_music_r, darkforest, darkness, darkoOo, darkride, Deal, Deepest_Blue, DesignMag-1.0, Designora-theme, df_marine, diet, dining_travel, div_clear, DL2 media, doodles_and_swirls, Dream_Works, EachWeek, EchoPress-1.0, EducationBlog, eFinance-1.0, elegance-lite, elegant-grunge, enterium, erotic-black, estranged, euro-city-brown, Evo Dashboard, Ez_Cafe, facebooked, fancy, Fashion_Week, ff-follajes-verdes, field-of-dreams, FinancePress-1.0, FinanceSpot-1.0, firmness.1.0.3, football, forever-autumn, freshart_blue, freshart_orange, fullblown, fullsite, FunnySquares, funride, GeekVillage, Girls Fantasy-Land, girl_in_pink, glaciercar, glamour, Globus-1.0, Golden_Match_ru, googlechrome, gossipcity, Got_the_Mail, Go_for_Goals, Go_West, greenee-girl, greener-side, greenlight, Green_Breath, gridz.1.0.5, Group_Wedding, Guzel_MagazineNews, Happy_Shopping, hardpressed.1.0.2, healthystyle, healthystyle2, hemingway, holiday-wordpress, HostPro, Hue_Clash_in_Harmony, hypnotist.1.0.1.2, If_Love_Why_Wait, ImpreZZ, im_mr_fitness_r, Indie_Designer, iNews, insurance_ensure_safety_r, Interior_View, Into_The_Wild_r, invert-lite.1.0.2, isis.0.8, island-after-sunset, japan-style, Jasov_1, Josef_Says, Khaki, kiss, kukufall, lale-blog-pastel-tones, lavender_touch, leia-en, let_the_teeth_say_r, lexus, lizardbusiness.1.0.5, logistix, looki-lite.1.0.8.3, love-me-three, lover-paradise, Love_Cup, Love_is_Sharing, MagicalChristmas, Magic_Bean, MassiveNews, Medical-Blog_ru, Merry_Christmas, minimalist, minipress.1.3, mn-flow.0.9, MobileSite, mobius, MoneyTint_10, mons_montis, mountains, mouseit, multiflex, mushblue, mysterious-design, natural-health, navy_spiral, nav_spiral, neo-sapien, neon, newage, newdark.1.1.2, NewsGlobe-1.0, NewsPrompt-1.0, newsweek_ru, new_dad, new_mom, nightlight-idea, nightynight, nissan_gtr, nitrous, Nose_for_New, Note Guy, notepad_second, Note_of_Democracy, NovaMag, No_More_Promises, obscorp, oceanwide, Ocean_Kid_ru, olive, ondemand, oneinamillion, Online_Marketing, on_location, On_the_Road, openbook-en, options, overstand, Padangan, painted_life_r, Painters, pamphlet, PaperTrail, photoframe, photoframe2, photographicfilm, piedmont.1.0.2, pink, pink_float, Pink_Valentines, positie, ProFinance-1.0, Puppet, pushing-borders, Quality_Time, Quoting, r8, Radiale-1.0, radiant.1.0.0.9, rainonleaves, raze.1.8, real_estate_r, Real_Madrid_Retro, recipes-blog, redtime, red_city, regulus, rewind.1.0.5, rockinbizred, rockingreen-leaf-10, Rolling-1.0, route_66_road_trip, Say_You_Do, scruffy, see-you-at-the-beach, serious-business, shine/shine, shiny-green, shinyblue, simpla, Simple Blue, simplejojo, simplestyle, Simple_Pleasure, simple_red_grunge, simplism, sirius, Skateboard Hiking, skeptical, SmartTouch, snowman, snow_does_know_r, socolor-10, Socute, sodelicious_black, Southeast_Asia_View, spa, Spacerama, spacesphere, Speechless, SpringTime, ssss, star-press, starrynight, StartBiz, StartBusiness-1.0, StarTrek, steampunk, stitched, StoryPress-1.0, strips, structure, summer-flowers, Summertime, sunset, SuperTech-1.0, supposedly-clean, Sweet_Family_Shot, Sweet_Palace, s_lady_r, Tea_Time, Tech-Meteor, techlure, Technicolor_Wedding, Techrey1.2, Tembesi, template-green, TemplateMusical, Tender, that-music, think-me, Tick_tack, Time_for_Fun, Toggery_of_Mine, Tomorrow_Never_Dies, Travelist, Travelling_Logbook, typepress, unite.1.1, Vacation_Rentals_Fun, Vector_Flower, velocity, Vento-1.0, vertigo-red-3column, virality.1.0.5, virtual_recipes, vistalicious, vita, Vows, warmautumn, Weblog-magazine, whinwebworks, why-hello-there.1.0.6, Why_Travel_r, Winter_Fun, winter_stream, With_Pet, wordpress-brown, wordpress_emo, wordsmith-blog, World_through_Dew, wow, WP Pressident, wp-andreas06, WP-City-Vector, wp-story-theme, wp_christmas, WP_Premium, WWW_theme, yashfa, yellow-field, Yoga_Craze


2. Критические уязвимости в timthumb.php

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


3. Бэкдоры и веб-шеллы

И, наконец, переходим к самым опасным и явным признакам зараженной темы – это наличие бэкдоров и веб-шеллов.

Зараженный шаблон Wordpress. Веб-шелл WSO в sidebar.

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

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

rwp_checker - сканер зараженных тем для wordpress

Проверьте свой сайт с помощью rwp_checker.php. Вдруг ваша тема содержит хакерский веб-шелл или уязвимость в timthumb?

Как уберечь свой блог от взлома через уязвимости в шаблонах

  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/<имя темы>, поэтому не рекомендуем хранить коллекцию тем непосредственно на хостинге. Оставьте одну, активную, а остальные удалите.

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

Григорий Земсков, компания "Ревизиум", исследование опубликовано на портале securitylab.ru

Посмотреть другие статьи.

Закажите лечение сайта и защиту от взлома у специалистов

Обсуждаем!