Ich beantworte mir meine Fragen selbst, für diesen konkreten Fall und für alle die irgendwann mal ein ähnliches Problem haben sollten.
2. Wo sollte man suchen?
In Verzeichnissen die auf CHMOD 777 gesetzt sind, leuchtet ein.
1. und 3. Wie kann sowas geschehen? Wie kann man es in Zukunft verhindern?
Anhand einer Sicherheitslücke wird in ein schreibbares Verzeichnis ein Skript hochgeladen. Folgende zwei Sicherheitslücken sind bei mir klar geworden:
1. Eine eingesetzte Foren-Software ist so dermaßen bescheuert, daß sie anscheinend einen Footer-Include als URL-Parameterübergabe akzeptiert. Auf diese Art konnte über den ausgeführten Footer in ein Verzeichnis ein PHP-Skript zur Ausführung von Shell-Befehlen reingeschrieben werden. Wirklich bescheuert. Lösung: Große Vorsicht bei Dritt-Software, am besten nur bekannte und immer aktuellste Versionen; soweit das möglich ist den Code selbst auf Übergabeparameter und includes durchprüfen. Entfernen von Hinweisen auf eingesetzte Software, vor allem wenn diese weniger bekannt ist und es die Lizenz hergibt, weil danach gezielt gesucht wird.
2. Das zweite Problem ist schon etwas kniffliger. Über die Möglichkeit ein Bild hochzuladen (Upload-Skript) kann eine JPG-Datei hochgeladen werden, welche in Wirklichkeit aber ein Skript ist und ein Steuerungsskript anlegt. Lösung: Ich weiß noch nicht wie genau, aber Überprüfung auf Echtheit des Bildes nicht nur Anhand der Dateiendung.
Was mich wundert und mir nicht ganz klar ist wäre, wie ohne Benutzerrechte über einen Browser so weitreichend das System steuerbar ist wie es die Remote-Skripte anscheinend geleistet haben, beispielsweise serverseitige Programmausführung.
4. Wie sind die Chancen den kriminellen Verursacher zu kriegen?
Die Apache-Logs geben jedesmal wenn die eingeschleusten Dateien aufgerufen werden eine brasilianische IP-Adresse an und ein brasilianisches Windows XP mit Firefox. Ich halte es für möglich den Urheber theoretisch rauszufinden. Das über eine deutsche Strafanzeige die Behörden und Provider in Brasilien, sollte der Kerl überhaupt wirklich dort sein, mitspielen würden und das ganze dann irgendeine Konsequenz hätte (nach brasilianischem Recht) bzw. eine Kostenforderung erfolgreich wäre, halte ich für sehr unwahrscheinlich.
In einem Satz: teuer bezahltes Lehrgeld.