Questo articolo descrive come imbrogliare nmap
nel rilevamento di impronte digitali del sistema operativo.
In breve, nmap
invia pacchetti malformati per aprire e chiudere le porte e ascoltare le risposte. Poiché ogni sistema operativo implementa il proprio stack TCP / IP, la risposta può essere confrontata con un database di firme note e il sistema operativo ipotizzato.
I due modi per mitigare questo sono
- Patch il sorgente del kernel con "stealth patch"
This patch simply discards the TCP/IP packets received with the following matches:
Packets with both SYN and FIN activated (tcp_ignore_synfin) (QueSO probe).
Bogus Packets: if the TCP header has the res1 bit active (one of the reserved bits, then it's a bogus packet) or it does not have any of the following activated: ACK, SYN, RST, FIN (Nmap test 2).
Packets with FIN, PUSH and URG activated (Nmap test 7).
- Aggiustare i sorgenti del kernel con "Personalità IP" per modificare il comportamento dello stack TCP / IP in quelle situazioni minuscole, emulando un altro OS (Sega Dreamcast per esempio)
Mentre il secondo approccio può avere alcuni problemi di efficienza / stabilità:
Tweaking those allow to fool a scanner but might break regular connectivity by changing network parameters. It could also make the system weaker if the emulated IP stack is not as strong as the initial one
il primo non ha alcun inconveniente menzionato.
Perché questo comportamento non è predefinito. Perché i sistemi operativi rispondono a quei pacchetti?