[HACK] Opciones VPN "seguras" para iPhone

Roman Medina-Heigl Hernandez roman at rs-labs.com
Mon Mar 26 11:30:34 CEST 2012


Hola,

Para iPhone sin JB, yo tampoco conozco cliente de openvpn. Pero para iPhone
con JB sí que puedes usar GuizmOVPN (es una de "mis" razones para tener el
JB hecho, a pesar de la pérdida general de seguridad que se asume por
tenerlo así... aunque bueno, también tiene sus ventajas :)).

En cuanto a si se cae la VPN o no... no he investigado, la verdad. Aunque
en el caso de un cliente openvpn como el que he citado veo 2 posibilidades:
- crash del cliente openvpn. Aquí tengo duda. Puede que se libere el
dispositivo tun0 (o similar), las rutas por tanto se desactiven y el
tráfico vuelva a cursarse de la forma tradicional (malo...). O puede que
las rutas se queden pilladas y simplemente el dispositivo no navegaría
(opción deseada, entiendo, desde el pdv de seguridad).
- pérdida transitoria de conexión pero el cliente openvpn sigue up. En este
caso, las rutas se mantienen así que lo único que ocurriría es que el tlf
deja de navegar hasta que se restablezca la conectividad. En función de la
configuración .ovpn creo recordar que puedes decirle que haga reset
completo del tunel cuando haya pérdida de conectividad; en este caso,
entiendo que puede haber una ventana de tiempo -mínima- durante la cual las
rutas "viejas" (aka sin cifrar) se establecen, para posteriormente
reactivarse las rutas "cifradas" (no se si me explico... :)).

Resumiendo, la posibilidad de que el openvpn "se rompa" y estés cursando
tráfico sin cifrar siempre existe. Aunque creo que es relativamente pequeña
(ya tienes que tener cierta mala suerte... y encima no enterarte).

Respecto a tener el DNS "capado", pienso que ya es rizar el rizo. En mi
caso, lo que sí tuve es que tunear el .ovpn para fijar unos servidores DNS
-los de google- mientras dure el túnel (así el tráfico dns se tuneliza
también).

Si no hay tunel, el dns es "el que le toque" (según si esté conectado por
wifi -dhcp- o 3g/gprs). La configuración .ovpn también evita el mitm (i.e.
alguien que quisiera suplantar al servidor VPN; hay autenticación mútua vía
certs).

PD: Jesús, no te pinta hacer cross-posting! :-P

Saludos,
-Román

Jesus Cea escribió:
> A ver si no me dais de palos.
> 
> Tras bastante esfuerzo, he montado una VPN en mi iPhone para poder
> utilizar redes potencialmente hostiles con confianza. Eso incluye
> cuando pierdo el 3G y salgo por GPRS };-). (el 3G en la rooted va de
> coña en el momento en que se está dando la ponencia de intrusión en
> redes móviles... qué cosas, como si no se pudiese atacar en otro
> momento };-).
> 
> Pero es evidente que la opción VPN del iPhone está pensada para entrar
> en redes corporativas, y no para canalizar todo tu tráfico a través
> suya, de forma segura:
> 
> - Hay que activarla manualmente.
> 
> - Si la VPN se pierde, no se restablece automáticamente.
> 
> - No hay forma de indicarle al teléfono (que haya encontrado) que no
> utilice la red si la VPN no está disponible.
> 
> El escenario de ataque evidente es el siguiente:
> 
> - Me conecto a la WIFI del Starbucks.
> 
> - Aquí empieza a haber tráfico que no va cifrado... Dado que el iphone
> no tiene multitarea, básicamente serían cosas como las notificaciones
> PUSH, etc., de Apple, que de por sí van por HTTPS, o correo
> electrónico que más te vale que vaya cifrado también, sin necesidad de
> VPN. Bueno...
> 
> - Activo la VPN manualmente y espero a que me aparezca el icono.
> 
> - Ahora lanzo una aplicación sensible. El tráfico va por la VPN.
> 
> - Si ahora se me cae la VPN, un atacante la bloquea y fuerza su
> timeout, etc., el tráfico empezará a circular en abierto y aunque esté
> absolutamente pendiente del icono, puede ser ya demasiado tarde.
> 
> En un mundo ideal quisiera tener la VPN funcionando siempre y que si
> no está disponible, que simplemente el teléfono se niegue a enviar
> paquetes. Tal y como lo tengo en el portátil.
> 
> Una opción que he pensado es configurar la red para utilizar un proxy
> por HTTPS. Entiendo que si el proxy no está disponible, no me dejará
> hacer nada. Pero eso solo funciona para WIFI, no GSM/UMTS, tendría que
> verificar que el teléfono comprueba el certificado SSL del proxy (lo
> que abre otro tipo de ataques, pero algo es algo) y, en todo caso,
> solo protegería tráfico web.
> 
> ¿Alguna idea?.
> 
> Todo esto sin jailbreak, claro.
> 
_______________________________________________
Lista - https://mailman.jcea.es:28443/listinfo/hacking
FAQ - http://www.jcea.es/artic/hack-faq.htm
"una-al-dia" para estar siempre informado - http://www.hispasec.com/



More information about the hacking mailing list