Introduzione all’Hacking Etico
Panoramica sull’ Information SecurityClicca per leggere
I numeri di oggi
• Nel mondo, ci sono 4.72 miliardi di utenti
• 92.8% si connettono ad internet tramite dispositivi mobili
• In media una persona trascorre su internet 6 ore e 56 minuti al giorno
• Ci sono più di 1.86 miliardi di siti internet.
|
|
I dati sono diventati le risorse più vulnerabili
|
|
• Gli hacker attaccano ogni 39 secondi
• 70 milioni di telefoni vengono rubati ogni anno
• Un crimine digitale è costato $3.5 miliardi alle aziende statunitensi nel 2021
• 26 oggetti ‘smart’ si trovano vicino a ciascuna persona sulla terra
|
|
|
|
Il contesto di oggi
• Sempre più aziende tendono a far affidamento sull’IT
• La complessità dei sistemi IT aumenta costantemente
• I numeri degli attacchi digitali stanno aumentando
|
|
Minacce e conseguenze di questo nuovo contesto!
|
|
• Fuga di dati
• Siti web vulnerabili
• Attacchi Malware (ransomware)
• Accessi non autorizzati
• Attacchi di social engineering (phishing)
• Avanzate minacce persistenti
|
|
• Perdita monetaria
• Risorse sprecate/produttività ridotta
• Immagine aziendale danneggiata e contenziosi
|
Che cosa significa Security IT?
• Riservatezza
Accesso alle informazioni per conoscere le basi
• Integrità
Dati non alterati accidentalmente o con accessi non autorizzati
• Disponibilità
Accesso ininterrotto alle informazioni
• Autenticità
La qualità dei dati, comunicazione o documenti autentici
• Non- disconoscimento
Garantire che il mittente non possa successivamente negare di aver inviato il messaggio e che il destinatario non possa negare di averlo ricevuto
|
|
|
Il concetto di HackingClicca per leggere
RISCHIO = Vulnerabilità* Probabilità * Impatto
|
Termini
|
|
• Hack Value
qualcosa che vale la pena fare/hackerare
• Vulnerabilità
una debolezza, un errore di progettazione o di implementazione che può portare a un evento imprevisto, compromettendo
l’integrità del sistema
• Sfruttamento
una violazione del sistema di sicurezza IT realizzata sfruttando una sua vulnerabilità
• Payload
parte del codice di sfruttamento da cui si origina l’azione dannosa
• Attacco Zero- day
un attacco che sfrutta le vulnerabilità delle applicazioni informatiche prima che lo sviluppatore rilasci un patch per sistemarle
• Botun
software che può essere controllato da remote per eseguire o automatizzare attività predefinite
Tipi di hacker
|
|
• Cappello bianco – analista di sicurezza o hacker etico
• Cappello grigio – individui che lavorano sia in buona che in cattiva fede a seconda degli interessi
• Cappello nero– svolgono attività dannose e sitruttive, sono conosciuti anche come ‘cracker’
• Hacker suicidi– individui a cui non fa paura andare in prigione, ma vogliono raggiungere l’obiettivo a tutti i costi
• Script Kiddies – hacker non qualificati che eseguono script ed utilizzano strumenti sviluppati da altri senza capire come funzionano
• Terroristi digitali e Crimine organizzato- spinti da obiettivi finanziari e interessi politici, attuano attacchi su larga scala
• Hacker statali– individui impiegati dal governo
• Hacktivists – individui che diffondono le loro idee politiche
|
Elementi di Information SecurityClicca per leggere
Attacchi = Motivo (Obiettivo) + Metodo (Vettore) + Vulnerabilità
Gli attacchi sono costituiti da: un motivo, un metodo, una vulnerabilità. Ecco un esempio:
Motivi (Obiettivi)
• Interrompere la continuità delle attività
• Furto di informazioni e manipolazione dei dati
• Perdita finanziaria dell’obiettivo target
• Guadagno personale o finanziario
• Vendetta
• Diffusione di convinzioni religiose e politiche
• Obiettivi statali o militari
|
|
|
|
Metodi (Vettori)
•Cloud computing
• Virus e Worms, Botnets
•Ransomware
• Minacce mobili
•Phishing
• Minacce delle app
• Minacce IoT
|
Vulnerabilità
Ci sono diverse tipologie di vulnerabilità che possono essere sfruttate dagli hacker:
•Vulnerabilità della rete
Ci sono problemi nell’hardware o nel software di una rete che la espongono a potenziali attacchi
•Vulnerabilità del sistema operativo
Ci sono vulnerabilità all’interno di uno specifico sistema operativo che danno la possibilità agli hacker di accedere senza autorizzazione ai device in cui quest’ultimo è installato, causando danni
•Vulnerabilità umane
L’anello debole per realizzare attacchi informatici restano sempre le persone
•Vulnerabilità di processo
Alcune vulnerabilità possono essere create da specifici controlli di processo (o da una loro mancanza)
Raccolta di informazioni
Prospettiva del targetClicca per leggere
Quali sono i possibili target di un attacco?
• Visione di sistema
Tecnologie, device, sistemi operativi
• Visioni logiche/funzionali
Finalità di sistema/device (presentazioni web, ERP, etc.)
• Visione fisica
Headquarter, ubicazione delle attrezzature
• Visione temporale
Giornate e orari lavorativi
|
|
|
|
• Visione sociale
Informazioni sugli impiegati
• Visione del ciclo di vita
Le fasi di un processo aziendale
• Visione delle conseguenze
Se un evento scatena un altro evento (Cosa succede se entri in un edificio senza autorizzazione – chiamano la polizia?)
|
Informazioni sul targetClicca per leggere
Where can information about the target be found?
|
|
• Nome dell’azienda
• Sito web aziendale
• Ubicazione fisica
• Il nome di alcuni impiegati
• Indirizzi IP
• Ricerche attraverso i motori di ricerca
• Visione di database pubblici: Whois, DNS
• Social Networks: Facebook/Meta, Linkedin, Twitter, etc.
• Social engineering
|
|
Altre fontiClicca per leggere
• Google, Yahoo, and Bing sono usati per gli utenti USA e UE, per le località e i dati, mentre Bing è usato per i target cinesi.
• Gli operatori dovrebbero imparare ad utilizzare tutti i motori di ricerca e le loro variazioni territoriali.
Dati focalizzati: la maggior parte dei motori di ricerca non-US raccoglie e memorizza i dati, principalmente o esclusivamente, della propria regione o Paese. Si possono trovare dati su Yandex e non su Google.com
• Selettività della lingua: i motori di ricerca internazionali devono offrire la possibilità di cercare informazioni nella lingua nativa dei singoli Paesi. Inoltre, se la query è impostata in caratteri non latini, i risultati sono più efficienti.
Scanning, Enumerazione
Network scanning, enumerazione dei concettiClicca per leggere
Network Scanning
- Identificazione attiva del sistema, porte aperte, servizi, regole del firewall, etc.
- Analisi del livello di rete (scansione della rete)/ Sistema (scansione porta)
Enumerazione
- Determinare gli account degli utenti, cartelle condivise, etc.
- Interrogatorio diretto: connessioni attive
|
|
|
|
|
|
|
|
Attività che implicano interazioni con il target
- Molte richieste per ottenere diverse tipologie di informazioni
- Live hosts, Porte Aperte, Versione del servizio in esecuzione
- Sistema Operativo, Reti Condivise, Utenti Locali
- Dipende da dove si esegue la scansione (fuori o dentro al network)
|
Strumenti di ScanningClicca per leggere
• ARP Ping - Individua esclusivamente gli obiettivi nelle reti locali (LAN)
• TCP Connect - Metodo semplice e veloce per creare connessioni TPC complete
• OS Fingerprinting
Fingerprinting passivo: Analizza i pacchetti catturati da una macchina- Precisione bassa
Fingerprinting attivo: Invia i pacchetti al target per vedere come reagisce- Precisione alta
• Banner Grabbing - Molti servizi ‘si presentano’ quando ci colleghiamo
Spidering dei concettiClicca per leggere
• Quando si attacca un’applicazione, la prima cosa da fare è raccogliere e analizzare le informazioni chiave su di essa in modo da capire a cosa si sta andando incontro
• L’esercizio di mappatura vero e proprio inizia quando si elencano i contenuti e la funzionalità dell’applicazione per capire come si comporta.
• La maggior parte di queste funzionalità sono semplici da identificare, ma alcune di queste possono essere nascoste, e scoprirle richiede congetture e anche fortuna.
|
•Tipologie di spidering:
Automatizzato: usando strumenti (Burp, Paros Proxy, etc.)
Diretto dall’utente: sia manuale che automatizzato
|
|
System Hacking
ConcettiClicca per leggere
Lo Sfruttamento è un software programmato o uno script che può permettere agli hacker di prendere il controllo di un Sistema, sfruttandone le vulnerabilità.
Sfruttamento = Payload + Vulnerabilità
• Payload – il codice da eseguire dopo l’attivazione della vulnerabilità, scritto come Assembly Language (ASM)
• Is dipendenti dalla piattaforma- sfruttamenti speciali per Window, altri per Linox, Android, Mac OS, etc
• Differenti tipi di payload
• Esegue un programma o un comando da un sistema remoto
• Scaricare/caricare un file da un URL da eseguire
• Aggiungere l’utente agli account di sistema
• shell – fornire una shell interattiva (Bind shell vs Reverse shell)
Cracking delle passwordClicca per leggere
• La password è il sistema di autenticazione più utilizzato
• Le passwords sono vulnerabili a certi tipi di attacchi
• Il furto di identità è il crimine informatico con il più alto tasso di crescita
• Quando un utente inserisce una password, il suo hash è calcoltao e confrontato con quello memorizzato nel database
• Se i due valori sono identitci, l’utente è autenticato
• Salting – l’inserimento di un valore casuale nel processo di elaborazione degli hash – aumento della sicurezza
• Tale valore (salt) viene memorizzato insieme al valore di hash nel database
• Se due utenti hanno la stessa password, queste saranno rappresentate nel database con differenti valori cifrati (a casua del valore salt diverso)
Tipi di attacchi alle passwordClicca per leggere
Qual è la differenza tra attacco online e offline alle password?
La differenza tra un attacco online o offline alla password potrebbe essere ciò che preserva il tuo account dall’essere hackerato e la tua organizzazione dall’essere violata.
• Online
Brute Force
Facile da scoprire
• Offline
Implica l’acquisizione dei valori di hash memorizzati localmente o trasmessi attraverso la rete
Richiede l’accesso al sistema
Network sniffing – Utilizzo di strumenti che identificano i pacchetti di rete ricevuti e trasmessi, che possono essere copiati offline e ispezionati per essere facilmente identificati dall’hacker.
Minacce Malware
Significato di MalwareClicca per leggere
•I Malware sono codici sviluppati generalmente dai cybercriminali, progettati per causare danni estesi a dati e sistemi e per ottenere l’accesso non autorizzato ad una rete.
• I Malware sono generalmente inviati sottoforma di link o file per email e, per essere attivati, è necessario che l’utente ci clicchi sopra.
• I Malware sono una minaccia per gli individui e le organizzazioni fin dai primi anni 70 quando il virus Creeper apparse per la prima volta. Da quell momento, il mondo è stato attaccato da centinaia di migliaia di differenti varianti di malware, ma con il comune intento di causare quanti più danni possibili.
Significato di programma pericolosoClicca per leggere
Programma pericoloso
• Esistono tre categorie: Trojans e rootkits, Viruses, Worms
• Un virus per computer può contenere altri file
• Tuttavia, i virus possono attaccare l’esterno della macchina solo con l’assistenza di un utente
Malware testing
http://www.virustotal.com
|
|
• Un servizio che analizza file sospetti e facilita l’identificazione dei virus, worms, Trojans e qualsiasi altro tipo di malware
• Servizio gratuito e indipendente
• Un servizio che analizza file sospetti e facilita l’identificazione dei virus, worms, Trojans e qualsiasi altro tipo di malware
|
Azioni potenzialmente pericolose possono essere:
• Tentativo di apertura, visualizzazione, cancellazione, modifica dei files
• Tentativo di formattare l’unità del disco, etc.
• Modifica delle impostazioni di Sistema (start-up, etc.)
• Avvio della comunicazione di rete, etc.
|
|
Monitoraggio e rilevamento dei Worm su Internet
• La velocità è un aspetto cruciale:
SQL Slammer worm, apparso a Gennaio 2003, ha infettato il 90% dei computer più vulnerabili che navigano in internet in meno di 10 minuti;
Un attacco worm di successo di solito impiega pochi giorni per infettare centinaia di migliaia di PC (Code Red, Nimda, Blaster, etc.);
• Finalità: Rilevamento precoce
|
ContromisureClicca per leggere
• Installa software antivirus che scoprono e rimuovono le infezioni non appena appaiono
• Fai attenzione alle istruzioni quando scarichi i files o qualsiasi altro programma su Internet
• Aggiorna il software antivurus il più spesso possibile
|
• Programma scansioni regolari di tutti i driver
• Integra il sistema operativo del sistema ospite e monitora il comportamento del programma in tempo reale contro le azioni pericolose
• Blocca potenziali azioni dannose prima che infettino il sistema
|
|
Sniffing e Session Hijacking
Concetto di SniffingClicca per leggere
• Un pacchetto sniffer rappresenta un sistema con una scheda di interfaccia di rete che opera in modalità promiscua/monitor e cattura pacchetti di rete in tempo reale.
• Usato per:
Problemi nella risoluzione dei problemi (inclusi quelli sulla sicurezza) e analisi della rete
Registrazione della rete per analisi future (forense)
Strumento di hacking per l’intercettazione di nome utente e password
|
|
Strumenti di SniffingClicca per leggere
Di seguito, vi proponiamo gli strumenti di sniffing più utilizzati. Inoltre, è possibile vedere su quali sistemi operativi possono essere utilizzati.
|
tcpdump (http://www.tcpdump.org)
• Piattaforma Unix
• Utility e riga di comando
WinDump (http://www.winpcap.org/windump/)
• tcpdump versione Window
Ethereal / Wireshark (http://www.wireshark.org/)
• Ha un’interfaccia grafica
|
|
Sessione di hijackingClicca per leggere
Concetto
• Utilizzo di una sessione informatica valida per ottenere l’accesso non autorizzato a informazioni o servizi in un sistema tramite protocolli TCP/UDP
|
Metodi
• Stabilimento di una sessione
Si verifica quando l’aggressore imposta un identificativo di sessione ad un utente a lui noto, ad esempio tramite un’email, e aspetta che quest’ultimo la apra
• Sessione sidejacking
Si verifica quando l’aggressore utilizza pacchetti sniffer per leggere il traffico di rete e rubare la sessione cookie
• Cross-site scripting
Si verifica quando l’aggressore inganna il PC dell’utente facendogli credere di star eseguendo codici che appartengono al suo server, così da ottenere una copia dei cookie o realizzare altre operazioni dannose.
• Malware e programmi non voluti
Si verifica quando l’aggressore riesce ad utilizzare un browser hijacking per rubare i file cookie senza che l’utente se ne accorga, e quindi eseguire azioni (come installare applicazioni Android) senza il suo permesso
• Brute-forcing delle informazioni di sessione (Es. Telnet, or cookie values over HTTP(S))
|
|
|
|
|
|