localhost può essere falsificato?


9

È possibile per una macchina remota accedere ai dati dell'host locale di un'altra macchina falsificando l'IP di loopback?

Di 'se volevo una configurazione in cui, se mi connetto da qualche parte al di fuori della mia rete, dovrò fornire le credenziali di accesso e la mia password sarà richiesta per tutte le operazioni sensibili. Tuttavia, se mi collego dal mio computer, queste credenziali non sono necessarie perché devo accedere al mio sistema operativo per accedere comunque alla rete su quel dispositivo. Posso fare affidamento sull'indirizzo di loopback come misura di sicurezza in questo modo? O è possibile per un attaccante far sembrare che si stiano connettendo localmente?


Non ci credo.
SpacemanSpiff il

1
Vuoi dire che la macchina riceve un pacchetto contraffatto che sembra provenire da 127.0.0.1? O intendi far ottenere alla macchina un pacchetto contraffatto indirizzato a 127.0.0.1?
David Schwartz,

Voglio dire, in sostanza, qualcuno può violare i miei dati localhost e fare {qualunque cosa} facendo finta di essere localhost.
bee.catt,

Non è chiaro cosa significhi "violazione dei dati del mio host locale". Ciò significa che la tua macchina riceve un pacchetto che sembra provenire da 127.0.0.1?
David Schwartz,

Risposte:


12

No.

È possibile inviare dati come 127.0.0.1 falso, ma la risposta andrà "fuori" (restando dentro effettivamente) l'interfaccia di loopback, e sarà "persa".

Se c'è un router in arrivo, invierà il pacchetto attraverso la sua interfaccia di loopback e andrà perso lì.


ok, quindi se capisco tutto correttamente, un utente malintenzionato potrebbe potenzialmente inviare qualcosa IN, ma non sarebbe in grado di ottenere qualcosa in uscita, perché la natura del loopback è che parla solo a se stesso. Se questo è corretto, allora un utente malintenzionato potrebbe inviare codice dannoso che consente di connettersi in remoto, o anche solo un codice che generalmente rompe le cose?
bee.catt,

hai una tabella di routing nel tuo PC, che dice quali pacchetti vanno fuori dove. (route -n su * nix). Hai una voce lì per 127.0.0.0/8 per uscire attraverso l'interfaccia di loopback (in realtà non si spegne, poiché è un loopback). Quindi, se l'attaccante dalla tua lan invia un pacchetto sul tuo PC, il tuo PC può accettarlo, ma il pacchetto di ritorno andrà perso, poiché rimarrà all'interno del tuo PC (inviato 'fuori' dal loopback)
mulaz

1
Un'idea interessante Tuttavia l'interfaccia di loopback non ha un indirizzo MAC. Quindi dovresti avere i MAC di destinazione (NIC di destinazione tecnica) in combinazione con un IP che non appartiene a quel MAC e sperare che lo stack di rete ricevente lo accetti. E quindi il pacchetto deve essere accettato da qualcosa in attesa di dati e probabilmente anche in ascolto sull'IP reale. Comunque, un bel pensiero.
Hennes,

Puoi usare il mac dalla scheda ethernet (quando invii un pacchetto a, diciamo googles 8.8.8.8, lo invii al tuo router MAC con 8.8.8.8 come IP dst. La macchina deve avere l'ip forwarding abilitato ofcourse.
mulaz,

che dire degli attacchi al piano di controllo? Con un indirizzo sorgente predisposto come 127.0.0.1 è possibile bypassare alcuni ACL?
sdaffa23fdsf,

6

Sì. Sorprendentemente, è possibile falsificare un indirizzo sorgente di loopback. Ovviamente non riceverai risposte, quindi anche il tuo pacchetto contraffatto deve includere un exploit. Inoltre verrà arrestato su un router, quindi è necessario trovarsi sulla stessa rete locale della vittima. Il foro remoto CVE-2014-9295 era sfruttabile in questo modo.

Si scopre che OS X e il kernel Linux si comportano in modo simile in questo caso. Qualsiasi pacchetto IP che arriva su un'interfaccia esterna e con IP di origine 127.0.0.1 verrà eliminato immediatamente. Ma se utilizziamo IPv6 invece possiamo effettivamente spoofare :: 1 e inviare pacchetti di modalità di controllo al demone (alcune distribuzioni Linux hanno regole firewall in atto che proteggono da questo, ad esempio Red Hat). Pertanto, se ci troviamo sulla stessa rete locale, possiamo inviare pacchetti contraffatti all'indirizzo link-local della destinazione e ignorare le restrizioni IP.

http://googleprojectzero.blogspot.de/2015/01/finding-and-exploiting-ntpd.html


Questa è la vera risposta ...
DeepS1X il

3

I dati di loopback di solito non arrivano mai alla rete. Viene intercettato e, beh, riavviato, prima che ciò accada. Dal momento che non colpisce mai la rete effettiva, nulla sulla rete può intercettarla.


1

No. Il loopback è hardcoded /etc/hosts- questo è il primo posto in cui il resolver cercherà la traduzione da loopback a ip. A meno che tu non sia in grado di modificare / etc / hosts non puoi farlo.

Se puoi modificare / etc / hosts sei un amministratore, quindi puoi fare qualsiasi cosa ..

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.