28Aug
Sapevi che puoi scoprire quale sistema operativo sta funzionando un dispositivo in rete semplicemente osservando il modo in cui comunica sulla rete? Diamo un'occhiata a come possiamo scoprire quale sistema operativo stanno funzionando i nostri dispositivi.
Perché dovresti farlo?
Determinare quale sistema operativo o dispositivo è in esecuzione può essere utile per molte ragioni. Per prima cosa diamo un'occhiata a una prospettiva di tutti i giorni, immagina di voler passare a un nuovo ISP che offre Internet senza connessione per $ 50 al mese, quindi fai una prova del loro servizio. Utilizzando le impronte digitali del sistema operativo, scoprirai presto che dispongono di router della spazzatura e offrono un servizio PPPoE offerto su un gruppo di computer Windows Server 2003.Non sembra più un buon affare, eh?
Un altro uso per questo, sebbene non così etico, è il fatto che i buchi di sicurezza sono specifici del sistema operativo. Ad esempio, si esegue una scansione delle porte e si trova la porta 53 aperta e la macchina sta eseguendo una versione obsoleta e vulnerabile di Bind, si ha una possibilità SINGOLA di sfruttare il buco della sicurezza poiché un tentativo fallito causerebbe l'arresto anomalo del demone.
Come funziona il fingerprinting del sistema operativo?
Quando si eseguono analisi passive del traffico corrente o si guardano alle vecchie acquisizioni di pacchetti, uno dei modi più semplici ed efficaci per eseguire il fingerprinting del sistema operativo è semplicemente guardando le dimensioni della finestra TCP e Time To Live( TTL) nell'intestazione IP delprimo pacchetto in una sessione TCP.
Ecco i valori dei sistemi operativi più popolari:
Sistema operativo | Tempo di vita | TCP Dimensione finestra |
Linux( Kernel 2.4 e 2.6) | 64 | 5840 |
Google Linux | 64 | 5720 |
FreeBSD | 64 | 65535 |
Windows XP | 128 | 65535 |
Windows Vista e 7( Server 2008) | 128 | 8192 |
iOS12.4( router Cisco) | 255 | 4128 |
Il motivo principale per cui i sistemi operativi hanno valori diversi è dovuto al fatto che le RFC per TCP / IP non stabiliscono valori predefiniti. Un'altra cosa importante da ricordare è che il valore TTL non sempre corrisponde a uno nella tabella, anche se sul dispositivo è in esecuzione uno dei sistemi operativi elencati, si vede quando si invia un pacchetto IP attraverso la rete il sistema operativo del dispositivo di invioimposta TTL sul TTL predefinito per quel SO, ma quando il pacchetto attraversa i router il TTL viene abbassato di 1. Pertanto, se si vede un TTL di 117, ci si può aspettare che questo sia un pacchetto inviato con un TTL di 128 eha attraversato 11 router prima di essere catturato.
L'utilizzo di tshark.exe è il modo più semplice per vedere i valori quindi, una volta acquisita l'acquisizione di un pacchetto, assicurarsi di aver installato Wireshark, quindi accedere a:
C: \ Programmi \
Ora tenere premuto il pulsante MAIUSC e fare clic con il pulsante destro del mousesulla cartella wireshark e selezionare la finestra di comando aperta qui dal menu di contesto
Ora digitare:
tshark -r "C: \ Users \ Taylor Gibb \ Desktop \ blah.pcap" "campi tcp.flags.syn eq 1" -T -e ip.src -e ip.ttl -e tcp.window_size
Assicurarsi di sostituire "C: \ Users \ Taylor Gibb \ Desktop \ blah.pcap" con il percorso assoluto per l'acquisizione dei pacchetti. Una volta premuto Invio, verranno mostrati tutti i pacchetti SYN dall'acquisizione di un formato tabella più facile da leggere
Ora questa è una cattura casuale dei pacchetti che ho fatto collegandomi al sito How-To Geek, tra tutte le altre chatter che Windows sta facendoPosso dirti due cose:
- La mia rete locale è 192.168.0.0/24
- Sono su un Windows 7 box
Se guardi la prima riga della tabella vedrai che non sto mentendo, il mio indirizzo IP è192.168.0.84 il mio TTL è 128 e il mio TCP Window Size è 8192, che corrisponde ai valori per Windows 7.
La prossima cosa che vedo è un indirizzo 74.125.233.24 con un TTL di 44 e una dimensione finestra TCP di 5720,se guardo il mio tavolo non c'è un sistema operativo con un TTL di 44, tuttavia si dice che Linux che i server di Google eseguono abbiano una dimensione TCP 5720 della finestra. Dopo aver fatto una ricerca veloce sull'indirizzo IP, vedrai che èin effetti un Google Server.
Per che altro usi tshark.exe, dicci nei commenti.