lunes, 31 de mayo de 2021

Cómo comprobar puertos en Windows

 Parafraseando a Pablo Neruda, con el libro de "20 poemas de amor y una canción desesperada", veremos varias maneras de comprobar puertos en Windows con, bueno, no 20 herramientas, pero sí tres, y un Powershell que más que desesperado, es muy socorrido. ¡Vamos allá!

Imagen de Gerd Altmann en Pixabay 

Vamos a utilizar un entorno de 2 maquinas, una "atacante", y otra con IP 192.168.96.128 para las diversas pruebas. Desde la maquina atacante comprobaremos el clásico puerto 80, y el 443, por ejemplo:

Chequeo de puertos con NMAP.

Esto es para comenzar fuerte. Nmap es una herramienta que viene por defecto en Linux, y es realmente potente para muchas funciones. Solo explicar Nmap no es que dé para un artículo aparte, es que da para un libro, sólo para exprimir sus posibilidades. Pero vamos a ver la funcionalidad en Windows.

Porque, sí, es posible instalarlo en Windows, donde además aplica un entorno gráfico que simplifica más cosas. En Windows se llama Zenmap, y lo puedes descargar desde AQUI.

Una vez instalado, lanzamos una consulta simple a los puertos que nos interesa con un nmap -sV -p 80,21,443, 192.168.96.128 (-sV es para comprobar los servicios que usan los puertos que queremos comprobar, y -p especifica los puertos. Realmente Nmap está pensado para rangos muy amplios de redes, no para este tipo de comprobaciones), y obtendremos esto:

Prácticamente de forma automática nos muestra el estado del puerto, y el servicio que lo utiliza.


TCPING

TCPing es una pequeña utilidad que se ejecuta por línea de comandos, y lo que hace es un ping al puerto que le indiques. La utilidad la puedes encontrar AQUI, basta con dejarla en el sitio habitual donde ejecutes este tipo de aplicaciones, y se invoca con "tcping ip puerto. Por ejemplo, 

tcping 192.168.96.128 443

Simple, y cómoda. Lástima que no venga integrada en el sistema.


Telnet

¡El viejo Telnet! Antes venia instalada en Windows, ahora debes buscarla como característica de sistema, por el nombre de Telnet Client. 

Lanzar telnet es tan simple como, en una ventana de comandos, escribir "telnet ip-destino puerto". 

telnet 192.168.96.128 443

Por Si probamos la conexión y esta se ve bloqueada, saldrá el siguiente aviso:

En cambio, si el puerto está abierto, haciendo por ejemplo telnet a 3389, conectará rápidamente, mostrando solamente el prompt:


Powershell

¿Para qué instalar herramientas, si ya tenemos PowerShell? Una herramienta que tenemos disponible sin instalar nada desde Windows Server 2008, pero para sistemas más antiguos, podíamos instalar, incluso en Windows XP.

Para probar un puerto en powershell, la nomenclatura será la siguiente:

Test-netconnection -computername nombremaquina -port 3389

Por ejemplo, Test-NetConnection -computername 192.168.96.128 -port 3389:

Y tenemos los resultados.

Espero os sirva de ayuda a la hora de delimitar problemas de conectividad.


jueves, 27 de mayo de 2021

Nueva vulnerabilidad crítica en VMware, CVE-2021-21985, CVE-2021-21986

 El 26 de Mayo el CCN-Cert ha publicado una nueva vulnerabilidad en el entorno de VMware. Esta vulnerabilidad afecta a los vCenter Server de la version 6.5 a la 7, y a vSAN. La información facilitada sobre la vulnerabilidad es la siguiente:


vulnerabilidad que se sirve de un error de validación de entrada en el complemento Virtual SAN (vSAN), habilitado de forma predeterminada en vCenter Server. Este error permite ejecutar código de forma remota con privilegios ilimitados en el sistema operativo que aloja vCenter Server aprovechando el acceso de red al puerto 443, ya que éste se encuentra expuesto a Internet.

El NIST no tiene todavía una clasificación de la gravedad de la vulnerabilidad, aunque VMware la ha clasificado como crítica. Por suerte, no se han reportado casos del aprovechamiento de las mismas, ni pruebas de concepto, ni exploits específicos. Adicionalmente, VMware ya ha publicado parches para corregirla. Son los siguientes:


Adicionalmente, se ha publicado una serie de instrucciones para deshabilitar los complementos vulnerables a dicha vulnerabilidad, AQUI. Pero claro, esto elimina la posibilidad de utilización de los mismos, y con ello la perdida de gran parte de la capacidad de administración y Monitorizacion de vCenter, ya que los plugins son los siguientes:



Referencias: 
https://www.ccn-cert.cni.es/seguridad-al-dia/avisos-ccn-cert/11024-vulnerabilidad-en-vmware.html
https://www.vmware.com/security/advisories/VMSA-2021-0010.html

viernes, 7 de mayo de 2021

Deshabilitar TOE (TCP-IP Offload Engine) en Windows server 2016 - 2019

 Aunque en esta misma web hice hace tiempo un artículo para deshabilitar el TOE, estaba más orientado a servidores Windows Server 2008 a 2012, sobre todo, ya que algunos parámetros cambian en versiones más modernas de Windows Server.

El antiguo artículo lo puedes consultar AQUI, pero para servidores nuevos, vamos a repasar las instrucciones, que cambian un poco, ya que por hay mas cosas a deshabilitar.

No cambia el tener que deshabilitar el TCP-Offload por el sistema operativo, y por la tarjeta de red, de manera que vamos por partes.

Tarjeta de red:

Para ello, vamos a las propiedades e la tarjeta de red, y pulsamos en Configurar:


Ahora, en la pestaña "Opciones avanzadas" deshabilitaremos las siguientes opciones:

IPv4 Checksum Offload

IPv4 TSO Offload

Large Send Offload V2 (ipv4)

Large Send Offload V2 (ipv6)

Offload IP Options

Offload taggered traffic

Offload TCP Options

Receive Side Scalling

Recv Segment Coalescing (IPv4)

Recv Segment Coalescing (IPv6)

TCP Checksum Offload (IPv4)

TCP Checksum Offload (IPv6)

UCP Checksum Offload (IPv4) 

UDP Checksum Offload (IPv6)   

Agregaría capturas, ¡pero son unas cuantas! Así que solo pondré una, indicativa para localizar las opciones


Sistema operativo

esta parte es mas simple. La configuración inicial se ve con el comando netsh int tcp show global, y se muestra así:

Deberemos modificarla con los siguientes comandos:


Los indico a continuación, para facilitar un poco la tarea:


netsh int tcp set global chimney=Disabled

netsh int tcp set global autotuninglevel=Disabled

netsh int tcp set global ecncapability=Disabled

netsh int ip set global taskoffload=disabled

netsh int tcp set global timestamps=Disabled

netsh int tcp set global rsc= disabled

netsh int tcp set global rss=disabled

Tras ello, si volvemos a ejecutar el comando netsh int tcp show global, quedará así:


Es necesario dar un reinicio al equipo, al finalizar, para que aplique bien los cambios.