Benutzer:Raf-dat/Penetration Testing/Methoden

Aus Wikibooks

Zuerst etwa über Methoden, mit denen der Pentester arbeitet. Es ist ziemlich unprofessionell, einfach mal drauflos zu probieren, ohne einen Plan zu haben, was man eigentlich will.

Am Anfang sollte man sich überlegen was das Ziel ist, was man erreichen will. Häufig stolpert man über Homepages, die verlockend aussehende URLs haben, aber selbst dann sollte man sich kurz überlegen, was man am Schluss damit machen will.

Lückensuche[Bearbeiten]

Bei Webanwendungen lauern die häufigsten Lücken bei Formularen. Allerdings kann man oft auf den ersten Blick erkennen, welche Art von Angriff am ehesten Erfolg erbringen könnte.

  • Bei Seiten, die den eingegebenen Inhalt nochmals ausgeben (wie z. B. Gästebüchern oder Suchfunktionen) könnte XSS möglich sein.
  • Bei URLs wie ?id=5, aber auch ?page=news oder "hidden Inputs", die bei Formularen auch übergeben werden, der Benutzer aber nicht sieht könnte man MySQL-Injection versuchen. Für letzteres eignen sich Firefox-Addons wie z. B. Tamper Data.
  • Bei URLs wie ?include=seite.php kommt am ehesten Local File Inclusion in Frage.

Proof of Concept[Bearbeiten]

Hat man eine potentielle Lücke gefunden, probiert man als erstes klassische PoC-Strings. Sie werden immer wieder verwendet, um herauszufinden, ob eine potentielle Lücke ausnützbar ist oder nicht.
Bei XSS könnte das so aussehen: <script>alert(1)</script>
Bei MySQL-Injection etwa so: ' OR ''='
Umfangreiche Listen werde ich im jeweiligen Unterkapitel verlinken.

Mindmap[Bearbeiten]

Am besten macht man sich eine Liste oder ein Mindmap mit Infos, die man schon hat.
Dazu zählt zum Beispiel, wie die (hoffentlich vorhandene) Absicherung der Seite ungefähr aussehen könnte.

Vor allem bei MySQL Injection verliert man sehr schnell den Überblick, wenn man sich keine Notizen macht. Denn bei Daten in Spalten in Tabellen in Datenbanken, die verschiedenen Benutzern zugeordnet sind, kann es sehr komplex werden.

Scanning[Bearbeiten]

Bei serverseitigen Lücken sieht das Ganze etwas anders aus. Dort versucht man mit Tools, einen Server zu scannen, um eventuell vorhandene Lücken zu finden. Ich möchte hier nur kurz die Abgrenzung der Methoden gegenüber der Lückensuche in Webapplikationen zeigen, genauer darauf eingegangen wird in den jeweiligen Kapiteln.