Fingerprinting OS: posso contare sui risultati?

2

Usando nmap -O www.example.com ottengo:

Running (JUST GUESSING): Microsoft Windows 7|2008 (90%)

Quindi posso dire che il sito di destinazione sta eseguendo Windows.

Usando xprobe2 -v www.example.com , sono solo stupito dal fatto che i risultati siano completamente diversi:

+] Primary Network guess:
[+] Host 217.*4.***.** Running OS: "HP JetDirect ROM G.08.08 EEPROM G.08.04" (Guess probability: 86%)

Domande:

  1. Un sito web può davvero falsare una risposta data a uno scanner di rete?
  2. Al giorno d'oggi esiste uno strumento in grado di rilevare il SO in esecuzione al cento per cento sicuro?
posta g9999 30.12.2012 - 22:40
fonte

5 risposte

4
  1. 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!

  1. 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.

    
risposta data 01.01.2013 - 04:49
fonte
6

In primo luogo, la teoria
Il fingerprinting del SO funziona esaminando le stranezze su come un dato computer risponde al traffico di rete. Mentre le RFC specificano molto sul comportamento dello stack TCP / IP, alcuni dettagli o valori predefiniti potrebbero non essere specificati ufficialmente, e alcuni sistemi operativi potrebbero differire leggermente anche nei comportamenti prescritti. Poiché il comportamento di basso livello dello stack TCP / IP è generalmente implementato nel sistema operativo, le differenze di implementazione in genere rivelano il sistema operativo in uso.

Successivamente, le complicazioni
Detto questo, è ragionevolmente semplice, quasi banale, buttare via questi sistemi di rilevamento. Poiché questi sistemi di impronte digitali si basano sul presupposto che impostazioni come la dimensione iniziale della finestra o TTL non vengano mai modificate, la semplice modifica dei valori predefiniti è in genere sufficiente per il lancio del sistema. Mentre alcuni comportamenti esaminati riflettono le differenze di codice, altri aspetti sono impostazioni configurabili dall'utente che generalmente non vengono mai modificate.

In effetti, al di là della semplice confusione degli strumenti di rilevamento delle impronte digitali del sistema operativo, esistono strumenti aggiuntivi con l'esplicito scopo di fornire risultati molto specifici ma "falsificati" in risposta ai tentativi di impronta digitale.

    
risposta data 31.12.2012 - 08:41
fonte
3

Per rispondere al titolo della domanda:

Sì, fino al 90%, come ha detto nmap .

E per i tuoi punti:

  1. Sì, questo è il lavoro di honey pots
  2. Nessun. (100%, sicuramente no 100% non esiste comunque!)

honeypot sono server falsi che funzionano come qualsiasi tipo di sistema esistente, nella speranza che un utente malintenzionato proverà ad andare avanti. Da lì, un sacco di meccanismi garantiranno che l'attaccante ritenga che stia succedendo interrompe con successo la sicurezza del sistema, quindi registra tutte le azioni di ogni attaccante ...

Da lì, honeypot potrebbe imparare molto sull'errore di sicurezza che l'utente malintenzionato sta tentando di sfruttare e persino creare una specie di impronta digitale per identificare l'autore dell'attacco, tramite il suo riflesso, il metodo di test, la tastiera frequenza di battitura e altre particolarità personali (l'indirizzo IP rimane secondario)

Vuoi venire ad essere incollato nel mio miele, mon pote ?

( mon pote è una traduzione francese del mio amico.)

    
risposta data 30.12.2012 - 23:29
fonte
3

Le impronte digitali di xprobe2 non sono state aggiornate da anni, quindi non ti forniranno risultati accurati su un sistema operativo più recente. Credo che sia stato rilasciato nel 2005. Niente sarà mai preciso al 100%. Come notato in altri thread, puoi modificare i banner dei sistemi sottostanti (strumenti fool passive os fingerprinting), modificare il proprio stack IP (ingannare sia gli strumenti passivi che quelli attivi), ecc.

    
risposta data 01.01.2013 - 01:11
fonte
2

Quali strumenti come nmap e xprobe fanno sta cercando di contattare i servizi sulla macchina, cercando le porte aperte, verificando se e cosa rispondono a determinate query. Naturalmente, tutto ciò può essere controllato dal server che stai contattando: quelli possono dire al tuo strumento di analisi quello che vogliono. Quindi no, non esiste un metodo al 100% per rilevare il sistema operativo in esecuzione rilevando una macchina tramite uno scanner di rete.

    
risposta data 30.12.2012 - 22:56
fonte

Leggi altre domande sui tag