no one is safe ...

Automatisierung

Automatisierung im Rahmen eines Pentests - part 11 (Auto-Exploitation)

In den bisherigen Posts rund um Automatisierungsmöglichkeiten mit Metasploit Resource Files fehlte bislang der automatische Exploitingprozess. Bis vor kurzem war db_autopwn das Maß aller Dinge. Dieses wurde allerdings von Smart Exploitation in Metasploit Pro abgelöst. In der Metasploit Konsole gab es somit keine weiteren Möglichkeiten eines automatischen Exploit Vorganges. Die Tage habe ich mit großer Unterstützung durch sinn3r von Rapid7 ein kleines Resource Skript entwickelt das in unterschiedlichen Fällen Abhilfe schafft.
Dieses Skript hilft bei der automatischen Anwendung eines einzelnen Exploits gegen mehrere Systeme. Dafür werden vorab bereits Schwachstelleninformationen in der Metasploit Datenbank benötigt. Beispielsweise lassen sich diese mit Vulnerability Scannern importieren. Das Skript lässt sich entweder innerhalb der Metasploit Konsole mit dem resource Kommando aufrufen oder über den -r Parameter der Metasploit Konsole. Wird es direkt mit der Metasploit Konsole aufgerufen lässt sich mit dem Argument help eine kurze Hilfe ausgeben:

Automatisierung im Rahmen eines Pentests - part 10 (Post Exploitation)

Teil 10 der Automatisierungsserie ... w00tw00t

Automatisierung im Rahmen eines Pentests - part 9 (Pass the Hash)

Im Rahmen eines Penetrations Tests war es möglich ein Windows System zu übernehmen und mit dem Hashdump Post Exploitation Modul die Passwort Hashes auszulesen. Eine Abfrage der Credential Datenbank im Metasploit Framework könnte sich beispielsweise ähnlich der folgenden darstellen:

10.8.28.2 - (Sessions: 1 Jobs: 0)> creds

Credentials
===========

host           port  user            pass                  type      active?
----           ----  ----            ----                  ----      -------
192.168.44.26  445   TsInternetUser  0339dXXXX:82cdf3XXXX  smb_hash  true
192.168.44.26  445   Guest           aad3bXXXX:31d6cfXXXX  smb_hash  true
192.168.44.26  445   Administrator   d55bdXXXX:f00a15XXXX  smb_hash  true
192.168.44.26  445   bob             81cbcXXXX:561cbdXXXX  smb_hash  true
192.168.44.26  445   IWAM_WIN2K-ENG  8fe23XXXX:c4d689XXXX  smb_hash  true
192.168.44.26  445   IUSR_WIN2K-ENG  a8d8eXXXX:714e83XXXX  smb_hash  true

[*] Found 6 credentials.

Diese Hashes sollten im weiteren Verlauf möglichst einfach, zeitlich optimiert und zielgerichtet gegen die vollständige Windows Umgebung per Pass the Hash zum Einsatz kommen.

Automatisierung im Rahmen eines Pentests - part 8 (Nessus cleaner)

Wer hätte sich gedacht dass Metasploit diese umfangreichen Möglichkeiten der Automatisierung bietet. Mittlerweile sind wir bei Teil 8 angelangt und haben in keinem Satz db_autopwn erwähnt ;) Alle bisherigen Post zur Automatisierung mit Metasploit findet ihr hier.

Die meisten Leser kennen sicher das Problem nach einem Import von Nessus Vulnerability Ergebnissen.

Das könnte in einem kleinen Testlabor folgendermaßen aussehen:

  • 53 hosts discovered
  • 3071 services detected
  • 1648 vulnerabilities identified

Na dann, viel Spaß diese 1648 Schwachstellen zu analysieren. Wenn wir uns die Schwachstellendetails in der grafischen Oberfläche von Metasploit Pro anschauen, dann finden wir folgendes vor:

Automatisierung im Rahmen eines Pentests - part 7 (fileformat generator)

Der mittlerweile siebte Teil meiner kleinen Automatisierungsserie. Dieses Mal geht es um die automatische Erstellung von Fileformat Exploits.

Bis vor kurzem hatte Metasploit ein Auxiliary Modul mit dem Namen file_autopwn. Dieses wurde mittlerweile aus dem Framework entfernt. Da speziell für Clienttests solche Format Exploits häufig benötigt werden und es nicht sehr lustig ist diese alle manuell auf der Kommandozeile zu erstellen, habe ich ein kleines Resource File erstellt. Dieses Resource File geht alle Fileformat Exploits durch und erstellt entsprechende Files. Mit den globalen Optionen WIN_PAYL, OSX_PAYL und MULTI_PAYL ist es möglich den zu nutzenden Payload zu konfigurieren. Die Grundeinstellung verwendet für Windows Files einen Messagebox Payload und für alle anderen einen Bind Payload. Zudem lässt sich mit der Option "setg HANDLERS true" einstellen ob ein Multi-Handler gestartet werden soll.