SlideShare a Scribd company logo
#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 -
root@host:/# intro

PROPEDEUTICITA':
   Nozioni basilari sulle architetture di elaborazione e di rete
   Nozioni basilari sull'utilizzo dei sistemi operativi
   Curiosità e spirito di iniziativa
   Think Evil


COSA IMPAREREMO DA QUESTO TALK:
   Sicurezza dell'informazione. Cos'è?
   Come ragiona un attacker
   Attacco e difesa: casi studio e casi reali
   Limiti e ostacoli
Sicurezza informatica: cos'è?

    Non riguarda solo le grandi aziende
    Non riguarda solo i governi
    …
    Ma i dati di tutti noi




Le nostre informazione (in special modo le
più sensibili) sono memorizzate on-line
in vasta quantità.
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 l'Italia? Detentrice di un triste primato:
                                            manca totalmente di una reale politica
                                            aziendale in fatto di sicurezza
Sicurezza informatica: un'attitudine mentale

   Attacco vs difesa
   … sono davvero inscindibili?
   Black Hat vs White Hat
   … una differenza etica (e non solo)
L'evoluzione 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 all'esperienza del passato. E sarete
  destinati a ripetere i fallimenti del passato.
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
Come ragiona un attacker

Footprinting


Scansione


Enumerazione


Hacking




   … ma prima di esaminare le singole fasi ...
Bersaglio individuato! Un caso di studio
repetita iuvant: Think Evil

Step 1. l'anonimato è fondamentale            il caso Tor (The Onion Router), Freenet e Tails
Step 2. individuare il bersaglio
Step 3. analisi del bersaglio


    ”the swiss army”: nmap

Il 'nostro' caso studio:
L'attacker protagonista del nostro caso studio è particolarmente attratto dalle vulnerabilità sui
server web.


             Utilizzare {motore di ricerca ad personam} !!



intitle:Test.Page.for.Apache ”It worked!” ”this Web site!”
Bersaglio individuato! Un caso di studio
Viene visualizzato un elenco di sistemi che utilizzano l'installazione di default del server web
Apache
#Ora l'attacker conosce:
    Server web (è quello che voleva!)
    Nome di dominio associato
#Cosa vuole:
         L'indirizzo ip corrispondente
#In che modo:
host
oppure
tor-resolve

#Esempio:

user@host:~$ tor-resolve www.casostudio.com
10.10.10.100
Bersaglio individuato! Un caso di studio
Dopo il dovuto footprinting, l'attacker passa ad analizzare il bersaglio tramite una scansione
modus operandi: proxychains feat. nmap

user@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-<--OK

Nmap scan report for 10.10.10.100
Host is up (0.00032s latency).

PORT STATE SERVICE VERSION
21/tcp  open   ftp       PureFTPd
22/tcp  closed ssh
53/tcp  open   domain
80/tcp  open   http      Apache httpd
110/tcp closed pop3
139/tcp closed netbios-ssn
143/tcp closed imap
443/tcp closed https
Bersaglio individuato! Un caso di studio
Una miniera di informazioni che devono essere scremate.

Altro step: l'attacker 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 | socat

user@host:~$ socat TCP4-LISTEN:8080, fork
SOCKS4a:127.0.0.1:10.10.100:80, socksport=9050 &

user@host:~$ nc 127.0.0.1 8080
HEAD / HTTP/1.0

HTTP/1.1 200 OK
Date: Sun, 21 Oct 2012 16:42:48 GMT
Server: Apache/1.3.19 (Unix) (SuSE/Linux) PHP/4.3.4
Last-Modified: Mon, 15 Oct 2012 07:41:30 GMT
ETag:””8549c-304-2deb0e32””
Accept-Rangers: bytes
Content-Length: 773
Connection: close
Content-Type: text/html
Bersaglio individuato! Un caso di studio

In conclusione:


il caso studio trattato ha evidenziato come il web server
trovato sia fermo ad una versione piuttosto vecchia e
vulnerabile … il resto è cosa nota ...
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 – L'arte della guerra)
Footprinting: l'arte di raccogliere informazioni sull'obiettivo a cui si è interessati
Cosa occorre?
    Tecnica
    Pazienza
    Riflessione


Qual'è l'obiettivo?

  Ridurre il bersaglio ad una serie specifica di nomi di dominio, blocchi di rete, sottoreti, router
  e singoli indirizzi IP
Footprinting: informazioni accessibili al pubblico

Caso studio: PMI (… e non solo). Elementi ”utili” ed eventuali azioni da compiere
    Pagine web aziendali → mirroring (uso di wget) dell'intero 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 ...
Footprinting: informazioni accessibili al pubblico

Caso 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 all'altro

    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
    …
Footprinting: contromisure
Dall'attacco alla difesa

Contromisure 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 forte


Contromisure per la sicurezza del DNS
    Caso d'uso: 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
Footprinting: contromisure
 Dall'attacco 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 fasulle


E ancora:
Configurazione dei router di confine in modo da limitare il traffico ICMP e UDP solo a
sistemi specifici, al fine di ridurre al minimo l'esposizione al pubblico
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 l'opzione -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 → l'arma definitiva
   nmap → scansione di base per TCP e UDP
Scansione: un particolare caso d'uso

Lo strumento nmap mette a disposizione un'altra funzionalità di scansione così detta
”civetta”, pensata per sommergere un sito bersaglio con informazioni superflue, tramite
l'opzione -D.

Queste scansioni civetta vanno lanciate conteporanemante ad una scansione reale,
falsificando l'indirizzo di origine dei messaggi indicando server legittimi e mescolando a
queste 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 quali
no


ATTENZIONE: l'indirizzo civetta deve essere un indirizzo valido altrimenti si giunge ad
una condizione di indisponibilità del servizio
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
Scansione: contromisure

Diverse 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 [un'occhiata 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 dell'elaborazione del suddetto protocollo
Enumerazione: cos'è?

Esame dettagliato dei servizi identificati, mirato alla ricerca di eventuali punti deboli al
fine di valutarne il livello di intrusività.


L'enumerazione comporta l'utilizzo di connessioni attive verso i sistemi bersaglio e di
interrogazioni dirette, che potrebbero/dovrebbero essere registrate nei file di log (fatevi
aiutare da logcheck)


Tra le informazioni che gli attacker cercano attraverso l'enumerazione 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 prima
che l'intruso comprometta il sistema in qualche modo, se non del tutto.

Chiudendo queste falle, che si riparano facilmente, si elimina il primo appiglio dell'attacker
Enumerazione: la tecnica

Le tecniche di enumerazione sono specifiche per singola piattaforma e quindi dipendono
fortemente 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 l'accesso è 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!
Enumerazione: contromisure

In 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
Hacking: cos'è?

E' l'insieme 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!
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 remoto
Utente 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
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 all'interno di un file vettore
   Data hiding: saper nascondere i dati all'interno di un sistema informativo
   Virtualizzazione: perchè no!?
   Diavolerie geek: provate ad installare una distro gnu/linux su … ;)
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 dall'International Institute for Training, Assessment and Certification (IITAC) e dal
Secure 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 e
attualmente il sito di riferimento risulta offline.
Si consiglia il download ”per via alternative”
root@host:/# exit
Note a margine

Le immagini nelle slides 3-7, 13 sono state curate dal International Cyber
Threat Task Force in occasione del Cyber Threat Summit 2012



Riferimenti 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 :)

More Related Content

PDF
La complessità del malware: analisi strutturale ed ambienti di sviluppo
ODP
Cyber Forensics - Acquisizione e analisi dei dati
PDF
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open source
PDF
Linux Security Hardening - panoramica sui principi generali per la riduzione...
ODP
Il tuo router è sicuro?!
PDF
Digital Forensics: metodologie analisi multipiattaforma
PDF
Data hiding - metodologie e strumenti open source
PDF
Understanding Linux: 20 anni di kernel tra storia e tecnica
La complessità del malware: analisi strutturale ed ambienti di sviluppo
Cyber Forensics - Acquisizione e analisi dei dati
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open source
Linux Security Hardening - panoramica sui principi generali per la riduzione...
Il tuo router è sicuro?!
Digital Forensics: metodologie analisi multipiattaforma
Data hiding - metodologie e strumenti open source
Understanding Linux: 20 anni di kernel tra storia e tecnica

What's hot (20)

PDF
PIT2012: Workshop@UniNA - Compilazione del Kernel Linux
ODP
Free software & Open Source (FLOSS)
ODP
Attacchi e difese
PDF
Data Hiding
PDF
Introduzione all'Information Gathering
PDF
Scacco matto ai crytpo malware (milano)
PDF
Heartbleed - OpenSSL Bug
PDF
BlueSecurity: quando il dente fa male!
PDF
(in)Sicurezze delle reti wireless 802.11b
PDF
Sicurezza e protezione dati su raspberry
PDF
Hardening
PDF
Simulazione di un Penetration Test
PDF
Seminario crittografia-linux-day-2004
PDF
Il venerdì nero di wannacry
PDF
Le fasi di un Penetration testing
PDF
introduzione_a_pfSense
PDF
Il Ransomware nelle Aziende - Eset Security Days 2016
PDF
NFC: Tecnologia e Sicurezza
PDF
PfSense Cluster
PIT2012: Workshop@UniNA - Compilazione del Kernel Linux
Free software & Open Source (FLOSS)
Attacchi e difese
Data Hiding
Introduzione all'Information Gathering
Scacco matto ai crytpo malware (milano)
Heartbleed - OpenSSL Bug
BlueSecurity: quando il dente fa male!
(in)Sicurezze delle reti wireless 802.11b
Sicurezza e protezione dati su raspberry
Hardening
Simulazione di un Penetration Test
Seminario crittografia-linux-day-2004
Il venerdì nero di wannacry
Le fasi di un Penetration testing
introduzione_a_pfSense
Il Ransomware nelle Aziende - Eset Security Days 2016
NFC: Tecnologia e Sicurezza
PfSense Cluster

Viewers also liked (16)

PDF
Crittografia è sinonimo di sicurezza?
PPT
Codemotion 2012: una nuova crittografia frattale - classe Crypt::FNA
ODP
Da Cesare ai quanti - Workshop@UNINA - NaLUG - Crittografia - polialfabetici ...
PPT
Reti di Calcolatori - Crittografia
PDF
MODULO 14 --> La crittografia delle informazioni
ODP
Principi di crittografia
PDF
Reporter
PDF
Valda Quizzy
PDF
Spy game
PPTX
Cyber-Crime: i cyber-attacchi più diffusi
PDF
Crimini Informatici 2012
PDF
Nuove minacce nella Cyber Security, come proteggersi
ODP
Reati Informatici e Investigazioni Digitali
PPT
Malware Analysis
PDF
Operazioni mirate e malware di Stato nell'era della guerra cibernetica e del ...
PDF
La Cyber Security spiegata al capo.
Crittografia è sinonimo di sicurezza?
Codemotion 2012: una nuova crittografia frattale - classe Crypt::FNA
Da Cesare ai quanti - Workshop@UNINA - NaLUG - Crittografia - polialfabetici ...
Reti di Calcolatori - Crittografia
MODULO 14 --> La crittografia delle informazioni
Principi di crittografia
Reporter
Valda Quizzy
Spy game
Cyber-Crime: i cyber-attacchi più diffusi
Crimini Informatici 2012
Nuove minacce nella Cyber Security, come proteggersi
Reati Informatici e Investigazioni Digitali
Malware Analysis
Operazioni mirate e malware di Stato nell'era della guerra cibernetica e del ...
La Cyber Security spiegata al capo.

Similar to Security and hacking engineering - metodologie di attacco e difesa con strumenti open source (20)

PDF
Security and hacking Engineering
PPTX
CCI2018 - Ethical Hacking, gli step di un attacco e le contromisure
PPT
Guardigli Sicurezza Nell Informatica Aziendale 3 4 Nov 2005
PDF
Seminario di informatica 2
ODP
Sicurezza Informatica Nelle Aziende Installfest2007
PDF
Hackers vs developers: dalla parte degli sviluppatori web, mobile e non solo,...
PPT
Luca Mercatanti - Marketing Camp 3 - Innovative Day all'interno di Innovation...
PDF
Information Gathering
PDF
Smau Milano 2019 Luca Bonadimani (AIPSI)
PPT
Security Accademy - seminario sulla sicurezza online
PDF
Wardriving Milano
PPTX
Isab informatica strategie di Cyber Security
PDF
Security by design: la cyber security per un progetto innovativo
 
PPT
BYTE Engineering Services presentation
ODP
Web Application Insecurity Uncensored
PDF
La sicurezza delle informazioni nell’era del Web 2.0
PDF
I lesson.pdf
PPTX
Cybersecurity & AI: Illusioni e Speranze
PPTX
ADACI Cantina Soave - Luca Moroni CSA
PDF
Evento Xenesys - Security Conference
Security and hacking Engineering
CCI2018 - Ethical Hacking, gli step di un attacco e le contromisure
Guardigli Sicurezza Nell Informatica Aziendale 3 4 Nov 2005
Seminario di informatica 2
Sicurezza Informatica Nelle Aziende Installfest2007
Hackers vs developers: dalla parte degli sviluppatori web, mobile e non solo,...
Luca Mercatanti - Marketing Camp 3 - Innovative Day all'interno di Innovation...
Information Gathering
Smau Milano 2019 Luca Bonadimani (AIPSI)
Security Accademy - seminario sulla sicurezza online
Wardriving Milano
Isab informatica strategie di Cyber Security
Security by design: la cyber security per un progetto innovativo
 
BYTE Engineering Services presentation
Web Application Insecurity Uncensored
La sicurezza delle informazioni nell’era del Web 2.0
I lesson.pdf
Cybersecurity & AI: Illusioni e Speranze
ADACI Cantina Soave - Luca Moroni CSA
Evento Xenesys - Security Conference

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

  • 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. root@host:/# intro PROPEDEUTICITA': Nozioni basilari sulle architetture di elaborazione e di rete Nozioni basilari sull'utilizzo dei sistemi operativi Curiosità e spirito di iniziativa Think Evil COSA IMPAREREMO DA QUESTO TALK: Sicurezza dell'informazione. Cos'è? Come ragiona un attacker Attacco e difesa: casi studio e casi reali Limiti e ostacoli
  • 3. Sicurezza informatica: cos'è? Non riguarda solo le grandi aziende Non riguarda solo i governi … Ma i dati di tutti noi Le nostre informazione (in special modo le più sensibili) sono memorizzate on-line in vasta quantità.
  • 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 l'Italia? Detentrice di un triste primato: manca totalmente di una reale politica aziendale in fatto di sicurezza
  • 5. Sicurezza informatica: un'attitudine mentale Attacco vs difesa … sono davvero inscindibili? Black Hat vs White Hat … una differenza etica (e non solo)
  • 6. L'evoluzione 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 all'esperienza del passato. E sarete destinati a ripetere i fallimenti del passato.
  • 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. Come ragiona un attacker Footprinting Scansione Enumerazione Hacking … ma prima di esaminare le singole fasi ...
  • 9. Bersaglio individuato! Un caso di studio repetita iuvant: Think Evil Step 1. l'anonimato è fondamentale il caso Tor (The Onion Router), Freenet e Tails Step 2. individuare il bersaglio Step 3. analisi del bersaglio ”the swiss army”: nmap Il 'nostro' caso studio: L'attacker protagonista del nostro caso studio è particolarmente attratto dalle vulnerabilità sui server web. Utilizzare {motore di ricerca ad personam} !! intitle:Test.Page.for.Apache ”It worked!” ”this Web site!”
  • 10. Bersaglio individuato! Un caso di studio Viene visualizzato un elenco di sistemi che utilizzano l'installazione di default del server web Apache #Ora l'attacker conosce: Server web (è quello che voleva!) Nome di dominio associato #Cosa vuole: L'indirizzo ip corrispondente #In che modo: host oppure tor-resolve #Esempio: user@host:~$ tor-resolve www.casostudio.com 10.10.10.100
  • 11. Bersaglio individuato! Un caso di studio Dopo il dovuto footprinting, l'attacker passa ad analizzare il bersaglio tramite una scansione modus operandi: proxychains feat. nmap user@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-<--OK Nmap scan report for 10.10.10.100 Host is up (0.00032s latency). PORT STATE SERVICE VERSION 21/tcp open ftp PureFTPd 22/tcp closed ssh 53/tcp open domain 80/tcp open http Apache httpd 110/tcp closed pop3 139/tcp closed netbios-ssn 143/tcp closed imap 443/tcp closed https
  • 12. Bersaglio individuato! Un caso di studio Una miniera di informazioni che devono essere scremate. Altro step: l'attacker 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 | socat user@host:~$ socat TCP4-LISTEN:8080, fork SOCKS4a:127.0.0.1:10.10.100:80, socksport=9050 & user@host:~$ nc 127.0.0.1 8080 HEAD / HTTP/1.0 HTTP/1.1 200 OK Date: Sun, 21 Oct 2012 16:42:48 GMT Server: Apache/1.3.19 (Unix) (SuSE/Linux) PHP/4.3.4 Last-Modified: Mon, 15 Oct 2012 07:41:30 GMT ETag:””8549c-304-2deb0e32”” Accept-Rangers: bytes Content-Length: 773 Connection: close Content-Type: text/html
  • 13. Bersaglio individuato! Un caso di studio In conclusione: il caso studio trattato ha evidenziato come il web server trovato sia fermo ad una versione piuttosto vecchia e vulnerabile … il resto è cosa nota ...
  • 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 – L'arte della guerra) Footprinting: l'arte di raccogliere informazioni sull'obiettivo a cui si è interessati Cosa occorre? Tecnica Pazienza Riflessione Qual'è l'obiettivo? Ridurre il bersaglio ad una serie specifica di nomi di dominio, blocchi di rete, sottoreti, router e singoli indirizzi IP
  • 15. Footprinting: informazioni accessibili al pubblico Caso studio: PMI (… e non solo). Elementi ”utili” ed eventuali azioni da compiere Pagine web aziendali → mirroring (uso di wget) dell'intero 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. Footprinting: informazioni accessibili al pubblico Caso 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 all'altro 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. Footprinting: contromisure Dall'attacco alla difesa Contromisure 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 forte Contromisure per la sicurezza del DNS Caso d'uso: 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. Footprinting: contromisure Dall'attacco 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 fasulle E ancora: Configurazione dei router di confine in modo da limitare il traffico ICMP e UDP solo a sistemi specifici, al fine di ridurre al minimo l'esposizione al pubblico
  • 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 l'opzione -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 → l'arma definitiva nmap → scansione di base per TCP e UDP
  • 20. Scansione: un particolare caso d'uso Lo strumento nmap mette a disposizione un'altra funzionalità di scansione così detta ”civetta”, pensata per sommergere un sito bersaglio con informazioni superflue, tramite l'opzione -D. Queste scansioni civetta vanno lanciate conteporanemante ad una scansione reale, falsificando l'indirizzo di origine dei messaggi indicando server legittimi e mescolando a queste 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 quali no ATTENZIONE: l'indirizzo civetta deve essere un indirizzo valido altrimenti si giunge ad una condizione di indisponibilità del servizio
  • 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. Scansione: contromisure Diverse 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 [un'occhiata 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 dell'elaborazione del suddetto protocollo
  • 23. Enumerazione: cos'è? Esame dettagliato dei servizi identificati, mirato alla ricerca di eventuali punti deboli al fine di valutarne il livello di intrusività. L'enumerazione comporta l'utilizzo di connessioni attive verso i sistemi bersaglio e di interrogazioni dirette, che potrebbero/dovrebbero essere registrate nei file di log (fatevi aiutare da logcheck) Tra le informazioni che gli attacker cercano attraverso l'enumerazione 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 prima che l'intruso comprometta il sistema in qualche modo, se non del tutto. Chiudendo queste falle, che si riparano facilmente, si elimina il primo appiglio dell'attacker
  • 24. Enumerazione: la tecnica Le tecniche di enumerazione sono specifiche per singola piattaforma e quindi dipendono fortemente 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 l'accesso è 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. Enumerazione: contromisure In 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. Hacking: cos'è? E' l'insieme 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. 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 remoto Utente 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. 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 all'interno di un file vettore Data hiding: saper nascondere i dati all'interno di un sistema informativo Virtualizzazione: perchè no!? Diavolerie geek: provate ad installare una distro gnu/linux su … ;)
  • 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 dall'International Institute for Training, Assessment and Certification (IITAC) e dal Secure 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 e attualmente il sito di riferimento risulta offline. Si consiglia il download ”per via alternative”
  • 30. root@host:/# exit Note a margine Le immagini nelle slides 3-7, 13 sono state curate dal International Cyber Threat Task Force in occasione del Cyber Threat Summit 2012 Riferimenti 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 :)