Ir al contenido

Uso con cuentas del sistema

Toda la configuración realizada mediante la consola HSM Dinamocon será en el ámbito del usuarioactual. Para configurar los parámetros de las cuentas del sistema, es necesario suplantar la ejecución de la consola en Windows bajo la cuenta en cuestión. Para ello se pueden utilizar herramientas proporcionadas por el propio Microsoft, fabricante del sistema operativo.

Las cuentas del sistema tratadas aquí son:

  • Sistema (o SISTEMA), sid: S-1-5-18
  • ServicioLocal (o SERVICIO LOCAL), sid: S-1-5-19
  • Servicio de red (o SERVICIO DE RED), sid: S-1-5-20

Estrictamente hablando, no son exactamente cuentas de Windows, pero las llamaremos así para facilitar la comprensión.

Herramientas utilizadas

  • Herramienta utilizada para la suplantación de identidad: psexec64de la suite PSTtools proporcionada por Microsoft.
  • Software cliente HSM Dinamo: msi 64 bits, incluye consola de gestión GUI (Dinamocon).
  • Utilidad para HSM Dinamo: hsmutil.

Procedimiento para asociar un certificado de una cuenta del sistema a una clave del HSM

Peligro

Advertencia: la ejecución con la identidad SYSTEM proporciona un acceso prácticamente ilimitado a todo el entorno y puede causar daños reales si se utiliza de forma inadecuada. Tenga mucho cuidado al utilizar esta facilidad.

  1. Creación de un terminal cmd bajo el perfil de una cuenta del sistema Windows. Ejecute el siguiente comando (en función de la cuenta que le interese) en un terminal (powershell o cmd) con elevación de privilegios administrativos:

    psexec64 -i -u "NT AUTHORITY\System" cmd
    
    psexec64 -i -u "NT AUTHORITY\LocalService" cmd
    
    psexec64 -i -u "NT AUTHORITY\NetworkService" cmd
    

    Las cuentas deben tener exactamente estos nombres(en inglés) incluso en sistemas portugueses; aunque pueden mostrarse localizadas en ciertas utilidades de Windows (gui y cli).

    Tenga en cuenta que estas cuentas no tienen contraseña. Si se le pide una, es probable que el nombre de la cuenta se esté introduciendo incorrectamente.

    Ex:

    > psexec64 -i -u "NT AUTHORITY\system" cmd
    
    PsExec v2.43 - Ejecutar procesos remotamente
    Copyright (C) 2001-2023 Mark Russinovich
    Sysinternals - www.sysinternals.com
                   .
                   .
                   .
       cmd lanzado en otro terminal (interactivo) ...
                   .
                   .
                   .
       ... salida en el terminal de cmd.
    
    cmd salió en MYHOST con código de error 0.
    > _
    

    El nuevo cmd iniciado se ejecutará bajo el perfil de la cuenta indicada, es decir, esta cuenta será la usuario actual para cualquier aplicación que se ejecute desde él.

  2. Ejecutar la consola GUI de gestión del HSM de terminal cmd.

    Dinamo Networks Dinamo"\Program Files\ \HSM \dinamocon.exe"
    

    La barra de título muestra la cuenta con la que se ejecuta la consola (v 4.8.0+).

    Suplantación de la cuenta SISTEMA
    Suplantación de la cuenta SISTEMA

    Suplantación de cuentas SERVICIO LOCAL
    Suplantación de cuentas SERVICIO LOCAL

    Suplantación de cuenta SERVICIO DE RED
    Suplantación de cuenta SERVICIO DE RED

    En Configuración del entorno/MS CAPI/Contenedores marque o cree el contenedor e indique la clave privada que se utilizará. Anote el nombre del contenedor. Para más información consulte el tema específico Contenedores / Almacén de Certificados.

  3. Ejecutar el gestor de certificados gui de de cmd.

    certmgr
    

    Localice el certificado que se asociará y anote el hash del certificado (también llamado huella digital). El valor hash se utilizará más adelante, así que anótelo. Si aún no ha importado el certificado, puede hacerlo ahora utilizando el gestor.

    También puede listar los certificados ejecutando la línea de comandos:

    certutil -usuario -almacén "Mi"
    
  4. Ejecutar, de de cmdla utilidad hsmutil para hacer la asociación entre un certificado en el almacén de certificados y una clave en el HSM:

    Ej. 1, para proveedor de CSP:

    • -conteiner es un nombre de contenedor csp
    • -keyspec es el uso de la clave en el contenedor (firmar o intercambio_de_claves)
    hsmutil -j cert-assign-key --csp "Dinamo HSM Cryptographic Provider" --store current_user --repo My --container prod --keyspec at_keyexchange --certhash 9A714AEFD314BE74C7953002A6FDC83248C7868A
    

    Ej. 2, para proveedor de GNC (GNC habilitado):

    • -conteiner es un nombre de clave en HSM
    • -keyspec é gnc (literal)
    hsmutil -j cert-assign-key --csp "Dinamo HSM Cryptographic Provider" --store current_user --repo My --container mykey --keyspec cng --certhash 9A714AEFD314BE74C7953002A6FDC83248C7868A
    
  5. Para realizar una prueba de firma a través de CSP/CNG puede utilizar hsmutil:

    Ex: cmd hsmutil -j cert-sign --store current_user --repo My --certhash 9979222498057bc1e2867da9c02dc500f080a264 --inform hex --in 1234EEFF BB187A708484AE518C527DBEF56C92F404ECF49EDCD7A5EFA7BBC0C19D67CBE7E8243F45164831F340A6FE59A805CC F4B90140C4AD7BD0C63D44AF7487DCA85521E191EF809BC1DF92232FE8DC5B74A9FE549417FE78B463FCC0D72FBA93 474072E8D7A6FC70E59C22879F2FCC71C43D0095F2D8A84392182AFE62DAAF7CF0D46238C9F41480576449557CE8A6 3DFCFDBCE6E66A9E13E48F7D82C0F5C50A05F350C0FFE1B06841FAA11D8F1E6C6E700665F5ECD72982DBF198F6E728 6997FE35E4984B7A5A59DDBDF6F84A4998343EF2E2C62DB45EE5A4BF954C6A57E572DA8ACB5008EAA25E363F0FCAF0 C1DF95204C4A68D57D4AEF31F737845329A2D0A980 Tiempo total: 125,84 ms (0,13 seg) [7,95 op/seg].