Security and hacking engineering - metodologie di attacco e difesa con strumenti open source

1,138 views
1,037 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,138
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
12
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Security and hacking engineering - metodologie di attacco e difesa con strumenti open source

  1. 1. #LINUX DAY NAPOLI 2012 Security && Hacking Engineering- metodologie di attacco e difesa informatica con strumenti opensource - A CURA DI MARCO FERRIGNO - Security & system independent researcher - - International Cyber Threat Task Force member - - Developer of the Italian Debian GNU/Linux HOWTOs -
  2. 2. root@host:/# introPROPEDEUTICITA: Nozioni basilari sulle architetture di elaborazione e di rete Nozioni basilari sullutilizzo dei sistemi operativi Curiosità e spirito di iniziativa Think EvilCOSA IMPAREREMO DA QUESTO TALK: Sicurezza dellinformazione. Cosè? Come ragiona un attacker Attacco e difesa: casi studio e casi reali Limiti e ostacoli
  3. 3. Sicurezza informatica: cosè? Non riguarda solo le grandi aziende Non riguarda solo i governi … Ma i dati di tutti noiLe nostre informazione (in special modo lepiù sensibili) sono memorizzate on-linein vasta quantità.
  4. 4. Security market Analisi al 30 settembre 2012 rispetto ai sei mesi precedenti Spam: +75% Phishing via mail: 1 su 245 (vs 1 su 424) Tutto questo ha un costo E lItalia? Detentrice di un triste primato: manca totalmente di una reale politica aziendale in fatto di sicurezza
  5. 5. Sicurezza informatica: unattitudine mentale Attacco vs difesa … sono davvero inscindibili? Black Hat vs White Hat … una differenza etica (e non solo)
  6. 6. Levoluzione della sicurezza: il rischio Perchè ”think evil”? ”perchè per catturare un ladro devi pensare come un ladro” Cosa serve? a) passione incrollabile b) capacità di prevedere le minacce c) difendersi in maniera pro-attiva Senza la giusta mentalità la ”sicurezza” sarà limitata ad una verifica meccanica delle liste di controllo ricavate in base allesperienza del passato. E sarete destinati a ripetere i fallimenti del passato.
  7. 7. Il nemico principale della sicurezza è ...… la compiacenza!Sappiamo solo reagire e non pro-agire.Non facciamo prevenzione ma aspettiamo che succeda qualcosa. E allora è tardi. … meglio evitare situazioni del genere
  8. 8. Come ragiona un attackerFootprintingScansioneEnumerazioneHacking … ma prima di esaminare le singole fasi ...
  9. 9. Bersaglio individuato! Un caso di studiorepetita iuvant: Think EvilStep 1. lanonimato è fondamentale il caso Tor (The Onion Router), Freenet e TailsStep 2. individuare il bersaglioStep 3. analisi del bersaglio ”the swiss army”: nmapIl nostro caso studio:Lattacker protagonista del nostro caso studio è particolarmente attratto dalle vulnerabilità suiserver web. Utilizzare {motore di ricerca ad personam} !!intitle:Test.Page.for.Apache ”It worked!” ”this Web site!”
  10. 10. Bersaglio individuato! Un caso di studioViene visualizzato un elenco di sistemi che utilizzano linstallazione di default del server webApache#Ora lattacker conosce: Server web (è quello che voleva!) Nome di dominio associato#Cosa vuole: Lindirizzo ip corrispondente#In che modo:hostoppuretor-resolve#Esempio:user@host:~$ tor-resolve www.casostudio.com10.10.10.100
  11. 11. Bersaglio individuato! Un caso di studioDopo il dovuto footprinting, lattacker passa ad analizzare il bersaglio tramite una scansionemodus operandi: proxychains feat. nmapuser@host:~$ proxychains nmap -sT -PN -n -sV -p 21,22,53,80,110,139,143,443 10.10.10.100|S-chain|-<>-127.0.0.1:9050-<><>-10.10.10.100:139-<--denied|S-chain|-<>-127.0.0.1:9050-<><>-10.10.10.100:110-<--denied|S-chain|-<>-127.0.0.1:9050-<><>-10.10.10.100:21-<--OK|S-chain|-<>-127.0.0.1:9050-<><>-10.10.10.100:143-<--denied|S-chain|-<>-127.0.0.1:9050-<><>-10.10.10.100:443-<--denied|S-chain|-<>-127.0.0.1:9050-<><>-10.10.10.100:22-<--denied|S-chain|-<>-127.0.0.1:9050-<><>-10.10.10.100:80-<--OK|S-chain|-<>-127.0.0.1:9050-<><>-10.10.10.100:53-<--OKNmap scan report for 10.10.10.100Host is up (0.00032s latency).PORT STATE SERVICE VERSION21/tcp open ftp PureFTPd22/tcp closed ssh53/tcp open domain80/tcp open http Apache httpd110/tcp closed pop3139/tcp closed netbios-ssn143/tcp closed imap443/tcp closed https
  12. 12. Bersaglio individuato! Un caso di studioUna miniera di informazioni che devono essere scremate.Altro step: lattacker si concentra su delle specifiche vulnerabilità. Sfruttare le vulnerabilità di Apache!Come si procede: Identificare versione in uso Scelta dello swiss army: netcat | proxychains + netcat | socatuser@host:~$ socat TCP4-LISTEN:8080, forkSOCKS4a:127.0.0.1:10.10.100:80, socksport=9050 &user@host:~$ nc 127.0.0.1 8080HEAD / HTTP/1.0HTTP/1.1 200 OKDate: Sun, 21 Oct 2012 16:42:48 GMTServer: Apache/1.3.19 (Unix) (SuSE/Linux) PHP/4.3.4Last-Modified: Mon, 15 Oct 2012 07:41:30 GMTETag:””8549c-304-2deb0e32””Accept-Rangers: bytesContent-Length: 773Connection: closeContent-Type: text/html
  13. 13. Bersaglio individuato! Un caso di studioIn conclusione:il caso studio trattato ha evidenziato come il web servertrovato sia fermo ad una versione piuttosto vecchia evulnerabile … il resto è cosa nota ...
  14. 14. Footprinting: cosè? ”Se conosci il tuo nemico e conosci te stesso, non devi temere il risultato di cento battaglie. Se conosci te stesso ma non il tuo nemico, per ogni vittoria subirai anche una sconfitta. Se non conosci il tuo nemico e nemmeno te stesso, perderai ogni battaglia” (Sun Tzu – Larte della guerra)Footprinting: larte di raccogliere informazioni sullobiettivo a cui si è interessatiCosa occorre? Tecnica Pazienza RiflessioneQualè lobiettivo? Ridurre il bersaglio ad una serie specifica di nomi di dominio, blocchi di rete, sottoreti, router e singoli indirizzi IP
  15. 15. Footprinting: informazioni accessibili al pubblicoCaso studio: PMI (… e non solo). Elementi ”utili” ed eventuali azioni da compiere Pagine web aziendali → mirroring (uso di wget) dellintero sorgente HTML con particolare attenzione alle righe di commento; ricerca di indirizzi VPN ... Organizzazioni correlate → possono trovarsi sia in chiaro che a mezzo codice Dettagli sulla sede → Google Earth / Maps, Terraserver Dipendenti: vita, morte && miracoli →networking sociale (Facebook, G+ …); networking professionale (Linkedin …); carriera lavorativa (Monster, Careerbuilder …); genealogia familiare (Ancestry) Eventi correnti → fusioni, acquisizioni, scandali, licenziamenti, outsourcing … e il sito della CONSOB Politiche di sicurezza → ogni dettaglio fa la differenza Informazioni archiviate → cache di Google (http://google.com/search?q=cache:www.esempio.com) Dipendenti (o clienti) scontenti → azioni di dubbia moralità! Motori di ricerca → il caso GHDB: le stringhe di ricerca ed altro ancora, come ...
  16. 16. Footprinting: informazioni accessibili al pubblicoCaso studio: PMI (… e non solo). Elementi ”utili” ed eventuali azioni da compiere Enumerazione dei server WHOIS e DNS → whois da terminale oppure whois.iana.org Interrogazione del DNS →tecnica del trasferimento di zona (tecnica obsoleta) tramite nslookup: distinzione tra DNS interni ed esterni Riconoscimento della rete → tecnica del tracerouting (traceroute nomehost da terminale): consente di visualizzare il percorso seguito da un pacchetto IP nel suo viaggio da un host allaltro user@host:~$ traceroute esempio.it traceroute to esempio.it (173.194.35.159), 30 hops max, 60 byte packets 1 10.220.0.1 (10.220.0.1) 10.157 ms 11.051 ms 11.416 ms 2 172.31.190.29 (172.31.190.29) 11.580 ms 11.890 ms 19.408 ms 3 143.225.190.82 (143.225.190.82) 118.120 ms 118.313 ms 118.446 ms 4 ru-unina-l1-rx1-na1.na1.garr.net (193.206.130.5) 20.217 ms 20.580 ms 20.671 ms 5 rx1-na1-rx1-rm2.rm2.garr.net (90.147.80.161) 21.109 ms 27.706 ms 28.013 ms 6 rx1-rm2-rx1-mi2.mi2.garr.net (90.147.80.62) 28.644 ms 24.772 ms 19.223 ms 7 rt-mi2-rx1-mi2.mi2.garr.net (90.147.94.46) 19.509 ms 22.120 ms 22.580 ms …
  17. 17. Footprinting: contromisureDallattacco alla difesaContromisure per la sicurezza dei database pubblici Site security Handbook - http://www.faqs.org/rfcs/rfc2196.html Utilizzo costante di alias Funzioni di anonimato offerte dal provider del dominio Sistema di autenticazione forteContromisure per la sicurezza del DNS Caso duso: BIND: upgrade e allow-transfer in named.conf Configurazione di un router/firewall con blocco a connessioni non autorizzare su TCP 53 TSIG – Transaction SIGnature Record HINFO: sconsigliato! Permette di individuare con precisione il sistema operativo usato
  18. 18. Footprinting: contromisure Dallattacco alla difesa Contromisure contro il tracerouting NIDS – Network Intrusion Detection System IPS – Intrusion Prevention System – come Snort - http://www.snort.org/ RotoRouter – www.usseback.com - registra richieste di traceroute in arrivo e genare risposte fasulleE ancora:Configurazione dei router di confine in modo da limitare il traffico ICMP e UDP solo asistemi specifici, al fine di ridurre al minimo lesposizione al pubblico
  19. 19. Scansione: cosè? ”picchiettare” contro le pareti per trovare tutte le porte e le finestre (magari già aperte) tecniche adottate ping sweep tramite: fping → invia in parallelo ping in raound-robin nmap → con lopzione -sP icmpenum → enumerazione ICMP per il rilevamento di sistemi attivi query ICMP tramite: icmpquery icmpush Individuare servizi in esecuzione | ascolto tramite: strobe → cattura il banner di ogni porta TCP udp_scan → come strobe, per UDP … ma genera ”rumore” netcat → larma definitiva nmap → scansione di base per TCP e UDP
  20. 20. Scansione: un particolare caso dusoLo strumento nmap mette a disposizione unaltra funzionalità di scansione così detta”civetta”, pensata per sommergere un sito bersaglio con informazioni superflue, tramitelopzione -D.Queste scansioni civetta vanno lanciate conteporanemante ad una scansione reale,falsificando lindirizzo di origine dei messaggi indicando server legittimi e mescolando aqueste scansioni di disturbo la scansione della porta reale.Il sistema bersaglio risponderà agli indirizzi falsificati e anche alla scansione di porta reale;inoltre, dovrà tenere traccia di tutte le scansioni per determinare quali sono legittime e qualinoATTENZIONE: lindirizzo civetta deve essere un indirizzo valido altrimenti si giunge aduna condizione di indisponibilità del servizio
  21. 21. Scansione: strumenti di rilevamento Cheops - http://cheops-ng.sourceforge.net Strumento onnicompresivo per la mappatura di rete. Integra funzionalità di ping, traceroute, scansione di porte e rilevamento del sistema operativo. Tkined: Integra vari strumenti di gestione della rete per consentire il rilevamento delle reti IP. Estensibile e dotato di GUI. Non consente il rilevamento del SO
  22. 22. Scansione: contromisureDiverse metodologie: Rilevamento: a) firewall e/o proxy ben configurato b) utilizzo massiccio di IDS (Snort, Scanlog, Protolog) Esempio: ecco come Snort evidenzia una scansione di tipo Query ICMP [**] PING-ICMP Timestamp [**] 10/25-22:04:40.535502 192.168.0.2 → 192.168.0.5 ICMP TTL:255 TOS:0X0 ID:4321 TIMESTAP REQUEST Prevenzione: a) disabilitare i servizi non indispensabili [unocchiata al nostro init system non fa male] b) Occorre considerare con attenzione quali tipi di traffico ICMP consentire c) ACL verso specifici indirizzi IP d) uso di pingd: demone userland che gestisce il traffico ICMP a livello host rimuovendo dal kernel il supporto dellelaborazione del suddetto protocollo
  23. 23. Enumerazione: cosè?Esame dettagliato dei servizi identificati, mirato alla ricerca di eventuali punti deboli alfine di valutarne il livello di intrusività.Lenumerazione comporta lutilizzo di connessioni attive verso i sistemi bersaglio e diinterrogazioni dirette, che potrebbero/dovrebbero essere registrate nei file di log (fateviaiutare da logcheck)Tra le informazioni che gli attacker cercano attraverso lenumerazione vi sono Nomi di account utente Risorse condivise mal configurate Vecchie versioni di software con note vulnerabilitàUna volta che il servizio è stato enumerato, solitamente è solo questione di tempo primache lintruso comprometta il sistema in qualche modo, se non del tutto.Chiudendo queste falle, che si riparano facilmente, si elimina il primo appiglio dellattacker
  24. 24. Enumerazione: la tecnicaLe tecniche di enumerazione sono specifiche per singola piattaforma e quindi dipendonofortemente dalle informazioni raccolte tramite footprinting e scansione.Molti software includo scansione ed enumerazione in un unico pacchetto, anche perchè,umanamente, enumerare 65535 porte TCP e UDP potrebbe essere leggermente difficoltoso Gli strumenti telnet www.sito.com 80 → sessioni di login remoto di tipo riga di comando tra host netcat nc [luuuunga lista di opzioni] www.sito.com 80 → comunicazione remota TCP/UDP ftp ftp.sito.com → … ci si diverte quando laccesso è anonimo nslookup → enumerazione del DNS con trasferimento di zona dig @192.168.0.9 sito.com [opzioni] → come nslookup (con qualche dettaglio in più) tftp 192.168.0.9 → ftp senza autenticazione sulla UDP 69 finger [opzioni] @sito.com → nomi utenti, tempi di login e di inattività …. e qualche altro migliaio di comandi!
  25. 25. Enumerazione: contromisureIn pratica … le stesse trattate per la scansione!Particolare attenzione va rivolta verso: Architettura di base del sistema operativo Servizi in esecuzione|ascolto non sicuri Firewall e/o Proxy e ancora … Strumenti di scansione da remoto - https://www.grc.com/x/ne.dll?bh0bkyd2 Elenco e spiegazione sulle porte - http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml
  26. 26. Hacking: cosè?E linsieme dei metodi (conclusivi), delle tecniche e delle operazioni volte a conoscere,accedere e/o modificare un sistema hardware o software.Hacking in 3 macroaree: Hacking del Sistema Operativo Hacking delle infrastrutture Hacking di applicazioni e dati … perdonatemi, sarò breve!
  27. 27. Mappatura delle vulnerabilità Sala server Servizi mal configurati, mancato monitoraggio delle Mancanza di autenticazione Servizi non necessari Password deboli vulenerabilità, directory scrivibili Utenti con eccessivi privilegi Software senza patch o vulnerabile Postazione di lavoro Funzionalità di log/monitoraggio/rilevamento non attive LAN Controllo accessi Mancanza di politiche per la sicurezza mal configurati Router di confine Firewall Router interno Controllo accessi mal configurati LAN Mancanza di politiche per la sicurezza Server accesso remotoUtente mobile/da casa Postazione di lavoro Ufficio periferico Punti di accesso Eccessive politiche di Mancanza di autenticazione Software senza patch o vulnerabile remoto non protetti fiducia Password deboli Utenti con eccessivi privilegi
  28. 28. Strumenti per la messa in sicurezza: limiti e ostacoli Crittografia: scegliamo al meglio il protocollo di codifica Attenzione a: → file temporanei → file cancellati → backup Steganografia: inserire informazioni nascoste allinterno di un file vettore Data hiding: saper nascondere i dati allinterno di un sistema informativo Virtualizzazione: perchè no!? Diavolerie geek: provate ad installare una distro gnu/linux su … ;)
  29. 29. La palestra degli hacker Creata ad-hoc per lo studio della sicurezza del sistema operativo GNU/Linux Contiene volutamente ogni sorta di bug e problema di sicurezza Creata dallInternational Institute for Training, Assessment and Certification (IITAC) e dalSecure Software Engineering (S2E)ATTENZIONE: è INUSABILE (meglio virtualizzare)Le esercitazioni sono divise in 3 macroaree Binary exploitation Web exploitation Reverse code engineering… il premio finale?NB: lo stato di sviluppo di DVL è discontinuo eattualmente il sito di riferimento risulta offline.Si consiglia il download ”per via alternative”
  30. 30. root@host:/# exitNote a margineLe immagini nelle slides 3-7, 13 sono state curate dal International CyberThreat Task Force in occasione del Cyber Threat Summit 2012Riferimenti e contatti:Marco Ferrigno- Security & system independent researcher -- International Cyber Threat Task Force member -- Developer of the Italian Debian GNU/Linux HOWTOs -http://marcoferrigno.wordpress.com Grazie. Best regards :)

×