$whois
Introduzione
Attacco a una webapp
Attacco a un sistema
Conclusioni
Paolo Stagno
Luca Poletti
http://voidsec.com
[email protected]
Introduzione
Introduzione
Nellanno 2013:
Attacco a una webapp Aumento del 30% degli attacchi a siti e web application
Attacco a un sistema
14 zero-day
Conclusioni
5,291 nuove vulnerabilit scoperte, 415 di queste per
dispositivi mobile
Il 31% degli attacchi colpisce aziende con meno di 250
dipendenti
Aumento del 125% dei siti di phishing
Fonte: Symantec ISTR
Cos Kali Linux?
Introduzione
Kali Linux
Kali una distribuzione basata su Debian pensata per la
sicurezza informatica e linformatica forense.
E creata e mantenuta da Offensive Security.
Kali vs Backbox
Kali offre una vasta gamma di tools per la sicurezza e il
Attacco a una webapp penetration test, tra questi:
Attacco a un sistema Sqlmap, John the ripper, Nmap, Metasploit, Aricrack, Wireshark.
Conclusioni
Perch Kali Linux?
Gratis
Open Source
Grande comunit e aziende alle spalle
Supporto ai dispositivi ARM (Android ecc)
Kali VS BackBox
Introduzione
Kali
BackBox
OS:
Linux
Linux
Basato su:
Debian
Ubuntu
Versione:
1.0.5
3.09
Origine:
USA
Italia
Architettura:
i386, x86_64, ARM
i386, x86_64
Desktop:
Gnome, KDE, XFCE
XFCE
Maggior numero di tools
(alcuni settoriali)
Maggiori dimensioni
Minor numero di tools
(selezionati)
Minor dimensioni
Kali Linux
Kali vs Backbox
Attacco a una webapp
Attacco a un sistema
Conclusioni
Altro:
Attacco ad una webapp
Introduzione
Attacco a una webapp
Information Gathering
Attacco a un sistema
Conclusioni
Exploiting
Infiltrazione
Maintaining Access
Attacco ad una webapp
Introduzione
Attacco a una webapp
Information Gathering
Attacco a un sistema
Conclusioni
Exploiting
Infiltrazione
Maintaining Access
Attacco ad una webapp
Introduzione
Attacco a una webapp
Information Gathering
Attacco a un sistema
Conclusioni
Exploiting
Infiltrazione
Maintaining Access
Attacco ad una webapp
Introduzione
Attacco a una webapp
Information Gathering
Attacco a un sistema
Conclusioni
Exploiting
Infiltrazione
Maintaining Access
Web Server Scanner - Nikto
Introduzione
Attacco a una webapp
Information gathering
Exploiting
Fingerprint del web server
Scansione di file pericolosi e script cgi
Software obsoleto
Analisi dei metodi http
Infiltrazione
Maintaining Access
Attacco a un sistema
Conclusioni
nikto -h target.com
Webapp scanner - Vega
Analisi di unapplicazione web:
Introduzione
Crawling e mappatura della struttura del sito
Attacco a una webapp
Sql injection
Information gathering
Xss
Exploiting
RFI & LFI
Infiltrazione
Login guessing attack
Maintaining Access
Pagine di debug e parametri
Attacco a un sistema
Conclusioni
XSS
Introduzione
Attacco a una webapp
Information gathering
Exploiting
Infiltrazione
Maintaining Access
Attacco a un sistema
Conclusioni
Un XSS permette di inserire ed eseguire codice lato client al
fine di attuare un insieme variegato di attacchi quali ad
esempio:
raccolta e manipolazione di informazioni (cookie)
visualizzazione e modifica di dati presenti sui server
alterazione del comportamento dinamico delle pagine web
Esistono due tipi di vulnerabilit XSS:
stored, quando il codice di scripting viene inserito in
maniera permanente sul server (es. in un forum);
reflected, quando il payload viene iniettato tramite
richieste del protocollo HTTP effettuate dallo stesso client
che subisce l'attacco
(es. un URL creato appositamente)
XSS - xsser
Introduzione
Attacco a una webapp
Information gathering
Crawling dei parametri del target
Analisi di possibili xss
xsser -u http://target.com/ -c 1000 --Cw=5
Exploiting
Infiltrazione
Maintaining Access
Attacco a un sistema
Conclusioni
xsser -u http://target.com/ -g
search.jsp?tipo=rep_cod&text= --auto
SQL Injection
SQL Injection: permette linserimento di codice malevolo
Introduzione
all'interno di una query SQL e di operare sul Database.
Attacco a una webapp
Information gathering
Exploiting
SELECT * FROM users WHERE user=.$_POST['user'].
AND pwd=.$_POST['pwd']
Infiltrazione
Maintaining Access
Attacco a un sistema
Conclusioni
SELECT * FROM users WHERE user=utente' AND pwd=or
1=1--
SQL Injection sqlmap
Analisi dei parametri
Introduzione
Attacco a una webapp
Exploiting recupero db, tabelle, colonne, dati
Eventualmente crack di password
Information gathering
Eventualmente upload di una shell
Exploiting
Integrazione con metasploit (shell vnc, privilege excalation)
Infiltrazione
Maintaining Access
Attacco a un sistema
Conclusioni
sqlmap -u target.com/search.jsp?
tipo=rep_cod&text=0001 --dbs
SQL Injection sqlmap
Introduzione
sqlmap u target.com/search.jsp?
tipo=rep_code&text=0001 -D shopping_cart --tables
Attacco a una webapp
Information gathering
Exploiting
Infiltrazione
Maintaining Access
Attacco a un sistema
Conclusioni
sqlmap u target.com/search.jsp?tipo=rep_code
&text=0001 D shopping_cart T user --dump
SQL Injection - Contromisure?
Introduzione
Attacco a una webapp
Information gathering
Exploiting
Infiltrazione
Maintaining Access
Attacco a un sistema
Conclusioni
SQL Injection - Contromisure?
Introduzione
Attacco a una webapp
Information gathering
Exploiting
Infiltrazione
Maintaining Access
Attacco a un sistema
Conclusioni
Escape dei parametri
SQL Injection - Contromisure?
Introduzione
Attacco a una webapp
Information gathering
Exploiting
Infiltrazione
Maintaining Access
Attacco a un sistema
Conclusioni
Escape dei parametri
Filtrare i caratteri
SQL Injection - Contromisure?
Introduzione
Attacco a una webapp
Information gathering
Exploiting
Infiltrazione
Maintaining Access
Attacco a un sistema
Conclusioni
Escape dei parametri
Filtrare i caratteri
Regexp sui parametri
SQL Injection - Contromisure?
Introduzione
Attacco a una webapp
Information gathering
Exploiting
Infiltrazione
Maintaining Access
Attacco a un sistema
Conclusioni
Escape dei parametri
Filtrare i caratteri
Regexp sui parametri
Crittare le credenziali di accesso
SQL Injection - Contromisure?
Introduzione
Attacco a una webapp
Information gathering
Exploiting
Infiltrazione
Maintaining Access
Attacco a un sistema
Conclusioni
Escape dei parametri
Filtrare i caratteri
Regexp sui parametri
Crittare le credenziali di accesso
Uso di token (sessioni)
SQL Injection - Contromisure?
Introduzione
Attacco a una webapp
Information gathering
Exploiting
Infiltrazione
Maintaining Access
Attacco a un sistema
Conclusioni
Escape dei parametri
Filtrare i caratteri
Regexp sui parametri
Crittare le credenziali di accesso
Uso di token (sessioni)
Uso di captcha
RFI & Reverse Shell - netcat
Introduzione
Attacco a una webapp
Information gathering
Exploiting
Tunnelling
Shell eventualmente reverse (backdoor)
scanner
Trasferimento di file
E molto altro ancora (simulare un web server)
Infiltrazione
Maintaining Access
Attacco a un sistema
Conclusioni
netcat l p 666
Attacco a un sistema
Introduzione
Attacco a una webapp
Information Gathering
Exploiting
Attacco a un sistema
Conclusioni
Privilege Excalation
Maintaining Access
Cracking delle credenziali
Attacco a un sistema
Introduzione
Attacco a una webapp
Information Gathering
Exploiting
Attacco a un sistema
Conclusioni
Privilege Excalation
Maintaining Access
Cracking delle credenziali
Attacco a un sistema
Introduzione
Attacco a una webapp
Information Gathering
Exploiting
Attacco a un sistema
Conclusioni
Privilege Excalation
Maintaining Access
Cracking delle credenziali
Attacco a un sistema
Introduzione
Attacco a una webapp
Information Gathering
Exploiting
Attacco a un sistema
Conclusioni
Privilege Excalation
Maintaining Access
Cracking delle credenziali
Attacco a un sistema
Introduzione
Attacco a una webapp
Information Gathering
Exploiting
Attacco a un sistema
Conclusioni
Privilege Excalation
Maintaining Access
Cracking delle credenziali
Information Gathering - Nmap
Scansione delle porte
Introduzione
Attacco a una webapp
Attacco a un sistema
Information gathering
Exploiting
Maintaining Access
Cracking credenziali
Conclusioni
Fingerprint del sistema
Riconoscimento dei servizi
nmap sS target.com -O
Exploiting Metasploit
Introduzione
Attacco a una webapp
Attacco a un sistema
Scansione automatica del sistema
operativo, dei servizi e delle vulerabilit
Exploiting e offuscamento
Information gathering
Exploiting
Maintaining Access
Cracking credenziali
Conclusioni
Persistenza e Keylogging
Fuzzing di software applicativi
Armitage
Interfaccia grafica per metasploit:
Introduzione
Attacco a una webapp
Attacco a un sistema
Information gathering
Exploiting
Maintaining Access
Cracking credenziali
Conclusioni
Permette di navigare comodamente allinterno dei moduli
degli exploit, i payload e di eseguire tutti gli attacchi
conosciuti su un sistema.
Molto utile quando si effettua il pivoting, permette di
instradare le connessioni per via grafica
John the ripper
Introduzione
Attacco a una webapp
Attacco a un sistema
Information gathering
Exploiting
Password e hash cracker
John the Ripper uno tra gli storici
software per gli attacchi offline alle
password; pu funzionare con due
metodi: il classico brute force oppure
un attacco basato su un dizionario
Maintaining Access
Cracking credenziali
Conclusioni
john -wordlist=wordlist.txt hash.txt -format=nt
Hashcat
Introduzione
Password cracker con migliore risposta sul bruteforce
e supporto alla gpu
Attacco a una webapp
Attacco a un sistema
Information gathering
Exploiting
Maintaining Access
Cracking credenziali
Conclusioni
hashcat a 3 m 1000 admin_hash -1 ?l?u?d
?1?1?1?1?1?1
Slide statistiche
Confronto delle prestazioni tra alcuni dei principali programmi per il crack
di hash.
Introduzione
Configurazione computer:
Attacco a una webapp AMD FX 6100 (6 core @3,3GHz), AMD HD5970
Attacco a un sistema
Information gathering
Exploiting
Maintaining Access
Cracking credenziali
Conclusioni
MH/s
10000000
1000000
JohnTheRipper
100000
Hashcat
10000
OclHashcat
1000
100
RainbowTable
10
RainbowTable
Precomputed
1
MD5
Raccomandazione:
Art. 615 del codice penale
Introduzione
Attacco a una webapp
Attacco a un sistema
Conclusioni
Raccomandazione
Provate voi
Domande
L'accesso abusivo ad un sistema informatico o telematico il reato di chi
abusivamente si introduce in un sistema informatico o telematico protetto
da misure di sicurezza ovvero vi si mantiene contro la volont espressa o
tacita di chi ha il diritto di escluderlo.
La pena ordinaria prevista per il delitto la reclusione fino a 3 anni.
La pena la reclusione da uno a cinque anni se:
il fatto commesso con abuso dei poteri o con violazione dei doveri
inerenti alla funzione o al servizio;
il colpevole palesemente armato
dal fatto deriva la distruzione o il danneggiamento dei dati, delle
informazioni o dei programmi in esso contenuti.
La pena inoltre da 1 a 5 anni se i fatti previsti al comma I riguardano
sistemi informatici o telematici di interesse militare o relativi allordine
pubblico o alla sicurezza pubblica o alla sanit o alla protezione civile o
comunque di interesse pubblico.
E se volete provare:
Introduzione
Attacco a una webapp
Attacco a un sistema
Conclusioni
Raccomandazione
Provate voi
Domande
Shopping Cart
http://goo.gl/IXhCra
Hack.me
http://hack.me/
Damn Vulnerable Web Application
http://dvwa.co.uk/
OWASP WebGoat Project
NOWASP (Mutillidae)
Domande?
Introduzione
Attacco a una webapp
Attacco a un sistema
Conclusioni
Raccomandazione
Some things in life are unpredictable,
your application doesnt have to be one of them
Provate voi
Domande
Paolo Stagno
Luca Poletti
http://voidsec.com
[email protected]