
Outil pour énumérer les tâches planifiées privilégiées sur les systèmes distants
Outil de découverte de tâches planifiées privilégiées Windows pour le plaisir et le profit.
TaskHound traque les tâches planifiées Windows qui s'exécutent avec des comptes privilégiés et des identifiants stockés. Il énumère les tâches via SMB, analyse les XMLs et identifie les opportunités d'attaque à haute valeur via l'intégration BloodHound.
Pour le contexte et des explications détaillées : consultez les articles de blog associés - Partie 1 et Partie 2.
| Fonctionnalité | Description |
|---|---|
| Détection de niveau 0 et à haute valeur | Identifie automatiquement les tâches s'exécutant en tant qu'administrateurs de domaine, administrateurs d'entreprise et autres comptes privilégiés |
| Intégration BloodHound | Connectez-vous à des instances BHCE/Legacy en direct ou ingérez des exportations pour la détection d'utilisateurs à haute valeur |
| Support OpenGraph | Visualisez les tâches planifiées comme des nœuds de chemin d'attaque dans BloodHound CE |
| Intégration LAPS | Récupération et utilisation automatiques des mots de passe LAPS (Windows LAPS et Legacy) pour l'authentification par hôte |
| Extraction d'identifiants DPAPI | Collecte et déchiffrement des blobs DPAPI contenant les identifiants de tâches stockés |
| Analyse multi-thread | Traitement parallèle des cibles avec limitation de débit pour les grands environnements |
| Détection de niveau 0 basée sur LDAP | Détection des comptes privilégiés via l'appartenance à un groupe sans BloodHound |
| Validation des identifiants | Vérification si les mots de passe de tâches stockés sont toujours valides via RPC |
| Analyse hors ligne | Traitement des images disque montées ou des XMLs précédemment collectés |
| Formats de sortie multiples | Rapports de sécurité en texte brut, JSON, CSV et HTML avec notation de sévérité |
| Résolution SID | Résolution multi-niveaux via BloodHound → Cache → LSARPC → LDAP → GC |
| Mise en cache | Cache persistant basé sur SQLite pour les recherches SID et les identifiants LAPS |
git clone https://github.com/1r0BIT/TaskHound.git cd TaskHound python3 -m venv .venv && source .venv/bin/activate pip install -r requirements.txt && pip install .
taskhound -u homer.simpson -p 'Doh!123' -d thesimpsons.local -t moe.thesimpsons.local
taskhound -u homer.simpson -p 'Doh!123' -d thesimpsons.local --targets-file hosts.txt --threads 10
taskhound -u homer.simpson -p 'Doh!123' -d thesimpsons.local --dc-ip 10.0.0.1 --auto-targets --threads 20
taskhound -u homer.simpson -p 'Doh!123' -d thesimpsons.local --targets-file hosts.txt --laps --threads 10
taskhound --offline-disk /mnt/disk
> **Support d'authentification** : TaskHound prend en charge la plupart des mécanismes d'authentification majeurs, y compris le mot de passe, le hachage NTLM, Kerberos (également avec ccache), et l'authentification par clé AES.
## Fichier de configuration
TaskHound prend en charge les fichiers de configuration TOML pour les paramètres persistants. Créez `taskhound.toml` dans votre répertoire de travail ou `~/.config/taskhound/` :```toml
[authentication]
username = "svc_taskhound"
domain = "THESIMPSONS.LOCAL"
[target]
dc_ip = "10.0.0.1"
threads = 10
timeout = 30
[bloodhound]
live = true
connector = "http://127.0.0.1:8080"
api_key = "${BH_API_KEY}" # Use env vars for secrets
api_key_id = "${BH_API_KEY_ID}"
type = "bhce"
[bloodhound.opengraph]
enabled = true
output_dir = "./opengraph"
[laps]
enabled = true
[cache]
enabled = true
ttl = 86400 # 24 hours
Priorité : arguments CLI > variables d'environnement > configuration locale > configuration utilisateur > valeurs par défaut
Le BOF de TaskHound est inclus dans le Adaptix Extension-Kit sous SAR-BOF/taskhound/.
TTTTT AAA SSS K K H H OOO U U N N DDDD T A A S K K H H O O U U NN N D D T AAAAA SSS KKK HHHHH O O U U N N N D D T A A S K K H H O O U U N NN D D T A A SSSS K K H H OOO UUU N N DDDD
by 0xr0BIT
[+] Connecting to BloodHound CE at http://127.0.0.1:8080 [+] BloodHound connection successful (API v2) [+] High Value target data loaded (42 users) [+] OpenGraph generation enabled (auto-upload active) [] Processing target: moe.thesimpsons.local [+] moe.thesimpsons.local: Connected via SMB [+] moe.thesimpsons.local: Local Admin Access confirmed [] moe.thesimpsons.local: Enumerating scheduled tasks (skipping \Microsoft) [+] moe.thesimpsons.local: Found 12 tasks (3 privileged, 2 with stored credentials)
┌──────────────────────────────────────────────────────────────────────────────┐ │ [TIER-0] moe.thesimpsons.local - \DuffBrewery\BackupJob │ ├──────────────────────────────────────────────────────────────────────────────┤ │ Enabled │ True │ │ RunAs │ THESIMPSONS\Administrator │ │ What │ C:\Scripts\backup_beer_recipes.ps1 │ │ Author │ THESIMPSONS\burns.monty │ │ Date │ 2025-06-15T02:30:00 │ │ Trigger │ Calendar (starts 2025-06-15 02:30, daily) │ │ Reason │ Tier 0 - Domain Admins membership │ │ Cred Validation │ CONFIRMED_VALID │ │ Pwd Analysis │ Password unchanged AND ran within schedule - confirmed │ └──────────────────────────────────────────────────────────────────────────────┘