reminder: safe_mode oder disable_function & basedir

  • Thread starter Thread starter server4downs
  • Start date Start date
S

server4downs

Guest
Hallo,

so, nun hat's mich endlich auch mal erwischt mit einem Serverhack ;)
Da ich zu vergesslich gewesen bin und so manch "grausame" php-function nicht deaktiviert hatte, hatten sich ein paar Spanier oder Leute aus der Richtung sich bei uns eingenistet.
Wir verwenden keinen safe_mode. Normalerweise war auch immer alles in disable_function... nur nach dem Serverumzug schien das wohl vergessen worden zu sein... (damn it).
So, wie "hackt" man nun so einen Server?
Scheint recht einfach zu sein. Einfach bei einem unserer "Kunden" ein File per Include-Anweisung in den /tmp-Ordner gehauen (man bemerke >> schlechter Scripter der Kunde ;)) und von dort dann irgendwie ausgeführt.
Da PHP als Apache-Modul läuft war dies dann ja noch einfacher, wie wenn es per php-cgi gelaufen wäre... :(
Naja, auf jeden Fall muss ich sagen, dass das eingeschleuste Perl-Script echt fein geschrieben wurde (sogar auf spanish dokumentiert :)) und somit dann irgendwie um die 1000SPAM-Mails direkt über den Server versendet hat.

Also, was sagt uns das?
blame it on s4d ;) Nee, mal im Ernst, mir ist klar, dass dies grob fahrlässig war, aber wie heißt es denn nochmal so schön: "nobody is perfect" ;)
Damit ihr nicht auch noch so dumme Erfahrungen machen müsst:
Falls ihr den safe_mode auf OFF habt (was auch seine Vorteile hat):
Denkt daran, dass ihr eine open_basedir im vhost setzt und DRINGENST System-Kritische Funktionen sperrt (oder diese genau durch z.B. ein gut konfiguriertes suexec "überwacht").
Da es immernoch Anfänger unter den PHPlern gibt kommt es bei uns nicht in Frage die register_globals auf OFF zu stellen. Jedoch möchte ich anderen Serverinhabern an's Herz legen sofern möglich diese value auf OFF zu setzen und die Scripte nochmals "professionell" durchzuchecken. Sonst kann es auch mal unangenehm ausgehen. ;)

Naja, bla bla bla, hauptsache ich konnte mal wieder bissle Senf hier abgeben.
Vielleicht ist es ja für jemanden gut.

Das HowTo für PHP als CGI wird demnächst erweitert. Ich habe es inzwischen schon so um die sagen wir mal 30-40 mal kompiliert. Dabei wurde bisher suexec und suphp getestet (wobei suexec noch zickt).
Demnächst werde ich mich eventuell noch an fastcgi dranmachen.
Fastcgi scheint mir fast die beste Lösung zu sein....
Ooops, sorry, ich werde schon wieder off-topic.
w/e

Gute Nacht!
 
Wie haben die es geschaft überhaupt ne Datei auf dem Server abzulegen?
 
also da muss ich jetzt doch mal ein bisschen nachhaken... also ich habe den safe_mode eigentlich an ... aber über confixx httpd z.B meinem eigenen Web wieder deaktiviert also über vhost ... in diesem fall hat ein anderes web den safemode trozdem aktiv oder ? :confused:
 
................................................
 
Last edited by a moderator:
monotek said:
Wie haben die es geschaft überhaupt ne Datei auf dem Server abzulegen?
Per passthru mehrere Files nach /tmp.... dort dann irgendwie ausgeführt. Wie gesagt, total gestört die functions zuzulassen, wenn man sonst keine Absicherung hat.
Aber wie gesagt: man kann nicht perfekt sein... jeder vergisst mal was ;)
 
................................................
 
Last edited by a moderator:
server4downs said:
Scheint recht einfach zu sein. Einfach bei einem unserer "Kunden" ein File per Include-Anweisung in den /tmp-Ordner gehauen (man bemerke >> schlechter Scripter der Kunde ;)) und von dort dann irgendwie ausgeführt.
Sowas kann man relativ einfach verhindern, indem man in der PHP-Config allow_url_fopen deaktiviert.
Vermutlich hatte der Kunde ein Script wie:
PHP:
<html>
...
<?php
include($_GET['view']);
?>
...
</html>
... das er dann auf seinen Seiten per index.php?view=xyz.php aufgerufen hat. Allerdings lassen sich da, falls allow_url_fopen nicht deaktiviert ist, eben auch externe Dateien einbinden und sich so beliebiger PHP-Code einschleusen.
Den SafeMode zu aktivieren, reicht in dem Fall nicht komplett -- ein Angreifer könnte zwar vermutlich nicht mehr das Zielscript starten, PHP Code einschleusen aber trotzdem (er könnte die Spams direkt per PHP verschicken)..
 
Heute nacht hat es mich auch erwischt ... ich denke es waren die selben hansos wie bei s4d.

Im log hab ich heruasgefunden, das diese in verbindung mit zone-h.org stehen. Dort meine Domain eingegeben ergab folgendes:

uswusw ... >>> mass defacement

Alle meine index dateien egal ob html oder php wurden umgeschrieben. Alle zum selben Zeitpunkt. Das zu entwirren dauert sicherlich seine Zeit.

Ein freund der in der Türkei auch einer "Hacker"-Bewegung anhehört hat mir das folgend geschildert:

Man brauch 2 Programme und Google. Über Googlesuche eine Lücke im System suchen (wie das geht, weiss der Geier)
Dann diese Datei mit dem 1. Programm knacken. Mit dem 2. Programm einfach die Url/index.php zb eingeben und GO klicken.

Alle Dateien auf dem Server die mit index anfangen und mit php/html/htm aufhören werden ersetzt. ALLE auch die vom System selber nicht nur von den Scripts.

Also das ist heftig wenn man bedenkt, wie einfach sich das anhört. Da auch noch der Spruch kam wie "ja das dauert keine 15min"
 
Wir sind auch sehr glücklich, sogar mit safe_mode=off ;)
Man sollte eben gewisse Functions gesperrt haben. Auch mit safe_mode=on ist der Server noch nicht gleich sicher, da sollte man sich nichts vormachen ;)

Bei uns damals wurde nicht wirklich etwas gehackt, im Gegensatz zu meinem "Vorposter", wir hatten lediglich ein paar Functions vergessen. Daten wurden nicht beschädigt.

Am sichersten lebt man jedoch noch ohne Computer/Server, das sollte man nie vergessen ;)
Aber: "no risk, no fun"... "no pain, no gain".

Shit happens.
 
Last edited by a moderator:
monotek said:
Offtopic: Richtig heisst es "No pain, no gain" ;-)
Da hast du natürlich Recht.
Ich war in Gedanken schon wieder woanders. Danke!
 
Back
Top