it-swarm.dev

Come scoprire che a NIC è in modalità promiscua su una LAN?

Come scoprire che a NIC è in modalità promiscua su una LAN?

30
LanceBaynes

test DNS - molti strumenti di sniffing dei pacchetti eseguono l'indirizzo IP per dare un nome alle ricerche e fornire nomi DNS al posto degli indirizzi IP. Per verificare ciò, è necessario impostare la scheda di rete in modalità promiscua e inviare pacchetti sulla rete destinati a host fasulli. Se vengono visualizzate ricerche di nomi dagli host fasulli, uno sniffer potrebbe essere in azione sull'host che esegue le ricerche.

Test ARP - In modalità promiscua, il driver per la scheda di rete verifica che l'indirizzo MAC sia quello della scheda di rete per i pacchetti unicast, ma controlla solo il primo ottetto dell'indirizzo MAC rispetto al valore da 0xff a determinare se il pacchetto viene trasmesso o meno. Si noti che l'indirizzo per un pacchetto di trasmissione è ff: ff: ff: ff: ff: ff. Per verificare questo difetto, se si invia un pacchetto con un indirizzo MAC di ff: 00: 00: 00: 00: 00 e l'indirizzo IP di destinazione corretto dell'host. Dopo aver ricevuto un pacchetto, il sistema operativo Microsoft che utilizza il driver difettoso risponderà in modalità promiscua. Probabilmente succede solo con il driver MS predefinito.

Ether Ping test - Nei vecchi kernel Linux quando una scheda di rete viene messa in modalità promiscua ogni pacchetto viene passato al sistema operativo. Alcuni kernel Linux hanno esaminato solo l'indirizzo IP nei pacchetti per determinare se debbano essere elaborati o meno. Per verificare questo difetto, devi inviare un pacchetto con un indirizzo MAC falso e un indirizzo IP valido. I kernel Linux vulnerabili con le loro schede di rete in modalità promiscua guardano solo l'indirizzo IP valido. Per ottenere una risposta, un messaggio di richiesta echo ICMP viene inviato all'interno del pacchetto fasullo che porta agli host vulnerabili in modalità promiscua per rispondere.

Forse ce ne sono altri, il test DNS per me è il più affidabile

33
VP.

@vp ha dato la teoria, io darò alcuni strumenti.

Per l'uso nei sistemi Linux:

  • SniffDet: questo utilizza 4 diversi test: test ICMP, test ARP; Test DNS e anche un test LATENCY (che VP01 non ha menzionato). Lo strumento è stato recentemente aggiornato e lo consiglio.

Anche:

  • nmap: esiste uno script NSE per nmap chiamato sniffer-detect.nse che fa proprio questo.
  • nast : Rileva altri PC in modalità promiscua eseguendo il test ARP.
  • ptool : esegue il test ARP e ICMP. Ultimo commit era il 2009 .

Per i sistemi Windows:

  • Cain & Abel può eseguire una scansione promiscua utilizzando molti tipi di test ARP.
  • Promqry e PromqryUI Strumenti Microsoft anche per questo scopo, ma non sono sicuro di come funzionino.

Per quanto riguarda le tecniche di rilevamento generale, ce n'è anche un altro, chiamato honeypot detect. I dettagli sul test di latenza e sulla tecnica honeypot sono disponibili in documentazione di sniffdet.

25
john

Non puoi garantire che sarai in grado di rilevarlo.

Ad esempio, è possibile creare facilmente un cavo Ethernet di sola lettura eseguendo il loop TX + (pin 1) e TX pin 2) del computer sniffing, quindi impostare TX + (pin 1) su RX + (pin 3 dello sniffer) e Da TX- (pin 2) a RX- (pin 6 dello sniffer). Sarà quindi impossibile per il computer sniffer influenzare qualsiasi traffico di dati sulla rete.

Potrebbe essere possibile rilevare una caduta di tensione o RF emissioni (lungo le linee di --- (Van Eck phreaking ), ma non sono a conoscenza di alcun hardware COTS che lo farà rilevalo.

15
Jon Bringhurst

Mentre potrebbe non essere sempre possibile identificare se la rete locale sta annusando promiscuamente il traffico di rete locale, è possibile che si verifichino arresti anomali della maggior parte o di tutte le applicazioni di acquisizione di pacchetti.

Controlla lo script di Samy http://samy.pl/killmon.pl per un punto di partenza. Tieni presente che la maggior parte delle applicazioni che funzionano nel 2011 sono vulnerabili almeno ad un attacco DoS, anche se l'arresto non è vulnerabile come violazione dell'accesso alla memoria (o un'eccezione di lettura/scrittura che porta a un overflow del buffer).

2
atdre

Credo che esista uno strumento che lo rileva in modo affidabile osservando la differenza nei tempi di risposta del ping. Lo strumento invia ping e allo stesso tempo invia un numero elevato di ping allo stesso indirizzo IP ma con indirizzi MAC diversi.

Lo strumento funziona perché le schede in modalità promiscua restituiranno tutto il traffico alla CPU, quindi quando ci sono molti pacchetti che colpiscono la CPU questo rallenterà la risposta a ping autentici. Una scheda in modalità normale ignorerebbe tutti i pacchetti con indirizzi MAC diversi, quindi non ci sarebbero differenze nel tempo di risposta.

Qualcuno inserisce il nome dello strumento

2
Stuart