irgendein trojaner hat scheinbar die ftp kennwoerter eines anderen geklaut und irgedein automatismus kompromittiert dann die dazu gehoerigen webpraesenzen. nein, nicht mir… ich darfs nur wieder bereinigen 😉
in alle html dateien z.b. wurde dieser code eingefuegt:
bei allen php und js-dateien sah es aehnlich aus, nur eben an die gegebenheiten der sprache angepasst.
ich kriegs im nachhinein nicht mehr zusammen, was ich alles gemacht habe, um das malheur zu beseitigen. hier nur ein paar codeschnipsel von der bash, damit ich die wieder finde, falls ich sie doch noch mal brauchen sollte.
ein backup gab es selbstverstaendlich, doch nur fuer 5 tage in der vergangenheit. der befall wurde leider erst am sechsten tage entdeckt. die erste idee war natuerlich, die infizierten dateien aus den original sourcen des cms wiederherzustellen. also husch eine liste gemacht mit den dateien, welche geaendert wurde und auch in der sourcen vorhanden sind. mit dieser liste dann aus den sourcen die auf dem webserver ueberschrieben:
for i in `cat liste.txt`; do scp contao-2.11.5/$i host:/var/www/$i; done
leider war das insgesamt nur ein bruchteil der betroffenen dateien. also musste eine andere loesung her. da alle diese dateien den gleichen code beinhalteten, habe ich erst einmal eine liste dieser dateien erstell:
grep -l -R '9f61a5' * > /tmp/infected.txt
anhand dieser liste habe ich dann mit sed den ganzen betroffenen block in der datei entfernt. im falle der javascript dateien sah das so aus:
for i in `cat /tmp/infected.txt|grep .js`; do sed -i '/*9f61a5*/,/a65*/d' /var/www/$i; done
und bei den html dateien so:
for i in `cat /tmp/infected.txt|grep .html`; do sed -i 's///' /var/www/$i; done
wie schon geschrieben… drumherum fehlt noch einiges an arbeit 😉