
Herramienta para enumerar tareas programadas privilegiadas en sistemas remotos.
Herramienta de descubrimiento de tareas programadas privilegiadas de Windows para diversión y beneficio.
TaskHound busca tareas programadas de Windows que se ejecutan con cuentas privilegiadas y credenciales almacenadas. Enumera tareas a través de SMB, analiza XML y detecta oportunidades de ataque de alto valor mediante la integración con BloodHound.
Para conocer los antecedentes y explicaciones detalladas: consulta las publicaciones del blog asociadas: Parte 1 y Parte 2.
| Característica | Descripción |
|---|---|
| Detección de Tier 0 y alto valor | Identifica automáticamente tareas que se ejecutan como administradores de dominio, administradores empresariales y otras cuentas privilegiadas |
| Integración con BloodHound | Conéctate a instancias BHCE/Legacy en vivo o ingiere exportaciones para la detección de usuarios de alto valor |
| Soporte OpenGraph | Visualiza las tareas programadas como nodos de ruta de ataque en BloodHound CE |
| Integración con LAPS | Recupera y usa automáticamente contraseñas LAPS (tanto Windows LAPS como Legacy) para la autenticación por host |
| Extracción de credenciales DPAPI | Recopila y descifra blobs DPAPI que contienen credenciales de tareas almacenadas |
| Escaneo multihilo | Procesamiento paralelo de objetivos con limitación de velocidad para entornos grandes |
| Detección de Tier-0 basada en LDAP | Detecta cuentas privilegiadas mediante la pertenencia a grupos sin BloodHound |
| Validación de credenciales | Verifica si las contraseñas de tareas almacenadas siguen siendo válidas mediante RPC |
| Análisis sin conexión | Procesa imágenes de disco montadas o XML recopilados previamente |
| Múltiples formatos de salida | Informes de seguridad en texto plano, JSON, CSV y HTML con puntuación de severidad |
| Resolución de SID | Resolución en múltiples niveles mediante BloodHound → Caché → LSARPC → LDAP → GC |
| Almacenamiento en caché | Caché persistente basado en SQLite para búsquedas de SID y credenciales 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
> **Soporte de autenticación**: TaskHound admite la mayoría de los mecanismos de autenticación principales, incluidos contraseña, hash NTLM, Kerberos (también con ccache) y autenticación con clave AES.
## Archivo de configuración
TaskHound admite archivos de configuración TOML para ajustes persistentes. Crea `taskhound.toml` en tu directorio de trabajo o en `~/.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
Prioridad: Argumentos CLI > Variables de entorno > Configuración local > Configuración de usuario > Predeterminados
El BOF de TaskHound está incluido en el Adaptix Extension-Kit en 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 │ └──────────────────────────────────────────────────────────────────────────────┘