- Can a website really fake a response given to a network scanner?
Sì, ma pochissime risposte fittamente intime. Tuttavia, ciò non significa che non si otterranno risultati imprecisi delle impronte digitali su base regolare; ci sono ragioni più comuni per risultati errati. Molti scanner di rete avranno risposte non valide a causa delle sole modifiche alla configurazione dall'impostazione predefinita del sistema operativo o, nel caso di Nmap, dall'incapacità di raccogliere tutti i dati richiesti per costruire un'impronta completa. Per ottenere l'impronta digitale Nmap più precisa possibile, l'host di destinazione deve (consultare il libro Nmap sul argomento),
1. Have at least one open TCP port
2. Have at least one closed TCP port
3. Have at least one closed UDP port
4. Respond to ICMP Echo requests
Parte della potenza dello scanner Nmap OS rispetto a strumenti più semplici è che combina test da più protocolli e tenta di produrre un risultato che è una combinazione di molte sonde diverse, ma è anche uno svantaggio perché molti host non rispondono a tutte le sonde necessarie per generare un'impronta digitale completa (molte macchine bloccano i ping ICMP per esempio). Riempirà i valori predefiniti per i test mancanti e spererà che i test che potrebbe eseguire sull'host siano sufficienti a distinguere l'identità, ma nella maggior parte dei casi il meglio che otterrete è una corrispondenza "fuzzy" (non una corrispondenza esatta di fingerpring , ma qualcosa che è vicino).
Scrivere strumenti di impronte digitali è un compito difficile, molti sistemi operativi si comportano in modo molto simile e distinguere tra loro può essere quasi impossibile. Come hai già visto, molte versioni di Windows (in questo caso Windows 7 e Server 2008) vengono raggruppate insieme perché le implementazioni dello stack di rete sono identiche o quasi identiche.
Un altro problema che a volte può cambiare i risultati è il timing dei pacchetti e il ritardo della rete. Molte delle funzioni di impronte digitali Nmap si basano sul tempo esatto tra le sonde inviate e la risposta, combinate con cose come Timestamp TCP e numeri di sequenza. Se un pacchetto viene ritardato per un secondo a causa di un po 'di ritardo, un rinvio da qualche parte lungo il percorso di routing o un picco di utilizzo della CPU nel computer di destinazione, è possibile vedere le differenze nell'impronta digitale Nmap, ovvero eseguire una scansione del sistema operativo Nmap su lo stesso obiettivo più di una volta può darti risultati leggermente diversi!
- Nowadays is there a tool which is able to detect the running OS a hundred per cent sure?
No. Il modo migliore è utilizzare una combinazione di strumenti e buon senso. L'esecuzione di una scansione Nmap può darti un'idea di base su quale sistema operativo è in esecuzione e spesso puoi restringere il campo esaminando le versioni e i banner dei servizi che vedi. Se vedi una macchina che riporta Linux 2.6 e poi guarda un banner SSH che dice SSH-2.0-OpenSSH_4.6 Debian-4, puoi essere più sicuro che la scansione del sistema operativo fosse corretta. Se si iniziano a vedere informazioni in conflitto, come una macchina che Nmap pensa sia FreeBSD ma che esegue Microsoft IIS, allora ha bisogno di ulteriori indagini e si dovrebbe essere più stanchi dei risultati del sistema operativo. Stai guardando una scatola nera dall'altra parte di Internet e stai cercando di estrapolare ciò che è dentro in base a ciò che ti dice, ma quello che ti dice potrebbe essere una bugia o solo accidentalmente confondere.