Bugs, Fixes und Ergänzungen zum Metasploit Buch [Update: 29.07.2012]
- in a nutshell:
Ein Buch in dem vorhandenen Umfang bringt den einen oder anderen kleinen Fehler mit sich. Zudem ergeben sich durch die Natur des Metasploit Frameworks ständig Änderungen die in diesem Blogpost dokumentiert werden.

Ergänzungen / Aktualisierungen:
- db_autopwn wurde aus dem Framework entfernt - siehe hierzu auch folgenden Blogeintrag. Update 29.07.2012: db_autopwn ist mittlerweile nicht mehr funktionsfähig. Es gibt ein erstes Resource Skript welches ähnliche Funktionen übernimmt. In nächster Zeit werde ich versuchen eine erweiterte Version, zur Analyse der Schwachstelleninformationen, zu erstellen
- Seite 70 - Metasploit Installation: Es gibt mittlerweile nur mehr ein passendes Metasploit Paket für die unterschiedlichen Betriebssysteme und Architekturen. Dieses Paket erfüllt alle Abhängigkeiten und beinhaltet neben der freien Open Source Version auch die kommerziellen Metasploit Versionen. Die genutzte Version hängt nur mehr vom eingegebenen Produktkey ab.
- Die XML-RPC Schnittstelle wurde aus dem Framework entfernt (Link). Externe Programme müssen entsprechend an die neue API angepasst werden. Davon sind die im Buch betrachteten Programme Nikto, Dradis und BeEF betroffen. Das BeEF-Projekt wurde bereits mit der neuen API ausgestattet und sollte wieder mit dem Metasploit Framework kommunizieren können.
- Das in Kapitel 3.2.1 genutzte Shodan Modul ist mittlerweile in etwas aktualisierter Form im Metasploit Framework vorhanden. Die Bezeichnung des Moduls lautet auxiliary/gather/shodan_search. Dieses Modul bietet in seiner jetzigen Form auch die Möglichkeit die ermittelten Ergebnisse in der Datenbank zu hinterlegen.
- In Kapitel 2.9 werden die Loggingfunktionen der Metasploit Konsole konfiguriert. Diese lassen sich wie im Buch beschrieben mit einem "save" in der Startkonfiguration hinterlegen. Das "spool"-Kommando ist dabei allerdings nicht inkludiert. Dieses lässt sich im Metasploit Verzeichnis im Resource File msfconsole.rc hinterlegen.
root@bt:~# cat .msf4/msfconsole.rc
spool /root/.msf4/logs/console.log
Im Anschluss wird auch das Spooling bei jedem Start der Metasploit Konsole aktiviert. - Eine umfangreiche Erweiterung der automatisierten Post-Exploitation Phase ist hier im Blog zu finden.
- Kapitel 8.4: Das Auxiliary Server-Modul File-Autopwn wurde aus dem Framework entfernt. Dieses Modul hatte bereits einige Fehler und wurde längere Zeit nicht aktiv gewartet.
Aus diesem Grund habe ich es etwas minimiert und zu einem reinen Fileformat Exploit Generator umgebaut. Der Webserver der in Abbildung 8-13 dargestellt ist, ist in dem hier angehängten Modul nicht mehr inkludiert.Update: Metasploit enthält ein neues Resource File welches alle Fileformat Exploits automatisch generiert. Weitere Informationen findet ihr Automatisierungsmechanismen. - Kapitel 6.3 - Weiter Importmöglichkeiten: Metasploit unterstützt über db_import das Nikto XML Format.
root@bt:/pentest/web/nikto# ./nikto.pl -host <IP> -Format xml -o nikto.xml
msf > db_import /pentest/web/nikto/nikto.xml
[*] Importing 'Nikto XML' data
... - Kapitel 6 - Automatisierung: Die in Kapitel 6.2 dargestellten Resource Files unterstützen mittlerweile umfangreichen Ruby Code. Ich habe mehrere Beispiel Resource Files erstellt, die auch im Framework unter scripts/resource aufzufinden sind. Weitere Informationen findet ihr in meiner Artikelserie zu Automatisierungsmechanismen.
- Kapitel 10.11 - Exploit Entwicklung: Die Metasploit Entwicklung läuft mittlerweile über GIT ab. Ein kurzer GIT Cheat Sheet ist hier zu finden.
- Kapitel 8.5 - Client Side Attacks: Um aus sicheren Umgebungen auszubrechen gibt es neben den dargestellten Möglichkeiten auch noch den DNS Payload. Dieser wird in einem kurzen Artikel hier vorgestellt.
- Kapitel 8.2.1 XSSF – Management von XSS Zombies mit Metasploit:
XSSF ist seit Metasploit 4.3 nicht mehr funktionsfähig. Der Entwickler schreibt auf der Webseite des Projektes dass er sich so bald wie möglich diesem Problem annehmen wird.Update 29.07.2012: XSSF project is working again thanks to Black Zero (z00) who took some time to solve the problem ! New version is supported by current MSF 4.4. - Kapitel 11.3 - Metasploit Pro auf der Konsole: Die spezifischen Befehle der kommerziellen Versionen Metasploit Community/Express/Pro lassen sich weiterhin auf der Metasploit Konsole msfpro nutzen. Diese Kommandos sind nicht mehr über ein Plugin integriert sondern lassen sich als Auxiliary Module wie alle anderen Module nutzen.
10.8.28.2 - (Sessions: 0 Jobs: 0)> use auxiliary/pro/ <Tab>+<Tab>
use auxiliary/pro/bruteforce use auxiliary/pro/import_creds
use auxiliary/pro/single use auxiliary/pro/campaign
use auxiliary/pro/listener use auxiliary/pro/tunnel
use auxiliary/pro/cleanup use auxiliary/pro/nexpose
use auxiliary/pro/upgrade_sessions use auxiliary/pro/collect
use auxiliary/pro/normalize use auxiliary/pro/upload
use auxiliary/pro/discover use auxiliary/pro/phish_email
use auxiliary/pro/webaudit use auxiliary/pro/download
use auxiliary/pro/phish_generate_exe use auxiliary/pro/webscan
use auxiliary/pro/exploit use auxiliary/pro/phish_start_web
use auxiliary/pro/websploit use auxiliary/pro/handler
use auxiliary/pro/replay use auxiliary/pro/import
use auxiliary/pro/report - Kapitel 2.5 - Benutzeroberflächen: Das Metasploit Framework umfasst seit Version 4.1 eine eingeschränkte grafische Weboberfläche der kommerziellen Versionen Metasploit Express bzw. Metasploit Pro. In der Zeitschrift Hakin9 findet ihr in der aktuellen Ausgabe 07/12 - Exploiting Software eine umfangreiche Betrachtung und Darstellung dieser grafischen Oberfläche.
- Abbildung 3-8 - Danke an Thomas Wallutis
- Seite 214 Portforwarding - Danke an Klaus Gebeshuber
- Seite 427 - Listing 10-2 - Danke an meinen geschätzten Kollegen Jörn
- Seite 385 - AV-Evading - Danke an Klaus Gebeshuber
- Seite 245 - Nmap Portscan - Danke an Pascal Winkler
- Seite 295 - Arachni Installation - Danke an Pascal Winkler
Bugs und Fixes:
Auf Seite 137 ist Abbildung 3-8 nicht korrekt. Folgende Abbildung stellt die korrekte Version dar:
Der Beschreibungstext zu Listing 5-41 weist einen Fehler bei dem Parameter -L auf ... vom lokalen Port 3389 (-L) .... –> (-l) statt (-L)
In Listing 10-2 gehören die Zeile 1 und 2 vertauscht, zudem gehört der Pseudocode aus Listing 10-1 folgendermaßen angepasst:
1 char[20] vnname;
2 char[30] nname;
3 nname = readline();
4 vname = readline();
5 print "Hallo $vname $nname, ich wünsche dir einen schönen Tag";"Im dargestellten Beispiel handelt es sich um den Windows Taschenrechner mstsc.exe" --> Wir sprechen in diesem Abschnitt von keinem Taschenrechner sondern vom Windows Remote Desktop Client.
Nmap stürzt mittlerweile leider regelmäßig ab wenn alle Skripte zum Einsatz kommen. Im Normalfall werden im Rahmen von Penetrationstest nicht alle Skripte automatisch genutzt, sondern es wird erst ein Portscan mit Versionserkennung durchgeführt und anschl. werden unterschiedliche Skriptgruppen gegen einzelne Ports zur Anwendung gebracht.
Arachni ist mittlerweile in den Backtrack Repositories enthalten und lässt sich mit folgendem Aufruf installieren:
# apt-get install arachni
Weitere Informationen zur Installation von Arachni findet ihr in der Dokumentation von Arachni.
In diesem Sinne ... happy Bughunting ;)
Comments
Doku zu Arachni
Der GitHub link macht nen 404, aber es gibt auch ne Wiki auf der Homepage
http://arachni-scanner.com/wiki
mfG Pascal W.
Vielen Dank für diesen
Vielen Dank für diesen Hinweis ... der Link wurde aktualisiert
mIke