Cos'è
il
port
scanning
Il
portscanning
è
una
tecnica
che
viene
utilizzata
per
determinare
quale
porta
di
comunicazione TCP
e
UDP sul
sistema
nel
quale
si
vuole
tentare
una
penetrazione
al
fine
di
determinare
quali
siano
in
ascolto
verso
le
connessioni
provenienti
dall'esterno.
Lo
``scanning'' viene
fatto
con
tecniche
che
mandano
un
gran
numero
di
pacchetti
di
vari
protocolli
in
modo
da
dedurre
quali
servizi
sono
in
ascolto
verso
l'esterno
dalla
risposta
che
questi
danno
ai
pacchetti
inviati.
Negli
ultimi
anni
le
tecniche
per
creare
programmi,
che
effettuino
il
portscanning
in
maniera
accettabile, hanno
subito
un
notevole
miglioramento
tenendo
presente
i
diversi
obiettivi
che
un
possibile
intruso
vorrebbe
fossero
raggiunti
quando
lo
si
esegue.
Questi
includono:
|
Identificare
i
servizi
TCP
o
UDP
in
esecuzione
sul
dato
sistema.
|
|
Identificare
quale
Sistema
Operativo,
è
presente
sul
dato
sistema. |
|
Identificare
applicazioni
specifiche
o
versioni
di
un
dato
servizio
sul
sistema. |
Tecniche
di
scanning
Vediamo
adesso
alcune
tecniche
di
scanning
(sia
host
che
port
scanning)
attuati
per
rilevare
informazioni
su
host
di
una
rete
remota.
Possono
essere
utilizzati
per
conoscere
relativamente
ad
un
host
il
suo
indirizzo
IP,
se
è
attivo
o
meno,
se
alcune
porte
(e
quindi
determinati
servizi
conosciuti
sono
attivi)
sono
aperte
...
-
Queste
attività
sono
rilevabili
da
un
sistema
di
intrusioni.
-
UDP
ICMP
ping
sweep -
questo
tipo
di
scannig
viene
effettuato
solo
allo
scopo
di
verificare
se
un
indirizzo
IP
corrisponde
ad
un
host
attivo
e
raggiungibile
all'interno
di
una
rete.
Chi
utilizza
un
tool
per
compiere
questa
operazione
il
sito
sotto
attacco
riceverà
molteplici
pacchetti
in
un
breve
lasso
di
tempo.
-
TCP
connect()
scan
-
il
metodo
più
semplice
per
eseguire
port
scanning:
viene
utilizzato
il
comando
connect(
)
del
sistema
operativo
per
aprire
una
connessione
con
le
porte
di
interesse.
Se
una
porta
generica
porta
è
aperta
la
connect(
)
avrà
successo,
altrimenti
la
porta
sarà
irraggiungibile.
-
UDP
scan
-
è
utilizzato
per
determinare
quali
porte
UDP
sono
aperte
su
una
data
macchina
remota.
La
tecnica
prevede
di
spedire
pacchetti Udp da
0
byte
ad
ogni
porta
su
una
data
macchina.
Se
viene
spedita
come
risposta
un
pacchetto
ICMP
port
unreachable,
la
porta
è
chiusa,
altrimenti
si
può
presumere
che
sia
aperta.
-
TCP
Reverse
ident
scan -
Questa
tecnica
di
scanning
permette
la
scoperta
del
nome
dell'utente
residente
sull'host
per
ogni
connessione
TCP
attiva
su
quell'host,
ascolta
solitamente,
se
attivo,
sulla
porta
113
(auth).
Dopo
aver
investigato
quale
porte
sono
aperte,
richiedere
a
ident
informazioni
per
ogni
porta
aperta
e
connessione
attivata,
in
modo da
raccogliere
informazioni
sugli
utenti.
-
RPC
scan
-
Per
tutte
le
porte
UDP/TCP
che
sono
state
trovate
aperte,
da
una
precedente
analisi,
vengono
inviati
dei
pacchetti
SunRPC
NULL
command,
per
determinare
se
sono
porte
RPC
e
in
caso
affermativo,
quali
applicazioni
(e
che
versione)
servono.
Questo
metodo
può
fornire
le
stesse
informazioni
date
dal
comando
rpcinfo
[2]
,
anche
se
il
portmapper
è
protetto
dietro
un
firewall.
-
TCP
SYN
scan
-
Questa
tecnica
viene
anche
chiamata
"half-open
scanning''
perchè
non
stabilisce
una
completa
connessione
TCP.
Essa
manda
un
"SYN
packet''alla
porta
che
si
vuole
sondare,
come
se
dovesse
aprire
una
reale
connessione,
e
aspetta
la
risposta
da
parte
del
sistema.
Se
la
porta
è
predisposta
per
l'ascolto
viene
ricevuto
un
segnale
``SYN/ACK''
e
viene
immediatamente
rispedito
dal
cracker
verso
l'obbiettivo
un
segnale
"RST''
che
permette
di
chiudere
la
connesione
dopo
aver
appreso
la
disponibilità
della
porta.
Questa
tecnica
di
attacco
è
rilevabile
da
pochi
sistemi
in
quanto
la
connessione
non
viene
realmente
aperta,
ma
creata
a
metà.
Il
maggior
problema
nell'utilizzo
di
questa
tecnica
consiste
nel
fatto
che
l'attaccante
deve
essere
in
possesso
dei
privilegi
di
"root''
per
poter
creare
i
SYN
packet
da
mandare
al
sistema
Come
difendersi
Internet
connette
tra
loro,
ogni
giorno,
milioni
di
persone
in
tutto
il
mondo,
ogni
computer
che
si
collega
alla
Rete
è
quindi
potenzialmente
a
rischio.
Il
consiglio
che
si
può
dare
è
quello
di
installare
sul
proprio
personal
computer
un
valido
software
firewall
che
permetta
di
proteggere
i
propri
dati
da
eventuali
intrusioni,
da
ActiveX
o
Java
maligni
e
da
tutti
gli
altri
pericoli
della
Rete
e
dei
programmi
come
gli
Sniffing
che
permettono
di
analizzare
tutti
i
pacchetti
IP,
effettuare
delle
ricerche
nei
loro
contenuti,
impostare
dei
filtri
in
modo
da
ottenere
solo
la
lista
dei
pacchetti
cui
si
è
effettivamente
interessati.
Conclusioni
Abbiamo
parlato
di
alcune
tecniche
di
scanning
e
abbiamo
visto,
pressapoco,
come
funziona
in
pratica
uno
scanning,
ma
ne
esistono
altri
tipi
di
tecniche
di
scanning,
come
il
FIN,
che
prevede
l'invio
di
pacchetti
FIN
tcp;
il
'null',
tipo
di
scanning
basato
su
pacchetti
tcp
"vuoti"
(senza
nessun
flag
settato);
il
Xmas
tree
(l'albero
di
Natale),
dove
vengono
inviati
pacchetti
tcp
con
i
flag
URG,FIN
e
ACk
settati
(!!!),
ecc.;
comunque
occorre
ricordare
che
anche
se IL
PORTSCANNER
IN
SE
NON
E'
UN
REATO e
quindi
non
perseguibile
dalla
legge,
ma
può
dare
fastidio
all'amministratore
della
rete
che
state
controllando.