Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
PKCS11SSHAgent — SRO PKCS11 – SSH Agent CNG é um agente Windows soberano, ultraleve e zero dependência que unifica PKCS#11, SSH-agent, Pageant e CNG/Smartcard em um único binário robusto. Projetado para ambientes exigentes, ele oferece criptografia de hardware nativa, isolamento service/userland, suporte completo para smartcards. | Kitploit
Ferramentas/GitHubGitHub/sanmilie/pkcs11sshagent
Ferramentas de Criptografia/DescriptografiaCriptografiaSegurança de HardwareUtilitários e FrameworksGerenciamento de Identidade e Acesso (IAM)Autenticação
GitHubsanmilie/pkcs11sshagent

PKCS11SSHAgent

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →

Sobre

SRO PKCS11 – SSH Agent CNG é um agente Windows soberano, ultraleve e zero dependência que unifica PKCS#11, SSH-agent, Pageant e CNG/Smartcard em um único binário robusto. Projetado para ambientes exigentes, ele oferece criptografia de hardware nativa, isolamento service/userland, suporte completo para smartcards.

Ver Repositório
Site
2411há 7 mesesRevisado pelo Kitploit
Compartilhar

SRO PKCS11 – SSH Agent CNG

Compatibilidade Serviço de Memória Agente de Memória Estabilidade Lançamento no GitHub

Unificação soberana PKCS#11 + SSH-agent + Pageant + CNG/Smartcard

Um executável Windows único que unifica quatro funções tradicionalmente separadas:

  • Módulo PKCS#11 completo (Firefox, OpenSC, ssh -I)
  • Agente SSH compatível com OpenSSH/Git/VS/WSL
  • Servidor Pageant compatível com PuTTY/plink/pscp
  • Orquestrador CNG/KSP seguro para smartcards

Índice

  1. Filosofia
  2. Arquitetura
  3. Modos de execução
  4. Instalação
  5. Configuração
  6. Protocolos suportados
  7. Gestão do PIN
  8. Backend CNG
  9. Segurança
  10. Compatibilidade
  11. Exportação de chaves públicas
  12. Ícone na bandeja
  13. Suporte WSL2
  14. Detecção de conflitos
  15. Dependências
  16. Limitações conhecidas
  17. Roteiro

Filosofia

Soberana. Nenhuma dependência do CRT. Todas as operações de memória passam por RtlCopyMemory, RtlZeroMemory, RtlEqualMemory (FreeCRT.h). Unicode em todo lado (Win32 nativo). Nenhum malloc, memcpy, strlen, printf.

Segura. As chaves privadas nunca são exportadas. Nenhum PIN transita. CNG/KSP gere a UI PIN nativa do Windows. Isolamento estrito serviço ↔ userland através de pipes seguros.

Minimalista. Um único binário. Nenhuma DLL externa. Nenhum inchaço de registry. Instalação simples (regsvr32 ou -install).

Versátil. Suporte simultâneo de PKCS#11, SSH-agent, Pageant e WSL2 no mesmo processo.


Arquitetura```

┌──────────────────────────────────────────────────────────────┐ │ Clients (Git, VS, WSL, OpenSSH, PuTTY, Firefox) │ └────────────────────────┬─────────────────────────────────────┘ │ ┌───────────────┼───────────────┬─────────────────┐ │ │ │ │ SSH-agent Pageant (WM_COPYDATA) PKCS#11 WSL2 (TCP) │ │ │ │ v v v v ┌──────────────────────────────────────────────────────────────┐ │ Service Stub (session 0, SYSTEM) │ │ - Accepte connexions sur \.\pipe\openssh-ssh-agent │ │ - Crée pipe interne par client (GUID unique) │ │ - Lance helper userland avec token interactif │ │ - Forwarde messages sans manipuler de secrets │ └────────────────────────┬─────────────────────────────────────┘ │ lancé par le service v ┌──────────────────────────────────────────────────────────────┐ │ Helper Userland (session interactive) │ │ - Connecte au pipe interne │ │ - Décode protocole SSH-agent/Pageant │ │ - Invoque CNG/KSP pour signature │ │ - UI PIN native Windows (pas de relay) │ │ - Renvoie signature au service │ │ - Fenêtre Pageant cachée pour WM_COPYDATA │ │ - Listener TCP 127.0.0.1:10022 pour WSL2 │ │ - Tray icon avec menu contextuel │ └────────────────────────┬─────────────────────────────────────┘ │ v ┌──────────────────────────────────────────────────────────────┐ │ CNG/KSP Backend │ │ - NCryptSignHash avec PKCS#1/PSS padding │ │ - Enumération certificats Windows Store │ │ - Filtrage SmartCardOnly / AllowedKSP │ │ - Support RSA + ECDSA (P-256, P-384, P-521) │ │ - Support EdDSA (Ed25519, Ed448) │ │ - Support Brainpool (P256r1, P384r1, P512r1) │ │ - Cache clés + providers (4h timeout) │ └──────────────────────────────────────────────────────────────┘

## Modos de execução

### 1. Modo PKCS#11 (automático)

Carregado por:
- `ssh -I ssh-agent.exe user@host`
- Firefox (Security Devices → Load PKCS#11 Module)
- `pkcs11-tool --module ssh-agent.exe --list-objects`

Expõe as exportações PKCS#11 padrão:
- `C_Initialize`, `C_Finalize`, `C_GetInfo`
- `C_GetSlotList`, `C_GetSlotInfo`, `C_GetTokenInfo`
- `C_GetMechanismList`, `C_GetMechanismInfo`
- `C_OpenSession`, `C_CloseSession`, `C_Login`, `C_Logout`
- `C_FindObjectsInit`, `C_FindObjects`, `C_FindObjectsFinal`
- `C_GetAttributeValue`
- `C_SignInit`, `C_Sign`
- `C_VerifyInit`, `C_Verify`
- `C_DecryptInit`, `C_Decrypt`
- `C_GenerateRandom`, `C_SeedRandom`

**Mecanismos suportados (14 no total):**
- `CKM_RSA_PKCS` (raw com padding)
- `CKM_RSA_X_509` (raw sem padding)
- `CKM_SHA1_RSA_PKCS` (legacy ssh-rsa)
- `CKM_SHA256_RSA_PKCS` (rsa-sha2-256)
- `CKM_SHA384_RSA_PKCS` (rsa-sha2-384)
- `CKM_SHA512_RSA_PKCS` (rsa-sha2-512)
- `CKM_SHA256_RSA_PKCS_PSS` (RSA-PSS SHA-256)
- `CKM_SHA384_RSA_PKCS_PSS` (RSA-PSS SHA-384)
- `CKM_SHA512_RSA_PKCS_PSS` (RSA-PSS SHA-512)
- `CKM_ECDSA` (raw)
- `CKM_ECDSA_SHA1` (legacy)
- `CKM_ECDSA_SHA256` (ecdsa-sha2-nistp256/384/521)
- `CKM_ECDSA_SHA384`
- `CKM_ECDSA_SHA512`

### 2. Modo agente userland (standalone)```bash
ssh-agent.exe
  • Cria o pipe \\.\pipe\openssh-ssh-agent em sessão do usuário
  • Implementa o protocolo SSH-agent
  • Suporte multi-cliente (máx. 16 conexões simultâneas)
  • Inicia automaticamente o servidor Pageant
  • Inicia automaticamente o listener WSL2 (127.0.0.1:10022)
  • Usa CNG/KSP diretamente (sem serviço)
  • PIN UI na sessão atual
  • Cache de PIN opcional (configurável)
  • Ícone na bandeja com estatísticas em tempo real

Compatível com:

  • Git for Windows (set SSH_AUTH_SOCK=\\.\pipe\openssh-ssh-agent)
  • Visual Studio
  • WSL (via npiperelay ou socat)
  • WSL2 (via TCP 127.0.0.1:10022)
  • OpenSSH para Windows
  • PuTTY, plink, pscp, psftp (via Pageant)

3. Modo de serviço stub```bash

ssh-agent.exe -install net start SROSSHAgentCNG

- Roda na sessão 0 (SYSTEM)
- Aceita conexões no pipe global
- Cria um pipe interno por cliente (protegido por SID)
- Inicia um helper userland com `CreateProcessAsUserW`
- Encaminha as mensagens sem tocar nos segredos
- Pool de helpers com timeout de 4h (reutilização automática)
- Evicção LRU se pool cheio

**Vantagens:**
- UI PIN na sessão do usuário (não na sessão 0)
- Compatível com ambientes endurecidos
- Isolamento estrito serviço ↔ crypto
- Multiplexação multi-usuários

### 4. Modo helper crypto userland```bash
ssh-agent.exe -useragent -pipe \\.\pipe\ssh-ksp-helper-{GUID}

Iniciado automaticamente pelo serviço :

  • Conecta ao pipe interno
  • Processa as requisições SSH-agent/Pageant
  • Invoca NCryptSignHash (UI PIN nativa)
  • Retorna a assinatura ao serviço
  • Inicia Pageant (janela oculta)
  • Inicia listener WSL2 (127.0.0.1:10022)
  • Exibe ícone da bandeja (modo SERVIÇO)
  • Encerra após timeout ou desconexão

Instalação

Registrar como módulo PKCS#11```bash

regsvr32 ssh-agent.exe

Crie as chaves :
- `HKLM\SOFTWARE\San@sro Inc\PKCS11-SSH-Agent`
- `HKCU\SOFTWARE\San@sro Inc\PKCS11-SSH-Agent`
- `HKCU\SOFTWARE\Mozilla\Firefox\PKCS11Modules\SROSSHAgent`

### Instalar o serviço Windows```bash
ssh-agent.exe -install
net start SROSSHAgentCNG

Configurar WSL2

Baixar ferramenta