protocole Kerberos pour explorer la série d'articles factures

I. introduction

Dans l'illustration précédente des principes de numérisation Kerberos et SPN et attaque Kerberoasting, en particulier le principe d'un chapitre classique de ce qui a déjà cassé des factures Kerberos vulnérabilités MS14068 et or et d'argent et les modèles d'utilisation. MS14068 est une échappatoire plus classique, certains étudiants ont également expliqué sur la plate-forme, cette fois laissé sauter l'assaisonnement et ajouter un peu d'or et d'argent, ainsi que les factures de factures d'or amélioré, font une note.

Deux, MS14068

MS14068 est capable de faire un utilisateur normal de parler du droit à la vulnérabilité élévation des privilèges privilèges du contrôleur de domaine. Un attaquant pourrait obtenir élevé en construisant un paquet de requête spécifique. Tout d'abord, nous cherchons à utiliser des moyens.

1, les modes d'utilisation

Environnement expérimental:

Domaine: YUNYING.LAB

Contrôleur de domaine: WindowsServer 2008 R2 x64 (DC)

Domaine de l'hôte: Windows7 x64 (s1): compte domaine TS1

Outils nécessaires:

Pykek

mimikatz

processus Attaque:

Avant l'expérience exige que l'hôte pour voir si le contrôleur de domaine est installé KB3011780 patch, peut être consulté par systeminfo.

Un premier domaine sur le domaine d'accès de l'hôte commandé par s1 dir dossier partagé représenté refuser l'accès.

En second lieu, exploité par l'outil Pykek, j'utilisé ici est le fichier exe après le compilateur de script python.

paramètres:

compte de domaine -u + @ + nom de domaine, voici ts1+@+yunying.lab

-p pour le mot de passe de l'utilisateur actuel, ce mot de passe TS1

-s ts1 de la valeur SID, la valeur SID peut être obtenu par l'utilisateur whoami / all

les contrôleurs de domaine pour le domaine -d courant

ccache exécution du script réussie va générer un fichier dans le répertoire courant.

Troisièmement, l'utilisation de ccache générer un fichier d'importation mimikatz, utilisez la commande cmd klist purge avant d'importer ou d'utiliser kerberos :: purge pour éliminer les mises en cache en cours kerberos billets en mimikatz dans.

dir une fois de plus avoir accès au contrôleur de domaine peut accéder avec succès partagé.

2, le principe de la vulnérabilité

Outil de capture MS14068 lors de l'utilisation et peut être vu contrôleur de domaine s1192.168.254.130 (KDC est monté sensiblement sur le contrôleur de domaine) a KRB_AS_REQ, KRB_AS_REP, KRB_TGS_REQ, KRB_TGS_REP quatre interaction.

Les processus et les outils suivants sur la base du code source pour voir comment l'utilisation de la vulnérabilité:

KRB_AS_REQ

Tout d'abord, le programme construit par la fonction build_as_req de AS_REQ, peut être vu ici, le paramètre pac_request défini sur false.

Qu'après ce paramètre est réglé pour demander un projet de loi TGT KDC ne contient pas la PAC, qui est la conception par défaut de Microsoft, décrit en détail dans le lien suivant.

https://docs.microsoft.com/en-us/previous-versions/aa302203(v=msdn.10)#security-considerations

Peut-être plus intuitive pour voir include-pac AS-REQ dans le paquet de demande PPCE par: Faux champ. Ceci est le premier facteur à l'origine de cette vulnérabilité.

KRB_AS_REP

Après l'AS lance la requête, KDC (AS) retourne un PAC ne contient pas le ticket TGT au client. Voici tgt_a.

Ethereal peut voir cela au début des factures TGT 268fdb.

KRB_TGS_REQ

script d'attaque utilise deux fonctions clés pour parvenir à ce processus, d'abord par la configuration de construction PAC, puis build_tgs_req Constructor contenu TGS-REQ.

build_pac

Lors de la réception du Client sans PAC AS TGT retourné par la fonction de script commence build_pac configuré PAC.

Ici, nous nous concentrons sur ce que la PAC chksum1 et chksum2, qui est à deux chiffres « PAC ont introduit des » mentionnés dans la PAC_SERVER_CHECKSUM et PAC_PRIVSVR_CHECKSUM signature du PAC.

Remarque server_key première valeur de paramètre et kdc_key est en fait désigné dans le programme RSA_MD5 et la valeur clé de None, mais en principe ce cryptage doit être déterminé par le KDC. Que le cryptage PAC_SERVER_CHECKSUM et PAC_PRIVSVR_CHECKSUM de signature numérique deux ont été la clé doit être le mot de passe d'un serveur KDC et mot de passe HASH HASH, où ils dirigent la clé de None, le cryptage utilisé directement façon RSA_MD5.

Ceci est le deuxième facteur dans la formation de la vulnérabilité, voir la fonction de contrôle pour vérifier cela.

En même temps, dans ce processus, nous devons aussi regarder user_sid ce paramètre, la fonction build_pac se divisera et re-construction de l'autorité de sid haute valeur. Ici, la valeur user_sid S-1-5-21-4249968736-1423802980-663233003-1104, après la scission est domain_sid S-1-5-21-4249968736-1423802980-663233003, id_utilisateur 1104.

512,520,518,519 respectivement sid dans laquelle différents groupes de nombres. 513 groupe d'utilisateurs du domaine. De cette façon, construite PAC contient un groupe très privilégié de SID.

build_tgs_req

fonction Build_tgs_req de paramètres, authorization_data généré correspondant à build_pac pac.

Ici, il sera crypté à l'aide de la sous-clé après PAC build_tgs_req entrant.

Et on peut le voir par le fait, est une sous-clé de fonction generate_subkey figure générée chaîne de nombre aléatoire de 16 bits.

Il semble maintenant il y a un problème:

A, permet de définir le domaine par défaut la valeur d'inclusion-pac False (la vulnérabilité ne peut pas être pris en considération, une attention particulière devrait être les mécanismes spécifiques de Microsoft pour concevoir des scénarios);

B, la signature numérique peut être spécifiée par un terminal client PAC et les valeurs clés peuvent être vides;

C, le cryptage peut également être désigné par le PAC client, et la valeur de génération de clé de fonction generate_subkey 16 bits nombre aléatoire;

D, la configuration PAC contient un SID de groupe de droits sur le contenu élevé.

Que ces points par un client forgé complètement transmis au KDC PAC, déchiffre le KDC et falsifié par un PAC, et vérifier le client spécifié algorithme de cryptage de signature numérique dans la demande, et vérifié.

On peut voir par une capture de paquets reçus au cours de ce processus TGT (268fdb début) et la méthode de cryptage est contenu PAC de ARCFOUR-HMAC-MD5.

KRB_TGS_REP

Dans le KDC après vérification réussie de faux PAC, les déclarations des clients à la fin d'un nouveau TGT, et TGT cela Pykek généré PAC qui y sont contenues, où le retour à la normale est effectivement envoyé au côté serveur pour faire la certification des factures ST.

Après avoir reçu le nouvel outil Pykek TGT fichier de sauvegarde ccache généré. C'est quand le client a reçu des factures de TGT normales (564eab de début) contient une teneur élevée de l'autorité PAC.

TGT à l'aide pour l'utilisation Mimikatz accéder aux dossiers partagés DC

Ensuite, nous importons le billet par mimikatz, et dir \ dc.yunying.lab \ c $ contrôleur de domaine d'accéder à un dossier partagé.

Ethereal peut voir alors le client lancé deux demande TGS-REQ, se concentrer sur ce pour la première fois, cette fois avec le projet de loi est d'utiliser les mimikatz TGT importées, à savoir que tgt_b (564eab le début du processus de retour ci-dessus KRB_TGS_REP ).

Il est revenu pour un dc.yunying.lab (contrôleur de domaine) Le projet de loi aussi CIFS est le processus normal de ST (service vente de billets) Notes (234062 au début) après une demande:

A cette époque, nous avons trouvé pas AP_REQ ce processus, car ce processus dans Kerberos AP_REQ sur les services de première demande, ici sont placés dans la session SMB demande d'installation (d'autres protocoles de la même manière paquet pris, comme protocole HTTP est placé dans la demande GET).

répond alors dans la configuration de session de réponse SMB, à savoir AP-REP ce processus.

Jusqu'à présent, le client peut tout accès non autorisé au contrôleur de domaine du dossier partagé.

3, de la défense et de la détection

Cette vulnérabilité est une faille de 14 ans, et la plupart des produits en WindowsServer 2008 windows server environnement de domaine en 2003, de sorte que vous pouvez télécharger les correctifs de sécurité déjà installés, l'utilisateur peut éviter le risque en installant le patch KB3011780 sur le contrôleur de domaine.

Bien que les caractéristiques de marqueurs de dépistage primaire Faux-pac comprennent selon le mentionné ci-dessus.

Peut également être trouvé à travers les fenêtres log, telles que l'ID de se connecter au serveur cible 4624, ID 5140 indique que le réseau est un objet partagé est accessible, et ainsi de suite.

Dans ce grand défaut en question est présente dans le KDC spécifie l'algorithme de chiffrement dans la signature numérique de la PAC et de l'algorithme de chiffrement PAC basé sur le client pour vérifier la légitimité du PAC. Cela permet à un attaquant peut forger PAC, les modifications de la PAC SID, résultant en haute KDC déterminé attaquant les droits des utilisateurs, ce qui privilège la génération vulnérabilité d'élévation.

Trois, GoldenTicket

brève introduction

Billet d'or ST (ci-après dénommé le billet d'or) par le biais forgé TGT (Ticket TicketGranting), tant qu'il est un grand privilège TGT, il peut être envoyé à l'échange TGS pour tous les services. On peut dire il y a un billet d'or avec le domaine de la plus haute autorité.

Faire les conditions de billets d'or:

1, le nom de domaine

2, la valeur SID du champ

3, domaine KRBTGT compte Mot de passe HASH

4, faux nom d'utilisateur, il peut être arbitraire

environnement expérimental

Domaine: YUNYING.LAB

Contrôleur de domaine: WindowsServer 2008 R2 x64 (DC)

Domaine de l'hôte: Windows7 x64 (s1): TS1 utilisateur

Outils nécessaires

Mimikatz

procédure expérimentale

billets d'or devront générer un mot de passe valeur HASH de krbtgt, vous pouvez mimikatz en

lsadump :: dcsync /domain:yunying.lab / utilisateur: krbtgt

Commande pour obtenir la valeur de krbtgt. Si vous avez acquis à KRBTGT HASH par d'autres moyens peuvent également être l'étape suivante.

Après avoir KRBTGT HASH utilisation mimikatz les kerberos :: fonction de génération d'or golden.kiribi de billet d'or, qui est forgé TGT avec succès.

paramètres:

/ Admin: nom d'utilisateur de faux

/ Domaine: nom de domaine

/ Sid: valeur SID, la dernière note est de supprimer les - valeurs suivantes

/ KRBTGT: valeur HASH krbtgt

/ Achats de billets: factures nom généré

billet d'or

Mimikatz par la kerberos :: fonction ptt (Pass The Ticket) golden.kiribi introduit dans la mémoire.

dossier partagé déjà accédé avec succès par le contrôleur de domaine dir.

De cette manière, l'effet de prendre de la facture introduite dans les 20 minutes, si l'expiration peut être réintroduite, et tout utilisateur peut être forgé.

Quatre, SilverTickets

brève introduction

Billets d'argent (ci-après les courants d'air) est contrefait ST (service vente de billets), parce que le TGT a défini le service au client autorisé (par la valeur du SID) dans la PAC, que l'on ne peut accéder à des projets au service spécifié.

Faire des projets de conditions:

1. Nom de domaine

La valeur du champ SID 2.

3. Le mot de passe compte de service HASH domaine (non KRBTGT, est un contrôleur de domaine)

4. nom d'utilisateur faux peut être un nom que l'utilisateur, c'est en argent

environnement expérimental

Domaine: YUNYING.LAB

Contrôleur de domaine: WindowsServer 2008 R2 x64 (DC)

Domaine de l'hôte: Windows7 x64 (s1): TS1 utilisateur

Outils nécessaires

Mimikatz

procédure expérimentale

Tout d'abord nous avons besoin de connaître le mot de passe compte HASH de service, où le contrôleur de domaine pour prendre le même exemple, considérons la valeur actuelle compte administrateur de domaine HASH par mimikatz. Notez que le compte Administrateur n'est pas utilisé ici HASH, mais le HASH DC $.

Dans ce cas, la valeur de hachage obtenue du courant continu généré par les traites mimikatz.

paramètres:

/ Domaine: le nom de domaine actuel

Prendre comme valeur SID, et la partie avant des votes: / sid

/ Cible: l'hôte cible, voici dc.yunying.lab

/ Service: nom du service, il faut des fichiers partagés d'accès, il est CIFS

/ Rc4: valeur de hachage de l'hôte cible

/ Utilisateur: faux nom d'utilisateur

/ Ptt: représente l'attaque passe TheTicket, est de nouveau à l'aide kerberos :: ptt après la génération des factures introduites dans la mémoire, vous pouvez également utiliser le / exportation de billets d'importation

voir ensuite la session en cours des factures peut être vu par billet klist kerberos généré.

Utilisez dir \ dc.yunying.lab \ c $ visite DC dossier partagé.

En l'absence de courants d'air KRBTGT mots de passe générés, de sorte que vous ne pouvez pas les faux billets TGT, forgé, par le chiffrement de bout Server mot de passe factures ST, ne peuvent accéder au service spécifié.

Cinq, billets EnhancedGolden

section Golden Ticket décrit la valeur hash disponible krbtgt généré billet d'or, qui peut obtenir des privilèges de domaine tout en pouvant contrôler l'accès à tout service dans les autres hôtes. Mais billet d'or ordinaire ne peut pas être utilisé dans les domaines, ce privilège est limité aux votes dans le domaine actuel.

Limites des voix ordinaire

Pourquoi billet d'or ordinaire sera limitée à une utilisation uniquement dans le domaine actuel?

En ce qui concerne le concept de domaines et d'arbres de domaine dans la forêt sur l'article, mais quand il s'agit de YUNYING.LAB domaine racine aux deux autres domaines (NEWS.YUNYING.LAB et DEV.YUNYING.LAB), le domaine racine et d'autres domaines Lin a le contrôle sur la plus grande différence est le domaine racine de l'ensemble du domaine. Le champ est d'atteindre la division d'une telle autorité conformément au groupe Enterprise Admins (sera décrit plus loin).

2 Démonstration expérimentale

environnement expérimental

Domaine racine: YUNYING.LAB contrôleur de domaine: DC.YUNYING.LAB

: Subdomains contrôleur de domaine NEWS.YUNYING.LAB: NEWSDC.NEWS.YUNYING.LAB

: Subdomains contrôleur de domaine DEV.YUNYING.LAB: DEVDC.DEV.YUNYING.LAB

Les systèmes d'exploitation sont WindowsServer 2008 R264 bits

Outils:

Mimikatz

Protocole:

Le premier à utiliser mimikatz générant un billet d'or clair, l'environnement réel sera le domaine hôte, la présentation si facile ici dans le contrôleur de domaine, le résultat est le même principe et sur NEWSDC (contrôleurs de domaine NEWS.YUNYING.LAB).

:: kerberos d'or / admin: administrateur /domain:news.yunying.lab / sid: SID / krbtgt: XXXXX / ptt

Tel qu'il est utilisé ici, le numéro SID domaine NEWS.YUNYING.LAB, domaine racine un accès continu au dossier partagé est rejeté.

Les raisons spécifiques ci-dessous.

groupe Enterprise Admins

groupe EnterpriseAdmins est un groupe d'utilisateurs dans le domaine, existe seulement dans un domaine racine de la forêt, les membres de ce groupe, voici l'utilisateur Administrateur YUNYING.LAB dans (non administrateur local, l'administrateur est un domaine) domaine ont le plein contrôle de gestion.

Par commande whoami on peut le voir sur le contrôleur de domaine yunying.lab RID Enterprise groupe Administrateurs 519 (les trois derniers)

groupe Admins du domaine

Peut être vu dans le domaine de l'enfant n'existe pas de groupe EnterpriseAdmins, dans un domaine des autorisations de l'enfant le plus élevé groupe est le groupe Admins du domaine. Capture d'écran est facile à utiliser news.yunying.lab Administrateur ce sous-domaine, l'administrateur a la plus haute autorité du domaine actuel.

Par commande whoami vous pouvez également voir le numéro SID est pas défini dans EnterpriseAdmins news.yunying.lab ce sous-domaine.

La raison d'utiliser les mimikatz de billets d'or créés dans le domaine de l'enfant ne peut pas être utilisé dans les domaines est ici aussi, par whoami peut voir le numéro de SID YUNYING.LAB dans le groupe Enterprise Admins sont:

S-1-5-21-4249968736-1423802980-663233003-519

Le numéro SID domaine NEWS.YUNYING.LAB est:

S-1-5-21-3641416521-285861825-2863956705-XXX

Numéro mimikatz SID reçu par option / sid puis épissage de la queue nombre RID (512519, etc.), le groupe résultant de EnterpriseAdmins après épissage est terminée SID:

S-1-5-21-3641416521-285861825-2863956705-519

Et tout ce SID de domaine dans la forêt n'existait pas, de sorte que le domaine des enfants mimikatz générés par les votes ne peuvent pas accéder à des ressources entre les différents domaines ou d'autres domaines. Dans une forêt de domaine, une autorité de contrôle de domaine n'est pas la fin, le contrôleur de domaine du domaine racine est la fin de la pénétration de l'autorité de domaine.

3 sortir

facture d'or ordinaire est limitée au domaine actuel, en 2015 les chercheurs Black Hat USA extérieur de la Chine a présenté une version améliorée des restrictions de domaine percée billet d'or. Par hôte de domaine Enregistrer les propriétés de la bibliothèque SIDHistory LDAP lors de la migration valeur SID peut être faite sur un domaine interdomaine ticket d'or. Il n'y a pas de migration, prennent directement domaine racine numéros SID faire des présentations.

Si vous connaissez le SID de domaine racine, vous pouvez valeur HASH sous-domaines KRBTGT utilisant mimikatz créer un ticket avec les droits de groupe EnterpriseAdmins (les plus hauts domaines d'autorité dans la forêt) est. L'environnement est la même génération billet d'or de commun au-dessus.

Tout d'abord, nous supprimons tickets Kerberos pour la session en cours par purge klist, peut également être supprimé par kerberos :: purge dans les années mimikatz.

Les nouveaux mimikatz de billets d'or puis régénérés en incluant le domaine racine SID

:: kerberos d'or / admin: administrateur /domain:news.yunying.lab / sid: XXX / SIDS: XXX / krbtgt: XXX / startOffset: 0 / endin: 600 / renewmax: 10080 / ptt

StartOffset et endin représentent décalage et la longueur, billet renewmax générée représente le temps maximum

Notez que ce n'est pas le domaine racine YUNYING.LAB krbtgt connaître le mot de passe HASH, l'utilisation d'un mot de passe HASH dans le sous-domaine NEWS.YUNYING.LAB KRBTGT.

Ensuite, visitez DC. YUNYING.LAB par dir dossier partagé, il a été constaté une visite réussie.

À ce stade du projet de loi est d'avoir le contrôle total du domaine des billets de la forêt. Nous savons que les conditions sont faites pour améliorer les votes est effectué dans le filtre de domaine temporel SIDHistory Host Migration par SIDHistory cette approche défensive, il efface le contenu des biens SIDHistory.

VI Résumé

Cet article décrit l'utilisation MS14068 factures de manière et de l'or et l'argent, principalement utilisés pour améliorer et maintenir l'autorité de domaine, exige une combinaison d'autres attaques menées dans l'usage ordinaire, comme l'accès aux contrôleurs de domaine hash NTLM et autres contenus. Le prochain article présentera sur la délégation Kerberos liée à la réalisation du principe et des méthodes d'attaque.

 * Auteur: laboratoire 360 nuages, de préciser s'il vous plaît reproduit FreeBuf.COM

Andrews éliminé? nouveau système d'exposition de l'éditeur Fuchsia OS de Google
Précédent
Roi de gloire Yuji jouent un demi-tuyau de sang d'attaque normale, de sorte que l'original est montée
Prochain
Inattendu, sept types de connaissances de la sécurité des enfants doit apprendre!
La tendance était seulement un frère jouer dans ce jeu? Supreme x Stone Island exposition conjointement complète!
Méchant explosion Jour du film | « veuve noire » ne sera pas transformé en un film R-rated, « guide roll » Bien être expulsé, mais encore « la protection Silver 3 » scénariste
McLaren supercar demander 17.230.000 prix à l'étranger option / non inclus
Gloire à mettre en place une société distincte? Cependant, nous ne pouvons pas échapper à l'ombre de Huawei
Nubian entrer dans le cercle de jeu: un pari transfrontalier sur le marché de la téléphonie mobile a ouvert une nouvelle dimension
Les gens | est-il, exposition Florence Pitti Uomo donne la vie
vote sous-Amoy à 9.0 ouvert! Les effets visuels de science-fiction chef-d'oeuvre « A Lita: Battle Angel » a été libéré 18 heures, les centaines de millions au box-office!
CANalyzat0r: une analyse de sécurité peut être un outil puissant pour un accord de Special Purpose Vehicle
Entendu qu'il y aura sept nouvelle mise en page X-Trail? Cela aussi, droit
Singe compétences analytiques Croustillant trois tige frapper l'immortalité? N'existe pas
« Le printemps avait » lancé « 16 ans » activités secrètes de sujet, Liu Hao Ran secret jeunes se sont avérés être!