Relazione Attacchi Corso di Sicurezza su Reti II Prof. De Santis

Download Report

Transcript Relazione Attacchi Corso di Sicurezza su Reti II Prof. De Santis

Relazione
Attacchi
Corso di Sicurezza su Reti II
Prof. De Santis
Anno 2006/07
Michele Vicinanza
Sql Injection
La SQL injection è una tecnica dell’hacking
mirata a colpire le applicazioni web che si
appoggiano su un database di tipo SQL. Questo
exploit sfrutta l’inefficienza dei controlli sui dati
ricevuti in input ed inserisce codice maligno
all’interno di una query SQL.
 La gestione attraverso le funzioni addslashes e
stripslashes implementate nel codice impedisce
qualsiasi tipo di Sql Injection.

Accessi Indirizzati
 La
gestione attraverso il check di login e
password su ciascuna pagina web blocca
qualsiasi tentativo di scavalcare la fase di
login.
 Viene mostrato un messaggio di errore
invitando l’utente a loggarsi correttamente
o eventualmente a registrarsi
Scansione degli Host
La prima fase di preparazione dell’attacco consiste nell’identificazione dei
bersagli. La tecnica nota come Network Scanning ha come obiettivo quello
di ottenere informazioni su quali host di una determinata rete sono attivi e
quali invece non lo sono.
 Una volta individuati i sistemi attivi si può procedere ad identificare la loro
natura. In particolare, una serie di tecniche note sotto il nome di Network
Fingerprinting permettono di ottenere informazioni sul sistema operativo
di un host remoto. Il principio si basa sulla diversa implementazione degli
stack TCP/IP da parte dei vari sistemi operativi.
 Il programma nmap e’ un network scanner molto versatile e potente che
permette anche di deteminare il sistema operativo remoto tramire TCP/IP
fingerprinting.
 Il comando da utilizzare è:
nmap -sT -P0 -p 80 -O -v <indirizzo-bersaglio>

Risultati Scansione Host
Port Scanning





Dopo aver identificato la natura del bersaglio, non resta che scoprire
quali servizi sono attualmente attivi sull’host.
La tecnica nota come Port Scanning ha come obiettivo quello di
ottenere informazioni su quali porte di un determinato host sono
aperte e quali invece non lo sono. Con alcuni accorgimenti si può
anche capire quali porte sono filtrate da un firewall o da un filtro di
pacchetti.
Nmap `e uno strumento molto potente che permette molti tipi di port
scanning, dove viene ottenuto per ogni porta il nome del servizio
noto (se esiste), il numero, lo stato (open, filtered, unfiltered) e il
protocollo.
Con il comando:
nmap -sV -P0 -p 1-1024 -v <indirizzo-bersaglio>
Si riesce a scoprire quali servizi sono attivi nelle prime 1024 porte.
Risultati Scansione Inf. Granata
Risultati Scansione Uff. Pagatore
Identificazione e vulnerabilità dei
servizi
Nessus è uno scanner di vulnerabilità molto semplice da utilizzare e molto
completo.
In particolare, esso:
 cerca i servizi di rete attivi su un elaboratore, anche su porte non standard (ad
es. un web server che utilizza la porta 1234 invece della 80) o che rispondono
su piu’ porte;
 identifica le versioni dei programmi che li gestiscono;
 per ogni servizio, prova gli exploits (ossia le tecniche fraudolente di attacco
informatico) che ha nel proprio database (ovviamente aggiornabile) e riferisce
in un log citando anche le possibili tecniche di difesa;
 identifica il sistema operativo della macchina oggetto di controllo;
 e’ in grado di lanciare attacchi di tipo DoS (Denial of Service); questa
possibilita’ e’ utile per simulare attacchi da parte di un hacker e verificare
la “robustezza” delle proprie difese di fronte ad un eventuale attacco “vero”.
Identificazione e vulnerabilità dei
servizi
 Funziona
come segue:
 (a) effettua il login
 (b) seleziona le plug-in (deselezionate
tutto eccetto “General”, “Misc” e “CGIAbuse”)
 (c) definisce il target (IP)
 (d) avvia la scansione
Installazione Nessus
Start up Nessus
Test Inf. Granata
Test Uff. Pagatore
MAC flodding



Con MAC flooding si indica una particolare tecnica di attacco nei
confronti di uno switch di rete che consente di riempirne totalmente
la CAM table, causandone un “collasso” e, in molti casi, l’entrata in
uno stato detto fail open che consente lo sniffing dei pacchetti
passanti nell’intero segmento di rete.
Causando un overflow di una CAM table si induce lo switch ad
entrare in uno stato di fail open o talvolta anche di fail close. Uno
switch in fail open si comporta come un HUB, ovvero instradando
tutti i pacchetti su tutte le porte e rendendo quindi possibile lo
sniffing. Al contrario invece alcuni router, entrando in fail close,
chiudono tutte le porte bloccando totalmente le comunicazione
dell’intero segmento di rete.
Applicare questa tecnica è molto semplice, è infatti sufficiente
utilizzare tools (come macof per esempio) che bombardano la rete
di pacchetti con fake MAC address i quali, passando per lo switch,
verranno utilizzati per aggiornare la CAM table, fino ad ottenere un
overflow e quindi un fail open.
dsniff
 Dsniff
(macof) è un tool che può generare
155.000 entry sulle tabelle dei MAC
adress dello switch in un minuto.
 Quando viene riempita la cached ARP non
funziona più e lo switch deve inoltrare il
traffico su TUTTA la rete come un hub.
 Nella nostra rete lanciando il comando
macof, vengono generate circa 200 entry
insufficienti a generare un fail open.
Ethereal

Ethereal,è un analizzatore di protocollo open source, rilasciato sotto licenza
GNU GPL, disponibile per diverse piattaforme e sistemi operativi.

Per ammissione degli stessi autori è un prodotto non ancora completo ma,
anche se in beta, rappresenta uno strumento essenziale per ogni
amministratore di rete, ed il fatto che il programma occupi da diversi anni
una posizione di rilievo all'interno della lista dei principali strumenti di
sicurezza, stilata da insecure.org, ne è sicuramente la riprova.

Più precisamente Ethereal è un analizzatore di pacchetti all’interno
di una rete che prova a catturare pacchetti e mostra quanti piu
dettagli possibili.
Viene utilizzato da:
 Amministratori di rete per individuare problemi di rete.
 Dagli ingegneri della sicurezza delel reti per testarne la sicurezza
 Dagli sviluppatori che lo utilizano per trovare bug
nell’implemetazione del protocollo
 Dagli utenti che vogliono capire le regole dei protocolli di rete.
Ethereal
Caratteristiche:
 Disponibile su piattaforme Unix e Windows
 Cattura i pacchetti da un interfaccia di rete
 Mostra i pacchetti con dettagli circa i protocolli
 Apre e salva i pacchetti catturati.
 Filtra i pacchetti se vengono definito dei criteri
 Cerca i pacchetti secondo determinati criteri.
 Crea delle statistiche.
 È compatibile con i formati di log adottati da altri sniffer
 Essendo un prodotto OpenSource può essere esteso da
chiunque per aumentare il numero di protocolli supportati
 Ethereal può decodificare 393 protocolli differenti.
Ethereal Inf. Granata 1/2
Ethereal Inf. Granata 2/2
Ethereal Uff Pagatore 1/2
Ethereal Uff Pagatore 2/2
Conclusioni

Le applicazioni sviluppate con release di
software recenti sono esenti da exploit e bug,
pertanto l’analisi è stata mirata ad acquisire
informazione sulla natura dei pacchetti.
 Questi ultimi sono cifrati ed è pertanto difficile
riuscire ad individuare le informazioni
all’interno,compito reso ancor più complesso
dalla struttura hardware a disposizione.
 In definitiva le applicazioni risultano dotate di un
buon grado di sicurezza.