Loading

Wie finden Angreifer eigentlich Ihre Opfer?

Posted in cms-systeme, custom search, Google hacking on June 30th, 2011
Tags: , ,

Ja mancher mag sich das wirklich fragen. Man erstellt sich eine eigene Seite anhand eines Tutorials oder ganz selbst oder man nutzt ein gängiges CMS und irgendwann wird man angegriffen. Nach dem ersten Schock stellt man sich dann meistens die eine Frage: Warum ich?

Diese Frage ist eigentlich ganz einfach zu beantworten: Weil du unsichere Software auf der Webseite benutzt. Bei den meisten Angriffen im Internet geht es nämlich nicht darum dem Webseitenbetreiber zu schaden, sondern um von dem Server des Seitenbetreibers Spam zu versenden, weitere Systeme anzugreifen oder auch Viren zu verteilen.

Angreifbare Systeme sind dabei meist sehr einfach zu finden. Dazu benötigt man nur die richtigen Patterns, mit der man die Google-Suche füttern kann. Für die selbst geschriebenen Seiten haben ich für das Projekt Der WebWart einen bereits einen entsprechenden Artikel geschrieben: Remote-File-Inclusion / Local-File-Inclusion – Warum ich?

Dort wird sehr einfach erklärt warum man auch mit einer eigenen Webseite schnell zum Angriffsziel für Remote-File-Inclusion und Local-File-Inclusion-Angriffe werden kann und was man dagegen tun kann. Allerdings fehlt noch ein Tipp in diesem Artikel: Parameter verstecken!

Man kann die URL einer Webseite so umschreiben, dass diese über eine Google-Suche, die zum Beispiel über die inurl-Suche gemacht wird, nicht als PHP-Script mit Parametern erkannt wird. Damit macht man dann aus ‘index.php?seite=start’ einfach ‘/start’ . Der Suchstring ‘inurl:php?page=home’ findet diese Seite dann einfach nicht mehr. Benötigt wird hierzu nur die installierte Apache-Mod mod_rewrite und eien entsprechende Regel. Das Modul wird ausführlich auf apache.org erklärt. Für das genannte Beispiel sähe es wie folgt aus:

RewriteEngine on
RewriteRule ^/(.*)$ /index.php?seite=$1

Aber nicht nur mit der Programmierung und dem Einsatz einer eigenen Software begibt man sich in diese Gefahr. Auch angreifbare CMS kann man über Google recht gezielt suchen. In zum Beispiel der exploit-db findet man jede Menge Angriffsvektoren und kann daraus sehr einfach Patterns für die Google-Suche bilden. Zum Beispiel für diesen Exploit: Joomla Component (com_sef) RFI

Über die Sicherheitslücke kann man ein beliebiges externes Skript in die Seite einbinden und damit sehr großen Schaden anrichten. Das Sicherheitsloch ist hier die Variable ‘mosConfig.absolute.path’ die zum includieren von Dateien im Joomla!-System verwendet wird. Man kann nun über Google gezielt nach Joomla!-Versionen suchen, die die Komponente com_sef einsetzen. Das geht so einfach, weil die Information mit in der URL drin steht ‘ption=com_sef’. Der Google-String sieht dann so aus:

inurl:'option=com_sef' + inurl:'mosConfig.absolute.path='

Direkt zu Google
Die Ergebnisse kann man dann über ein Script automatisiert durchlaufen lassen und findet damit sehr schnell die Angreifbaren Versionen heraus.
Ähnliches kann man machen um sich gezielt Content-Management-Systeme aus Google zu ziehen. Viele System verraten schon über die URL was Sie sind. So kann man WordPress-Installation über

inurl'wp-admin/index.php'

finden. Den Verzeichnis-Prefix ‘wp-’ verwendet sonst kein CMS. Gleiches funktioniert zum Beispiel auch für Joomla! mit

inurl'administrator/index.php'

Die meisten anderen CMS verwenden als Namen für das Administrationsverzeichnis ‘admin’, daher findet man darüber sehr eindeutig Joomla!-Installationen. Warum sind Angreifer interessiert an den Administrationsverzeichnissen? Ganz einfach: Auf die Anmeldeseiten kann man sehr leicht einen Brute-Force-Angriff starten. Die meisten CMS sind dagegen nicht abgesichert. Ist man als Angreifer dann einmal im Administrationsbereich drin, kann man sehr schnell Zugriff auf den ganzen Webspace/Server bekommen. Man platziert zum Beispiel einen Shell-Code in einer Template-Datei.

Goldene Regeln:

  1. Benutzereingaben niemals ungeprüft weiter verarbeiten. Wenn man nur bestimmte Eingaben erwartet, dann sollte man diese auch Prüfen.
  2. Benötigt man die Funktion um externe Dateien zu laden überhaupt? Wenn nicht kann man entsprechende Variablen für PHP abschalten. Für php4 ‘allow_url_fopen’ für php5 ‘allow_url_include’ und ‘allow_url_include’.
  3. Versteckt eure Angriffsvektoren zum Beispiel über mod_rewrite.
  4. Aktualisiert eure CMS regelmäßig. Das schlimmste ist eine Software die man hoffnungslos auf dem Webspace/Server veralten lässt.
  5. Nehmt Dateien und Verzeichnisse die nichts in der Google-Suche verloren haben aus dem Index raus. Das könnt Ihr über eine robots.txt steuern oder gleich die ganze Datei oder das Verzeichnis mit eienr .htaccess für den Zugriff sperren.
[ Leave A Comment »]

Die Google-Suche auch für die eigene Webseite?

Posted in custom search, Google Eigenarten on June 27th, 2011
Tags: ,

Ja das funktioniert. Und ich habe es bei mir nun auch implementiert. Die Google-Suche. Zuverlässig wie die WordPress-Suche und kann sogar noch mehr. Die Ergebnisse werden zum Beispiel dynamisch auf der selben Seite angezeigt und auch die von Google gewohnte Autovervollständigung ist mit am Start.

Und das Tolle ist: Es ist ganz einfach. Man besuche einfach http://www.google.de/cse. Dort kann man sich den benötigten Quellcode für die eigene Suche einfachst zusammenklicken. Der Rest ist dann nur noch Kopieren und Einfügen.

[ Leave A Comment »]
//modules/coppermine/include/init.inc.php?CPG_M_DIR //inc/cmses/aedatingCMS.php?dir%5Binc%5D /fclicksql/order/login.php?svr_rootscript /includes/lang/language.php?path_to_root /fclicksql/admin/inc/change_action.php?format_menue //faqsupport/samplefaqsupport.php?path[docroot] /fclicksql//phpAdsNew/view.inc.php?phpAds_path //authentication/smf/smf.functions.php?pConfig_auth[smf_path] /default/params.php?gConf[dir][layouts] ///vwar/backup/errors.php?error
Blogverzeichnis - Blog Verzeichnis bloggerei.de Blogverzeichnis