Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Koh — Capture les jetons de session d'ouverture de session Windows via une fuite de jetons pour permettre la réutilisation des identifiants et l'usurpation d'identité, avec une intégration Cobalt Strike BOF pour le vol de jetons post-exploitation. | Kitploit
Outils/GitHubGitHub/ghostpack/koh
Post-ExploitationAuthentificationRed Teaming
GitHubghostpack/koh

Koh

Capture les jetons de session d'ouverture de session Windows via une fuite de jetons pour permettre la réutilisation des identifiants et l'usurpation d'identité, avec une intégration Cobalt Strike BOF pour le vol de jetons post-exploitation.

Voir le dépôt
5226718il y a 4 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Koh


Koh est un ensemble d'outils en C# et Beacon Object File (BOF) qui permet la capture de données d'identification utilisateur via une fuite intentionnelle de jetons/sessions d'ouverture de session.

Certains codes ont été inspirés par le projet Internal-Monologue (sans licence) d'Elad Shamir, ainsi que par KB180548. Pour comprendre pourquoi cela est possible et l'approche de Koh, voir la section Contexte technique de ce README.

Pour une explication plus approfondie de la motivation derrière Koh et de son approche, consultez l'article Koh: The Token Stealer.

@harmj0y est l'auteur principal de cette base de code. @tifkin_ a contribué à l'approche, à l'implémentation du BOF et à certaines mécaniques de jetons.

Koh est distribué sous licence BSD 3-Clause.

Table des matières

  • Koh
    • Table des matières
    • Serveur Koh
      • Compilation
      • Utilisation
      • Exemple - Lister les sessions d'ouverture de session
      • Exemple - Surveiller les sessions d'ouverture de session (avec filtrage par SID de groupe)
    • Client Koh
      • Utilisation
      • Filtrage par SID de groupe
      • Exemple - Capture
    • Contexte technique
      • Pourquoi cela est possible
      • Approche
        • Approches possibles
        • Notre approche
        • Avantages/Inconvénients par rapport à l'extraction traditionnelle d'identifiants
          • Avantages
          • Inconvénients
    • Le bug Inline Shenanigans
    • IOCs
    • Mesures d'atténuation
    • À faire

Serveur Koh

Le « serveur » Koh capture les jetons et utilise des pipes nommés pour le contrôle/la communication. Il peut être encapsulé dans Donut et injecté dans tout processus haute intégrité SYSTEM (voir Le bug Inline Shenanigans).

Compilation

Nous ne prévoyons pas de publier les binaires de Koh, vous devrez donc le compiler vous-même :)

Koh a été développé pour .NET 4.7.2 et est compatible avec Visual Studio 2019 Community Edition. Ouvrez simplement le fichier .sln du projet, choisissez « Release » et compilez. L'assembly Koh.exe et le PIC Koh.bin construit avec Donut seront générés dans le répertoire principal. Le blob Donut est compatible x86/x64 et a été construit avec les options suivantes en utilisant la v0.9.3 de Donut à l'emplacement ./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 licence de Donut est BSD 3-clause.

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

* **list** - liste les sessions de connexion (non-réseau)
* **monitor** - surveille les nouvelles sessions de connexion uniques (non-réseau)
* **capture** - capture un jeton unique par SID trouvé pour les nouvelles sessions de connexion (non-réseau)

Les SID de groupe peuvent également être fournis en ligne de commande, ce qui amène Koh à surveiller/capturer uniquement les sessions de connexion qui contiennent les SID de groupe spécifiés dans leurs informations de jeton négocié.

### Exemple - Liste des sessions de connexion```
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)
    

Exemple - Surveillance des sessions de connexion (avec filtrage par SID de groupe)

Liste uniquement les résultats qui contiennent le SID de groupe des administrateurs de domaine (-512) dans leurs informations de jeton :``` 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)

## Client Koh

Le client utilisable actuel est un fichier objet Beacon situé dans `.\Clients\BOF\`. Chargez le script d'agression `.\Clients\BOF\KohClient.cna` dans votre client Cobalt Strike pour activer le contrôle BOF du serveur Koh. La seule condition pour utiliser les jetons capturés est **SeImpersonatePrivilege**. Le tube nommé de communication possède une DACL "Everyone" mais utilise un mot de passe partagé basique (super sécurisé).

Pour compiler sur Linux avec Mingw, consultez le script `.\Clients\BOF\build.sh`. La seule dépendance (sur Debian au moins) devrait être `apt-get install gcc-mingw-w64`
Télécharger l’outil