DCShadow
DCShadow
Il enregistre un nouveau contrôleur de domaine dans l'AD et l'utilise pour pousser des attributs (SIDHistory, SPNs...) sur des objets spécifiés sans laisser de logs concernant les modifications. Vous avez besoin de privilèges DA et devez être dans le domaine racine. Notez que si vous utilisez de mauvaises données, des logs assez laids apparaîtront.
Pour effectuer l'attaque, vous avez besoin de 2 instances de mimikatz. L'une d'elles démarrera les serveurs RPC avec des privilèges SYSTEM (vous devez indiquer ici les modifications que vous souhaitez effectuer), et l'autre instance sera utilisée pour pousser les valeurs :
Notez que elevate::token
ne fonctionnera pas dans la session mimikatz1
car cela élève les privilèges du thread, mais nous devons élever le privilège du processus.
Vous pouvez également sélectionner un objet "LDAP": /object:CN=Administrateur,CN=Utilisateurs,DC=JEFFLAB,DC=local
Vous pouvez pousser les modifications à partir d'un DA ou d'un utilisateur avec ces autorisations minimales:
Dans l'objet de domaine:
DS-Install-Replica (Ajouter/Supprimer une réplique dans le domaine)
DS-Replication-Manage-Topology (Gérer la topologie de réplication)
DS-Replication-Synchronize (Synchronisation de réplication)
L'objet des Sites (et ses enfants) dans le conteneur de configuration:
CreateChild et DeleteChild
L'objet de l'ordinateur enregistré en tant que DC:
WriteProperty (Pas Write)
L'objet cible:
WriteProperty (Pas Write)
Vous pouvez utiliser Set-DCShadowPermissions pour donner ces privilèges à un utilisateur non privilégié (notez que cela laissera des journaux). C'est beaucoup plus restrictif que d'avoir des privilèges DA.
Par exemple: Set-DCShadowPermissions -FakeDC mcorp-student1 SAMAccountName root1user -Username student1 -Verbose
Cela signifie que le nom d'utilisateur student1 lorsqu'il est connecté à la machine mcorp-student1 a des autorisations DCShadow sur l'objet root1user.
Utilisation de DCShadow pour créer des portes dérobées
Ombreception - Donner des autorisations DCShadow en utilisant DCShadow (pas de journaux de modifications des autorisations)
Nous devons ajouter les ACE suivants avec le SID de notre utilisateur à la fin :
Sur l'objet de domaine :
(OA;;CR;1131f6ac-9c07-11d1-f79f-00c04fc2dcd2;;UserSID)
(OA;;CR;9923a32a-3607-11d2-b9be-0000f87a36b2;;UserSID)
(OA;;CR;1131f6ab-9c07-11d1-f79f-00c04fc2dcd2;;UserSID)
Sur l'objet ordinateur de l'attaquant :
(A;;WP;;;UserSID)
Sur l'objet utilisateur cible :
(A;;WP;;;UserSID)
Sur l'objet Sites dans le conteneur Configuration :
(A;CI;CCDC;;;UserSID)
Pour obtenir l'ACE actuel d'un objet : (New-Object System.DirectoryServices.DirectoryEntry("LDAP://DC=moneycorp,DC=loca l")).psbase.ObjectSecurity.sddl
Remarquez que dans ce cas, vous devez apporter plusieurs modifications, pas seulement une. Ainsi, dans la session mimikatz1 (serveur RPC), utilisez le paramètre /stack
avec chaque modification que vous souhaitez apporter. De cette manière, vous n'aurez besoin de faire un seul /push
pour effectuer toutes les modifications en attente sur le serveur malveillant.
Last updated