miércoles, 16 de junio de 2021

Libro de PowerShell en español

 PowerShell lleva con nosotros desde Windows XP, prácticamente, y poco a poco se ha ido convirtiendo en una herramienta esencial para el entorno Windows, hasta el punto de ser prácticamente esencial en las nuevas versiones de sus productos, puesto que sin esta herramienta, no podríamos realizar tareas básicas que ya no son accesibles mediante GUI. 

Formándome e informándome sobre PowerShell, dí con un libro de Xavier Genestós sobre esta herramienta, en su web, sysadmit.com

Es un libro "peculiar", podríamos decir. Si has visto otros libros sobre esta materia, habrás observado el desarrollo de los mismo hacia el apartado del scripting, orientándolos sobre todo como si de una formación de un libro de programación se tratara. No se si conoces los libros de "Microsoft xxx Pocket Consultant", que eran una especie de manual de trabajo de lo que tratara el libro, de la editorial de Microsoft. Este libro es la versión condensada de esos libros. Tomas lo básico, lo más interesante, y lo plasma en sus páginas. Lo que vendría a ser un "chuletario" de manejo de Powershell, pero en un libro tamaño cuaderno grande, de 200 páginas, indizado. De tener una pega, es que pasa muy de puntillas por la parte del desarrollo de scripts, donde para eso, sí se puede quedar corto. Pero también es cierto que va más focalizado a que entiendas la gramática de PowerShell, para que te busques la vida por internet adaptando los miles de scripts que hay por la web.

Una foto de ejemplo del contenido del libro, que sirve mejor que el índice para hacerse una idea de a qué me refiero con "datos condensados" y de máxima utilidad. Igualmente te encuentras otros comandos de usu muy resumidos para distintas tareas como conexion via ssh con powershell, comprobación de puertos, psremote en reemplazo de psexec de las pstools, etc...

Puedes consultar AQUI el más información del libro en la web de su autor para tener una idea más clara de su contenido.

El libro puedes adquirirlo a través de este ENLACE.


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. 

viernes, 30 de abril de 2021

Webs especializadas de VMware

 A partir de un fantástico post de Github se ha hecho una recopilación de Micrositios de VMware, o lo que es lo mismo, de apartados especializados de la web de VMware, actualizada a Abril de 2021. Cubre practicamente todos los campos de VMware. 

Realmente merece la pena echarle un ojo, antes de empezar a navegar directamente por la web de VMware en busca de los recursos.

Son los siguientes:

General resources 
  
SiteURL
Find your Digital Transformation Pathhttps://pathfinder.vmware.com/
VMware Documentationhttps://docs.vmware.com/
VMware Solution Downloadhttps://downloads.vmware.com/
VMware Knowledge Basehttps://kb.vmware.com/
VMware Configuration Maximumshttps://configmax.vmware.com/
Ports and Protocolshttps://ports.vmware.com/
VMware Solution Walkthroughhttps://featurewalkthrough.vmware.com/
VMware {code}https://code.vmware.com/
VMware Marketplacehttps://marketplace.cloud.vmware.com/
vExpert Portalhttps://vexpert.vmware.com/
VMware Certified Design Expertshttps://vcdx.vmware.com/
VMware Blogshttps://blogs.vmware.com/
Office of the CTO Bloghttps://octo.vmware.com/
VMware TAM Service Portalhttps://tamservices.vmware.com/
  
VMware Multi-Cloud 
  
SiteURL
VMware Core Tech Zonehttps://core.vmware.com/
VMware Cloud Serviceshttps://cloud.vmware.com/
VMware Cloud Providerhttps://cloudsolutions.vmware.com/
VMware Cloud Services Status Pagehttps://status.vmware-services.io/
VMware Cloud Services - GovCloud Status Pagehttps://status.gov.vmware-services.io/
  
VMware Application Modernization 
  
SiteURL
VMware Application Modernizationhttps://tanzu.vmware.com/
  
VMware vSAN 
  
SiteURL
VMware Core Tech Zonehttps://core.vmware.com/
vSAN Ready Node Sizerhttps://vsansizer.vmware.com/
  
VMware vRealize 
  
SiteURL
vRealize Product Walkthroughshttps://vrealize.vmware.com/
vRealize Operations Manager Sizinghttps://vropssizer.vmware.com/
vRealize Log Insight Sizing Calculatorhttps://vrlisizer.vmware.com/
  
VMware Education 
  
SiteURL
VMware Educationhttps://mylearn.vmware.com/
VMware Hands-on Labshttps://labs.hol.vmware.com/
VMware Customer Connect Learninghttps://learning.customerconnect.vmware.com
VMware Tanzu Dev. Center Hand-On Workshopshttps://tanzu.vmware.com/developer/workshops/
VMware Tanzu ModernApps Ninjahttps://modernapps.ninja/
Kubernetes Academy by VMwarehttps://kubernetes.academy/
VMware Podcasts on Soundcloudhttps://soundcloud.com/vmware
Der deutschsprachige VMware Podcasthttps://der-deutschsprachige-vmware-podcast-v2.zencast.website/
  
VMware Digital Workspace (EUC) 
  
SiteURL
VMware Digital Workspace Tech Zonehttps://techzone.vmware.com/
VMware WorkspaceONE Status Pagehttps://status.workspaceone.com/
  
More VMware Sites 
  
SiteURL
App Modernizationhttps://www.vmware.com/uk/app-modernization.html
VMware TAM Labhttps://www.youtube.com/c/VMwareTAMLab
VMware Tanzu Mission Controlhttps://k8s.vmware.com/tanzu-mission-control/
VMworld On-Demand Video Libraryhttps://videos.vmworld.com/
VMware Open Sourcehttps://github.com/vmware
User Group Communitieshttps://community.vmug.com/
VMworld Homepagehttps://vmworld.com/

La entrada original de Github, AQUI.

martes, 27 de abril de 2021

Tunea Chrome

Hay navegadores y navegadores, pero las estadísticas son claras: Google Chrome es el navegador más utilizado (que no necesariamente el mejor).

La cosa es que cuando antes Chrome era un navegador increíblemente ligero y rápido, hoy, no lo es tanto, Solo hay que abrir la ventana de procesos y ver la cantidad de RAM que este programa toma, por cada pestaña abierta.

Aqui van una serie de trucos para solventar o al menos amortiguar este consumo:


Extensiones para administrar pestañas y reducir el consumo de recursos

No hace mucho les hablamos sobre una forma de optimizar el consumo de recursos en Firefox mediante algunas extensiones, que si bien hay muchas que prometen, otras son realmente funcionales, y hoy tenemos dos extensiones que te ayudarán a administrar las pestañas que abres en Google Chrome y a suspenderlas cuando no las estés usando.

TooManyTabs es una extensión que permite visualizar y organizar las pestañas en una sola vista, por aquello de que al abrir muchas pestañas en Chrome se pierde el icono de las páginas y su respectivo nombre, algo que no ayuda mucho en ocasiones al navegar. Además, esta increíble extensión te permite archivar sitios web que no estés usando para que puedas abrirlos luego y así el navegador no reserve más memoria de la necesaria.

Si no te gusta perder el tiempo haciendo manualmente las cosas, puedes combinar la extensión anterior con The Great Suspender, una extensión que automatiza la suspensión de tablas por un tiempo que puedes definir desde sus configuraciones, con la opción de evitar las pestañas fijas y la que tienes abierta, para no perder información importante. Cuando vuelvas a una de las pestañas suspendidas, la página se recargará automáticamente, si así lo deseas. Lamentablemente, esta extensión ha sido removida de Google al agregar distribución de Malware. En su lugar, dejo enlace con 3 alternativas distintas que hacen la misma función.



Chrome Flags para mejorar el rendimiento y la navegación
El apartado de Chrome Flags muestra características que se incluyen en Chrome, algunas activadas y otras no, pero que pueden activarse manualmente, aunque Google no considere activarlas por defecto en el navegador porque actualmente están en desarrollo. Cabe mencionar que activarlas puede provocar inestabilidad, pero las siguientes características fueron probadas para comprobar su funcionamiento.

El problema más grave de Google Chrome es que intenta cargar por completo las páginas antes de mostrarlas, pero el rendimiento no es el mejor, eso es seguro. Cuando esto pasa, el desplazamiento en páginas web con imágenes o animaciones GIF tiene algunos retrasos, al igual que la animación, mientras que en otros navegadores suele ser más suave. Para solucionarlo, basta con activar la característica #enable-gpu-rasterization.

Cerrar las pestañas puede volverse un caos cuando sobrepasasas el límite del ancho de la ventana, aunque para eso existe una opción que permitirá cerrarlas con mayor rapidez al permitir que JavaScript se ejecute de manera independiente de la interfaz gráfica, la cual puedes activar haciendo clic en #enable-fast-unload.

¿Tienes problemas al cargar las páginas muy seguido? La característica #enable-offline-load-stale-cache te permite activar una opción para abrir una versión de la página guardada en caché, si es que existe.

Otra característica es #enable-offline-auto-reload-visible-only, que luego de permanecer sin conexión y volver a conectarse, recarga automáticamente la página visible, mientras que la opción #enable-offline-auto-reload permite que todas las pestañas se recarguen automáticamente, aunque se recomienda deshabilitar ésta última.

Por otro lado, si quieres que las descargas que se cancelaron cuando por accidente cerraste el navegador se reanuden de manera automática, puedes activar la característica #enable-download-resumption.

Si no te gusta que sitios web como PayPal eviten que sea llenada la caja de contraseña automáticamente, la opción #ignore-autocomplete-off-autofill desactivará por completo la solicitud, para que puedas ingresar rápidamente a tus sitios web, aunque debes considerar el riesgo que puede traer consigo desactivarla.

Cuando escribes en Internet Explorer y te equivocas, el navegador te corrige por sí sólo. Esta opción también está disponible en Chrome, activando la característica #spellcheck-autocorrect.

Quizá pienses que guardar una página web es algo tedioso y desorganizado, porque guarda varios archivos dentro de una carpeta y un fichero HTML fuera de ella. Pues bien, la característica #save-page-as-mhtml te permitirá guardar una página web en un sólo archivo con formato MHTML, que también podrás abrir en Google Chrome.


Dejamos lo mejor para el final
Probablemente sepas que existe un repositorio de comandos de Chromium que podemos usar en Google Chrome, en el cual podemos destacar a uno que permite juntar las pestañas del mismo sitio en un sólo proceso, para reducir el consumo de recursos. Es decir, si tienes abiertas varias pestañas de un mismo sitio web, en lugar de que cada una signifique un proceso, el sitio web se convertirá en un sólo proceso. Cabe mencionar que es el único comando funcional de su tipo.

Para implementarlo, basta con hacer clic derecho en el icono de Chrome e ir a sus Propiedades. Yo lo hice desde un acceso directo ubicado en la barra de tareas, aunque funciona para todos.

Una vez allí, ubicamos el apartado Destino y nos vamos hasta el final de la ubicación, justo después de las comillas. Pasamos un espacio y escribimos el comando --process-per-site.

Prueba todas estas características y notarás un cambio en la navegación y una reducción en el uso de memoria, más aún cuando tengas muchas pestañas abiertas.

viernes, 9 de abril de 2021

Listar directorios virtuales de IIS

 Un directorio virtual es un directorio que se ha publicado en IIS y que apunta a una carpeta o dirección de red. Como si fuera un DFS, pero el acceso se hace con http://. No tiene por qué estar la ubicación a la que apunta, por tanto, en el servidor que aloja el servicio en IIS, sino que la carpeta publicada puede estar en cualquier otra ruta. Además, el nombre no tiene por qué ser el mismo de la carpeta. Esto da una serie de posibilidades para acceder a distintas ubicaciones, muy interesantes.


El problema viene cuando tu listado de directorios virtuales es muy extenso, cosa que es facil que ocurra en cuanto ves el juego que puede dar. Por la interfaz grafica de IIS, podemos ver el listado de directorios sin problema, pero no permite hacer una exportación del mismo.

Para ello, deberemos utilizar la aplicación "appcmd.exe", que se encuentra en

%systemroot%\system32\inetsrv\

El comando para sacar el listado de sitios es 

%systemroot%\system32\inetsrv\APPCMD list vdirs /app.name:"TudirectorioaExportar/" 

Al comando le agregamos una ruta de exportación, porque básicamente, te saca los tatos en pantalla, y con eso ya lo tenemos.

La aplicación appcmd.exe es una herramienta muy potente para la gestión de IIS. Puedes obtener más info de ella y de sus posibilidades en este LINK.


martes, 30 de marzo de 2021

Correlacionar vml ID con naa ID en ESXi 5.5 en adelante

 Supongamos que tenemos una VM con un disco RDM, y que por ejemplo, necesitamos ampliar disco. No es posible realizar la ampliacion directamente como con cualquier disco estandar, al ser directamente un disco anexado a la maquina. Ma modificacion vendria desde el tamaño del disco en el datastore. 

 

Cuando editamos la configuración de la vm, no solo expandiendo el disco, como en la imagen superior, obtenemos más datos. El dato que nos interesa el el "Physical LUN". En este caso, tenemos:

Physical LUN

vml.02000b00006006016026a03e0074a3abc6885ae811565241494420

Lo que necesitamos es traducir el numero mostrado al valor que normalmente presenta la cabina, en nuestro caso los identificamos más fácilmente por el numero de LUN o bien por el identificador "naa".

Para ello, vamos a "traducir" el numero que vemos, de la siguiente manera:


vml. 02 00 0b 0000 6006016026a03e0074a3abc6885ae811 565241494420
AAAA BB CC DD EEEE FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF GGGGGGGGGGGG

donde:

A - representa el espacio de nombre de ID externo.

B – representa el tipo de uuid del dispositivo:

  • 0x0 - para mpx.vmhbax:Cx:Tx:Lx format
  • 0x1 - para serial number format
  • 0x2 - para naa format
  • 0x3 - para SYMM format

C - representa el tipo de dispositivo:

  • 0x00 - DISK
  • 0x01 - TAPE
  • 0x02 - PRINTER
  • 0x03 - PROCESSOR /* HP scanners use this */
  • 0x04 - WORM /* Treated as ROM by our system */
  • 0x05 - ROM 0x05
  • 0x06 - SCANNER
  • 0x07 - MOD /* Magneto-optical disk - * - treated as TYPE_DISK */
  • 0x08 - MEDIUM_CHANGER
  • 0x09 - COMM /* Communications device */
  • 0x0c - RAID
  • 0x0d - ENCLOSURE 0x0d /* Enclosure Services Device */
  • 0x0e - RBC 0x0e
  • 0x7f - NO_LUN

D – representa el LUN number (32 bits in normal device from SAN. Está en hexadecimal)

E – reservado para uso en el futuro

F - representa el LUN identifier (32 digit naa number in hexadecimal format)

G - Un hash único de otros datos sobre la LUN (En versiones anteriores a 5.5 incluye el numero de LUN)



En el servidor, los identificadores vienen como naa, no vml:


Así que de nuevo, con el numero de ejemplo,

vml.      02    00   0b    0000    6006016026a03e0074a3abc6885ae811          565241494420
AAAA  BB  CC  DD  EEEE  FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF  GGGGGGGGGGGG

tenemos un vml naa disco 11 0000 6006016026a03e0074a3abc6885ae811 

LUN 11 por lo indicado anteriormente, los valores estan en hexadecimal, convertido da 11:


donde 6006016026a03e0074a3abc6885ae811, en la lun 11, tiene estos datos:

Con estos datos, ya es fácil localizar en la LUN el disco a ampliar, y que vereis que el dato concuerda con l oque se muestra en el datastore.

Como recursos, teneis un conversor a hexadecimal AQUI, y un artículo relacionado de VMware AQUI.

¡Espero que os sea de utilidad!