Reindirizza il traffico utilizzando PF insieme a Condivisione Internet

8

La versione breve:

Come faccio a reindirizzare tutto il traffico dalla porta en2 da 80/443 a 127.0.0.1:8080 quando ho abilitato la Condivisione Internet in OS X Mountain Lion (10.8)?

Alcuni background:

Sto facendo una tesi di master in cui valuterò la sicurezza delle comunicazioni per varie app per smartphone. Ho scelto di utilizzare il mio nuovo MacBook Air come router.

Ho collegato il mio Air a Internet con USB Ethernet e ho configurato la condivisione Internet sul mio Wifi. Questo funziona bene. Posso collegare altri dispositivi al mio Air tramite Wi-Fi e accedere a Internet. Grande!

Ora voglio intercettare questo traffico e modificarlo al volo. Ho pensato che ho bisogno di un proxy per farlo, ma ho bisogno di un trasparente, in cui non devo fare alcuna configurazione sul dispositivo. Ho trovato che mitmproxy offre esattamente queste funzionalità. Quindi l'ho in esecuzione su 127.0.0.1:8080, pronto per intercettare il traffico.

Purtroppo non riesco a reindirizzare il traffico proveniente dal wifi (en2) sulla porta 80 e da 443 a 127.0.0.1:8080. I documenti mitmproxy suggeriscono una configurazione per pfctl ma non funziona. Ho notato che Apple ha fornito alcuni config per la condivisione di Internet, abilitando NAT. Quindi, se non utilizzo la loro configurazione, Internet Sharing smette di funzionare. E quando provo ad aggiungere le linee rdr alla loro configurazione non ha effetto (ho provato diverse posizioni nel file /etc/pf.conf). Il mio traffico passa semplicemente a Internet, ignorando il mitmproxy.

    
posta Christoffer Reijer 30.08.2013 - 16:53
fonte

2 risposte

6

Ho trovato la risposta.

Ho caricato le mie regole come parte dell'ancora com.apple/100.InternetSharing/natpmp che è quella utilizzata per la Condivisione Internet.

Il file mitm.pf.conf contiene le regole:

rdr on bridge0 proto tcp from any to any port 80 -> 127.0.0.1 port 8080
rdr on bridge0 proto tcp from any to any port 443 -> 127.0.0.1 port 8080'

Caricalo usando l'ancora di condivisione Internet:

sudo pfctl -a com.apple/100.InternetSharing/natpmp -f mitm.pf.conf
    
risposta data 30.08.2013 - 20:17
fonte
0

In una situazione simile ho utilizzato il firewall per reindirizzare il traffico da una NIC al proxy. Potresti usare qualcosa del genere:

$ sudo ipfw add fwd 127.0.0.1,8080 tcp from not me to any 80 in via en1
$ sudo ipfw add fwd 127.0.0.1,8080 tcp from not me to any 443 in via en1

Se ha funzionato bene per me.

Puoi anche utilizzare il programma gratuito WaterRoof come GUI per configurare il firewall. Non aggiunge nulla al comando ipsw, ti dà solo un accesso più semplice a tutte le opzioni.

Questa pagina mi ha aiutato molto nell'impostazione della mia configurazione:

link

    
risposta data 30.08.2013 - 21:03
fonte

Leggi altre domande sui tag