Redirigir el tráfico usando PF junto con Compartir Internet

8

La versión corta:

¿Cómo redirecciono todo el tráfico del puerto en2 80/443 a 127.0.0.1:8080 cuando habilito Conexión compartida en OS X Mountain Lion (10.8)?

Algunos antecedentes:

Estoy realizando una tesis de maestría en la que evaluaré la seguridad de la comunicación para varias aplicaciones de teléfonos inteligentes. He elegido usar mi nuevo MacBook Air como enrutador.

He conectado mi Air a Internet con USB Ethernet y he configurado Internet Sharing a mi Wifi. Esto funciona bien. Puedo conectar otros dispositivos a mi Air a través de wifi y acceder a Internet. ¡Genial!

Ahora quiero interceptar este tráfico y modificarlo sobre la marcha. Pensé que necesitaba un proxy para hacer esto, pero necesito uno transparente, donde no tengo que hacer ninguna configuración en el dispositivo. Encontré que mitmproxy ofrece exactamente estas características. Así que lo tengo funcionando en 127.0.0.1:8080, listo para interceptar el tráfico.

Lamentablemente, estoy atascado tratando de redirigir el tráfico que ingresa desde wifi (en2) en el puerto 80 y 443 a 127.0.0.1:8080. Los documentos mitmproxy sugieren una configuración para pfctl pero no funciona. Me di cuenta de que Apple ha proporcionado algunas configuraciones para compartir Internet, habilitando NAT. Entonces, si no uso su configuración, entonces el uso compartido de Internet deja de funcionar. Y cuando intento agregar las líneas rdr a su configuración no surte efecto (probé varios lugares en el archivo /etc/pf.conf). Mi tráfico simplemente pasa a Internet, sin pasar por el mitmproxy.

    
pregunta Christoffer Reijer 30.08.2013 - 16:53

2 respuestas

6

He encontrado la respuesta.

Cargué mis reglas como parte del ancla com.apple/100.InternetSharing/natpmp , que es la que se usa para compartir Internet.

El archivo mitm.pf.conf contiene las reglas:

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'

Cárguelo utilizando el ancla de Compartir Internet:

sudo pfctl -a com.apple/100.InternetSharing/natpmp -f mitm.pf.conf
    
respondido por el Christoffer Reijer 30.08.2013 - 20:17
0

En una situación similar, he usado el firewall para redirigir el tráfico de una NIC al proxy. Podrías usar algo así:

$ 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

Si funcionó bien para mí.

También puede usar el programa gratuito WaterRoof como GUI para configurar el firewall. No agrega nada al comando ipsw, solo le brinda un acceso más fácil a todas las opciones.

Esta página me ayudó mucho en la configuración de mi configuración:

enlace

    
respondido por el Andrea 30.08.2013 - 21:03

Lea otras preguntas en las etiquetas