no one is safe ...

Metasploit Express beta - first impressions

Vor ein paar Wochen registrierte ich mich als Beta Tester für die neue und kommerzielle Metasploit Version "Metasploit Express". Mit Version 3.4 des freien Pentesting Frameworks wird es auch eine kommerzielle Version mit hübscher GUI und Support seitens Rapid 7 geben. Ich selber war natürlich sehr gespannt ob diese Express Version nun wirklich zum Angriff auf die Großen im Business (Core Impact und Immunity Canvas) bläst.

Mit folgender Email (etwas verkürzt) ging es also letzte Woche los ...

Hello,

We are happy to announce that you have been approved to participate in the public Metasploit Express Beta, which is now available for download and testing. As part of our commitment to the community we are looking for an open dialog with beta testers.

Metasploit Express was designed for penetration testers by penetration testers; we understand that the exploits are critical for security engagements, but that exploits only take you so far. Metasploit Express goes beyond exploits and provides the ability to leverage insecure configurations, weak passwords, and trust relationships to gain access to the target network and the data within.

The Rapid7 team is committed to making Metasploit Express the best penetration testing product available. Rapid7 is also committed to the open source roots of the Metasploit Framework and although this is a commercial product, the architecture is open, and the backend is infinitely extensible using standard Metasploit modules. Sales of this product directly support the continued development of the Metasploit Framework.

This beta release is a feature-complete snapshot of the product. We are interested in obtaining your feedback about using the product during the beta period. THIS IS A BETA RELEASE OF A PENETRATION TESTING TOOL AND SHOULD BE RUN ONLY IN TEST ENVIRONMENTS. For more information, please see below.

>> System requirements
-    Ubuntu Linux 8.04+, RHEL 5.x, or Windows XP+
-    2Ghz+ CPU
-    At least 2Gb of RAM
-    At least 500Mb of disk space
-    A non-production target environment

Installation auf einem Windows System:

Die folgenden Screenshots zeigen die sehr einfache Installation auf einem Windows XP System. Die Installation läuft ohne Probleme durch, auch auf einem System mit erheblich zu wenig RAM. Spätestens beim ersten Start von MSF Express sollte man dem System allerdings die geforderte Menge an Arbeitsspeicher spendieren!

Nach der erfolgten Installation findet man die bekannten Metasploit Files unter C:\metasploit und unter Start -> Programme findet man einen neuen Eintrag, der es in Zukunft ermöglicht das Framework zu steuern.

Beim ersten Zugriff auf das Webinterface (per SSL auf Port 3790) wird automatisch ein Wizard durchlaufen. In zwei Schritten wird erst ein Benutzer mit Passwort angelegt und im zweiten Schritt wird ein erstes Pentestingprojekt erstellt.

Nach erfolgter Einrichtung gelangt man direkt auf das Dashboard, welches als erste Anlaufstelle bei durchgeführten Pentests dienen soll. Dieses stellt im Bereich Discovery die erkannten Hosts, Services und Schwachstellen dar. Mit wenigen Klicks lässt sich hier sofort ein Discovery- oder Vulnerability Scan mit NeXpose starten. Im Penetration Bereich werden die erstellten Sessions, die ermittelten Passwörter und die ermittelten Hashes dargestellt. Bei letzterem bin ich mir noch nicht ganz sicher was damit gemeint ist. Ich denke aber dass die Tokens gemeint sind, die sich mit Incognito stehlen lassen.

Führt man im ersten Schritt einen Discovery Scan durch wird im Hintergrund ein typischer Nmap Portscan druchgeführt (db_nmap lässt grüßen). Die Konfiguration ist denkbar einfach gehalten und im Normalfall reicht ein Klick auf Scan und der erste Teil des Pentests startet.

Neben dem typischen Nmap Portscan kommen an dieser Stelle aber bereits weitere Module zum Einsatz, wodurch man bereits nach dem Discovery Prozess verschiedene Dienste ohne Passwortschutz kennt. Folgender Screenshot zeigt bereits einen Host mit Postgres SQL Datenbank als Cracked an. Metasploit Express erkannte an dieser Stelle bereits einen Zugang mit Default Credentials. Bereits zu so früher Stunde einen ersten Systemzugang erhalten zu haben ist eine hübsche Sache!

Nachdem nun bereits die Hosts mit den vorhandenen Diensten bekannt sind, hat man im nächsten Schritt die Qual der Wal ;) Soll man nun bereits einen Exploitingvorgang starten oder erstmal einen Vulnerability Scan mit NeXpose durchführen oder wird vermutet dass schwache Passwörter eingesetzt werden ...

Da ein Passwortangriff im Normalfall länger dauert und auch neben anderen Aktionen durchgeführt werden kann, habe ich mich erstmal für den Einsatz des Bruteforce Moduls entschieden:

Bereits das Konfigurationsmodul lässt so einige verdächtige Metasploit Module vermuten, spätestens bei den Logmeldungen, die während des Passwortangriffs dargestellt werden, erkennt man die darunter liegenden Metasploit Module. Also wiederum eine schöne Verpackung der Passwortmodule von MSF die hier sehr flott und gut automatisiert einiges an Arbeit abnehmen. Das Modul gefällt mir sehr gut!

Die Passwortangriffe können im Hintergrund ihre Arbeit verrichten, in der Zwischenzeit lassen sich bereits erste Vulnerability Scans durchführen. Bei Vulnerability Scans gibt es auch keine weiteren Überraschungen, eine schöne GUI für das Metasploit NeXpose Modul welches normalerweise mit load nexpose aufgerufen wird.

An dieser Stelle wäre es zwar noch wünschenswert dass sich auch weitere Vulnerability Scanner direkt von der Metasploit Konsole aus steuern lassen, aber ich denke nicht dass Rapid 7 an einer solchen Integration interessiert ist ;) An dieser Stelle ist wohl die Community rund um Metasploit gefragt. Einstweilen gibt es ja immerhin die bekannten Importfunktionen die eine Einbindung unterschiedlichster, bereits vorhandener Scanergebnisse ermöglichen.

An dieser Stelle sind nun alle nötigen Ergebnisse, die einen automatisierten Exploitingvorgang ermöglichen, eingesammelt. Somit lässt db_autopwn grüßen ...

Leider gibt es hier noch keine Möglichkeit zwischen einem automatisierten Exploitingvorgang auf Portbasis oder auf Basis der Schwachstellen zu wählen. Laut HDM wird die Final diese Wahlmöglichkeit ebenso bieten wie einen "Trockenlauf" in dem die Exploits die zur Anwendung kommen vorab dargestellt werden.

Zu guter Letzt gibt es natürlich auch die geliebte Meterpreter Session:

Meterpreter funktioniert an dieser Stelle etwas träge, wodurch flottes Arbeiten, wie auf der Konsole, kaum möglich ist.

Fazit:
Alles in Allem finde ich Metasploit Express einen Schritt in die richtige Richtung. Ein auf Metasploit basierender Pentest geht dadurch sehr einfach und meistens auch flott von der Hand. Prinzipiell handelt es sich aber fast ausschließlich um eine graphische Oberfläche für bereits bekannte Metasploit Module wodurch ich jetzt für einen erfahrenen Metasploit Benutzer kaum Vorteile erkennen kann. Teilweise wirkt diese Oberfläche eher behindernd und verlangsamt den Arbeitsablauf sogar. Speziell die vorhandene Meterpreter Implementation konnte mich nicht überzeugen. Metasploit bietet auch noch einiges mehr als die typischen Pentests wie beispielsweise DECT, WLAN, Client Side Attacks und weitere Datenbankanalysen. Diese Bereiche sind bislang noch an keiner Stelle integriert.

Derzeit ist die Weboberfläche nach längerem Dienst nicht mehr erreichbar und quittiert den Dienst mit umfangreichen Fehlermeldungen. Das Problem ist bei R7 bereits bekannt und soll für die Endversion behoben werden.

Comments

Maus

Hi Mike,

danke für den Bericht. Dann kann man Metasploit jetzt also mit der Maus "fernsteuern" ;-)

Bis nächste Woche... Jörn

Nice wok

Schöne detaillierte Beschreibung.
Thanks m-1-k-3,
Fancy