Nach der Vorankündigung habe ich mir vor einigen Wochen das E-Book "Metasploit - The penetration tester's guide" gekauft - und inzwischen durchgelesen. Ich wollte mich schon längst mal ein wenig detaillierter mit Metasploit auseinandersetzen - da war das der gefundene Anlaß :-)
Mein Eindruck: Es ist locker-flockig zu lesen, unterhaltsam, und auch (oder besser: insbesondere) für diejenigen, für die es der Erstkontakt mit der systematischen Suche nach Lücken im System ist, sicher ein Augenöffner, was so alles geht und wie einfach dies häufig ist. Die fachliche Tiefe schwankt extrem - von "wir führen nun folgendes Modul aus, Schritt für Schritt" bis "wir basteln eigenen Assembler-Exploitcode"; dabei bewegt sich das Buch meist eher in ersterem Bereich. Die Schritt-für-Schritt-Vorgehensweise animiert zum Ausprobieren und Nachvollziehen - schade, daß die Buchbeispiele anhand eines Windowssystems gestaltet sind, für welche es selbstredend keine virtuelle Maschine zum Herunterladen geben kann. Das Ausprobieren ist von den Autoren dennoch vorbereitet: Für die eigenen Experimente haben sie das VM-Ware-Image Metasploitable ins Netz gestellt - für Experimente hiermit gibt es ein Kapitel mit Tipps zur Vorgehensweise.
In den ersten Kapiteln stellt das Buch kurz den Penetration Testing Execution Standard sowie einen Überblick über Tools und Terminologien des Metasploit Frameworks.
Die Kapitel 3 - 6 durchlaufen den typischen Ablauf eines Angriffs (Sammeln von Informationen, Scan nach Schwachstellen, Ausführen eines Exploits) sowie die Interaktion mit Meterpreter, dem "Metasploit-Client", der via Exploit als eine mögliche Payload auf der angegriffenen Maschine zur Ausführunge gebracht wird.
Kapitel 7 behandelt die Vermeidung von Erkennung durch Antivirensoftware oder Intrusion Detection Systeme, z.B. durch die Verwendung von Packern. Kapitel 8 erörtert Angriffe, die nicht direkt über das Netzwerk erfolgen, sondern durch den Client initiiert werden (z.B. Öffnen von Dateien oder Aufrufen von Webseiten).
Die Kapitel 9 - 12 widmen sich Hilfsmodulen und Frameworks, welche auf Metasploit aufsetzen bzw. Metasploit als Grundlage benutzen: Das Social Engineer Toolkit erleichtert das Einleiten von Client-seitigen Angriffen, Fast-Track und Karmetasploit sind (semi-)automatische Exploit-Tools.
Kapitel 13 - 15 tauchen tiefer in die Interna von Exploits ab: Hier wird beschrieben, wie ein Exploitmodul für Metasploit geschrieben wird, sowie die Entwicklung eines neuen Exploits und dessen Portierung ins Metasploit-Framework. Naheliegend, daß hier die Assemblerdichte recht hoch wird :-) In sofern fallen diese Kapitel vom Detailgrad und Anspruch aus dem Rahmen; für die Assembler-Unkundigen ist es dennoch interessant zu sehen, wie so etwas "vom Prinzip her" funktioniert - auch wenn man die Funktionsweise des Beispielexploits nicht bis ins Detail versteht.
Kapitel 16 beschäftigt sich mit dem Scripting von Meterpreter, das abschließende Kapitel 17 ist die "Übungsaufgabe" für den Leser, der Angriff auf die herunterladbare virtuelle Maschine "Metasploitable".
Genauso wie Donald Knuth daran gescheitert ist, die "Kunst des Programmierens" in eine Buchserie zu packen, kann es kein Buch geben, welches das gesamte Tätigkeitsfeld des Penetration Testings umfassend und abschließend behandelt - zu vielschichtig sind die Themen, zu groß das Detailwissen, das man in manchen Bereichen ansammeln muß, und zu schnell überholt die technische Entwicklung das Geschriebene. In gewisser Weise ist das Buch selbst ein Opfer von letzterem geworden: Das Buch behandelt das Metasploit Framework in der Version 3, kurz nach Erscheinen des Buchs erschien jedoch die Version 4 (was jedoch nicht so tragisch ist, die Buchbeispiele dürften 1:1 weiterfunktionieren).
Das Buch skizziert schön das prinzipielle Vorgehen und zeigt dann Schritt für Schritt, wie die Angriffe auf ein Beispielsystem aussehen könnten. In sofern ist es gut, daß das Buch mehr Tutorial und weniger Nachschlagewerk sein möchte: So wird es noch länger seine Akutalität behalten.
Nach dem Lesen hat man einen Eindruck von der Mächtigkeit des Metasploit Frameworks und seiner Wichtigkeit für Leute, deren Täglich Brot das Penetration Testing ist. Wer sich für die Thematik interessiert und/oder eine "Guided Tour" durch Metasploit sucht, um sich vorsichtig die Füße in der Thematik naßzumachen, dem kann ich das Buch empfehlen.