Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
napper-for-tpm — Herramienta de comprobación de vulnerabilidades de TPM para CVE-2018-6622. Esta herramienta se publicará en Black Hat Asia 2019 y Black Hat Europe 2019. | Kitploit
Herramientas/GitHubGitHub/kkamagui/napper-for-tpm
Seguridad de Sistemas EmbebidosAnálisis de VulnerabilidadesExplotaciónPruebas de PenetraciónSeguridad de HardwareAnálisis de Firmware
GitHubkkamagui/napper-for-tpm

napper-for-tpm

Herramienta de comprobación de vulnerabilidades de TPM para CVE-2018-6622. Esta herramienta se publicará en Black Hat Asia 2019 y Black Hat Europe 2019.

Ver Repositorio
10719hace 4 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
root@kitploit:~
                     ,----------------,              ,---------,
                ,-----------------------,          ,"        ,"|
              ," Napper v1.3 for TPM ," |        ,"        ,"  |
             +-----------------------+  |      ,"        ,"    |
             |  .-----------------Z  |  |     +---------+      |
             |  |               Z |  |  |     | -==----'|      |
             |  |   ︶     ︶ z   |  |  |     |         |      |
             |  |       -         |  |  |/----| ==== oo |      |
             |  |                 |  |  |   ,/| ((((    |    ,"
             |  `-----------------'  |," .;'/ | ((((    |  ,"
             +-----------------------+  ;;  | |         |,"     
                /_)______________(_/  //'   | +---------+
           ___________________________/___  `,
          /  oooooooooooooooo  .o.  oooo /    \,"---------
         / ==ooooooooooooooo==.o.  ooo= /    ,`\--{-D)  ,"
         `-----------------------------'    '----------"

 Napper v1.3 for checking a TPM vulnerability, CVE-2018-6622 and unknown CVE
         Project link: https://github.com/kkamagui/napper-for-tpm 
        Please contribute your summary report to the Napper project!                    

1. Notice

"Napper" es una nueva herramienta de comprobación de vulnerabilidades para el TPM discreto y el TPM de firmware (Intel PTT). CVE-2018-6622 y un CVE desconocido están relacionados con el estado de suspensión S3 o la suspensión de la Interfaz Avanzada de Configuración y Energía (ACPI). El atacante puede subvertir el TPM con la suspensión S3, y la atestación remota y las funciones de sellado/desellado que utilizan los Registros de Configuración de Plataforma (PCR) pueden ser neutralizadas. Si desea información detallada sobre CVE-2018-6622 y el CVE desconocido, lea nuestro artículo de USENIX, A Bad Dream: Subverting Trusted Platform Module While You Are Sleeping y la presentación de Black Hat Europe 2019 BitLeaker: Subverting BitLocker with One Vulnerability.

1.1. Presentación y Artículo

Napper y CVE-2018-6622 se presentaron en las conferencias de seguridad que se indican a continuación.

  • Black Hat Asia 2019: Finally, I Can Sleep Tonight: Catching Sleep Mode Vulnerabilities of the TPM with the Napper
  • USENIX Security 2018: A Bad Dream: Subverting Trusted Platform Module While You Are Sleeping

Un CVE desconocido relacionado con Intel Platform Trust Technology (PTT) se presentó en las conferencias de seguridad que se indican a continuación.

  • BitLeaker: Subverting BitLocker with One Vulnerability

Puede ver el video de demostración a continuación.

  • Demostración de Napper v1.0

1.2. Contribuciones

Siempre agradecemos sus contribuciones. El informe resumido de Napper que usted contribuya hará que el mundo sea seguro.

1.3. Licencia

Napper tiene licencia GPL v2.

2. Introducción de Napper

Trusted Platform Module (TPM) es un dispositivo resistente a manipulaciones y está diseñado para proporcionar funciones de seguridad basadas en hardware o firmware. Un chip TPM tiene un generador de números aleatorios, almacenamiento no volátil, módulos de cifrado/descifrado y Registros de Configuración de Plataforma (PCR), que pueden utilizarse para diversas aplicaciones de seguridad como BitLocker, DM-Crypt, Trusted Boot (tboot) y Open Cloud Integrity Technology (Open CIT).

El TPM se ha implementado ampliamente en dispositivos comerciales para proporcionar una base sólida para la construcción de plataformas de confianza, especialmente en dispositivos utilizados en sistemas empresariales y gubernamentales. Debido a que el TPM es el punto crítico en la plataforma de confianza, muchos investigadores han intentado encontrar vulnerabilidades en el TPM y han concluido que es difícil romperlo sin acceso físico. Sin embargo, esto ya no es cierto.

Las vulnerabilidades que encontramos pueden subvertir el TPM con la Interfaz Avanzada de Configuración y Energía (ACPI). La ACPI en PC, portátiles y servidores proporciona seis estados de suspensión (S0-S5) para reducir el consumo de energía. Cuando el sistema entra en el estado de suspensión, la CPU, los dispositivos y la RAM se apagan. Dado que el sistema apaga los componentes, incluidos los dispositivos de seguridad, debería reinicializarlos al despertar, y esto podría ser la superficie de ataque. Encontramos vulnerabilidades en esta superficie de ataque sin acceso físico.

Para mitigar las vulnerabilidades, también presentamos contramedidas y una nueva herramienta, "Napper", para comprobar las vulnerabilidades del TPM. Napper es un dispositivo USB de arranque basado en Linux, y tiene un módulo de kernel y un software de comprobación de vulnerabilidades. Cuando arranca un sistema con Napper, hace que su sistema tome una siesta para comprobar las vulnerabilidades y reportarle el resultado.

3. Cómo Usar la Herramienta "Napper"

Napper consta de un módulo de kernel especial y herramientas tpm2 personalizadas. Napper se basa en Ubuntu 18.04, y lo personalizamos y adaptamos para crear una imagen Live CD. Si solo desea comprobar la vulnerabilidad del TPM y buscar una forma sencilla de hacerlo, pase a la Sección 3.1 y use la imagen Live CD de Napper con su almacenamiento USB. El Live CD de Napper no solo tiene una herramienta binaria, sino también el código fuente completo de Napper. Si está usando Ubuntu 18.04 ahora y desea compilar Napper desde cero, pase a la Sección 3.2 y compílelo.

3.1. Uso de Su Propio Almacenamiento USB con la Imagen Live CD de Napper (Versión Corta)

3.1.1. Obtener la Imagen Live CD de Napper del Proyecto Napper

Las imágenes Live CD de Napper están en la página de lanzamientos del proyecto Napper.

3.1.2. Escribir la Imagen Live CD de Napper en Su Almacenamiento USB

Si está usando el sistema operativo Microsoft Windows, use Win32 Disk Imager y escriba la imagen Live CD de Napper en su almacenamiento USB.

Si está usando Linux o Mac OS X, use el comando dd a continuación.```

Please change sdX to your USB storage name.

$> sudo dd if=Napper-LiveCD.iso of=/dev/sdX bs=4096 $> sync

root@kitploit:~
### 3.1.3. Reinicia tu sistema con tu almacenamiento USB y ejecuta Napper
Si conectas tu dispositivo de almacenamiento USB y cambias la secuencia de arranque para iniciar con él, verás el menú de arranque de Napper a continuación y podrás iniciar Napper Live CD seleccionando la primera opción.
<center> <img src="https://assets.kitploit.com/production/public/readmes/28076/525cb00d8f948ccc1653bd4fd08c8baf293615ad80ec52082b6c04efe7484f57.png" alt="napper_boot_menu"/> </center>

Después de la secuencia de arranque, verás el archivo README.txt en el escritorio y el icono de la herramienta Napper en la barra de acoplamiento izquierda. Para comprobar tu sistema, haz clic en el icono superior de la barra de acoplamiento y escribe `napper` como contraseña. El `ID` y la `password` de la herramienta Napper están configurados como `napper`. Mientras Napper prueba tu sistema, suspenderá tu sistema y lo despertará. Por lo tanto, debes presionar una tecla para despertar tu sistema del estado de suspensión ACPI S3.
<center> <img src="https://assets.kitploit.com/production/public/readmes/28076/50fdb76d396e32fe811b7f9e23849fd4b66fccee5c4325b5f8c4f167938c51b2.png" alt="napper_run"/> </center>

Si tu sistema tiene una vulnerabilidad TPM, Napper mostrará a continuación un resumen de que tu sistema es vulnerable. Si es así, ve a la Sección 4 y comparte el resumen con nuestro proyecto, Napper, a través del [Informe de incidencias del proyecto Napper](https://github.com/kkamagui/napper-for-tpm/issues) o del [Sitio web](https://kkamagui.github.io/).
<center> <img src="https://assets.kitploit.com/production/public/readmes/28076/37d28f91902c745a21bd3be9c8f373394694127db5037cc4fb522e1e660c0e65.png" alt="napper_summary"/> </center>

## 3.2. Construye Napper desde cero con Ubuntu 18.04 (Versión larga)
### 3.2.1. Descarga Ubuntu 18.04 y clona el código fuente de Napper
Napper está basado en Ubuntu 18.04. Por lo tanto, descárgalo desde el [Sitio web oficial de Ubuntu](https://www.ubuntu.com/download/desktop) e instálalo en tu sistema de destino. Después, clona el código fuente de Napper desde el [sitio del proyecto Napper, https://www.github.com/kkamagui/napper-for-tpm](https://www.github.com/kkamagui/napper-for-tpm) y compílalo con los comandos que se indican a continuación.```
# Clone Napper source code from project site.
$> git clone https://github.com/kkamagui/napper-for-tpm.git

# Build Napper.
$> cd napper-for-tpm
$> ./bootstrap

3.2.2. Ejecutar Napper con una Terminal

Después de compilar el código fuente, puedes ejecutar la herramienta Napper con una terminal. Por favor, escribe el siguiente comando en tu terminal. El front-end de Napper está hecho con script de Python.```

Run Napper

$> sudo ./napper.py ,----------------, ,---------, ,-----------------------, ," ,"| ," Napper v 1.3 for TPM ,"| ," ," | +-----------------------+ | ," ," | | .-----------------Z | | +---------+ | | | Z | | | | -==----'| | | | ︶ ︶ z | | | | | | | | - | | |/----| ==== oo | | | | | | | ,/| (((( | ," | -----------------' |," .;'/ | (((( | ," +-----------------------+ ;; | | |," /_)______________(_/ //' | +---------+ ___________________________/___ , / oooooooooooooooo .o. oooo / ,"--------- / ==ooooooooooooooo==.o. ooo= / ,\--{-D) ," -----------------------------' '----------"

Napper v1.3 for checking a TPM vulnerability, CVE-2018-6622 and unknown CVE Made by Seunghun Han, https://kkamagui.github.io Project link: https://github.com/kkamagui/napper-for-tpm

Checking TPM version for testing. [] Checking TPM version... TPM v2.0. [] Your system has TPM v2.0, and vulnerability checking is needed.

Preparing for sleep. [] Checking the TPM vulnerability testing module... Starting. [] Ready to sleep! Please press "Enter" key. [*] After sleep, please press "Enter" key again to wake up.

root@kitploit:~
[*] Waking up now. Please wait for a while. . . . . . . . . . .     

... omitted ...
root@kitploit:~
## 3.3. Ejemplo de prueba
El resultado a continuación es un ejemplo del modelo NUC5i5MYHE. El sistema tiene una versión antigua de BIOS y tiene CVE-2018-6622.```
[sudo] password for napper: 
                     ,----------------,              ,---------,
                ,-----------------------,          ,"        ,"|
              ," Napper v 1.3 for TPM ,"|        ,"        ,"  |
             +-----------------------+  |      ,"        ,"    |
             |  .-----------------Z  |  |     +---------+      |
             |  |               Z |  |  |     | -==----'|      |
             |  |   ︶     ︶ z   |  |  |     |         |      |
             |  |       -         |  |  |/----| ==== oo |      |
             |  |                 |  |  |   ,/| ((((    |    ,"
             |  `-----------------'  |," .;'/ | ((((    |  ,"
             +-----------------------+  ;;  | |         |,"     
                /_)______________(_/  //'   | +---------+
           ___________________________/___  `,
          /  oooooooooooooooo  .o.  oooo /    \,"---------
         / ==ooooooooooooooo==.o.  ooo= /    ,`\--{-D)  ,"
         `-----------------------------'    '----------"

 Napper v1.3 for checking a TPM vulnerability, CVE-2018-6622 and unknown CVE
             Made by Seunghun Han, https://kkamagui.github.io
         Project link: https://github.com/kkamagui/napper-for-tpm 

Checking TPM version for testing.
    [*] Checking TPM version... TPM v2.0.
    [*] Your system has TPM v2.0, and vulnerability checking is needed.

Preparing for sleep.
    [*] Checking the TPM vulnerability testing module... Starting.
    [*] Ready to sleep! Please press "Enter" key.
    [*] After sleep, please press "Enter" key again to wake up.

    [*] Waking up now. Please wait for a while. . . . . . . . . . . 
    [*] Checking the resource manager process... Starting.

    [*] Reading PCR values of TPM and checking a vulnerability... Vulnerable.
    [*] Show all PCR values:         
        Bank/Algorithm: TPM_ALG_SHA1(0x0004)
        PCR_00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_01: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_02: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_03: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_04: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_05: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_06: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_07: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_08: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_09: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_11: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_12: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_13: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_14: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_15: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_16: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_17: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
        PCR_18: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
        PCR_19: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
        PCR_20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
        PCR_21: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
        PCR_22: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
        PCR_23: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        
        Bank/Algorithm: TPM_ALG_SHA256(0x000b)
        PCR_00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_01: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_02: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_03: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_04: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_05: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_06: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_07: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_08: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_09: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_11: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_12: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_13: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_14: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_15: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_16: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        PCR_17: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
        PCR_18: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
        PCR_19: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
        PCR_20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
        PCR_21: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
        PCR_22: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
        PCR_23: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

    [*] Extending 0xdeadbeef to all static PCRs.
    [*] Show all PCR values:         
        Bank/Algorithm: TPM_ALG_SHA1(0x0004)
        PCR_00: 7e 96 8a c6 7f 1b 8d 0d 7a 29 58 3b f2 ee 26 d1 1f f1 24 15
        PCR_01: 7e 96 8a c6 7f 1b 8d 0d 7a 29 58 3b f2 ee 26 d1 1f f1 24 15
        PCR_02: 7e 96 8a c6 7f 1b 8d 0d 7a 29 58 3b f2 ee 26 d1 1f f1 24 15
        PCR_03: 7e 96 8a c6 7f 1b 8d 0d 7a 29 58 3b f2 ee 26 d1 1f f1 24 15
        PCR_04: 7e 96 8a c6 7f 1b 8d 0d 7a 29 58 3b f2 ee 26 d1 1f f1 24 15
        PCR_05: 7e 96 8a c6 7f 1b 8d 0d 7a 29 58 3b f2 ee 26 d1 1f f1 24 15
        PCR_06: 7e 96 8a c6 7f 1b 8d 0d 7a 29 58 3b f2 ee 26 d1 1f f1 24 15
        PCR_07: 7e 96 8a c6 7f 1b 8d 0d 7a 29 58 3b f2 ee 26 d1 1f f1 24 15
        PCR_08: 7e 96 8a c6 7f 1b 8d 0d 7a 29 58 3b f2 ee 26 d1 1f f1 24 15
        PCR_09: 7e 96 8a c6 7f 1b 8d 0d 7a 29 58 3b f2 ee 26 d1 1f f1 24 15
        PCR_10: 7e 96 8a c6 7f 1b 8d 0d 7a 29 58 3b f2 ee 26 d1 1f f1 24 15
        PCR_11: 7e 96 8a c6 7f 1b 8d 0d 7a 29 58 3b f2 ee 26 d1 1f f1 24 15
        PCR_12: 7e 96 8a c6 7f 1b 8d 0d 7a 29 58 3b f2 ee 26 d1 1f f1 24 15
        PCR_13: 7e 96 8a c6 7f 1b 8d 0d 7a 29 58 3b f2 ee 26 d1 1f f1 24 15
        PCR_14: 7e 96 8a c6 7f 1b 8d 0d 7a 29 58 3b f2 ee 26 d1 1f f1 24 15
        PCR_15: 7e 96 8a c6 7f 1b 8d 0d 7a 29 58 3b f2 ee 26 d1 1f f1 24 15
        PCR_16: 7e 96 8a c6 7f 1b 8d 0d 7a 29 58 3b f2 ee 26 d1 1f f1 24 15
        PCR_17: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
        PCR_18: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
        PCR_19: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
        PCR_20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
        PCR_21: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
        PCR_22: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
        PCR_23: 7e 96 8a c6 7f 1b 8d 0d 7a 29 58 3b f2 ee 26 d1 1f f1 24 15
        
        Bank/Algorithm: TPM_ALG_SHA256(0x000b)
        PCR_00: 5b 52 9a c4 e7 67 09 01 28 8c c6 ce af 01 46 a6 2e e0 de c7 11 2d 6d 90 ae 69 c2 59 76 d2 ad 41
        PCR_01: 5b 52 9a c4 e7 67 09 01 28 8c c6 ce af 01 46 a6 2e e0 de c7 11 2d 6d 90 ae 69 c2 59 76 d2 ad 41
        PCR_02: 5b 52 9a c4 e7 67 09 01 28 8c c6 ce af 01 46 a6 2e e0 de c7 11 2d 6d 90 ae 69 c2 59 76 d2 ad 41
        PCR_03: 5b 52 9a c4 e7 67 09 01 28 8c c6 ce af 01 46 a6 2e e0 de c7 11 2d 6d 90 ae 69 c2 59 76 d2 ad 41
        PCR_04: 5b 52 9a c4 e7 67 09 01 28 8c c6 ce af 01 46 a6 2e e0 de c7 11 2d 6d 90 ae 69 c2 59 76 d2 ad 41
        PCR_05: 5b 52 9a c4 e7 67 09 01 28 8c c6 ce af 01 46 a6 2e e0 de c7 11 2d 6d 90 ae 69 c2 59 76 d2 ad 41
        PCR_06: 5b 52 9a c4 e7 67 09 01 28 8c c6 ce af 01 46 a6 2e e0 de c7 11 2d 6d 90 ae 69 c2 59 76 d2 ad 41
        PCR_07: 5b 52 9a c4 e7 67 09 01 28 8c c6 ce af 01 46 a6 2e e0 de c7 11 2d 6d 90 ae 69 c2 59 76 d2 ad 41
        PCR_08: 5b 52 9a c4 e7 67 09 01 28 8c c6 ce af 01 46 a6 2e e0 de c7 11 2d 6d 90 ae 69 c2 59 76 d2 ad 41
        PCR_09: 5b 52 9a c4 e7 67 09 01 28 8c c6 ce af 01 46 a6 2e e0 de c7 11 2d 6d 90 ae 69 c2 59 76 d2 ad 41
        PCR_10: 5b 52 9a c4 e7 67 09 01 28 8c c6 ce af 01 46 a6 2e e0 de c7 11 2d 6d 90 ae 69 c2 59 76 d2 ad 41
        PCR_11: 5b 52 9a c4 e7 67 09 01 28 8c c6 ce af 01 46 a6 2e e0 de c7 11 2d 6d 90 ae 69 c2 59 76 d2 ad 41
        PCR_12: 5b 52 9a c4 e7 67 09 01 28 8c c6 ce af 01 46 a6 2e e0 de c7 11 2d 6d 90 ae 69 c2 59 76 d2 ad 41
        PCR_13: 5b 52 9a c4 e7 67 09 01 28 8c c6 ce af 01 46 a6 2e e0 de c7 11 2d 6d 90 ae 69 c2 59 76 d2 ad 41
        PCR_14: 5b 52 9a c4 e7 67 09 01 28 8c c6 ce af 01 46 a6 2e e0 de c7 11 2d 6d 90 ae 69 c2 59 76 d2 ad 41
        PCR_15: 5b 52 9a c4 e7 67 09 01 28 8c c6 ce af 01 46 a6 2e e0 de c7 11 2d 6d 90 ae 69 c2 59 76 d2 ad 41
        PCR_16: 5b 52 9a c4 e7 67 09 01 28 8c c6 ce af 01 46 a6 2e e0 de c7 11 2d 6d 90 ae 69 c2 59 76 d2 ad 41
        PCR_17: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
        PCR_18: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
        PCR_19: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
        PCR_20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
        PCR_21: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
        PCR_22: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
        PCR_23: 5b 52 9a c4 e7 67 09 01 28 8c c6 ce af 01 46 a6 2e e0 de c7 11 2d 6d 90 ae 69 c2 59 76 d2 ad 41

Summary. Please contribute summary below to the Napper project, https://www.github.com/kkamagui/napper-for-tpm.
    [*] Your TPM version is 2.0, and it is vulnerable.
        Please download the latest BIOS firmware from the manufacturer's site and update it.

    [*] TPM v2.0 information.
        Manufacturer: IFX
        Vendor strings: SLB9  665   
        Firmware Version: 00050028 0007B302 
        Revision: 116
        Year: 2014
        Day of year: 303

    [*] System information.
        Baseboard manufacturer: Intel Corporation
        Baseboard product name: NUC5i5MYBE
        Baseboard version: H47797-205
        BIOS vendor: Intel Corporation
        BIOS version: MYBDWi5v.86A.0026.2015.0820.1501
        BIOS release date: 08/20/2015
        System manufacturer:                                  
        System product name:                                  

4. Mitigaciones

La causa raíz de CVE-2018-6622 y del CVE desconocido es el manejo inadecuado de un caso anormal de suspensión S3, y puede eliminar la vulnerabilidad siguiendo dos opciones.

  • Actualizar el firmware BIOS más reciente en su sistema: Reportamos el CVE-2018-6622 a los principales fabricantes como Intel, Dell y Lenovo. También reportamos el CVE desconocido de Intel PTT a Intel. Para corregirlos, el fabricante ya lanzó nuevo firmware. Si aún es vulnerable después de actualizar el BIOS más reciente, pruebe la siguiente opción y contribuya con su informe resumido.
  • Deshabilitar la función de suspensión S3 en su BIOS: El firmware BIOS reciente tiene una función que deshabilita la suspensión S3 por varias razones. Por lo tanto, ingrese a la configuración del BIOS y deshabilite la suspensión S3.

5. Contribuciones

Preparamos esta sección para usted. No dude en contactarnos.

  • Bumblebee
  • Gwan-gyeong Mun, investigador en Intel
  • Juneseok Byun en Lab, el segundo cerebro y el tercer ojo de la Universidad de Hongik
  • JaeRyoung Oh, CEO de Blackfort Security, Inc.
  • Junyoung Jung en Mobile & Embedded System Lab. de la Universidad de Kyung Hee
  • Matt Oh
  • Seong Bin Park, desarrollador de motores anti-trampas e investigador de malware en wellbia.com
  • Sung Ki Park, Microsoft MVP en Windows y dispositivos para TI
  • Yonghwan Roh, CEO de Somma, Inc.

6. Resultados de las pruebas

Actualizaremos este campo con sus contribuciones. Estamos probando varios dispositivos que tenemos y actualizaremos los resultados pronto.

7. Problemas conocidos

  • Algunas máquinas apagan la alimentación de un dispositivo de almacenamiento USB durante la suspensión S3 y no pueden volver a conectarlo. En ese caso, conecte el almacenamiento USB a un "puerto con alimentación constante" de su sistema.
  • Ubuntu 18.04 a veces no podía encontrar un TPM en su sistema. En ese caso, reinicie con Napper e inténtelo de nuevo.
  • Si Secure Boot está habilitado, el sistema no puede iniciar con Napper. Para realizar pruebas, deshabilite temporalmente la opción de Secure Boot.

8. TODO

  • Los dispositivos de Microsoft como Surface Book 2, Surface Pro 6 y Surface Laptop 2 no son compatibles con Ubuntu 18.04 y el Kernel 4.18.0-15. Se necesitan pruebas después de actualizar el kernel.
Descargar herramienta
ModeloEstadoFabricante de BIOSVersión de BIOSFecha de lanzamiento de BIOS (MM/DD/YY)Fabricante de TPM 2.0Vendor StringVersión de firmware TPM
ASUS Q170M-CVulnerableAmerican Megatrends Inc.400111/09/2018Infineon (IFX)SLB96655.51.8.12800
Dell Optiplex 7040VulnerableDell1.11.110/10/2018NTCrls NPCT1.3.2.8
Dell Optiplex 7050VulnerableDell1.11.011/01/2018NTCrls NPCT1.3.2.8
GIGABYTE H170-D3HPVulnerableAmerican Megatrends Inc.F20g03/09/2018Infineon (IFX)SLB96655.61.10.57600
GIGABYTE Q170M-MKVulnerableAmerican Megatrends Inc.F2304/12/2018Infineon (IFX)SLB96655.51.8.12802
HP Spectre x360VulnerableAmerican MegatrendsF.2401/07/2019Infineon (IFX)SLB96655.62.12.13824
Intel NUC5i5MYHEVulnerableIntelMYBDWi5v.86A. 0049.2018. 1107.104611/07/2018Infineon (IFX)SLB96655.40.7.45826
Lenovo T480 (20L5A00TKR)SeguroLenovoN24ET44W (1.19 )11/07/2018Infineon (IFX)SLB96707.63.14.6400
Lenovo T580SeguroLenovoN27ET20W (1.06 )01/22/2018STMicroelectronics73.4.17568.4452
Microsoft Surface Pro 4SeguroMicrosoft Corporation108.2439.76912/07/2018Infineon (IFX)SLB96655.62.12.13826