
Emula tarjetas inteligentes PIV NIST SP 800-73 en Windows utilizando un certificado PFX y clave privada, permitiendo la autenticación con tarjeta inteligente para sesiones RDP, Citrix y VMware Horizon.
PIVert es un emulador de tarjeta inteligente PIV NIST SP 800-73. Puede proporcionar a PIVert un archivo PFX que contenga un certificado y su clave privada correspondiente, y la herramienta emulará la tarjeta ante Windows como una tarjeta PIV genuina. La tarjeta puede utilizarse para autenticación a través de RDP, Citrix y VMWare Horizon usando la función integrada de redirección de tarjeta inteligente.
En una máquina limpia que no haya usado PIVert antes, el primer paso es instalar el controlador de lector de tarjetas inteligentes virtual BixVReader. ADVERTENCIA: esto instala un certificado de autoridad de certificación raíz de confianza autofirmado, ya que el controlador está autofirmado con un certificado de prueba. El paso de instalación también establece la opción de directiva de grupo AllowCertificatesWithNoEKU. Sin esta opción, solo se ofrecen para autenticación los certificados con el EKU Smartcard Logon. Con esta opción habilitada, los certificados con el EKU User Authentication también están disponibles para autenticación.
.\PIVert.exe install
[=] AllowCertificatesWithNoEKU on SmartCard Credential Provider not set, enabling...
[+] Enabled AllowCertificatesWithNoEKU on SmartCard Credential Provider
[=] Writing BixVReader.ini config to C:\Windows
[=] Installing driver signing certificate into Root and Trusted Publishers local machine store
[=] Installing driver MSI
[+] Installer completed
Para emular una tarjeta PIV usando un archivo PFX, simplemente especifique el archivo PFX y la contraseña PFX como argumentos de línea de comandos.
.\PIVert.exe .\Administrator.pfx password
[=] Connected to Smartcard Data Pipe
[=] Connected to Smartcard Event Pipe
[+] Connected Virtal Smart Card Driver
[+] Virtual card inserted
[=] Press ESC to exit, or any other key to remove and reinsert the virtual card?
[=] Unsupported INS ca with CLA 0
[=] Request for PIV DataObject: CardHolderUniqieID
[=] Request for PIV DataObject: CertPIVAuth
[=] Request for PIV DataObject: CertSign
[=] Request for PIV DataObject: CertKeyMan
[=] Request for PIV DataObject: CertCardAuth
[=] Request for PIV DataObject: KeyHistory
[=] Request for PIV DataObject: CertPIVAuth
[=] Request for PIV DataObject: CertSign
[=] Request for PIV DataObject: CertCardAuth
[=] Request for PIV DataObject: CardHolderUniqieID
[=] Request for PIV DataObject: CertKeyMan
[=] Request for PIV DataObject: KeyHistory
Parece haber un error en el controlador (o posiblemente en mi código :D) por el que a veces Windows no detecta la inserción de la tarjeta virtual debido a problemas al leer el ATR de la tarjeta virtual. Para combatir este problema, puede pulsar cualquier tecla que no sea ESC para extraer y reinsertar virtualmente la tarjeta. Sabrá que esto ha ocurrido porque no verá las solicitudes de DataObjects al inicio como las anteriores.