Defacement - Kundenpräsenz

Status
Es sind keine weiteren Antworten möglich.

hahni

Active Member
#1
Hallo zusammen,

leider wurde von einem Kunden die Webseite defaced! Offensichtlich hatte der Kunde einen unliebsamen Mitarbeiter, der sich so profilieren wollte.

Ansonsten deutet nämlich nichts darauf hin, dass dem Server etwas fehlt! Meine Vermutung also: das Kennwort muss er erlangt haben, um Mist zu bauen!

Könnte er mit Programmen wie dem "commandliner" an die "/etc/passwd" etc. gekommen sein? So hätte er die Möglichkeit, via Brute Force die Kennungen incl. Root-Pwd zu knacken...

Auf was sollte ich noch achten und prüfen?


Beste Grüße

Hahni
 

Till

Administrator
#2

hahni

Active Member
#3
Portscan und rkhunter sind negativ, also keine Auffälligkeiten. CGI und PHP sind aktiv, allerdings als safe_mode! Doch die /etc/passwd könnte ja so mittels commandliner etc. ausgelesen werden und dann auf dem heimischen Rechner via Brute Force bearbeitet werden, oder?
 

Till

Administrator
#4
Über PHP mit Safemode sollte es nicht möglich sein, da dann einige Kommandos wie exec nicht benutzt werden können und außerdem eine open basedir restriction auf das web Verzeichnis gesetzt ist. Solange also php keinen bug hat, bist du damit schonmal halbwegs auf der sicheren Seite.

Bei CGI sieht es anders aus, darüber ließe sich die passwd Datei ggf. auslesen. Aber in /etc/passwd würde er auch nur die Usernamen finden, d.h für eine Brute Force Attacke müsste er jedes einzelne Passwort gegen Deinen Server testen, und das kannst Du z.B. mit Fail2ban oder denyhosts sinnvoll einschränken. Alle Passworte, die er für eine lokale Brute Force Attacke auf seinem Rechner benötigen würde, stehen nur in der Datei /etc/dhadow, und die kann nur root lesen und nicht der apache Prozess oder ein anderer User.
 

hahni

Active Member
#5
Also kommt PHP schon mal nicht in Frage!

Bei CGI stelle ich mir das eher so vor, dass er die "/etc/passwd" und die "/etc/shadow" ausliest und lokal probiert, bis er das Passwort hat, welches er dann zum Login auf meinem Server (beispielsweise auch die Root-Kennung) benötigt!
 

hahni

Active Member
#7
Aha! Also auf seinem lokalen Rechner kann er es nicht weil er nicht an die entsprechenden Dateien kommt und wenn er es mittels Skript auf dem Webserver probiert, dann kann ich das mit fail2ban herausfinden, richtig?
 

Till

Administrator
#8
Aha! Also auf seinem lokalen Rechner kann er es nicht weil er nicht an die entsprechenden Dateien kommt und wenn er es mittels Skript auf dem Webserver probiert, dann kann ich das mit fail2ban herausfinden, richtig?
Nein nicht so ganz :) Er kommt auf dem Server per Script nicht an die /etc/shadow, da er nicht die notwendigen rechte dazu hat. Und falls er es per Brute Force direkt gegen einen der Server Dienste wie pop3, smtp oder SSH versucht, kannst Du ihn mit fail2ban blocken.
 

hahni

Active Member
#9
Dann sollte ich das Package für ubuntu installieren! Scheint es ja auch für 6.06 LTS zu geben. Allerdings: gibt es für die Einrichtung ein HowTo?
 

hahni

Active Member
#13
Also die Anleitung für Suse 10.3 hat mir nicht geholfen. Läuft mit dem Paket von 6.06 LTS nicht! Ich glaube dass das fail2ban v0.6 ist... Jedenfalls habe ich das so gelesen. Es ist zwar eine ältere Version als die aktuell verfügbare, aber mit der muss es ja auch funktionieren???
 

hahni

Active Member
#15
Hallo Till,

nun, das habe ich leider nicht gesehen, weil ich auf den deutschen Seiten gesucht habe :eek:

Aber damit werde ich es ja hoffentlich zum Laufen bringen! Ich halte dich auf jedem Fall auf dem Laufenden... ;)

Die Version wird ja hoffentlich auch mit v0.6 laufen, die ausgeliefert wird, oder?

Grüße

Hahni
 

hahni

Active Member
#16
Wie schon vermutet: es hagelt nichts als Fehler...

---
Starting fail2ban: 2008-02-04 20:22:14,532 WARNING: No 'background' defined in 'DEFAULT'. Using default one: 'False'
2008-02-04 20:22:14,532 WARNING: No 'logtargets' defined in 'DEFAULT'. Using default one: ''/var/log/fail2ban.log''
2008-02-04 20:22:14,532 WARNING: No 'syslog-target' defined in 'DEFAULT'. Using default one: ''/dev/log''
2008-02-04 20:22:14,533 WARNING: No 'syslog-facility' defined in 'DEFAULT'. Using default one: '1'
2008-02-04 20:22:14,533 WARNING: No 'debug' defined in 'DEFAULT'. Using default one: 'False'
2008-02-04 20:22:14,533 WARNING: No 'verbose' defined in 'DEFAULT'. Using default one: '0'
2008-02-04 20:22:14,533 WARNING: No 'pidlock' defined in 'DEFAULT'. Using default one: ''/var/run/fail2ban.pid''
2008-02-04 20:22:14,533 WARNING: No 'maxfailures' defined in 'DEFAULT'. Using default one: '5'
2008-02-04 20:22:14,534 WARNING: No 'findtime' defined in 'DEFAULT'. Using default one: '600'
2008-02-04 20:22:14,534 WARNING: No 'polltime' defined in 'DEFAULT'. Using default one: '1'
2008-02-04 20:22:14,534 WARNING: No 'cmdstart' defined in 'DEFAULT'. Using default one: ''''
2008-02-04 20:22:14,534 WARNING: No 'cmdend' defined in 'DEFAULT'. Using default one: ''''
2008-02-04 20:22:14,534 WARNING: No 'reinittime' defined in 'DEFAULT'. Using default one: '100'
2008-02-04 20:22:14,535 WARNING: No 'maxreinits' defined in 'DEFAULT'. Using default one: '100'
2008-02-04 20:22:14,578 ERROR: Fail2Ban got an unhandled exception and died.
2008-02-04 20:22:14,578 ERROR: Type: 'NoSectionError'
Value: ("No section: 'MAIL'",)
TB: [('/usr/bin/fail2ban', 47, '?', 'fail2ban.main()'), ('/usr/share/fail2ban/fail2ban.py', 406, 'main', 'mailConf = confReader.getLogOptions("MAIL", optionValues)'), ('/usr/share/fail2ban/confreader/configreader.py', 76, 'getLogOptions', 'v = self.configParser.getboolean(sec, option[1])'), ('/usr/lib/python2.4/ConfigParser.py', 330, 'getboolean', 'v = self.get(section, option)'), ('/usr/lib/python2.4/ConfigParser.py', 511, 'get', 'raise NoSectionError(section)')]
2008-02-04 20:22:14,578 WARNING: Restoring firewall rules...
---
 

hahni

Active Member
#17
nachdem ich aus falkos englischer anleitung für debian (setze ja ubuntu 6.06 lts ein) aus "backend = polling" -> "background = true" gesetzt habe, hat sich die fehler- und warning-liste etwas reduziert:

---
Restarting fail2ban: Stopping fail2ban: done
Starting fail2ban: 2008-02-04 20:28:17,071 WARNING: No 'logtargets' defined in 'DEFAULT'. Using default one: ''/var/log/fail2ban.log''
2008-02-04 20:28:17,071 WARNING: No 'syslog-target' defined in 'DEFAULT'. Using default one: ''/dev/log''
2008-02-04 20:28:17,071 WARNING: No 'syslog-facility' defined in 'DEFAULT'. Using default one: '1'
2008-02-04 20:28:17,072 WARNING: No 'debug' defined in 'DEFAULT'. Using default one: 'False'
2008-02-04 20:28:17,072 WARNING: No 'verbose' defined in 'DEFAULT'. Using default one: '0'
2008-02-04 20:28:17,072 WARNING: No 'pidlock' defined in 'DEFAULT'. Using default one: ''/var/run/fail2ban.pid''
2008-02-04 20:28:17,072 WARNING: No 'maxfailures' defined in 'DEFAULT'. Using default one: '5'
2008-02-04 20:28:17,072 WARNING: No 'findtime' defined in 'DEFAULT'. Using default one: '600'
2008-02-04 20:28:17,072 WARNING: No 'polltime' defined in 'DEFAULT'. Using default one: '1'
2008-02-04 20:28:17,073 WARNING: No 'cmdstart' defined in 'DEFAULT'. Using default one: ''''
2008-02-04 20:28:17,073 WARNING: No 'cmdend' defined in 'DEFAULT'. Using default one: ''''
2008-02-04 20:28:17,073 WARNING: No 'reinittime' defined in 'DEFAULT'. Using default one: '100'
2008-02-04 20:28:17,073 WARNING: No 'maxreinits' defined in 'DEFAULT'. Using default one: '100'
.done
---

Wie aber läuft fail2ban nun korrekt bzw. was muss ich einstellen?
 

hahni

Active Member
#18
Die Fehler habe ich weggebracht, weil ich nur die unteren Sektionen kopiert habe in das Original-Config-File!

Problem allerdings: obwohl ich bei SSH 5x das falsche Kennwort angegeben habe, wird mir trotzdem Zugriff gewährt! Oder liegt es daran, weil der SSH-Port nicht der Standard-Port ist? Wo müsste dies angegeben werden?
 
Status
Es sind keine weiteren Antworten möglich.

Werbung