Archivo de la etiqueta: Windows

Alerta de Seguridad: Ejecución remota de código MS15-078

https://technet.microsoft.com/library/security/MS15-078

Esta semana se ha desplegado un parche de seguridad crítico que corrige una vulnerabilidad de ejecución de código remoto. Esta vulnerabilidad afecta a todas las ediciones de Windows. El vector de ataque se basa en la apertura de documentos diseñados específicamente a tal efecto, o la visita a páginas web que contenga tipografías OpenType incrustadas que hayan sido diseñadas para explotar el fallo.

La vulnerabilidad se produce por la forma en que la “Windows Adobe Type Manager Library” gestiona las fuentes OpenType.

Formas de explotación: Se requiere interacción por parte del usuario objetivo, que ha de abrir un documento con una fuente openType  incrustada que haya sido diseñada a tal efecto, o bien visitar una página web que contenga la tipografía OpenType.

Acciones a realizar: Toda máquina que se haya actualizado y necesite un reinicio debe ser reiniciada lo antes posible para evitar posibles infecciones que sucedan durante la navegación web en sitios de poca confianza. En las máquinas que no tengan configurado Windows Update para que descargue e instale automáticamente las actualizaciones, el sistema debe ser actualizado manualmente y reiniciado para que la actualización tenga efecto.

Network Monitor (2/2)

¡Hola de nuevo!

¿Echabais de menos a Network Monitor? ¿Os supo a poco el anterior artículo donde hacíamos una introducción al producto?

Continuando con algunas curiosidades que podemos hacer con la herramienta de análisis de red de Microsoft, hoy vamos a conocer aquellas un poco más avanzadas:

Ejecución de la captura desde la línea de comandos:

Aquí tenéis la referencia general, donde podemos ver cosas tan interesantes como la posibilidad de especificar la red donde queremos capturar, o el tamaño máximo de la captura.

Managing Network Monitor from the command line: http://technet.microsoft.com/en-us/library/cc782726(v=ws.10).aspx

 

Trazas circulares:

Una de las cosas que más nos puede ayudar en el troubleshooting de un problema que no podemos reproducir en cualquier momento, es tener una captura que se mantenga en el tiempo, que el tamaño no se haga inmanejable, y que podamos pararla en el momento en el que el problema surja de nuevo.

La línea de comandos de Network Monitor nos permite hacerlo a través de las trazas circulares, pudiendo establecer un tamaño máximo de la traza, una hora de inicio o de fin, etc.

En el siguiente ejemplo, cuando se alcance el tamaño de la traza especificado, se creará un nuevo fichero de la cadena y se seguirá capturando, del modo que quedarían de la forma test(1).chn, test(2).chn, etc.

 

Fusionar trozos de capturas en una más grande:

Imaginaros que en ejemplo anterior, debido al tamaño de cada trozo o de la cantidad de datos que estamos capturando, tenemos que estar cambiando continuamente de trozo para analizar un problema. ¿No sería genial localizar la conversación que queremos en un grupo de trozos, y combinarlos en una traza única?

Network monitor también nos permite hacerlo con la siguiente sentencia:

 

Arrancar una captura con Windows:

Aunque Network Monitor permite capturar durante el arranque del Sistema Operativo, interesante sobre todo para escenarios de “slow logon”, la verdad es que no es el procedimiento más sencillo del mundo:

Capturing a trace at boot up: http://blogs.technet.com/b/netmon/archive/2010/01/04/capturing-a-trace-a-boot-up.aspx

Desde luego, no estamos vendidos sin opciones, y en este caso acude al rescate la herramienta de linea de comandos incorporada con el propio Windows para todos los temas de Networking: netsh

Simplemente tenemos que añadir la opción de persistent, y la herramienta seguirá capturando, incluso durante el arranque del sistema operativo:

clip_image002

No nos tenemos que olvidar de parar la captura:

Luego con Network Monitor podemos abrir sin problema este tipo de ficheros .etl cuando se trata de trazas de red.

clip_image004

 

Asociar la parada de la captura a un Evento:

Imaginaros que tenemos localizado un problema porque cuando ocurre aparece un evento en el Event Viewer, y nos gustaría analizar a nivel de red qué ocurre justo antes, de cara a determinar que propicia la aparición del problema. Con Network Monitor también podemos hacerlo, os dejamos las instrucciones en el siguiente enlace:

EventMon: Stopping a Capture Based on an EventLog Event: http://blogs.technet.com/b/netmon/archive/2007/02/22/eventmon-stopping-a-capture-based-on-an-eventlog-event.aspx

 

Microsoft Message Analyzer:

Hace un par de años que Microsoft sacó la evolución de Network Monitor, llamado Message Analyzer.

La verdad que personalmente no lo he usado mucho. No sé si porque ya estoy acostumbrado a Network Monitor, o por comodidad con los menús, pero tiene sus mejoras, como la posibilidad de cargar nuevos parsers, ver en un formato legible documentos, fotos o videos directamente seleccionando el grupo de trazas que lo forman, etc.

Os dejo el último artículo que ha presentado el grupo que lo lleva para que os hagáis una idea de lo potente que puede ser:

Troubleshooting Microsoft Azure Storage with Message Analyzer: http://azure.microsoft.com/blog/2015/01/27/troubleshooting-microsoft-azure-storage-with-message-analyzer

 

Y con esto acabamos la serie de artículos sobre Network Monitor. Esperamos que os hayan gustado.

¡Happy networking!

Network Monitor (1/2)

¡Hola a todos! ¡Feliz año!

Vamos a empezar 2015 con fuerza 🙂

Una de las herramientas que más nos gustan y que más utilizamos a la hora de hacer troubleshooting es Microsoft Network Monitor.

Con este programa podemos capturar y analizar trazas de red, cosa que viene muy bien ya que en el 80% de los problemas de infraestructura, las comunicaciones están relacionadas en mayor o menor medida.

Aunque Wireshark es una alternativa muy potente y mejor que Network Monitor en muchos casos, como por ejemplo en las búsquedas de strings, el seguimiento de las conversaciones, etc, hay detalles de Netmon que a mi me gustan especialmente.

Vamos a intentar resumir aquellos detalles o cosas a tener en cuenta a la hora de capturar y analizar trazas de red con Network Monitor para que nos hagan la vida más fácil 🙂

1.   Ejecutar netmon con administrador: alguna vez os podéis encontrar con que al arrancar el programa no aparecen los adaptadores de red. La mayoría de las veces se soluciona ejecutando la aplicación como Administrador. Netmon coloca su driver para capturar los paquetes en una capa que está entre el driver del adaptador de red y el propio S.O. Tenerlo en cuenta para determinar donde se queda un paquete una vez llegue al equipo donde estamos capturando.

Ejecutar como admin
Ejecutar como Admin

 

2.   Conocer la IP del equipo donde capturas: una cosa que nos puede ayudar mucho a la hora de analizar unas trazas es poder cargarla al cabo de mucho tiempo y saber rápidamente cual era la dirección IP o direcciones de los diferentes adaptadores que había en esa máquina. Para ello únicamente debemos ver la información del segundo paquete que aparecerá en la captura y acudir a la siguiente sección:

Conocer la dirección IP
Conocer la dirección IP
Conocer la dirección IP y otros datos
Conocer la dirección IP y otros datos

Como veis, aparte de la dirección IP podemos conocer otros datos sobre el adaptador de red.

3.   Parsers: nos van a permitir interpretar cierto tráfico y con diferente nivel de detalle. Para analizar protocolos que a lo mejor no son muy conocidos o para poder ver con más detalle que ocurre en la comunicación entre ciertos procesos, los parsers nos pueden dar esa información que necesitamos. Lo ideal es mantenerlos lo más actualizado posible y si vamos a analizar algún programa en concreto como puede ser Lync, buscar si existen parsers específicos.

Network Monitor Open Source Parsers: http://nmparsers.codeplex.com/

Network Monitor parsers: https://connect.microsoft.com/site216/Network%20Monitor%20Parsers

Lync Network Monitor Parsers: http://www.microsoft.com/en-us/download/details.aspx?id=22440

4.   Colores: una de las cosas más interesante que podemos definir en Network Monitor son las reglas de color para el análisis de trazas. De esta manera podemos construirnos poco a poco nuestras reglas que nos ayuden de un vistazo rápido a encontrar errores o situaciones anómalas que de otra manera podrían pasar inadvertidas si la traza es muy grande. Por ejemplo, para ver de un vistazo un caso de saturación en la red, podemos definir una regla para que nos marque en rojo aquellos paquetes en los que la ventana TCP tenga valor 0:

Reglas de color

De un vistazo rápido a la traza podremos ver si algo ha ido mal. En la siguiente imagen vemos un ReTransmit del Syn de TCP, lo que podría indicar por ejemplo que el puerto está cerrado o que no hay ningún servicio escuchando:

Retransmit
Retransmit

E incluso en una conversación que involucre varios pasos podemos separarlos para ver rápidamente si no pasa alguno de ellos:

Traza SMB
Traza SMB

Os dejo aquí el fichero con las reglas de colores que he ido preparando con los años cogiendo muchas de algunos compañeros. Para cargarlos sólo hay que irse a Tools -> Options -> Color Rules -> Open.

5.   Separar en conversaciones y procesos: otra cosa que nos permite Network Monitor para facilitarnos la vida es un panel lateral donde podemos realizar un filtrado rápido entre las diferentes conversaciones y procesos. Esto es muy útil por ejemplo para analizar comunicaciones que inicie un navegador web (puerto 80, 443), sacar de un vistazo si algo lleva demasiados intentos, etc.

Conversaciones
Conversaciones

 

Hasta aquí la primera parte de las funcionalidades que queremos destacar de esta fantástica herramienta. En el siguiente capítulo veremos cosas muy interesantes que podemos hacer ejecutándola desde la línea de comandos, como arrancarla con Windows o asociar la parada de la captura a un Evento.

Happy networking!

Elección del adaptador de red en equipos Windows

¿Os habéis fijado que cuando estamos conectados por wifi y conectamos el cable de red, automáticamente cambia el flujo de red? ¿Sabéis como establece Windows el adaptador adecuado para llegar a un recurso de red?

Hay dos factores que influyen principalmente en la elección de una conexión por parte de un equipo Windows:

  1. Si las IPs de los adaptadores pertenecen a diferentes subredes, lo primero que evalúa es la proximidad del recurso al que se desea conectar, haciendo matching con las máscaras de subred. Por tanto, si deseamos forzar a utilizar una conexión distinta de la que evalúa por defecto, deberemos eliminar la ruta que va a utilizar (la que considera más próxima), y asegurarnos que a través de que la ruta que existe para el adaptador deseado, se consigue llegar al recurso igualmente.
  2. Si las IPs de los adaptadores pertenecen a la misma subred, a partir de Windows XP, el valor que se evalúa para elegir una conexión u otra es la Métrica. Ésta se calcula automáticamente para cada tarjeta de red en función de su velocidad.

Cualquier cambio manual, debe ser seguido de un reinicio de los adaptadores de red.

Dado que este valor es teórico, a menudo sucede que una red inalámbrica “N” con velocidad nominal de 300Mbps tiene asignada una métrica 10, considerándose más rápida que una conexión Ethernet con 100Mbps y asignada una métrica 20 (cuánto más pequeño, mejor).

Sin embargo, se puede asignar manualmente los valores de la métrica en las tarjetas de red para obligar a su orden de preferencia.

Es necesario que el número elegido sea entre 5 y 50. Por defecto los valores que calcula son:

Link Speed Metric
Greater than or equal to 2 GB 5
Greater than 200 Mb 10
Greater than 20 Mb, and less than or equal to 200 Mb 20
Greater than 4 Mb, and less than or equal to 20 Mb 30
Greater than 500 kilobits (Kb), and less than or equal to 4 Mb 40
Less than or equal to 500 Kb 50

Si el valor de la métrica es el mismo para varios adaptadores, el orden de preferencia es el indicado en el “Binding Order”.

Podemos visualizar los valores de métrica establecidos mediante el comando:

 

O con el cmdlet de PowerShell:

 

Podemos modificar su valor a través de la interfaz gráfica:

clip_image002

O también mediante consola de comandos, ejecutando:

 

O mediante el cmdlet de PowerShell:

 

Esperamos que os haya parecido interesante y nos vemos la próxima semana.

Happy networking!

Despliegue de Maquinas Virtuales usando SysPrep y discos de diferenciacion

Siguiendo al hilo de la Virtualización, hay una situación que todo el mundo encuentra tarde o temprano: Necesitamos desplegar unas cuantas máquinas virtuales de laboratorio, y no podemos permitirnos el lujo de esperar durante 1 hora a que terminen de instalarse y configurarse. Las necesitamos para ayer. Y necesitamos que sean instalaciones “limpias”. ¿Qué hacer?

A nuestro rescate vienen dos herramientas poderosas: SysPrep y los Discos de Diferenciación. Antes de entrar en materia, vamos a resumir qué es y qué hace cada una de ellas:

¿Qué es SysPrep (System Preparation)?

Es una herramienta que prepara una instalación de Windows (tanto de escritorio como Windows Server) para crar una imagen, permitiéndonos captuar una instalación personalizada. Esto lo consigue eliminando información específica del PC donde se ha instalado, “Generalizando” la instalación para que así se pueda instalar en otro PC. Con SysPrep se puede configurar el PC para que arranque la “Out-of-Box Experience” para que se encienda como si Windows estuviese recién instalado. Incluso se puede especificar un archivo xml con los datos necesarios para realizar una instalación desatendida. Básicamente, es la herramienta que los fabricantes de portátiles usan para llenar con su software una instalación de Windows, y luego la generalizan para que podamos personalizarla como si estuviese recién instalada.

¿Qué es un Disco de diferenciación?

Es un disco virtual que se utiliza para aislar cambios en los datos del disco o del sistema operativo instalado en él, manteniéndolos en un archivo separado. En este caso, un disco diferencial consta de dos partes: El disco “base”, que se utiliza como datos origen que no van a cambiar (por ejemplo una instalación actualizada de Windows), y el disco de diferenciación, que es básicamente un disco de tamaño dinámico en el que se escriben todos los nuevos datos. Una cualidad de especial interés es que podemos crear múltiples discos de diferenciación a partir del mismo disco base.

Seguir leyendo Despliegue de Maquinas Virtuales usando SysPrep y discos de diferenciacion

Conversión Físico-A-Virtual

Imaginemos que nos encontramos con máquinas antiguas, que usan un software obsoleto e incompatible con los últimos SSOO, y que son absolutamente imprescindibles. Y para rizar el rizo, se sufre el riesgo de sufrir un fallo hardware a corto/medio plazo.

Si queremos asegurarnos de que un problema físico no nos vaya a provocar una parada de servicio o si deseamos mejorar el rendimiento del servicio más allá de los límites físicos impuestos por hardware obsoleto, una de las opciones más asequibles para conseguirlo es convertir el servidor en una máquina virtual, proceso conocido como P2V (Physical-to-Virtual).

Hay productos que nos permiten hacer esto de forma sencilla, como SCVMM 2012 (Microsoft System Center Virtual Machine Manager), que ofrecen un asistente capaz de convertir casi cualquier máquina física en una máquina virtual (mediante la instalación de un asistente en dicha máquina). O podemos optar por usar un software algo más limitado, pero igualmente útil. Además, hay que tener en cuenta que en SCVMM 2012R2 no se permite la conversión P2V.

Estoy hablando de una herramienta que forma parte de la colección de SysInternals: Disk2VHD. Esta pequeñísima herramienta nos permite convertir fácilmente cualquier disco duro físico en un disco VHD (o vhdx). Tiene ciertas limitaciones, pero es perfectamente válida para el P2V.

Seguir leyendo Conversión Físico-A-Virtual