Il 0% ha trovato utile questo documento (0 voti)
7 visualizzazioni12 pagine

Nmap 101

Il documento fornisce una panoramica dettagliata su Nmap, inclusi i vari tipi di scansione, il formato dell'header TCP e le fasi del processo di scansione. Viene discusso l'uso legale delle scansioni di rete e le implicazioni di sicurezza, oltre a presentare comandi specifici e script NSE per l'automazione delle scansioni. Infine, viene menzionato come utilizzare Wireshark per analizzare il traffico generato da diverse scansioni Nmap.

Caricato da

p.casarola
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)
7 visualizzazioni12 pagine

Nmap 101

Il documento fornisce una panoramica dettagliata su Nmap, inclusi i vari tipi di scansione, il formato dell'header TCP e le fasi del processo di scansione. Viene discusso l'uso legale delle scansioni di rete e le implicazioni di sicurezza, oltre a presentare comandi specifici e script NSE per l'automazione delle scansioni. Infine, viene menzionato come utilizzare Wireshark per analizzare il traffico generato da diverse scansioni Nmap.

Caricato da

p.casarola
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

NMAP 101

SCANSIONA COME SE NON CI FOSSE DOMANI!


L’HEADER TCP

• L’Header TCP è formattato come


si può vedere nello schema sulla
destra, in modo da comunicare
immediatamente la source e
destionation ports.
• Le flag dei pacchetti si trovano
all’interno del pacchetto e
sanciscono il tipo di
comunicazione che si vuole
stabilire.
La parte Data arriva solamente alla
fine del pacchetto, giustamente, in
un header, prima occorrono tutti i
dati per riuscire a comunicare.
SCANSIONA CHE TI PASSA
La scansione di una rete è legale? Posso scansionare IP pubblici? Qui c’è una
diatriba in campo che dura forse da millenni. Per scansionare una rete servirebbe
una manleva. Con quella non avrete mai problemi.
Ma se voglio scansionare i server online? Definito il fatto che diventa difficoltoso
per un server esposto capire se qualcuno sta scansionando perchè arrivano migliaia
di richieste al secondo il problema è un po’ più delicato.
Se fate una normale scansione con un tempo di scansione sotto il T2,
probabilmente non verrete mai tracciati. La criticità inizia quando scansionate con
delle opzioni –A o degli script NSE che provano ad accedere ai servizi esposti e voi
non siete autorizzati.
Lì siete perseguibili. Perchè un accesso ad un sistema informatico anche
involontario senza autorizzazione corrisponde ad un reato.
Diciamo quindi che, in quanto professionisti del settore, sarete sempre legati ad una
manleva che vi salvaguarderà sui target, in quando smanettoni a casa vostra, va a
vostro rischio e pericolo. Cosa può succedere? Può succedere che dall’altra parte ci
sia un SIEM che rileva che il vostro IP ha scansionato quel server e coi tentativi di
accesso ha mandato in crash la piattaforma, a quel punto, a seconda del danno
potreste trovarvi delle grane importanti.
A voi la palla.
IL PROCESSO DI SCANSIONE
NMAP ha diverse fasi che completa nel suo processo di scansione:

1) Target Enumeration è la prima fase in assoluto. Si occupa di cercare i target


2) Host Discovery è la fase che serve per capire se i target sono online (ARP,PING,TCP)
3) Reverse DNS-Resolution vede se ci sono dei nomi host associati agli IP trovati
4) Port Scanning qui nmap scansiona un numero di porte variabile e controlla anche se sono aperte
,chiuse o filtrate.
5) Version Detection serve per stabilire che versione di servizio\sw è presente dietro alla porta.
6) OS Detection cerca il sistema operativo del target
7) Traceroute stabilisce la «distanza» e quanti host\hops ci sono in mezzo tra lui ed il target
8) Script Scanning se sono stati usati script NSE è la fase che li utilizza
9) Output se impostato alla fine scrive il file in una locazione a piacere coi risultati.
IL TEMPO DI SCANSIONE (-T)

Riassunto delle varianti:


-T0: Paranoid (molto lento, invisibile)
-T1: Sneaky (lento, più sicuro)
-T2: Polite (moderatamente lento)
-T3: Normal (velocità predefinita)
-T4: Aggressive (rapido)
-T5: Insane (molto veloce, rischia il
rilevamento)
LE PORTE DI SCANSIONE (-p)

Senza l'opzione -p, Nmap esegue la scansione di 1.000


porte TCP più comuni.

Utilizzare -p- per scansionare tutte le porte può essere utile,


ma richiede più tempo e più risorse.

Puoi combinare il flag -p con altre opzioni di Nmap per


eseguire scansioni più mirate e dettagliate.
TRACEROUTE (in NMAP)
Il comando traceroute è utilizzato per
diagnosticare problemi di rete e analizzare il
percorso che i pacchetti di dati seguono da un
computer a un server o a un altro host su Internet.
Mostra tutti i router intermedi che i pacchetti
attraversano e misura il tempo impiegato per
raggiungere ciascuno di essi.
Funziona inviando pacchetti con TTL (Time to
Live) crescente. Ogni volta che un pacchetto
supera un router, il TTL viene ridotto di uno, e
quando arriva a zero, il router invia un messaggio
di ritorno. In questo modo, traceroute può
identificare ogni "salto" lungo il percorso.
È utile per capire dove si verificano ritardi o blocchi
nella rete.
SCANSIONE AGGRESSIVE -A
L'opzione -A in Nmap attiva una serie di funzionalità avanzate di scansione che forniscono
un'analisi dettagliata dell'host target. Nello specifico, quando utilizzi l'opzione -A, Nmap esegue
automaticamente diversi switch, tra cui:
[Link] del sistema operativo (OS detection): Utilizza tecniche di fingerprinting per
determinare il sistema operativo del target. Questo include l'identificazione della versione del
sistema operativo, nonché alcune caratteristiche di rete.
[Link] della versione dei servizi (Service version detection): Oltre a rilevare le porte
aperte, Nmap cerca di identificare i servizi in esecuzione su tali porte (ad esempio, se una porta
TCP 80 è aperta, cercherà di identificare il tipo di server web come Apache, Nginx, ecc., e la sua
versione).
[Link] di scansione NSE (Nmap Scripting Engine): Vengono eseguiti alcuni script predefiniti
che possono rilevare vulnerabilità, fornire informazioni dettagliate sui servizi in esecuzione e
verificare configurazioni specifiche di sicurezza.
[Link]: Questo comando traccia il percorso di rete verso il target, fornendo informazioni sui
router e sui dispositivi intermedi tra la tua macchina e il bersaglio. Aiuta a mappare il percorso e la
latenza tra i vari hop di rete.

Gli switch quindi usati nella scansione –A sono –O –sV –script=default --traceroute
SCRIPT NSE
Gli script NSE di Nmap sono in pratica delle automazioni aggiuntive che sfruttando i più svariati
servizi e risposte riescono ad individuare vulnerabilità, nomi, utenti ecc.

I più conosciuti 10 script NSE sono quelli elencati qui sotto.

Nome Script Descrizione


http-enum Identifica file e directory comuni su un server web.
vulners Controlla la presenza di vulnerabilità note utilizzando il database Vulners.
smb-vuln-ms17-010 Controlla la vulnerabilità MS17-010 (EternalBlue).
ssl-enum-ciphers Enumera i cifrari SSL/TLS supportati da un servizio.
http-sql-injection Controlla la presenza di vulnerabilità SQL Injection su applicazioni web.
ftp-anon Verifica se un server FTP permette accesso anonimo.
dns-brute Esegue brute force sui sottodomini di un dominio.
smb-os-discovery Rileva il sistema operativo tramite SMB.
http-cross-domain-policy Verifica la politica di accesso cross-domain su un server web.
firewalk Analizza i firewall per porte aperte o filtrate.
SCRIPT NSE Programmazione
un piccolo esempio di uno script NSE che ci rilascia la porta aperta o chiusa. Scritto in linguaggio
LUA.
-- Il nome del tuo script, categoria e informazioni
description = [[
Un semplice script NSE per verificare se una porta è aperta.
]]

author = "Il tuo nome"


license = "Same as Nmap--See [Link]
categories = {"default", "safe"}

-- Funzione per determinare quando lo script viene eseguito


-- Questa funzione ritorna "true" se la porta è aperta, permettendo l'esecuzione dello script
portrule = function(host, port)
return [Link] == "open"
end

-- Funzione principale (action) che viene eseguita se la regola `portrule` è soddisfatta


action = function(host, port)
return "La porta " .. [Link] .. " è aperta su " .. [Link]
end
GraphVIZ conversione XML
import [Link] as ET
import sys

# Funzione per convertire il file XML di Nmap in formato Graphviz dot


def nmap_to_dot(xml_file, dot_file):
try:
# Parsing del file XML
tree = [Link](xml_file)
root = [Link]()

salvatelo in python (.py)


# Apertura del file di output dot
with open(dot_file, 'w') as f:
[Link]("graph network {\n")

# Itera attraverso gli host scansionati


for host in [Link]('host'):

lanciatelo
address = [Link]('address').attrib['addr']
[Link](f' \"{address}\" [label=\"{address}\"];\n')

for port in [Link]('.//port'):


portid = [Link]['portid']
[Link](f' \"{address}\" -- \"Port {portid}\" [label=\"Port {portid}\"];\n')

[Link]("}\n")
print(f"File .dot generato correttamente: {dot_file}")
python3 nmap_to_dot.py [Link] [Link]
except Exception as e:
print(f"Errore durante la conversione: {e}") poi
# Controlla se i file sono stati passati come argomenti
if len([Link]) != 3:
print("Uso corretto: python3 nmap_to_dot.py <input_file.xml> <output_file.dot>")
[Link](1)
dot -Tpng [Link] -o [Link]
# Estrai i file di input e output dagli argomenti
xml_file = [Link][1]
dot_file = [Link][2]

# Esegui la conversione
nmap_to_dot(xml_file, dot_file)
Usare Wireshark per Studiare Specifiche Tecniche di Nmap

Se vuoi capire meglio come funzionano specifici tipi di scansioni Nmap, c


ome la scansione SYN (-sS), ACK (-sA), o UDP (-sU), puoi catturare il traffic
o generato da questi comandi con Wireshark. Osservare le differenze nei
pacchetti ti aiuterà a capire come Nmap rileva host, porte aperte, e altri d
ettagli sulla rete.

Scan Type Nmap Command Description


SYN Scan nmap -sS target_ip Performs a SYN scan (half-open) to detect open TCP ports.
ACK Scan nmap -sA target_ip Performs an ACK scan to identify if a port is filtered (firewalled) or unfiltered.
UDP Scan nmap -sU target_ip Performs a UDP scan to identify open UDP ports on the target.
Version Detection Scan nmap -sV target_ip Performs a service and version detection on open ports.
OS Detection Scan nmap -O target_ip Detects the operating system running on the target.
Ping Sweep nmap -sn target_ip Performs a ping sweep to check for live hosts on the network.
Intense Scan nmap -T4 -A -v target_ip Performs an intense scan with OS detection, version detection, script scanning, and traceroute.
TCP Connect Scan nmap -sT target_ip Performs a TCP connect scan (full TCP connection).

Potrebbero piacerti anche