El trabajo de un auditor, administrador de seguridad, etc..,
requiere que en su día a día tenga que estar conectado, y siempre hablando de
determinados escenarios, a varias redes, establecer conexiones con un origen
específico, uso de conexiones VPN, etc..
El otro día, hablando con Jose Selvi vía telefónica sobre cosas
mundanas y terrenales, me comentaba que en su portátil con Windows había tenido
que configurar este tipo de cosas.
Es interesante destacar que, como hemos comentado en
anteriores párrafos, en determinados escenarios puede ser interesante encaminar
cierta parte de nuestro tráfico a través de distintas redes. Como principal
ejemplo Selvi me comentaba que esto lo hacía cuando no gestionaba el EndPoint –
por ejemplo una VPN que no controlamos – y que no le gustaba que cierto tráfico
de su propiedad se pudiese ver “comprometido” o dar facilidades de acceso al
mismo a un tercero.
Hay muchas opciones y muchos escenarios en donde también es
interesante habilitar este tipo de configuraciones, como por ejemplo si
necesitamos utilizar la salida de una determinada herramienta para alimentar a
otra y no queremos andar “parseando” tráfico local nuestro. Otro ejemplo se
puede dar cuando en determinadas auditorías exigen que se entregue una bitácora
de peticiones – por ejemplo en formato PCAP – a modo de auditoría.
En Linux esto es posible realizarlo a través de
netfilter/iptables y con las opciones de PREROUTING. Para hacerlo en Windows
necesitamos entender cómo se gestionan y se crean conexiones de tipo VPN para
luego poder encaminar los datos que necesitemos.
Cuando Windows genera una conexión VPN y nos conectamos a
través de ella, el sistema operativo crea una ruta por defecto en la que se indica
que todo nuestro tráfico lo encaminará a través de dicha conexión, y será el
servidor final el que tendrá que realizar una acción de forwarding en caso de
que se utilice también como conexión a Internet. Esto se puede verificar una
vez conectados a la VPN con un simple route print.
Imagen 1. Información
en la tabla de rutas
En caso de que no queramos que todo el tráfico pase por la
VPN, en Windows pasa por configurar la nueva conexión de acceso remoto y
desmarcar las opciones de Default Gateway en IPv4 e IPv6. Para ello, y en tus
conexiones de red, debes configurar esta opción en la pestaña Networking de tu
conexión de acceso remoto.
Imagen 2.- Conexiones
de acceso remoto en Windows
Una vez desmarcada esta opción, usaremos la flexibilidad del
comando route, y generaremos las entradas necesarias para encaminar el tráfico
deseado por la conexión VPN. Para ello necesitamos conocer varios elementos:
- Dirección - Rango de direcciones – Redes completas a encaminar
- Número de interfaz
El número de interfaz se puede averiguar con el propio
comando route print, o también a
través del instrumental de administración de Windows.
Imagen 3.- Extracción
de InterfaceIndex a través de WMI
Una vez tengamos estos datos, podremos utilizar la
flexibilidad que nos otorga la creación de rutas para generar la nuestra. En el
caso de que necesitemos generar una ruta para una dirección IP concreta, se
podrá utilizar el siguiente comando:
Imagen 4.- Creación
de ruta en Windows
En caso de necesitar que la ruta fuese persistente, se puede
hacer uso del flag –p. Una vez realizado este paso para cada una de las
direcciones IP o redes concretas, la próxima vez que nos conectemos a través de
esa red VPN, todas las conexiones realizadas desde nuestro equipo a esas
direcciones IP, se encaminarán a través de la conexión remota. El resto de
peticiones se realizará con nuestra conexión local.
Si se desea realizar esto de manera masiva – por ejemplo a
través de Directorio Activo y a un número determinado de equipos – se puede
realizar a través de PowerShell y políticas de grupo. Para los interesados
Microsoft ha generado un documento con scripts de ejemplo, el cual puedes
descargar desde la siguiente dirección:
Los servicios y aplicaciones Microsoft permiten determinados
tipos de configuraciones y vías de fortificación con mucha flexibilidad y a
través de múltiples vías. Para los que estéis interesados en este tipo de tips
y escenarios de fortificación avanzados, Lorenzo Martínez, uno de los editores
de SecurityByDefault, me ha invitado a dar unas sesiones en el curso de Hardening de Sistemas Windows, Linux e Infraestructuras, y del cual
estoy encantado de participar junto a buenos ponentes y amigotes, como Pedro
Sánchez o Yago Jesús. Si quieres más información, así como un índice del mismo,
puedes consultar el siguiente enlace:
Referencias adicionales
https://technet.microsoft.com/nl-nl/library/ee431701(v=ws.10).aspx
Juan
Garrido (@tr1ana)
MVP
Enterprise Security











