jueves, 11 de mayo de 2017

Unas consideraciones sobre la vulnerabilidad CVE-2017-5689

Unas consideraciones sobre la vulnerabilidad: CVE-2017-5689, relacionada con procesadores Intel con firmware a partir de la versión: 6.0

Después de investigar sobre el asunto, puedo decir que el problema radica en el servicio: LMS.exe.

Para saber más detalladamente donde radica el fallo concreto, la segunda referencia de los siguientes enlaces es lo que buscas.

Más información:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5689
https://www.embedi.com/files/white-papers/Silent-Bob-is-Silent.pdf
https://www.tenable.com/blog/rediscovering-the-intel-amt-vulnerability
https://security-center.intel.com/advisory.aspx?intelid=INTEL-SA-00075&languageid=en-fr

Este servicio es el que levanta un servicio web sobre alguno de los puertos TCP donde se puede montar el servicio web son: 623,664, 16992-16995. En una las máquinas que uso pude observarlo sobre los puertos 623/TCP y 16992/TCP

Puerto 623/TCP abierto

Puerto 16992/TCP abierto

Servicio montando  sobre el puerto: 623/TCP

Servicio montando  sobre el puerto: 623/TCP

Este servicio, se ubica sobre el directorio:  c:\Programa Files (x86)\Intel\Intel(R) Management Engine Component\LMS\, y basado en el ejecutable LMS.exe, y aparece entre los servicios de la máquina con el nombre: Intel(R) Management and Security Application Local.

Servicio en la máquina afectada.

Existe una herramienta publicada para remediar esto, y que consiste en deshabilitar el servicio y renombrar el archivo LMS.exe. Está última parte NO está bien implementada ;-)), pero la primera parte sí, siempre y cuando se ejecute la herramienta  con permisos de administrador.

Para descarga la herramienta utiliza la URL: https://packetstormsecurity.com/files/142411/Disable-Intel-AMT-master.zip

Aunque creo que la manera más rápida de hacerlo es deshabilitar el servicio anteriormente mostrado, y parar la ejecución que reside en memoria.

Resultado tras parar el servicio problemático y deshabilitarlo.


Lo que hagas con la información es cosa tuya, no mía ... pero ten conciencia.  

lunes, 8 de mayo de 2017

Donde están las claves, matarile, rile, rile





Hace tiempo me pregunte donde se almacenaban las contraseñas de los usuarios locales dentro de sistemas Windows.

Antes de seguir, comentar que las pruebas están realizadas sobre un sistema Windows 7

Es lógico pensar que dichas contraseñas (hashes) residen en el registro de Windows, pero, ¿dónde?

Pues básicamente residen en las "secciones" del registro SAM and SECURITY. Más concretamente: HKEY_LOCAL_MACHINE\SAM y HKEY_LOCAL_MACHINE\SECURITY. De hecho ambas se organizan igual y poseen la misma información.

Dichas "secciones" sólo son legibles mediante el usuario: system.

"Secciones" HKLM/SAM y HKLM/SECURITY sin permisos para su visualización

Por lo tanto para acceder a dichas secciones necesitamos elevar privilegios mediante el siguiente comando:

Psexec.exe –s –i regedit.exe

Pero para que dicha instrucción funcione correctamente, se debe ejecutar con permisos de administrador.

"Secciones" HKLM/SAM y HKLM/SECURITY tras elevar privilegios

La herramienta: Psexec.exe, del pack de herramientas SysInternals, puede ser descargado desde la siguiente URL: http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx

Más información: 
http://www.windowsnetworking.com/kbase/WindowsTips/Windows2000/RegistryTips/RegistryTools/HowtobreakintoregistrytoexploreHKLMSAMandHKLMSECURITYkeys.html 

Dentro de las "secciones" anteriormente comentadas, debemos irnos a: "\Domains\Account\Users\", en donde se podrá ver los identificadores únicos de los distintos usuarios presentes en la máquina local.

NOTA: Para poner "cara" a cada uno de esos identificadores, dentro de la clave de registro: "\Domains\Account\Users\Names", nos aparecerán los nombres de los usuarios dados de alta en la máquina local, y si seleccionas cualquiera de ellos se podrá averiguar el identificador único del usuario en cuestión.

Relación entre usuario e identificador único del mismo.

Dentro de la clave de registro del identificador único de un usuario se puede ver dos valores de tipo binario: "F" y "V"

La que nos interesará será la clave "F", ya que ella contendrá el valor hash de la clave del usuario.
















Clave de registro que contiene el hash de la contraseña para el usuario "Administrador"

Más información:
http://windowsitpro.com/en/how-reset-administrator-password

De hecho, metasploit, tiene un modulo de post-explotación para obtener la lista de contraseñas (hashes) de los distintos usuarios de la máquina. También podemos hacer uso de dicho modulo, mediante un comando tras obtener una shell remota con meterpreter. Este módulo/comando es: hashdump.

Si se quiere se puede obtener el código de dicho comando o módulo en:
https://github.com/rapid7/metasploit-framework/blob/master/modules/post/windows/gather/hashdump.rb

En el código se pueden ver llamadas a las claves comentadas en este artículo.

Lectura de las claves de registro donde se almacena la información de las claves de los usuarios

Lectura de las claves de registro de los distintos usuarios dados de alta en un sistema local.


Lo que hagas con la información es cosa tuya, no mía ... pero ten conciencia.