Wörterbuch-"Atacke" und Schutz dagegen

Wormaus

Registered User
Es ist mir bei sehr vielen Usern aufgefallen, dass sie das Basis-Standard-Setup eines gemiteten
Servers so belassen, wie es vom Hoster/Provider eingrichtet wurde. Meist sind dann Erweiterungen
in einem, von der jeweiligen Software vorgegebenen, Standardverzeichnis aufzufinden.
Beispiel http://mein-Server/phpMyAdmin/
Diese Standard-Verzeichnisse sind natürlich "allerwelts" bekannt, und ein beliebtes Ziel für
"Wörterbuch-Angriffe". Hier ein Beispiel einer Wörterbuch-Atacke/Suche:
(Auszug aus einem error-log, der Gesamtumfang dieser Atacke belief sich auf ca. 700 Einträge. In dieser
Nacht gab es 5 identische "Atacken", wohl aus demselben Wörterbuch, aber von grundverschiedenen Peers aus.)
Code:
[Thu Apr 12 03:51:44 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpmyadmin2
[Thu Apr 12 03:51:44 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin2
[Thu Apr 12 03:51:44 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2
[Thu Apr 12 03:51:44 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/php-my-admin
[Thu Apr 12 03:51:44 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.2.3
[Thu Apr 12 03:51:44 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.2.6
[Thu Apr 12 03:51:44 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.5.1
[Thu Apr 12 03:51:44 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.5.4
[Thu Apr 12 03:51:44 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.5.5-rc1
[Thu Apr 12 03:51:44 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.5.5-rc2
[Thu Apr 12 03:51:45 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.5.5
[Thu Apr 12 03:51:45 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.5.5-pl1
[Thu Apr 12 03:51:45 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.5.6-rc1
[Thu Apr 12 03:51:45 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.5.6-rc2
[Thu Apr 12 03:51:45 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.5.6
[Thu Apr 12 03:51:45 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.5.7
[Thu Apr 12 03:51:45 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.5.7-pl1
[Thu Apr 12 03:51:45 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.0-alpha
[Thu Apr 12 03:51:45 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.0-alpha2
[Thu Apr 12 03:51:45 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.0-beta1
[Thu Apr 12 03:51:45 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.0-beta2
[Thu Apr 12 03:51:45 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.0-rc1
[Thu Apr 12 03:51:45 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.0-rc2
[Thu Apr 12 03:51:45 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.0-rc3
[Thu Apr 12 03:51:45 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.0
[Thu Apr 12 03:51:45 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.0-pl1
[Thu Apr 12 03:51:45 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.0-pl2
[Thu Apr 12 03:51:45 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.0-pl3
[Thu Apr 12 03:51:45 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.1-rc1
[Thu Apr 12 03:51:45 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.1-rc2
[Thu Apr 12 03:51:48 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.1
[Thu Apr 12 03:51:48 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.1-pl1
[Thu Apr 12 03:51:48 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.1-pl2
[Thu Apr 12 03:51:48 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.1-pl3
[Thu Apr 12 03:51:48 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.2-rc1
[Thu Apr 12 03:51:48 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.2-beta1
[Thu Apr 12 03:51:48 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.2
[Thu Apr 12 03:51:48 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.2-pl1
[Thu Apr 12 03:51:48 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.3-rc1
[Thu Apr 12 03:51:48 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.3
[Thu Apr 12 03:51:48 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.3-pl1
[Thu Apr 12 03:51:48 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.4-rc1
[Thu Apr 12 03:51:48 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.4-pl1
[Thu Apr 12 03:51:49 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.4-pl2
[Thu Apr 12 03:51:49 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.4-pl3
[Thu Apr 12 03:51:49 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.4-pl4
[Thu Apr 12 03:51:49 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.6.4
[Thu Apr 12 03:51:49 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.7.0-beta1
[Thu Apr 12 03:51:49 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.7.0-rc1
[Thu Apr 12 03:51:49 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.7.0-pl1
[Thu Apr 12 03:51:49 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.7.0-pl2
[Thu Apr 12 03:51:49 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.7.0
[Thu Apr 12 03:51:49 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.8.0-beta1
[Thu Apr 12 03:51:49 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.8.0-rc1
[Thu Apr 12 03:51:49 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.8.0-rc2
[Thu Apr 12 03:51:49 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.8.0
[Thu Apr 12 03:51:49 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.8.0.1
[Thu Apr 12 03:51:49 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.8.0.2
[Thu Apr 12 03:51:49 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.8.0.3
[Thu Apr 12 03:51:49 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.8.0.4
[Thu Apr 12 03:51:49 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.8.1-rc1
[Thu Apr 12 03:51:49 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.8.1
[Thu Apr 12 03:51:49 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/phpMyAdmin-2.8.2
[Thu Apr 12 03:51:49 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/admin/phpmyadmin
[Thu Apr 12 03:51:49 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/admin/phpMyAdmin
[Thu Apr 12 03:51:49 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/admin/sysadmin
[Thu Apr 12 03:51:49 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/admin/sqladmin
[Thu Apr 12 03:51:49 2007] [error] [client 91.121.10.188] File does not exist: /srv/www/confixx/html/admin/db

Was kann man dagegen unternehmen?
Gegen die eingendliche Wörterbuch-Atacke nicht viel.
ABER man kann etwas dagegen unternehmen, dass eine solche Atacke erfolg haben kann.

- Das Verzeichnis der jeweiligen Applikation (soweit normale Besucher nicht darauf zugreifen müssen) in
ein Nicht-Standard-Verzeichnis verlegen, und/oder das Verzeichnis via .htaccess und .htpasswd schützen.

Wenn man mit dem "Angreifer" etwas spielen und evtl. sogar Geld verdienen will, kann man solche
Standard-Verzeichnisse, nach denen immer gesucht wird, belassen/anlegen und ein Header-Redirect
zu einer weiteren Werbeseite machen, also Geld für Layer- und Bannerviews kassieren. :cool:
(Diese Seite hoste ich natürlich ganz wo Anders, bei einem Free-Hoster.
Ich hab im Monat ca. 50 Cent daduch, sind immerhin 6 Eu's/Jahr :p )
.---------------------------------------------.
Kleines Beispiel-"HowTo" zu ".htaccess" und ".htpasswd":
2 leere Text-Dateien anlegen und mit dem Text-Editor (Notepad o.ä. unter Windows / vi unter Linux
oder Edit vom MidnightCommander mc) öffnen, die unten angegebenen Daten eintragen, Pfad ud Username
an seine Bedürfnisse anpassen und dann via Passwort-Generator mittels gewünschtem User/Pass ein
encrypted Passwort generieren lassen, welches dann in die ".htpasswd" kopiert wird.
Dateien Speichern und dann in die entsprechenden Verzeichnisse hochladen.

!!! (Win-User aufpassen, Dateien mit einem Punkt am Anfang lässt
Windows nicht zu, müsst Ihr nach dem Uploaden dann umbenennen!) !!!


content: .htaccess
Code:
AuthUserFile /pfad-zur/.htpasswd
AuthName protected-area
AuthType Basic
<Limit GET>
require user username
</Limit>

Das Passwrd wird encrypted in die ".htpasswd" eingetragen:

content: .htpasswd
Code:
username:A1AtF7dklemdjdhenw9tS/kfur6wehje
(der Schlüssel im Beispiel ist frei erfunden ...)

Es gibt einige Seiten im Internet, die ein String für die ".htpasswd" kostenlos generieren.
Hier ein Beispiel: (Meine bevorzugte Seite)
htaccess Passwort Generator

Na dann, auf das die Serverchen wieder etwas sicherer werden. :)
 
Last edited by a moderator:
Was du da beschreibst ist übrigens keine Wörterbuch-Attacke. Dieser Begriff beschreibt das Ausprobieren von Passwörtern durch Verwenden von Wörtern aus einem Wörterbuch.
Was du da schilderst ist schlicht das Abreiten von Standard-Pfaden auf der Suche nach einem installierten Programm. Die Wörterbuch-Attacke kommt dann, wenn so ein Programm gefunden wurde.

Gegen echte Wörterbuch-Attacken hilft z.B. die Verwendung der Cracklib, welche Passwörter auf ihre Komplexität untersucht. In PAM kann man so z.B. verhindern, dass User ihr Passwort auf was triviales setzen.
 
oder das Verzeichnis via .htaccess und .htpasswd schützen.
Das ist kein Schutz. Denn dann sendet der Server einen "Auth-Required" und der Script-Kiddie erhält einen "PhpMyAdmin FOUND!" auf dem Bildschirm und kann mit einer BruteForce-Attacke beginnen. (Bei der er dann Passwörter aus Wörterbuch oder Passwort-Listen verwendet.)

Ein echter Schutz ist die Installation von mod_evasive oder ähnlichen Apache-Modulen, die so ein "Austesten" von URL's erkennen und blocken.

huschi.
 
Back
Top