Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoBrizio Sala Modificato 11 anni fa
1
Network Scanning Laboratorio di amministrazione di sistema
Cappellazzo Pietro, A.A. 2006/07
2
Network Scanning Procedura per identificare gli host attivi su una rete, allo scopo di attaccarli o per valutare la sicurezza della rete. Le procedure di Scan, come ad esempio ping sweeps port scans ritornano informazioni su quali indirizzi IP sono attivi nella rete e quali servizi questi offrono. Network Scanning
3
Nmap È fra i più potenti e diffusi software open source per effettuare network scanning. Nmap (acronimo di “Network Mapper”) è presente sulla rete ormai da anni e sono state rilasciate varie versioni, compatibili con molti sistemi operativi. Nmap è divenuto uno degli strumenti praticamente indispensabili della "cassetta degli attrezzi" di un amministratore di sistema, ed è usato per test di penetrazione e compiti di sicurezza informatica in generale. Network Scanning
4
Nmap Creato per effettuare port scanning: individuare porte aperte e servizi disponibili su un computer bersaglio. Utilizza la tecnica del fingerprinting: è in grado di ipotizzare quale sistema operativo sia utilizzato dal computer bersaglio. Network Scanning
5
Nmap Utilizza i pacchetti IP per ottenere informazioni come:
gli host presenti su una rete; i servizi che tali host rendono disponibili; i sistemi operativi presenti sulla macchina; la presenza di firewall ed altre. Viene utilizzato anche da amministratori di rete per task secondari come il monitoraggio di host o il testing dei tempi di risposta dei servizi. Network Scanning
6
Nmap Le porte rilevate possono apparire come:
Open – Una applicazione accetta attivamente connessioni TCP o UDP su questa porta. Closed – Una porta chiusa è accessibile, ma non vi è alcuna applicazione in ascolto su di essa. Filtered – Nmap non può determinare con esattezza se la porta sia aperta o meno in quanto un filtro ne impedisce l’accesso. Unfiltered – la porta è accessibile, ma Nmap non può determinarne lo stato. Open|filtered – Nmap non è in grado di determinare se una porta è aperta oppure filtrata. Closed|filtered – Nmap non è in grado di determinare se una porta è chiusa oppure filtrata. Network Scanning
7
Nmap – esempio – Network Scanning
# nmap -A -T4 scanme.nmap.org playground Starting nmap ( ) Interesting ports on scanme.nmap.org ( ): (The 1663 ports scanned but not shown below are in state: filtered) PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99) 53/tcp open domain 70/tcp closed gopher 80/tcp open http Apache httpd ((Fedora)) 113/tcp closed auth Device type: general purpose Running: Linux 2.4.X|2.5.X|2.6.X OS details: Linux , Linux Uptime days (since Thu Jul 21 03:38: ) Interesting ports on playground.nmap.org ( ): (The 1659 ports scanned but not shown below are in state: closed) PORT STATE SERVICE VERSION 135/tcp open msrpc Microsoft Windows RPC 139/tcp open netbios-ssn 389/tcp open ldap? 445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds 1002/tcp open windows-icfw? 1025/tcp open msrpc Microsoft Windows RPC 1720/tcp open H.323/Q CompTek AquaGateKeeper 5800/tcp open vnc-http RealVNC 4.0 (Resolution 400x250; VNC TCP port: 5900) 5900/tcp open vnc VNC (protocol 3.8) MAC Address: 00:A0:CC:63:85:4B (Lite-on Communications) Running: Microsoft Windows NT/2K/XP OS details: Microsoft Windows XP Pro RC1+ through final release Service Info: OSs: Windows, Windows XP Nmap finished: 2 IP addresses (2 hosts up) scanned in seconds Network Scanning
8
Ping sweep Vengono inviati dei pacchetti ICMP (Internet Control Message Protocol), in particolare dei pacchetti Tipo 8 (echo request), conosciuti anche come pacchetti ping che identificano se un host è attivo. Ci sono anche altri pacchetti ICMP che possono risultare utili, ad esempio: Tipo 13 (timestamp request) – viene richiesto il tempo di sistema di un host target Tipo 15 (information request) – è un particolare messaggio creato per supportare alcuni sistemi auto-configuranti (ad esempio diskless workstation) che nel boot devono poter trovare il proprio indirizzo nella rete. Tipo 17 (subnet address mask request) – con questo messoggio riusciamo a determinare la subnet mask usata dall’host. Network Scanning
9
Ping Sweep -Nmap- Nmap può effettuare degli ICMP ping sweep scans, utilizzando l’opzione –sP Ecco un esempio: nmap -sP /24 … Host ( ) seems to be a subnet broadcast address (2 extra pings). Host ( ) appears to be up. Host ( ) appears to be up. Host ( ) appears to be up. Host ( ) appears to be up. Host ( ) appears to be up. Host ( ) appears to be up. Host ( ) appears to be up. Host ( ) appears to be up. Host ( ) seems to be a subnet broadcast address (2 extra pings). Nmap run completed IP addresses (8 hosts up) Network Scanning
10
Port Scanning Il Port Scanning è un processo di connessione a porte TCP e UDP del sistema al fine di determinare quali servizi siano in stato di esecuzione o in stato di listening. Un amministratore di sistema deve poter identificare le debolezze della propria rete e dei propri sistemi, col fine di evitarne lo sfruttamento da parte di utenti maliziosi. Network Scanning
11
TCP port scanning Esistono diversi tipi di port scanning per controllare se le porte TCP di un sistema sono aperte o chiuse, questi sono classificabili in tre classi: Standard scanning methods Vanilla connect() scanning Half-open SYN flag scanning Stealth TCP scanning methods Inverse TCP flag scanning ACK flag probe scanning TCP fragmentation scanning Third-party and spoofed TCP scanning methods FTP bounce scanning Proxy bounce scanning Sniffer-Based spoofed scanning IP ID header scanning Network Scanning
12
Standard scanning methods
I metodi definiti nella categoria Standard scanning methods sono delle tecniche molto semplici e dirette, usate per identificare le porte e i servizi TCP accessibili in modo accurato. Questi sono metodi certi, ma possono essere facilmente rilevati e loggati. Network Scanning
13
Vanilla connect() method
È il metodo più semplice, conosciuto anche come TCP connect() viene stabilita un’intera connessione TCP/IP con una porta TCP dell’host target Data l’affidabilità del protocollo TCP/IP, questo metodo è molto accurato per determinare quali servizi sono attivi in un dato host Network Scanning
14
Vanilla connect() method
Ecco i pacchetti inviati da questo metodo Quando una porta è aperta Quando una porta è chiusa Network Scanning
15
Vanilla connect() method - Nmap
Nmap può effettuare un TCP connect() portscan, utilizzando l’opzione –sT ESEMPIO: nmap -sT -PI … Interesting ports on marco ( ): (The 1652 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 111/tcp open rpcbind 443/tcp open https 3306/tcp open mysql 6000/tcp open X /tcp open gnutella /tcp open snet-sensor-mgmt ATTENZIONE !!! il servizio che vediamo abbinato alla porta e al protocollo (tcp/udp) non indica direttamente l'applicativo che lo sta usando, ma solo il servizio ufficialmente abbinato alla stessa dalle norme IANA Network Scanning
16
Half-open SYN flag scanning
In modo simile al metodo connect(), anche qui viene inviato un pacchetto SYN per la sincronizzazione tra i due host Nel caso dell’half open SYN port scanning, quando una porta viene rilevata aperta, viene inviato un pacchetto RST che resetta la connessione TCP Questo fa si che non ci sia una completa connessione fra i due host, e quindi sia più difficile rilevare e loggare lo scanning Network Scanning
17
Half-open SYN flag scanning
Ecco i pacchetti (ed i flags) inviati da questo metodo Quando una porta è aperta Quando una porta è chiusa Network Scanning
18
Half-open SYN flag scanning - Nmap
Nmap può effettuare un SYN portscan, utilizzando l’opzione –sS ESEMPIO: nmap -sS … Interesting ports on chaos ( ): (The 1668 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 21/tcp open ftp 22/tcp open ssh 631/tcp open ipp 6000/tcp open X11 Network Scanning
19
Stealth TCP scanning methods
Questi metodi sfruttano alcune lacune del protocollo TCP/IP, provocate inviando pacchetti con configurazioni di bit non standard. Queste tecniche non mappano le porte aperte in modo accurato, però lavorano in modo nascosto e difficilmente possono essere rilevati e loggati. Network Scanning
20
Inverse TCP flag scanning
Questo tipo di scanning viene chiamato inverse in quanto rispondono solo le porte chiuse di un sistema Vengono inviati dei pacchetti “sonda” con diversi flag settati, ad esempio: FIN probe, con il FIN TCP flag settato L’XMAS probe con i FIN,URG,PUSH TCP flag settati NULL probe con nessun flag TCP settato Network Scanning
21
Inverse TCP flag scanning
Ecco come avvengono le comunicazioni utilizzando questo metodo: Quando una porta è aperta Quando una porta è chiusa Network Scanning
22
Inverse TCP flag scanning - Nmap
Nmap può effettuare un TCP flag portscan, utilizzando le opzioni: -sF per il FIN probe -sX per l’XMAS Tree probe -sN per il NULL probe ESEMPIO: nmap -sF … Interesting ports on chaos ( ): (The 1668 ports scanned but not shown below are in state:closed) PORT STATE SERVICE 21/tcp open|filtered ftp 22/tcp open|filtered ssh 631/tcp open|filtered ipp 6000/tcp open|filtered X11 Come vediamo in questo caso Nmap riesce anche a dirci se la porta in questione è open|filtered in quanto come visto in precedenza il sistema se una porta è aperta non risponde, ma lo stesso avviene se una porta è filtered e quindi inaccessibile Network Scanning
23
ACK flag probe scanning
Un altro metodo consiste nell’inviare dei pacchetti ACK ed analizzare il pacchetto RST ottenuto in risposta. Ci sono due parametri principali da osservare: Il time-to-live (ttl) E il parametro WINDOW (win) Questo sistema è molto difficile da rilevare, ma per funzionare sfrutta un bug nell’implementazione dello standard TCP/IP che non è più presente nei sistemi più aggiornati Network Scanning
24
ACK flag probe scanning
Vengono spediti moltissimi pacchetti ACK verso porte TCP diverse In seguito vengono analizzati i pacchetti ricevuti, ad esempio: 1: host port 20: F:RST -> ttl: 70 win: 0 2: host port 21: F:RST -> ttl: 70 win: 0 3: host port 22: F:RST -> ttl: 40 win: 0 4: host port 23: F:RST -> ttl: 70 win: 0 In questo caso, analizzando il parametro ttl, si vede un tempo minore sulla porta 22, questo indica che tale porta è molto probabilmente aperta Oppure: 1: host port 20: F:RST -> ttl: 64 win: 0 2: host port 21: F:RST -> ttl: 64 win: 0 3: host port 22: F:RST -> ttl: 64 win: 512 4: host port 23: F:RST -> ttl: 64 win: 0 Il valore diverso da 0 nel parametro win in questo caso indica che la porta 22 è aperta Network Scanning
25
ACK flag probe scanning - Nmap
Nmap può effettuare un ACK flag probe scanning, usando le opzioni: -sA per analizzare il parametro ttl -sW per analizzare il parametro win ESEMPIO: nmap -sW … Initiating Window Scan against [1663 ports] at 11:37 Interesting ports on : (The 1660 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 21/tcp open ftp 23/tcp open telnet 111/tcp open rpcbind Network Scanning
26
Third-party and spoofed TCP scanning methods
Questi metodi utilizzano dei server vulnerabili per rimbalzare i propri messaggi. Sfruttando queste lacune si riesce a nascondere in modo efficiente la provenienza dello scanning della rete. Network Scanning
27
FTP bounce scanning Questa tecnica sfrutta delle lacune presenti sugli FTP server presenti su molte piattaforme , tra cui: FreeBSD and earlier HP-UX and earlier Solaris 2.6/SunOS 5.6 and earlier SunOS and earlier SCO OpenServer and earlier SCO UnixWare 2.1 and earlier IBM AIX 4.3 and earlier Caldera Linux 1.2 and earlier Red Hat Linux 4.2 and earlier Slackware 3.3 and earlier Any Linux distribution running WU-FTP BETA-16 or earlier Network Scanning
28
FTP bounce scanning Ecco come avviene un FTP bounce scan:
Ci si collega alla porta di controllo del server FTP vulnerabile (porta 21), entrando in modo passivo, e forzando il server a utilizzare DTP (Data Transfer Process) ad una specifica porta di uno specifico host: QUOTE PASV 227 Entering Passive Mode (64,12,168,246,56,185) Si lancia il comando PORT passandogli come parametri la porta TCP di uno specifico host (ad esempio per l’indirizzo , porta 23): PORT 144,51,17,230,0,23 200 PORT command successful In seguito viene lanciato un comando LIS. Il server FTP quindi prova a connettersi alla porta specificata (nell’host specificato) LIST 150 Opening ASCII mode data connection for file list 226 Transfer complete. se si riceve un messaggio 226 allora la porta è aperta, altrimenti se si riceve un 425, la porta è chiusa 425 Can't build data connection: Connection refused Network Scanning
29
FTP bounce scanning - Nmap -
Nmap può effettuare l’FTP bounce scanning, utilizzando le opzioni –P0 e –b Ecco la sintassi per la chiamata: nmap -P0 -b <target host> Network Scanning
30
IP ID header scanning Conosciuto anche come (idle o dumb scanning)
Sfrutta alcune peculiarità presenti nello stack TCP/IP di molti sistemi operativi vengono coinvolti 3 host: L’host da cui lo scan è lanciato L’host target Uno zombie o idle host Si possono sfruttare più zombie per ridurre il rischio di essere scovati Network Scanning
31
IP ID header scanning Network Scanning
32
IP ID header scanning - Nmap -
Nmap può effettuare l’IP ID header scanning attraverso l’opzione -sI attraverso questa sintassi : -sI <zombie host[:probe port]> ESEMPIO # nmap -P0 -sI … Idlescan using zombie ; Class: Incremental Interesting ports on ( ): (The 1582 ports scanned but not shown below are in state: closed) Port State Service 25/tcp open smtp 53/tcp open domain 80/tcp open http 88/tcp open kerberos-sec 135/tcp open loc-srv 139/tcp open netbios-ssn 389/tcp open ldap 443/tcp open https 445/tcp open microsoft-ds 464/tcp open kpasswd5 593/tcp open http-rpc-epmap 636/tcp open ldapssl 1026/tcp open LSA-or-nterm 1029/tcp open ms-lsa 1033/tcp open netinfo 3268/tcp open globalcatLDAP 3269/tcp open globalcatLDAPssl 3372/tcp open msdtc 3389/tcp open ms-term-serv Nmap run completed -- 1 IP address (1 host up) Network Scanning
33
UDP port scanning Il protocollo UDP, consente di stabilire quali porte possono essere aperte in un host, in soli due modi: Inviando pacchetti UDP probe a tutte le porte UDP di un host (65535), e aspettando i messaggi “ICMP destination port unreachable” Oppure usando degli specifici client per servizi UDP e controllando se ci sono delle risposte da degli host (che in caso positivo possiedono il servizio) La maggior parte dei firewall però consente di filtrare i messaggi ICMP, da e per gli host protetti, questo rende difficile capire quali servizi UDP sono accessibili, attraverso un semplice UDP port scanning Network Scanning
34
UDP port scanning Ecco come avvengono le comunicazioni:
Quando una porta è aperta Quando una porta è chiusa Network Scanning
35
UDP port scanning - Nmap -
Nmap può effettuare l’UDP port scanning, utilizzando l’opzione -sU ESEMPIO nmap -sU … Interesting ports on ( ): (The 1453 ports scanned but not shown below are in state: closed) Port State Service 135/udp open loc-srv 137/udp open netbios-ns 138/udp open netbios-dgm 445/udp open microsoft-ds 500/udp open isakmp 3456/udp open vat Network Scanning
36
Fingerprinting Ogni sistema operativo possiede una propria interpretazione degli standard del protocollo IP Analizzando le risposte ottenute, inviando alcuni pacchetti TCP ed UDP ad un host remoto, si può determinare il sistema operativo presente Nmap ad esempio compara i risultati ottenuti con il suo database, contenente oltre 1500 SO, e ne visualizza i dettagli se trova riscontri Network Scanning
37
Fingerprinting - Nmap -
Nmap effettua il fingerprinting utilizzando l’opzione –O, contemporaneamente ad una scansione ESEMPIO nmap -sS -O … Interesting ports on cartman ( ): (The 1524 ports scanned but not shown below are in state: closed) Port State Service 25/tcp open smtp 53/tcp open domain 8080/tcp open http-proxy Remote OS guesses: Windows 2000 RC1 through final release Network Scanning
38
Service e Version Detection
Si possono sfruttare i messaggi ricevuti in risposta da porte aperte in un host target, oltre che per la determinazione del SO, anche per altre funzionalità avanzate Nmap, ad esempio, è in grado di analizzare i messaggi ottenuti da una porta di un host e confrontarli con un suo database interno con oltre 2200 servizi Network Scanning
39
Service e Version Detection
Questa funzionalità diventa di fondamentale importanza per un amministratore di sistema. Infatti conoscendo queste informazioni, e confrontandole con opportuni database, si può determinare a quali bugs è vulnerabile il server. Purtroppo lo stesso procedimento può essere effettuato da utenti malintenzionati che possono sfruttare tali bugs per controllare servizi e dati dell’host target. Network Scanning
40
Service e Version Detection
Per attivare questa opzione in nmap si possono utilizzare le opzioni -sV per “Version Detection” -A per abilitare contemporaneamente sia ”OS Detection” che “Version Detection” ESEMPIO nmap -A scanme.nmap.org Starting nmap ( ) Interesting ports on scanme.nmap.org ( ): (The 1663 ports scanned but not shown below are in state: filtered) PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99) 53/tcp open domain 70/tcp closed gopher 80/tcp open http Apache httpd ((Fedora)) 113/tcp closed auth Device type: general purpose Running: Linux 2.4.X|2.5.X|2.6.X OS details: Linux , Linux Uptime days (since Thu Jul 21 03:38: ) ... Network Scanning
41
riferimenti C. McNab , Network Security Assessment – O’REILLY chap. 4 pp 36-72 Network Scanning
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.