MiTM, un file binario può essere cambiato o scambiato durante il tragitto

3

Ho sinceramente cercato una risposta a questo, ma la mia terminologia è carente. Se un utente malintenzionato si trovava in una posizione MiTM con un proxy, non sarebbe possibile per loro rilevare un file binario come .exe o .pdf e impiantare alcune istruzioni dannose o scambiare completamente il file con qualcosa di malvagio?

Per chiarire: Conosci software, documenti o chiacchiere su questo.

    
posta Keith Loughnane 10.09.2012 - 16:59
fonte

4 risposte

5

Sì. Si può fare. L'ho fatto personalmente con python, usando uno script che ho scritto chiamato the-backdoor-factory e implementando un proxy in python. Una volta installato il sistema di patching, quasi tutti i proxy funzioneranno. Dovrai solo cercare l'applicazione / octet-stream nel codice html, recuperare il file binario, correggerlo e inoltrarlo al client. Pubblicherò una recensione completa online una volta che avrò un programma stabile per i test della comunità.

Quindi ecco un video del POC su cui sto lavorando: link

Quello che stai vedendo nel video è il mio POC a sinistra scritto in python e la "vittima" a destra che esplora il proxy. Il proxy cerca i file binari e al momento intercetta solo PE / COFF. Dopo che il file binario è stato corretto, inoltra il file binario all'utente, come puoi vedere, è molto veloce.

    
risposta data 10.01.2014 - 03:27
fonte
4

Sì, lo farebbero. Direi che iniettare codice dannoso in un file .exe o in un file .pdf sarebbe difficile senza danneggiare l'integrità del file fino al punto in cui rompe il file, più probabilmente una sostituzione definitiva sarebbe più intelligente, ma sarebbe necessario avere una dimensione del file simile o potrebbe destare sospetti. Poiché l'obiettivo è in attesa di un file, i sospetti sarebbero bassi.

    
risposta data 10.09.2012 - 17:03
fonte
2

In generale, non ci si può fidare di nulla su una connessione non protetta su qualsiasi rete in cui potrebbe essere presente un MITM (cioè, non si ha il controllo fisico completo e la sicurezza del routing e del cablaggio). Un uomo in mezzo potrebbe monitorare e modificare qualsiasi connessione non protetta fingendo di essere te stesso per l'host e fingendo di essere l'ospite per te. Nessuno dei due sistemi sarebbe consapevole della presenza. Il file potrebbe essere interamente sostituito o l'eseguibile potrebbe essere alterato o sostituito per fare cose malvage abbastanza facilmente.

Esistono tuttavia diversi modi per impedirlo. Le connessioni autenticate come HTTPS garantiscono che solo due endpoint (almeno uno dei quali è attendibile) possano comunicare. In breve, HTTPS funziona con il server che dispone di un'informazione speciale che il browser può convalidare è il server che si ritiene sia. Queste informazioni possono quindi essere utilizzate per inviare una chiave generata dal client al server trusted in un modo che solo il server può comprendere. Poiché il MitM non conosce la chiave appena condivisa, il server può quindi rispondere utilizzando tale chiave per crittografare la connessione e il MitM non può più osservare o alterare i contenuti significativi di tale comunicazione e qualsiasi alterazione lo farebbe apparire non verbale ( o eventualmente essere rilevato in base al protocollo in uso).

Un'altra tecnica è chiamata checksum. Un checksum è una piccola informazione che può essere fornita indipendentemente per convalidare un file molto più grande. Generalmente consiste in un hash del file che viene inviato, che può quindi essere rehashed dopo il ricevimento per garantire che il file non abbia errori nella trasmissione. Se il checksum e il file sono ottenuti da connessioni differenti, è un po 'più difficile per il MitM modificarli entrambi, tuttavia potrebbe ancora essere possibile modificarli entrambi. Il checksum potrebbe anche essere firmato crittograficamente dal distributore di file per garantire che il checksum non possa essere modificato dal MitM.

Il metodo migliore consiste nel combinare i due approcci e includere un checksum firmato crittograficamente che convalida che il file proviene dal mittente mentre comunicava il file tramite una connessione sicura. Ciò garantisce che i dati non siano danneggiati durante la trasmissione e garantisce anche che provenga dall'host atteso.

    
risposta data 11.09.2012 - 19:51
fonte
1

L'uomo nel mezzo può fare praticamente qualsiasi cosa con i dati che passano attraverso. L'unica difesa è l'uso di chiavi / firme che non sono passate attraverso l'attaccante - per esempio è stato consegnato prima dell'iniezione o da un altro mezzo. Ovviamente dovresti ricordare che le chiavi potrebbero essere compromesse a un certo punto anche in futuro.

    
risposta data 11.09.2012 - 14:02
fonte

Leggi altre domande sui tag