Mostrando entradas con la etiqueta Windows. Mostrar todas las entradas
Mostrando entradas con la etiqueta Windows. Mostrar todas las entradas

jueves, 24 de noviembre de 2011

Conectar por VPN sin perder la conexión a Internet

Cada vez es más habitual el teletrabajo, ya sea ocasional y continuadamente. En muchos casos el teletrabajo pasa por configurar y conectar al puesto de trabajo a través de una conexión VPN, lo que hace que otros recursos pierdan su conexión, como puede ser el correo electrónico o la navegación Web y, casi siempre, hay alguna forma de evitar que esto ocurra. Aquí os dejo dos casos:

Utilizando una máquina virtual
Si tienes, o creas, en local una máquina virtual en la puedes tener instaladas todas las herramientas que te sean de utilidad para realizar tu trabajo, como puede ser Visual Studio, distintos Frameworks, o cualquier otro entorno de desarrollo o herramienta, en el caso de los programadores de aplicaciones.

Puedes configurar la VPN en dicha máquina virtual, que sí podría "perder" la conectividad a Internet, pero que en esta caso nos traería sin cuidado, ya que en la máquina física si que se podría seguir conectando sin problemas al resto de recursos disponibles en Internet. De este modo, desde la máquina virtual puedes acceder a los servicios de la empresa como pueden ser repositorios de código, bases de datos, aplicaciones accesibles por Remoting, WebServices, etc..., mientras que desde la máquina física tienes acceso a todos los recursos de Internet.

Además, este entorno tiene ciertas ventajas como la de no "ensuciar" el equipo físico que se va ralentizando sobremanera al ir instalando programas, poder utilizar un sistema operativo en la máquina física y otro distinto en la máquina virtual, según las necesidades del trabajo a realizar, etc...

Este entorno en preferido por muchas empresas ya que al dedicar la máquina virtual exclusivamente para la conexión a la VPN, se reduce en gran medida los problemas de seguridad que pueden surgir.

Desactivar el cambio de la puerta de enlace predeterminada
En este caso, lo que se pretende es que las direcciones que pertenecen a la empresa se enruten a través de la VPN y el resto de direcciones se dirijan directamente a nuestra puerta de enlace predeterminada (la que actualmente nos da acceso a Internet).

Cuando creamos una conexión VPN y conectamos a través de ella, la puerta de enlace predeterminada se suele cambiar por la puerta de enlace de la red a la que nos hemos conectado, de modo que todo el tráfico que generemos se dirigirá hacia dicha dirección. Por regla general, las redes a las tenemos acceso a través de la VPN no nos darán acceso a Internet, ya que esto haría que todo el trafico que generásemos pasase por el servidor VPN e incrementaría al tráfico desmesuradamente, pudiendo ralentizar la conexión de todos los usuarios que se conectan a la misma. Para que no se cambie la puerta de enlace predeterminada por la de la red remota debemos entrar en las propiedades de la conexión VPN realizar los siguientes pasos:

  1. Vamos a la pestaña "Funciones de red"
  2. Seleccionamos el "Protocolo de Internet versión 4 (TCP/IPv4)"
  3. Pinchamos en "Propiedades".
  4. En la nueva ventana pinchamos en "Opciones avanzadas..."
  5. En la ventana "Configuración avanzada de TCP/IP" desmarcamos el check "Usar la puerta de enlace predeterminada en la red remota". Esta es la opción que sólo nos permitía acceder a la red conectada a través de la VPN.


Ahora es momento de probar en que punto estamos, para ello, si tenemos la VPN conectada la desconectamos y la volvemos a conectar, ya que la configuración establecida no se aplica a la conexión actual, sino a la próxima que se establezca. Con los cambios realizados se debería acceder sin problemas a Internet, pero ¿puedes acceder a la red conectada a través de la VPN?

Si en este punto ya puedes acceder tanto a la VPN como a Internet ya está todo resuelto (no es habitual, pero puede ser que no haya que realizar el resto de pasos en función de la configuración actual de la red), si ahora lo que no tienes es conexión a la red conectada a través de la VPN tendrás que enrutar las conexiones convenientemente.


Es posible combinar ambas soluciones
Se pueden combinar los dos casos para utilizar una máquina virtual en la que tenemos acceso tanto a la red de la empresa como a Internet.


Enrutando las conexiones a través de la VPN
Al dejar de usar la puerta de enlace predeterminada en la red VPN a la que nos hemos conectado, es posible que las conexiones no se envíen a través de la VPN cuando es necesario, de modo que habrá que decirle explícitamente que conexiones han de enviarse a través de la conexión VPN.

Para ello, conectamos con la VPN y comprobamos la dirección IP que se nos ha asignado, ejecutando el comando ipconfig en una ventana de línea de comandos o mostrando la hoja de estado de la conexión VPN que tenemos conectada.


Nota: Se puede arrancar la "Línea de comandos" poniendo cmd en el cuadro ejecutar en Windows XP, o en el cuadro de texto del menú Inicio de Windows 7/Vista, aunque también lo puedes encontrar en el menú Accesorios del menú Inicio, con el nombre de "Símbolo del sistema".


La dirección IP que nos ha asignado el servidor VPN es la que se indica como "Dirección IPv4" en el resultado del ipconfig (OJO: comprobar que el apartado se llama "Adaptador PPP <Nombre nuestra VPN>") o como "Dirección IPv4 del cliente" en la ventana de "Estado de <Conexión VPN>".

Si la dirección IP que nos ha asignado el servidor VPN es 192.168.X.X podemos hacer que todas las conexiones con direcciones IP que empiecen por 192.168. se envíen a través de la conexión VPN ejecutando el siguiente comando en una ventana de comandos con permisos de administrador.

route add 192.168.0.0 mask 255.255.0.0 192.168.X.X

Es decir, enrutamos todas las conexiones a direcciones IP que empiecen por 192.168. a través de la dirección IP que nos ha asignado el servidor VPN.

Rizando el rizo
Es habitual que tanto los routers ADSL domésticos como otros equipos concentradores o enrutadores utilicen un rango de direcciones IP que empiecen por 192.168. de modo que, al enrutar con el comando anterior puede haberse perdido la conexión a la red local, es decir, a otros equipos que tengamos en caso conectados al router ADSL, por ejemplo.

En este caso, puedes cambiar el rango de direcciones de la red local al rango 10.X.X.X o, si ambas redes no disponen de algún rango distinto aprovecharlo para enrutar un rango de direcciones IP más pequeño. Por ejemplo, si las direcciones de nuestra red local empiezan por 192.168.2.X y las de la red a la que conectamos por VPN empiezan por 192.168.8.X, podemos enrutar todas las direcciones que se correspondan con dicho intervalo con el comando:

route add 192.168.8.0 mask 255.255.255.0 192.168.X.X

Si las direcciones de la red accesible a través de la VPN empiezan por 192.168.8.X o por 192.168.9.X, es decir, 192.168.8.0 con la máscara 255.255.254.0, podríamos indicarlo de dicho modo:

route add 192.168.8.0 mask 255.255.254.0 192.168.X.X

En este sentido puede ser interesante conocer el rango de direcciones de la red a la que conectamos por la VPN para definir un enrutado más exacto, aunque no es imprescindible. Dicho rango de direcciones se define por una dirección IP de la red (por ejemplo, la dirección de la puerta de enlace y la máscara de red). Si solamente tenemos acceso a algunos recursos esta información nos la tendrá que dar el administrador del sistema (si es que nos la quiere dar), pero si tenemos acceso a algún ordenador remoto (ya sea una máquina física o una máquina real), podemos ejecutar el comando ipconfig en la máquina remota para obtener esta información.

Y, si el servidor de VPN nos asigna una dirección IP cada vez que nos conectamos (no es habitual, pero puede configurarse de dicho modo), entonces podemos utilizar el comando route con la conexión VPN ya establecida, ya que el enrutado se puede aplicar sobre la marcha sin problemas.

Dejándolo todo como estaba
Si haciendo pruebas has dejado la tabla de rutas IP inservible, puedes ver la pinta que tiene con:

route print

y eliminar las que no sean necesarias o estorben con:

route delete <direccion> mask <máscara>

por ejemplo, para eliminar el primer enrutado que hicimos se podría ejecutar el comando (fíjate que no aparece el 192.168.X.X al final):

route delete 192.168.0.0 mask 255.255.0.0

Pero tampoco tienes que preocuparte demasiado, ya que todos los enrutados que hemos definido desaparecerán al reiniciar el equipo. Si ya has probado la configuración y va bien puedes hacerla definitiva utilizando el parámetro -p, en el comando de enrutado, como en el siguiente ejemplo:

route -p add 192.168.0.0 mask 255.255.0.0 192.168.X.X


Informa a tus amigos y/o síguenos para estar informado


miércoles, 22 de diciembre de 2010

Obtener acceso como administrador en cualquier versión de Windows

En muchas ocasiones me he encontrado en la necesidad de obtener la contraseña del perfil administrador de Windows, ya sea por estar reparando un equipo como por tener que instalar una aplicación a alguien.

En el trabajo, sobre todo si trabajas para grandes empresas, que la cuenta de administrador sea la única con permiso para realizar ciertas operaciones, pero cuando te dedicas a programar para dichas empresas, necesitas estos permisos para implantar las aplicaciones desarrolladas.

En más de una ocasión, también me he encontrado con ordenadores para uso doméstico, que le han entregado con una cuenta de administrador (de la que no han dado la clave al usuario) y una cuenta de usuario con algunos permisos restringidos.

Sea el caso que sea, y la versión de Windows que sea (lo he probado con muchos de ellos, desde Windows XP y Windows 2003, hasta Windows 7, Windows Vista y Windows 2008, en cualquiera de sus versiones (Empresarial, Server, Home, etc...) se puede utilizar el siguiente mecanismo para obtener acceso como administrador.

En las primeras versiones, hasta la versión Windows 2008, había mecanismos más o menos complejos para obtener acceso como administrador. A partir de las versiones 2000/XP, empezó a reforzarse el tema de la seguridad, a la vez que se introducían más mejoras para personas con cualquier tipo de discapacidad.


Relacionado con el tema de las discapacidades, estas aplicaciones de ayuda a los usuarios que lo necesitan, deben poder ejecutarse, incluso, antes de iniciar sesión, de modo que en la misma pantalla de inicio se presenta el icono de accesibilidad desde la que se pueden ejecutar las aplicaciones correspondientes.

En principio, las aplicaciones que se ejecutan deben estar asociadas a un usuario con unos permisos limitados, pero no a nuestra propia cuenta, ya que aún no se ha iniciado sesión, pero no es así, sino que se ejecuta dentro de un perfil de usuario con permisos, lo que quiere decir que si metemos una aplicación para que se ejecute desde aquí tendrá dichos permisos.

Reemplazar los archivos
En las últimas versiones de Windows se han insertado unos mecanismos de seguridad para evitar que cualquier usuario, incluso el administrador, pueda reemplazarlos archivos desde el propio Windows, pero estas restricciones no afectan si utilizas otro sistema operativo para realizar las operaciones correspondientes.

Los archivos que se podrían reemplazar son Magnify.exe (aplicación que muestra una lupa en la parte superior donde se muestra parte de la pantalla ampliada), Narrator.exe (aplicación que describe lo que hay en pantalla) o osk.exe (teclado en pantalla), entre otras.

Los pasos serían:
  1. Descargamos alguna distribución de Linux que permita el arranque desde CD o USB, como Ubuntu.
  2. Arrancamos el ordenador con el sistema operativo del CD o USB y montamos la partición de Windows.
  3. Nos vamos a la carpeta System32, que suele estar en C:\Windows\System32.
  4. Hacemos una copia de seguridad del archivo que hayamos elegido como víctima de nuestro ataque (por ejemplo: Magnify.exe)
  5. Borramos el archivo elegido como víctima (Magnify.exe)
  6. Copiamos el archivo cmd.exe y le cambiamos el nombre a Magnify.exe, en este ejemplo.
  7. Reiniciamos el ordenador y dejamos que arranque Windows.
  8. Ejecutamos la herramienta de la lupa (nuestro nuevo Magnify.exe, que no es otra cosa que una ventana de comandos)
  9. Si lo único que quieres es comprobar si tienes suficientes privilegios, solamente debes ejecutar regedit.exe y comprobar si se abre la pantalla correspondiente.
¿Ahora que?
Ahora, si sabes manejar un poquito la ventana de comandos puedes hacer lo que quieras.

Si, no la conoces tendrás que patear un poco por Internet, pero si lo único que necesitas es iniciar una sesión con permisos de administrador, te detallo las instrucciones a continuación:

net user /add tecno
Creamos el usuario "tecno".
net localgroup administradores tecno /add
Añadimos al usuario "tecno" al grupo de administradores, teniendo los mismos permisos que cualquier administrador del equipo.
net user tecno *
Le ponemos una contraseña al nuevo usuario.

Ahora, para que aparezca el nuevo usuario en la pantalla de inicio, debemos pinchar en cualquiera de los existentes como si fuéramos a iniciar sesión con el y cancelar la operación, al volver a aparecer la pantalla de los usuarios disponibles, también estará el nuevo usuario.
Si no aparece el nuevo usuario, es probable que hay que reiniciar el ordenador, ya que al afectar a tantas versiones distintas cada una se puede comportar de una manera.

Conclusión:
En conclusión, hemos creado un usuario con privilegios de administrador en un equipo en el que ni siquiera hemos iniciado sesión.


Actualización:
Si estáis buscando como hacerlo en Microsoft Windows 7, podéis ver el monográfico sobre esta versión de Microsoft Windows siguiendo los siguientes enlaces:

Informa a tus amigos y/o síguenos para estar informado


Related Posts Plugin for WordPress, Blogger...