Il 0% ha trovato utile questo documento (0 voti)
22 visualizzazioni11 pagine

Domande Risposte EHL

Il documento fornisce una panoramica su asset, vulnerabilità e rischi nel contesto della sicurezza informatica, spiegando la differenza tra exploit, threat e vulnerabilità. Descrive anche il ciclo di vita degli attacchi informatici e le fasi di reconnaissance, evidenziando le tecniche attive e passive per la raccolta di informazioni. Infine, discute il Vulnerability Assessment (VA) come metodo sistematico per identificare vulnerabilità, sottolineando l'importanza di combinare VA con Penetration Testing (PT) per una valutazione completa della sicurezza.

Caricato da

giuseppe.campa97
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
22 visualizzazioni11 pagine

Domande Risposte EHL

Il documento fornisce una panoramica su asset, vulnerabilità e rischi nel contesto della sicurezza informatica, spiegando la differenza tra exploit, threat e vulnerabilità. Descrive anche il ciclo di vita degli attacchi informatici e le fasi di reconnaissance, evidenziando le tecniche attive e passive per la raccolta di informazioni. Infine, discute il Vulnerability Assessment (VA) come metodo sistematico per identificare vulnerabilità, sottolineando l'importanza di combinare VA con Penetration Testing (PT) per una valutazione completa della sicurezza.

Caricato da

giuseppe.campa97
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd

Domande-Risposte EHL

01_introduction_new

• Cos’è un Asset?
o Un asset è un qualsiasi dato, device, servizio o sistema informativo di proprietà di
un’organizzazione che dovrebbe essere protetto da chiunque non sia autorizzato ad accedervi.

• Cos’è una Vulnerabilità?


o Una vulnerabilità è una debolezza o difetto di un asset che può essere utilizzata per ottenere
un accesso non autorizzato all’asset stesso. La compromissione di una vulnerabilità può
portare a manipolazione dei dati, escalation dei privilegi, ecc. Avere una vulnerabilità, inoltre,
non vuol dire che si è stati attaccati o che per forza si debba essere attaccati, piuttosto, che si
ha una certa probabilità di essere attaccati.

• Cos’è un Risk?
o Un Risk è il danno provocato dalla compromissione di un asset. Nello specifico, rappresenta
una stima del danno che si potrebbe subire se l’asset venisse violato dal Threat che sfrutta un
exploit che a sua volta sfrutta una vulnerabilità. Inoltre, l’analisi del rischio è molto importante
e permette di effettuare una prioritizzazione, decidendo quali rischi trattare, quali posporre e
quali accettare (Risk = Threat x Vulnerabilities x Impact)

• Differenza tra Exploit, Threat e Vulnerabilità.


o Un Threat rappresenta un possibile pericolo nei confronti del sistema causato dallo
sfruttamento di una vulnerabilità. Un Exploit è un qualcosa che si avvantaggia di una
vulnerabilità in un asset per causare comportamenti inattesi in un sistema, che permettono ad
un attaccante di ottenere accesso a dati o informazioni. Una Vulnerabilità è una debolezza o
difetto di un asset che può essere utilizzata per ottenere un accesso non autorizzato all’asset
stesso. Riassumendo, un asset può essere violato da una possibile minaccia (Threat), che
sfrutta un exploit, che a sua volta sfrutta una vulnerabilità.

• Differenza tra PT e VA.


o Un Penetration Test (PT) è un’attività invasiva ed intrusiva (che necessita quindi di un contratto
di Pre-Engagement con la controparte all’interno del quale sono stabilite le rules of
engagement, ovvero, le regole che stabiliscono dove il Pen Tester deve fermarsi per non recare
danni; in queste rules of engagement si definiscono le metodologie, l’intervallo di tempo, gli
scopi e le responsabilità) che tenta di sfruttare le vulnerabilità che possono essere exploitate
(previa identificazione delle stesse mediante VA che è il punto di partenza di un PT) per entrare
nel sistema di un’organizzazione al fine di testare la sicurezza dell’organizzazione stessa per
capire quale è il possibile danno se non si sanano le vulnerabilità. Un Vulnerability Assessment
(VA), invece, è un’attività non trasparente ma lecita, di tipo sistematico e non invasiva che
restituisce in output la lista delle vulnerabilità degli asset di un’organizzazione. Per far ciò si
esegue un’interrogazione sistematica mediante delle query per poi, sulla base di queste
informazioni, interrogare un database pubblico delle vulnerabilità note e produrre un report
relativo. Inoltre, è importante ricordare che non tutto ciò che è presente nel report di un VA è
sfruttabile ai fini di un attacco in quanto un VA non tiene conto di tutti i sistemi di sicurezza
sfruttabili a livello di rete che potrebbero bloccare il tentativo malevolo di sfruttare una di
quelle vulnerabilità. Per questo motivo, oltre al VA è necessario eseguire un PT.
• Descrivere le categorie di PT (Black Box, White Box, Gray Box).
o Black Box PT  PT in cui il Pen Tester non ha nessuna o poche informazioni (fornite
dall’organizzazione) su quelli che sono gli asset. Per cui è più complicato.
o White Box PT  PT in cui il Pen Tester ha tutte le informazioni possibili sull’organizzazione.
o Gray Box PT  PT in cui il Pen Tester ha solo alcune informazioni fornite dall’organizzazione.

02_Cyber‐Attack Lifecycle

• Descrivere come funziona il ciclo di vita degli attacchi.


o Il ciclo di vita degli attacchi è una sequenza di eventi che un attaccante deve effettuare per
infiltrarsi all’interno di una rete (si ricordi che la cyber security è un campo di battaglia
asimmetrico per cui basta bloccare l’attaccante in una singola fase per respingerlo, tuttavia,
l’attaccante deve fare tutto correttamente per avere successo). Tale modellazione è nata dalla
necessità di rappresentare univocamente gli attacchi (malware, virus…) data la crescita
esponenziale degli stessi non più gestibile mediante sistemi di check dell’hash relativo ecc…
(Norton e vecchi antivirus). Infatti, una volta modellato il ciclo, qualsiasi operazione che
rientrasse all’interno di essa poteva essere definita come malware e identificata molto più
facilmente. Le fasi da cui esso è composto, sono suddivise come segue:
 Accesso Non Autorizzato
• Reconnaissance: consiste nell’analisi dell’asset obiettivo (tramite VA ecc…) ed
è una fase necessaria all’attaccante per capire con chi e con cosa si sta avendo
a che fare e per capire la strada più facile e le tecniche da utilizzare. Questa
fase è importante perché non si può essere accusati di nulla, perché di fatto
non si sta facendo nulla di illecito. In generale, chi fa un attacco, sicuramente
ha superato la fase di reconnaissance.
o Prevenzione  bloccare l’attaccante nella fase di reconnaissance, fa
sì che quest’ultimo non inizi l’attacco. Si può effettuare prevenzione
effettuando continue ispezioni dei flussi di traffico e individuando e
prevenendo un port scan. Altra prevenzione è quella di ridurre il
numero di informazioni postate su Internet. Ovviamente questo è lo
step più difficile in cui bloccare l’attaccante ed è più facile negli step
successivi.
• Weaponization and delivery: fase in cui l’attaccante decide quali vulnerabilità
selezionare e come sfruttarle scegliendo quale metodo usare per consegnare
il payload malevolo. Corrisponde al momento il cui inizia l’attacco, per
esempio inviando una mail di phishing o aprendo una connessione SSL/TLS
con il Web Server per poi eseguire un exploit.
o Prevenzione  per effettuare prevenzione nella Weaponization and
Delivery bisogna ottenere la completa visibilità del traffico (incluso
traffico SSL) decifrandolo e bloccando applicazioni ad alto rischio. La
prevenzione in questa fase è più semplice rispetto alla fase di
reconnaissance, tuttavia, per fare ciò è necessario fare decodifica in
quanto il traffico è cifrato per cui non è banale.
• Exploitation: fase in cui l’attaccante sfrutta le vulnerabilità per ottenere
l’accesso all’asset. In particolare, l’attaccante distribuisce un exploit contro il
sistema o l’applicazione vulnerabile, tipicamente usando un exploit kit o un
documento "armato". Inoltre, una volta guadagnato l’accesso, nel caso di un
PT ci si ferma qui senza procedere con l’uso non autorizzato sulla base degli
accordi stabiliti preliminarmente.
o Prevenzione  è necessario mantenere i sistemi patchati, educare
gli utenti a riconoscere i tentativi di phishing, bloccare sull'endpoint
gli exploit di vulnerabilità noti o meno e fornire automaticamente
nuove protezioni a livello globale per contrastare gli attacchi di
follow-up.

 Uso Non Autorizzato


• Installation: fase opzionale di installazione di tutte le componenti necessarie
per operare al fine di mantenere l’accesso, la persistenza, scalare i privilegi e
così via.
o Prevenzione  controllo di installazione, monitoraggio a livello
network con dei tool e training degli utenti.
• Command and control: fase opzionale in cui si ottiene la persistenza e la
stabilità del collegamento con l’asset e l’attaccante stabilisce così un canale di
controllo per essere in grado di comunicare e inviare indietro i dati (attacco
mirato ad infettare un pc che farà parte di una botnet).
o Prevenzione  questa è la fase più facile da rilevare e da cui
proteggersi perché l’host è in ascolto su una porta e quindi si ha una
comunicazione in ingresso sull’host da un IP al di fuori della rete e in
genere, per le reti interne, le abilitazioni sono sempre in uscita e mai
in ingresso. Comunque sia, essendo il client ad aprire la
comunicazione è possibile bloccare URL malevole note con URL
filtering.
• Actions on the objective: fase in cui l’attaccante ha stabilito la persistenza e un
canale di comunicazione e quindi agirà per raggiungere il suo obiettivo
eseguendo operazioni non autorizzate sull’asset.
o Prevenzione  ormai l’attaccante ha avuto successo, per cui l’unica
cosa da fare è ricorrere alla Remediation.

05_Information gathering (Reconnaissance)

• Per quanto concerne la fase di Reconnaissance, qual è la differenza tra le tecniche attive e
passive? Quali tecniche attive e passive conoscete?
o La fase di reconnaissance è il primo step del ciclo di vita di un attacco. Durante questa fase si
esegue l’information gathering, ovvero, una raccolta di informazioni sulla presenza online del
target, totalmente generica e di ampia scala. Esistono due tipi di information gathering:
 Active information gathering: tecniche di information gathering che consentono di
ottenere informazioni interagendo con la vittima e lasciando, conseguentemente, una
traccia nel sistema. Le principali tecniche attive sono:
• Traceroute: utility di information gathering attiva (?) usata per Network
Orentation. Un traceroute usa il campo TTL (time To Live) dell’header IP, che
è incrementato ad ogni pacchetto, partendo da 1, per individuare dove si
trova il sistema. Il TTL viene quindi decrementato ad ogni hop della rete
(router). Esistono diversi tipi di Traceroute: ICMP, TCP e UDP Traceroute.
• nslookup: utility di information gathering attiva (?) che consente di ottenere
l’IP di un certo webserver effettuando richieste DNS.
• Dns Cache Snooping: tecnica di information gathering attiva (?). Un DNS
Cache Snooping Attacck è un processo di querying ad un DNS server per
determinare se il server DNS ha una risorsa cachata. Per far ciò tipicamente si
utilizza il metodo “non ricorsivo” che consiste nell’imporre al server DNS più
prossimo di NON FARE ricorsione. Così facendo, se esso ha la entry in cache,
la restituisce, viceversa, non è in grado di restituire nulla dato che la ricorsione
è stata impedita. In questo modo è possibile controllare quello che il server
DNS più prossimo ha in cache, non a caso, si parla di attacco DNS cache
snooping in quanto si sta tentando di scoprire la cache del DNS server del
proprio provider.
• Internal Server Scanning Tools: strumenti di information gathering attiva che
possono essere usati nella propria rete locale per controllare se un certificato
è correttamente installato. Tali strumenti sono impiegati per eseguire
Scanning for SSL/TLS version, ovvero, una tecnica atta a capire quali versioni
di SSL/TLS supporta il Server su cui si vuole fare un Penetration Test. Questo
perché qualora il Server supporti anche SSLv3 e non fosse disabilitato, un
Client malevolo potrebbe far parlare con SSLv3 mediante un Downgrade
attack.
o Downgrade attack: attacco in cui il client, volontariamente, propone
una cipher suite debole e vulnerabile (mentendo) cercando di
convincere il server ad instaurare una connessione poco sicura. Tale
attacco molto spesso funziona in quanto i server, per supportare la
retrocompatibilità, accettano di dialogare con il client utilizzando
protocolli securizzati obsoleti.
• Indentifying a Web Application Firewall: tecnica di information gathering
attiva atta ad identificare la presenza di un Web Application Firewall (device
o software che controlla i pacchetti inviati ad un web server specifico per
identificare e bloccare i pacchetti che potrebbero essere malevoli sulla base
di un’analisi comportamentale). Questa tecnica è necessaria per poter
prendere le misure necessarie per prevenire di essere bloccati o bannati.

 Passive information gathering: tecniche di information gathering che consentono


di ottenere informazioni senza mai contattare la vittima; piuttosto, si utilizzano motori
di ricerca, social media e altri siti Web per raccogliere informazioni sul target. È bene
cominciare prima da queste tecniche, per poi passare alle tecniche attive, poiché con
questo metodo non si genera nessun log della propria presenza su nessun device del
sistema target. Le principali tecniche passive sono:
• Whois: tecnica di IG che restituisce i dati di registrazione di un dominio web.
Tale tecnica è passiva poiché la query non viene effettuata all’organizzazione,
ma semplicemente contattando il DB centrale di informazioni whois. Whois
consente di ottenere: IP pubblico, coordinate geografiche, autonomous
System di appartenenza, sede legale, indirizzo, nominativo
dell’amministratore che ha registrato il dominio e nameserver (DNS server)
autoritativi per quel dominio.
• Reverse IP Lookup: tecnica di information gathering passiva che serve per
capire se oltre al dominio di interesse (si ha la URL), si hanno altri domini sullo
stesso server. Questo significa fare un Reverse IP Domain Check, scoprendo
tutti gli altri domini che corrispondono allo stesso indirizzo fisico. Corrisponde
all’opposto di Whois o di IP Tracer.
• IPTracer: tecnica di information gathering passiva utile per ottenere
informazioni sulla posizione fisica del target.
• Browser Scanning Tools: strumenti di information gathering passiva
disponibili sul web come Qualy SSL Labs e DCSEC che consentono di eseguire
scanning for SSL/TLS version.
• Code-based attack: tecnica di analisi statica passiva (?) impiegata per poi fare
attacchi che mirano a sfruttare le vulnerabilità del codice in cui conviene
salvarsi il sito localmente (html del sito), per fare reverse engineering
confrontando il codice prima e dopo eventuali test con uno di questi tool:
httrack, wget o Website Ripper Copier.

06_Vulnerability Assessment

• Descrivere come funziona un VA, come si può realizzare e quali tool conoscete per eseguirne
uno.
o Un Vulnerability Assessment (VA) è un’attività non trasparente ma lecita, di tipo sistematico e
non invasiva che restituisce in output la lista delle vulnerabilità degli asset di
un’organizzazione. Per far ciò si esegue un’interrogazione sistematica mediante delle query
per poi, sulla base di queste informazioni, interrogare un database pubblico delle vulnerabilità
note e produrre un report relativo. Inoltre, è importante ricordare che non tutto ciò che è
presente nel report di un VA è sfruttabile ai fini di un attacco in quanto un VA non tiene conto
di tutti i sistemi di sicurezza sfruttabili a livello di rete che potrebbero bloccare il tentativo
malevolo di sfruttare una di quelle vulnerabilità. Per questo motivo, oltre al VA è necessario
eseguire un PT. Un VA è formato dalle seguenti fasi:
 Reconnaissance: fase in cui si ottengono informazioni importanti sui sistemi target e
le risorse (host up, scan delle porte, etc)
 Readiness: check delle versioni installate per trovare delle vulnerabilità note
 Report: fase in cui si ha la descrizione dettagliata delle vulnerabilità e delle patch da
installare.
Un VA può essere diviso, inoltre, in due parti: Guardare dall’esterno e Guardarsi intorno
dall’interno. In base al posizionamento, infatti, i risultati (report) del VA cambiano di molto
poiché quando si effettua un VA dall’esterno ci si mette nei panni di un attaccante esterno
mentre, quando si effettua dall’interno, si è in qualche modo avvantaggiati poiché si è interni
e il proprio stato è teoricamente sicuro ma si suppone comunque di essere in un ambiente
malevolo. Esistono moltissimi tool per effettuare Vulnerability Assessment. Non esiste un tool
migliore di un altro e alcuni esempi di essi sono: Nmap, Nessus, Nikto e Greenbone OpenVAS.
Quest’ultimo è il più importante ed è un full-featured vulnerability scanner, cioè molto
generico.

07_Sniffing

• Cos’è un attacco MAC Flooding?


o attacco di tipo DOS per fare Sniffing attivo che consiste nell’invio di un’enorme quantità di
ARP Reply ad uno switch al fine di saturare la tabella MAC table mandando in overload lo
switch. Quando tale tabella viene saturata lo switch entra in modalità hub inoltrando il traffico
ad ogni pc della rete. La differenza tra un hub ed uno switch, infatti, è che l’hub replica su tutte
le porte senza valutare a chi è destinato il pacchetto. A quel punto, lo switch inoltrerà su tutte
le porte il traffico e l’attaccante sarà in grado di catturarlo. Tuttavia, si precisa che gli switch di
nuova generazione sono protetti contro questo attacco ma ancora parzialmente vulnerabili.

• Cos’è un DHCP attack?


o attacco di Sniffing attivo in cui un Rouge DHCP Server risponde al posto del vero DHCP Server
della rete dando come default gateway l’IP dell’attaccante.
• Cos’è un ARP Poisoning? Descrivere come si può eseguire e come funziona.
o l’attacco ARP Poisoning consiste nell'inviare intenzionalmente e in modo forzato delle fake
ARP reply ad un client affinchè esso le inserisca nella propria ARP Table, per fargli credere che
un certo indirizzo IP sia associato all’indirizzo MAC dell’attaccante stesso, il quale può quindi
fingere di essere un altro PC. Il protocollo ARP, infatti, accetta sempre come valido qualsiasi
messaggio ricevuto, senza effettuare alcuna verifica sul mittente. Grazie a questa vulnerabilità
del protocollo ARP legata al fatto che, per come è pensato il protocollo, non esiste nessun
metodo di autenticazione e validazione delle ARP Reply, l’attaccante può quindi eseguire un
attacco come quello appena descritto, di tipo MITM (Man in the Middle) in cui egli
impersonifica un utente da un lato e l’altro utente dall’altro lato, aprendo due connessioni. In
questo caso, le vittime pensano di star comunicando tra loro, ma in realtà, l’attaccante
controlla la comunicazione.

• Cos’è un DNS Poisoning?


o attacco che rappresenta una variante dell’attacco ARP poisoning poichè identifica come uno
dei due target il server DNS a cui fa riferimento l’altro target (client). Nello specifico, con questo
attacco si vuole far sì che, il Client che richiede la risoluzione di un certo dominio, riceva una
risposta sbagliata e venga reindirizzato su pagine false gestite dall’attaccante. Questo è
possibile eseguendo una sostituzione dell’IP associato ad una URL con un falso IP al livello
DNS. In questo modo si devia la connessione del Client, che si connetterà su una macchina
dell’attaccante; di fatto, quindi, è anch’esso un MITM attack. Se tutto va a buon fine, quando
la macchina client tenterà di connettersi all’indirizzo desiderato, verrà reindirizzata al web
server hostato dalla macchina attaccante.

08_Testing manually for vulnerabilities

• Cos’è una vulnerabilità XSS? Che tipi di XSS conoscete?


o La vulnerabilità Cross-Site Scripting (XSS) è una vulnerabilità che si presenta quando
un’applicazione include dati non verificati all’interno di una pagina web senza escaping o
validazione, in cui viene eseguita una convalida dell’input debole o assente e non esiste una
codifica corretta dell’output, sia sul lato server che sul lato client. Questo consente agli
attaccanti di eseguire script all’interno del browser della vittima attraverso i quali rubare la
sessione o ridirezionare la vittima stessa su un sito malevolo. Facendo eseguire determinati
script al browser di una vittima è anche possibile ottenere il completo controllo dell’host. È
possibile distinguere tre tipi di vulnerabilità XSS:
 XSS reflected: lo script dannoso proviene dalla richiesta HTTP corrente.
 XSS stored: lo script dannoso proviene dal database del sito web.
 XSS basato su DOM: la vulnerabilità esiste nel codice lato client piuttosto che nel
codice lato server.

• Cos’è una flaws Injection?


o Una flaws Injection è una vulnerabilità che consente ad un attaccante di inoltrare codice
dannoso tramite un'applicazione ad un altro sistema. Ciò può includere la compromissione sia
dei sistemi back-end che di altri client connessi all'applicazione vulnerabile. In assenza di
validazione dell’input, infatti, l’attaccante può inserire caratteri (meta) speciali, comandi/codici
dannosi o modificatori di comandi nel messaggio di input, includendo codice potenzialmente
dannoso. Gli attacchi di injection riusciti possono compromettere o distruggere
completamente un sistema, motivo per cui è importante testare e proteggersi da questi tipi di
attacchi.
• Quali tipi di Injection si possono eseguire?
o SQL Injection: attacco che consiste nell’inserire del codice SQL malevolo in una casella di testo
che non esegue la validazione dell’input e che quindi consente all’attaccante di sfruttarla per
eseguire del codice malevolo. Per eseguire questo attacco è necessario (ovviamente) che il
target utilizzi un database SQL (es. MySQL). Un attacco del genere può risultare molto
pericoloso, in quanto il database è la parte più preziosa e che di conseguenza dovrebbe essere
più protetta.
o Cross-Site Scripting (XSS): la vulnerabilità Cross-Site Scripting (XSS) è una vulnerabilità che si
presenta quando un’applicazione include dati non verificati all’interno di una pagina web
senza escaping o validazione, in cui viene eseguita una convalida dell’input debole o assente
e non esiste una codifica corretta dell’output, sia sul lato server che sul lato client. Questo
consente agli attaccanti di eseguire script all’interno del browser della vittima attraverso i quali
rubare la sessione o ridirezionare la vittima stessa su un sito malevolo. Facendo eseguire
determinati script al browser di una vittima è anche possibile ottenere il completo controllo
dell’host.
o Command injection: attacco in cui comandi arbitrari del sistema operativo vengono eseguiti
sull'host tramite un'applicazione web vulnerabile. Solitamente, ciò si verifica quando
un'applicazione passa un input utente non sicuro da un modulo al server, ma ciò può verificarsi
anche con cookie, intestazioni HTTP e altre fonti di dati. Questo tipo di vulnerabilità è
particolarmente pericolosa a causa del potere intrinseco dei comandi di sistema. A seconda
del livello di privilegio con cui è in esecuzione un'applicazione, l'inserimento di comandi può
portare un utente malintenzionato a possedere un intero sistema.

• Cos’è una vulnerabilità POODLE SSL e come si può sfruttare?


o Il Poodle SSL attack è un attacco che consente di effettuare un downgrade attack di una
comunicazione TLS a SSLv3 e di forzare l’uso di cipher suites (CBC) che possono essere
facilmente rotte, decifrando la comunicazione.

09_Exploitation with Metasploit

• Cos’è Metasploit?
o Metasploit è una piattaforma di sviluppo per creare tool di sicurezza ed exploit. Il framework
è usato da professionisti di network security per effettuare penetration test, dagli
amministratori di sistema per verificare l’installazione delle patch, dai venditori di prodotti per
effettuare test di regressione e dai ricercatori di sicurezza del mondo. L’approccio di base
utilizzato per effettuare un attacco con Metasploit è il seguente:
 Selezionare il modulo Exploit da eseguire
 Scegliere le opzioni di configurazione per l’Exploit modificandone le opzioni
 Selezionare il payload e specificare le opzioni del payload da inserire
 Lanciare l’Exploit e attenderne l’esito

• Qual è la differenza in Metasploit tra un Exploit e un Payload?


o Un Exploit è un qualcosa che si avvantaggia di una vulnerabilità in un asset per causare
comportamenti inattesi in un sistema, che permettono ad un attaccante di ottenere accesso a
dati o informazioni. Un Payload è un programma/codice/script che viene consegnato alla
vittima attraverso lo sfruttamento della vulnerabilità, finalizzato ad offrire all'attaccante una
certa capacità di gestire o manipolare il sistema bersaglio per le sue particolari esigenze.
Metasploit ha payload predefiniti per questo scopo inclusi in Meterpreter, oppure è possibile
svilupparne altri personalizzati.
• Come si può attaccare una macchina Windows con Metasploit?
o Per far ciò è possibile eseguire una reverse TCP connection dalla macchina della vittima per
aprire una remote shell usando una Backdoor utilizzando il Frameweork Metasploit.
Innanzitutto è necessario creare il payload malevolo della backdoor utilizzando l’utility
msfvenom. Per installare il Trojan nel PC vittima (prima fase) la cosa più facile effettuata dagli
attaccanti consiste nell’eseguire il delivery dei file Trojan che aprono le connessioni remote
con il phishing, convincendo semplicemente la vittima ad andare su un sito. La seconda fase
è la Post Exploitation in cui l’attaccante deve essere in grado di aprire una Remote Connection
verso l’host vittima per prenderne il controllo a seguito dell’installazione del Trojan. A tal fine
l’attaccante dovrà mettersi in ascolto tramite la console di Metasploit selezionando un exploit
generico e il payload analogo a quello selezionato durante la creazione del Trojan per poi
eseguire l’exploit. Quindi, una volta che la vittima esegue il file malevolo, se tutto è andato a
buon fine l’attaccante sarà in grado di utilizzare il prompt dei comandi della macchina
Windows vittima mediante il comando “shell”.

10_Penetration Test

• Descrivere la modalità di esecuzione di un PT (Reconnaissance, VA ed Exploitation).


o Ogni Penetration Test ha un ciclo di vita composto da tre fasi: una Pre-Attack Phase, una Attack
Phase e una Post-Attack Phase. Nello specifico:
 Pre-attack phase
• Definizione delle Rules of Engagement
• Capire i requisiti del customer
• Creare una Checklist dei requisiti di Test
• Definire e finalizzare lo scopo
• Firmare un Penetration Testing Contract
• Firmare un Non-Disclosure Agreement NDA, cioè accordi di non divulgazione
(riservatezza)
• Information Gatherng (attivo o passivo), Reconnaissance a seconda del tipo
di Penetration Test, se Black, Grey o White Box.
 Attack phase
• Testing del perimetro (a seconda se interno o esterno)
• Enumeration dei devices: processo simile alla Reconnaissance che mira ad
ottenere una lista di informazioni esaustiva stabilendo una connessione attiva
con la vittima. L’enumeration permette anche di ottenere la lista delle
password di default. Quasi tutti i dispositivi, le apparecchiature e gli
elettrodomestici disponibili sul mercato sono dotati di una password
predefinita per il primo accesso. A volte un amministratore dimentica di
modificare la password predefinita una volta configurato il dispositivo. Tali
dispositivi sono vulnerabili a un attacco che indovina la password (password
guessing). Questo consente di evitare la fase di exploitation successiva,
entrando direttamente con la password. Se questo non è sufficiente, si ricorre
al password cracking.
• Acquisizione dei target (necessaria quando non basta solo guadagnare
l’accesso – password cracking)
• Escalation dei privilegi: aggiungere più diritti e permessi all’account
dell’utente acquisito trasformando un normale account utente in un account
amministratore.
• Exploitation: per fare exploitation esistono due possibilità. O ci si crea da zero
un exploit, oppure li si recupera dal Web. È possibile, inoltre, recuperare degli
exploit già pronti per sfruttare le vulnerabilità trovate; per far ciò uno dei
Database più famosi è Exploit Database.
 Post-attack phase
• Rimuovere eventuali file caricati. Fatto sia dal Pen Tester che dall’attaccante
• Cancellare le entries nel Registro dei file di log. Fatto sia dal Pen Tester che
dall’attaccante
• Cancellare tools e exploit. Fatto solo dal Pen Tester
• Fare restoring del network, se il Pen Test ha causato problemi di connettività.
Fatto solo dal Pen Tester
• Analizzare i risultati
• Preparare e presentare il Report

13_Hacking Web Servers

• Quali sono le possibili falle di un web server?


o Falle di autenticazione: falle riguardanti vulnerabilità e debolezze relative alla sezione di
autenticazione di un’applicazione web, tra cui:
 Policy di password deboli: accettare che l’utente possa inserire password banali deboli
 Meccanismi impropri di recupero della password: meccanismi di recovery delle
password errati o banali del tipo “qual è il nome di tua madre?”
 Trasmissione di credenziali su un canale di comunicazione non sicuro: trasmissione di
credenziali su siti non cifrati (HTTP non HTTPS) le quali possono essere, a quel punto,
facilmente reperite tramite sniffing
 Autenticazione Broken: utilizzo di protocolli di autenticazione già hackerati e,
pertanto, Broken (come WEP, ad esempio).
 Messaggi di errore di login impropri: messaggi di errore che vengono mostrati
all’utente che tenta di eseguire un login errato. Tali messaggi sono una delle principali
fonti di informazioni, ragion per cui, bisognerebbe cercare di renderli il meno
esplicativi possibile tentando di oscurarli.
o Falle di autorizzazione: falle di un’applicazione web che consentono di ottenere un accesso
diverso rispetto al ruolo associato all’utente già registrato, tra cui:
 Riferimenti a oggetti diretti non sicuri
 Escalation dei privilegi verticale e orizzontale
 Problemi di controllo degli accessi a livello di funzione
o Falle di gestione delle sessioni: falle relative alla gestione delle sessioni, tra cui:
 ID di sessione deboli
 Riutilizzo dell'ID di sessione: furto di un ID di sessione (o Cookies ID) che viene
riutilizzato dall’attaccante per risultare autenticati e riesumare la sessione senza aver
propriamente eseguito l’handshake.
 Timeout sessione inattiva mancante
 Validità della sessione
 Falsificazione di richieste Cross-site (CSRF)
o Falle di validazione dell’input: falle che dipendono dall’assenza di input validation all’interno
di un form in un’applicazione Web che controlli che il testo immesso sia conforme a quello
atteso, le quali consentono di eseguire Cross-site scripting e SQL Injection, tra cui:
 Sanificazione in input insufficiente
 Falle di Injection
 Cross-site scripting (XSS)
 Caricamenti di file dannosi
o Altre falle: ulteriori falle generiche, tra cui:
 Difetti nella gestione della configurazione
 Difetti di crittografia: consenso di una cipher suite debole
 Utilizzo di componenti con vulnerabilità note

• Cos’è una vulnerabilità di tipo File Inclusion?


o Le vulnerabilità di tipo File Inclusion interessano le applicazioni Web che si basano su un
runtime scripting e si verificano quando queste consentono agli utenti di inviare input in file
o di caricare file sul server. Si presentano tipicamente quando gli sviluppatori usano input poco
validati e tali vulnerabilità consentono all’attaccante di leggere e talvolta eseguire file sul server
vittima o di eseguire codice ospitato sulla macchina dell'attaccante. Un attaccante può, quindi,
utilizzare l'esecuzione di codice in modalità remota per creare una web shell sul server e
utilizzarla per danneggiare il sito web.

14_Post Exploitation

• Cos’è la Post Exploitation? Quali sono gli stage generali che si eseguono in questa fase?
o La PostExploitation è la fase effettuata dopo aver ottenuto l’accesso ad un sistema, ovvero
dopo aver sfruttato una vulnerabilità per effettuare l’accesso. Coincide, quindi, con le
operazioni da eseguire a valle dell’exploitation ed è, invece, l’ultima fase di un PT. Le Fasi della
Post Exploitation sono:
 Situation Awarness: consiste nell’acquisire informazioni sull’host e sulla rete a cui è
connesso ed è paragonabile ad una nuova fase di reconnaissance. Immediatamente
dopo aver compromesso un host, infatti, bisogna ottenere informazioni su dove si
trova l’host nella rete interna e le sue funzionalità, che possono includere hostname,
interfacce, rotte, e servizi che l’host sta ascoltando. In particolare, bisogna fare quindi
Enumeration ottenendo liste di informazioni che riguardano l’host compromesso.
 Persistence: evitare di perdere la connessione in seguito alla chiusura delle sessione
di meterpreter, migrando la sessione in un altro processo con un nome comune per
non dare nell’occhio, aprendo una porta accessibile facilmente. Tale processo si può
effettuare in vari modi: tramite VNC, con uno script che viene eseguito all’avvio ecc…
 Privilege Escalation: acquisire i privilegi di amministratore per poter eseguire ulteriori
comandi. Un modo è eseguire lo script di meterpreter getsystem che consente di
eseguire in maniera automatica escalation dei privilegi tramite Meterpreter.
Alternativamente, è possibile utilizzare in questa fase un exploit di Metasploit che
esegue privilege escalation.
 Evading Detection: evitare di essere identificati al fine di mantenere l’accesso all’asset
compromesso (encryption e obfuscation). Per far questo, l’unico modo è non essere
anomali e non comportarsi in questo modo.

16_Attacchi alle password

• Quali tool per gli attacchi alle password conoscete?


o Per gli attacchi alle password si usano metodi di cracking delle password salvate in un formato
protetto finalizzati ad estrarre queste ultime. I tool principali che consentono di fare ciò sono:
 Hashcat: utile per effettuare attacchi diretti sulle password salvate nei sistemi Linux
(cerca di scoprire la password di un utente linux a partire dall’hash memorizzato in
/etc/shadow)
 John the Ripper: utile per effettuare attacchi alla password salvate in PC Windows
(usato per attacchi brute force). Ha molte funzionalità come il riconoscimento
automatico degli algoritmi di crittografia e hashing più comuni, la possibilità di
utilizzare attacchi a dizionario o brute force. Inoltre, consente di applicare regole alle
parole del dizionario, di modificarle e di avere un elenco di parole più ricco durante il
cracking senza la necessità di memorizzare quell'elenco.
 Hydra: permette di effettuare un online cracking, cioè prova ad effettuare
l’autenticazione con attacchi di tipo Brute Force verso un server remoto. Funziona
anche su Instagram e supporta il password cracking su 40 diversi servizi.

------------------------------------------------------------------------------------------------------------------------

Domande note di un appello precedente di giugno  MAC spoofing, ARP poisoning, SQL injection e MIM

Capitoli esclusi  03 – 04 – 11 – 12 – 19

Informazioni generali sull’esame:

• Orale  3 domande a risposta aperta


• Scritto  3 domande a risposta aperta, oppure, 1 domanda a risposta aperta e qualche altra (?) a
risposta multipla

Potrebbero piacerti anche