2021 no está siendo el mejor año para la seguridad de Windows. Cada poco tiempo aparece un nuevo fallo de seguridad en el sistema operativo que pone en jaque la seguridad de todos los usuarios, fallos que, por cierto, no se solucionan hasta pasadas varias semanas, cuando toque el nuevo martes de parches. Y, por si Microsoft tenía poco con los problemas de seguridad de las impresoras, ahora se le ha sumado un nuevo fallo de seguridad de lo más preocupante: HiveNightmare.
HiveNightmare (nombre que le han asignado a esta vulnerabilidad) es un fallo de seguridad presente en todas las versiones de Windows 10 a partir de 1809, y en Windows 11. Gracias a este fallo, cualquier usuario, incluso sin permisos de administrador, puede acceder a los ficheros críticos del sistema, como SAM, SYSTEM y SECURITY. Al hacerlo, este usuario podría llegar a conseguir el mayor nivel de privilegios dentro del sistema operativo de Microsoft: SYSTEM. Y, con él, hacer, literalmente, lo que quiera en el PC, incluso ejecutar código aleatorio en la memoria del PC, o cambiar los programas de Windows.
Este fallo es muy similar a Sequoia, un fallo que ha visto la luz el mismo día pero que afecta principalmente a los usuarios de Linux.
Microsoft, de momento, no ha dado mucha información sobre este nuevo problema de seguridad que afecta a todos sus Windows modernos. Sin embargo, gracias a los investigadores, podemos conocer un truco para ver si estamos afectados por este fallo o, de lo contrario, si nuestro PC está ya protegido.
Probar si Windows es vulnerable a HiveNightmare
En GitHub podemos encontrar un sencillo script gracias al cual vamos a poder comprobar los permisos de los ficheros SAM, SYSTEM y SECURITY con un par de comandos de PowerShell. Para ello, lo primero que debemos hacer es abrir una ventana de la consola avanzada de Windows, con permisos de administrador (muy importante esto) y ejecutar el siguiente comando:
Invoke-WebRequest -URI https://raw.githubusercontent.com/JumpsecLabs/Guidance-Advice/main/SAM_Permissions/SAM_Permissions_Check.ps1 -OutFile ./SAM_Permissions_Check.ps1 -usebasicparsing
Este comando nos permitirá descargar desde PowerShell el script «SAM_Permissions_Check.ps1» de los servidores de GitHub. La descarga apenas dura unos instantes, y al acabar simplemente tendremos que ejecutar lo siguiente:
.SAM_Permissions_Check.ps1
El script se encargará de analizar nuestro PC y nos mostrará si nuestro PC es vulnerable (marcando en rojo los ficheros afectados) o si estamos protegidos (marcándolos en verde).
También podemos probarlo desde CMD, si no nos gusta usar PowerShell. Para ello, simplemente debemos abrir una ventana de la consola de Windows y ejecutar el siguiente comando en ella:
icacls %windir%/system32/config/sam
Si la salida muestra un mensaje como «BUILTINUsers:(I)(RX)», entonces estamos en peligro. De lo contrario, nuestro PC estará protegido.
¿Tu PC está afectado? Protégete
Si tu PC está protegido, entonces ya no tienes que preocuparte de nada. Por el contrario, si está en peligro, es necesario protegernos si no queremos seguir corriendo riesgos. Para ello, lo que debemos hacer es abrir una ventana de CMD, con permisos de administrador, y ejecutar en ella los siguientes comandos:
icacls %windir%/system32/config/*.* /inheritance:e
vssadmin delete shadows /for=c: /Quiet
vssadmin list shadows
El primer comando activa ACL interheritance, el segundo borra las copias shadow del sistema, y el tercero comprueba que, efectivamente, no hay copias shadow en el sistema.
Ahora ya estamos protegidos hasta que Microsoft corrija definitivamente este grave problema en Windows.