first test of Rapid 7 NeXpose with Metasploit
- in a nutshell:
Rapid 7 schaffte es in letzter Zeit gleich mehrfach das Interesse von Pentestern, Sicherheitsverantwortlichen und weiteren Sicherheitsinteressierten auf sich zu ziehen.

Im ersten Schritt "übernahmen" sie Metasploit bzw. stellten die Hauptentwickler von Metasploit fix an. Das bedeutet für Metasploit dass nun mehrere Entwickler hauptberuflich an diesem Exploiting Framework arbeiten und die Entwicklung dementsprechend wesentlich schneller von statten geht. In den letzten Wochen merkt man diesen Arbeitseinsatz schon enorm an mittlerweile 2 neuen Subversionen (Version 3.3.1 und Version 3.3.2). Version 3.3 enthielt 445 Exploits, in Version 3.3.2 sind es bereits 463 Exploitingmodule. Seit Version 3.3.1 bringt Metasploit das NeXpose Plugin mit, dieses Plugin ermöglicht die Integration des NeXpose Vulnerability Scanners direkt in Metasploit.
Der zweite Schritt von Rapid 7 war die Veröffentlichung der NeXpose Community Edition. Die Community ist sicherlich eine gewagte Entscheidung von Rapid 7, durch die Interaktion von NeXpose und Metasploit aber wohl eine sehr gute Marketingstrategie. Nahezu jeder Sicherheitsverantwortliche hat so die Möglichkeit das Vulnerability Mgmt System von R7 zu testen und damit herumzuspielen.
Der folgende Blogeintrag soll dieses Vulnerability Mgmt System von R7 kurz und mit einigen Screenshots darstellen, von der Installation auf einem Windows System über der Installation unter Backtrack 4 - prefinal, bis zur Integration in das Metasploit Exploiting Framework. hf
Vorbereitungen
Im ersten Schritt muss man sich bei R7 registrieren. Nach diesem Registrierungsprozess (der in wenigen Minuten abgeschlossen ist) erhält man eine EMail mit weiteren Details wie den direkten Downloadlinks und dem Link zu einem PDF das detaillierte Installationsinformationen enthält. Dieses PDF sollte man zumindest kurz überfliegen da man darin weitere Details zu den Systemanforderungen und zu vorab installierten Paketen findet.
Laut diesem Guide benötigt NeXpose beispielsweise eines der folgenden Systeme:
- MS Windows Server 2003 SP2 / Server 2003 R2
- Red Hat Enterprise Linux 5
- Ubuntu 8.04 LTS
- SUSE Linux Enterprise Server 10
Folgende Systeme sollten funktionieren, werden aber von R7 noch offiziell supported:
- SUSE Enterprise Linux 9
- Red Hat Enterprise Linux 4
- Fedora 9 or later
- Debian 4.0 or later
- CentOS 4 or later
- Ubuntu 7.10 or later
Auf Windows 7 funktioniert der Installer nicht!
Um NeXpose im eigenen Netzwerk zu betreiben sollten folgende Regeln für die Firewall beachtet werden:
- outbound - scan engines listen on 40814
manage scan activity on NeXpose Scan Engines and pull scan data from them - outbound - server listens on port 80
download vulnerability checks and feature updates from a server at updates.rapid7.com - outbound - server listens on port 443
upload PGP-encrypted diagnostic information to a server at support.rapid7.com - inbound - console accepts HTTPS requests over port 3780
provide Web interface access to NeXpose users
Windows Server 2003
Beachtet man die Systemanforderungen verläuft die Installation von NeXpose ohne Probleme und bringt auch keine großen Überraschungen mit sich. Folgende Bilderstrecke zeigt auf 11 Screenshots einen Einblick in den Installationsvorgang.

Nach der erfolgreichen Installation findet man auf dem Desktop ein neues Icon um NeXpose zu starten. Der erste Start dauert etwas da NeXpose erst nach Updates sucht und alle Datenbankeinträge erstellen muss. Folgende Slideshow zeigt den ersten Start:

Backtrack 4 - prefinal
Folgende Abhängigkeiten müssen erst installiert werden:
root@m1k3-desktop:/home/m1k3/rapid7# apt-get install libstdc++5
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
libstdc++5
0 upgraded, 1 newly installed, 0 to remove and 105 not upgraded.
Need to get 296kB of archives.
After this operation, 872kB of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
libstdc++5
Install these packages without verification [y/N]? y
Get:1 http://archive.offensive-security.com pwnsauce/universe libstdc++5 1:3.3.6-17ubuntu1 [296kB]
Fetched 296kB in 1s (296kB/s)
Selecting previously deselected package libstdc++5.
(Reading database ... 192689 files and directories currently installed.)
Unpacking libstdc++5 (from .../libstdc++5_1%3a3.3.6-17ubuntu1_i386.deb) ...
Setting up libstdc++5 (1:3.3.6-17ubuntu1) ...
Processing triggers for libc6 ...
ldconfig deferred processing now taking place
root@m1k3-desktop:/home/m1k3/rapid7# apt-get install xfonts-75dpi
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
xfonts-75dpi
0 upgraded, 1 newly installed, 0 to remove and 105 not upgraded.
Need to get 3472kB of archives.
After this operation, 4674kB of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
xfonts-75dpi
Install these packages without verification [y/N]? y
Get:1 http://archive.offensive-security.com pwnsauce/main xfonts-75dpi 1:1.0.0-4 [3472kB]
Fetched 3472kB in 3s (1088kB/s)
Selecting previously deselected package xfonts-75dpi.
(Reading database ... 192704 files and directories currently installed.)
Unpacking xfonts-75dpi (from .../xfonts-75dpi_1%3a1.0.0-4_all.deb) ...
Setting up xfonts-75dpi (1:1.0.0-4) ...Es bestehen weitere Abhängigkeiten, die allerdings von Backtrack bereits alle erfüllt sind! Auf anderen Systemen sollten Sie erst das Installations-PDF auf weitere Abhängigkeiten kontrollieren.
WICHTIG: Falls eine aktive PostgreSQL Datenbank auf dem System ausgeführt wird, muss diese unbedingt erst gestoppt werden! Ob eine PostgresSQL Datenbank läuft lässt sich folgendermaßen herausfinden:
pstree -p | grep postgresDer Installer lässt sich auch auf der Konsole ausführen, einfach mit chmod +x ausführbar machen und den Parameter -console anhängen. Folgende Ausgabe zeigt Teile des Installationsvorganges:
Lizenzdetails:
...
[X] 1 - I accept the terms of the license agreement.
[ ] 2 - I do not accept the terms of the license agreement.
To select an item enter its number, or 0 when you are finished: [0] 0
Press 1 for Next, 2 for Previous, 3 to Cancel or 5 to Redisplay [1] 1
-------------------------------------------------------------------------------
NeXpose - InstallShield WizardInstallationspfad:
NeXpose Install Location
Please specify a directory or press Enter to accept the default directory.
Destination Directory [/opt/rapid7/nexpose]
Press 1 for Next, 2 for Previous, 3 to Cancel or 5 to Redisplay [1] 1
-------------------------------------------------------------------------------
NeXpose - InstallShield WizardInstallationsart:
Choose the installation type that best suits your needs.
[X] 1 - Typical
The program will be installed with the suggested configuration.
Recommended for most users.
[ ] 2 - Scan engine only
Only the distributed scan engine will be installed, for use with a
remotely located NeXpose console.
Select the number corresponding to the type of install you would like: [0] 1
-------------------------------------------------------------------------------
NeXpose - InstallShield WizardEingabe des Registrierungskeys:
Enter your 16-character product key. It is required to complete the
installation.
To obtain a product key, send an e-mail to customercare@rapid7.com.
xxxx-xxxx-xxxx-xxxx
The product key is valid. To continue, select Next.
Press 1 for Next, 2 for Previous, 3 to Cancel or 5 to Redisplay [1] 1Eingabe des Namens und der Firma:
-------------------------------------------------------------------------------
Enter your name and company name
Please enter your name and your company name. This information will be used
when contacting support.
Full name: m1k3
Company name: m1k3
Press 1 for Next, 2 for Previous, 3 to Cancel or 5 to Redisplay [1] 1
-------------------------------------------------------------------------------
NeXpose - InstallShield WizardInstallationszusammenfassung:
NeXpose will be installed in the following location:
/opt/rapid7/nexpose
with the following features:
NeXpose security console
for a total size:
264.2 MB
Press 1 for Next, 2 for Previous, 3 to Cancel or 5 to Redisplay [1] 1
-------------------------------------------------------------------------------
NeXpose - InstallShield WizardInstallation
Installing NeXpose. Please wait...
|-----------|-----------|-----------|------------|
0% 25% 50% 75% 100%
||||||||||||||||||||||||||||||||||||||||||||||||||
Creating uninstaller...
Finalizing Vital Product Data Registry...NeXpose User und Passwort angeben:
-------------------------------------------------------------------------------
NeXpose - InstallShield Wizard
You must create a NeXpose account for the NeXpose administrator. Choose a
username and password that is secure and easy to remember. IMPORTANT: Remember
the password you choose. You will need to use this account to configure the
server after installing it.
User name: [nxadmin]
Password:
Confirm password:
Press 3 to Finish or 5 to Redisplay [3] 3
Executing DbInitializer
Selected install type is: Typical
-------------------------------------------------------------------------------
NeXpose - InstallShield WizardNach der erfolgreichen Installation kann man den Scanner folgendermaßen starten:

Nun sollte man sich mit einem Browser auf das Webinterface verbinden und dieses etwas genießen. ;)
Um NeXpose von Metasploit aus zu nutzen muss im ersten Schritt Metasploit auf den aktuellen Stand gebracht werden. Hier sollte angemerkt sein dass es mir mit der Version 3.3.1 und Version 3.3.2 nicht möglich war einen Scan durchzuführen. Mittlerweile weiss ich auch dass es an einem Bug lag. Somit sei jedem ein SVN Update angeraten ...
cd /opt/metasploit3/msf3
../app/svn update
Nach diesen Schritten kann man prinzipiell die ersten Scans durchführen. Um von Metasploit ausgehend NeXpose Scans durchführen zu können muss erst eine Datenbank erstellt werden, anschl. das Modul "nexpose" geladen werden und man muss Metasploit an NeXpose binden. Folgender Screenshot verdeutlicht diese Schritte:

Der folgende Screenshot zeigt einen ersten Scanvorgang:

Um nun einen vollständig automatisierten Penetrationstest inkl. Exploitingvorgang durchführen zu können muss die Option "-x" angewendet werden:

Fehler
Falls ein Verbindungsvorgang mit einer kryptischen Fehlermeldung abbricht sollten Sie auf der Weboberfläche prüfen ob die NeXpose Installation korrekt Lizenziert ist.

Nächste Woche werde ich NeXpose im Labor noch ausgiebigst testen und in diesem Zuge auch gegen die Kombination von Nessus mit Metasploit antreten lassen ;) Ich bin schon sehr gespannt wie sich diese neue Kombination im direkten Vergleich schlägt ....
bis dann
m1k3

Recent comments
3 weeks 3 days ago
3 weeks 5 days ago
4 weeks 3 days ago
4 weeks 3 days ago
9 weeks 6 days ago
10 weeks 2 days ago
10 weeks 3 days ago
11 weeks 2 days ago
11 weeks 2 days ago
11 weeks 3 days ago