DCShadow
DCShadow
Rejestruje nowy kontroler domeny w AD i używa go do wprowadzania atrybutów (SIDHistory, SPN...) na określone obiekty bez pozostawiania jakichkolwiek logów dotyczących modyfikacji. Potrzebujesz uprawnień DA i znajdować się w głównym domenie. Należy zauważyć, że jeśli użyjesz nieprawidłowych danych, pojawią się dość brzydkie logi.
Aby przeprowadzić atak, potrzebujesz 2 instancji mimikatz. Jedna z nich uruchomi serwery RPC z uprawnieniami SYSTEM (musisz tutaj wskazać zmiany, które chcesz przeprowadzić), a druga instancja będzie używana do wprowadzania wartości:
Zauważ, że elevate::token
nie zadziała w sesji mimikatz1
, ponieważ podnosi uprawnienia wątku, ale musimy podnieść uprawnienia procesu.
Możesz również wybrać obiekt "LDAP": /object:CN=Administrator,CN=Users,DC=JEFFLAB,DC=local
Możesz wprowadzać zmiany z konta DA lub z konta użytkownika o minimalnych uprawnieniach:
W obiekcie domeny:
DS-Install-Replica (Dodaj/Usuń replikę w domenie)
DS-Replication-Manage-Topology (Zarządzaj topologią replikacji)
DS-Replication-Synchronize (Synchronizacja replikacji)
Obiekt Sites (i jego dzieci) w kontenerze Configuration:
CreateChild i DeleteChild
Obiekt komputera, który jest zarejestrowany jako DC:
WriteProperty (Nie Write)
Obiekt docelowy:
WriteProperty (Nie Write)
Możesz użyć Set-DCShadowPermissions, aby nadać te uprawnienia nieuprzywilejowanemu użytkownikowi (zauważ, że zostaną pozostawione pewne logi). Jest to znacznie bardziej restrykcyjne niż posiadanie uprawnień DA.
Na przykład: Set-DCShadowPermissions -FakeDC mcorp-student1 SAMAccountName root1user -Username student1 -Verbose
Oznacza to, że nazwa użytkownika student1, gdy jest zalogowany na maszynie mcorp-student1, ma uprawnienia DCShadow dla obiektu root1user.
Używanie DCShadow do tworzenia tylnych drzwi
Shadowception - Nadaj uprawnienia DCShadow przy użyciu DCShadow (bez zmieniania logów uprawnień)
Musimy dodać następujące ACE z SID naszego użytkownika na końcu:
Na obiekcie domeny:
(OA;;CR;1131f6ac-9c07-11d1-f79f-00c04fc2dcd2;;SIDUżytkownika)
(OA;;CR;9923a32a-3607-11d2-b9be-0000f87a36b2;;SIDUżytkownika)
(OA;;CR;1131f6ab-9c07-11d1-f79f-00c04fc2dcd2;;SIDUżytkownika)
Na obiekcie komputera atakującego:
(A;;WP;;;SIDUżytkownika)
Na obiekcie docelowego użytkownika:
(A;;WP;;;SIDUżytkownika)
Na obiekcie Sites w kontenerze Configuration:
(A;CI;CCDC;;;SIDUżytkownika)
Aby uzyskać bieżące ACE obiektu: (New-Object System.DirectoryServices.DirectoryEntry("LDAP://DC=moneycorp,DC=loca l")).psbase.ObjectSecurity.sddl
Zauważ, że w tym przypadku musisz dokonać kilku zmian, a nie tylko jednej. Więc w sesji mimikatz1 (serwer RPC) użyj parametru /stack
z każdą zmianą, którą chcesz wprowadzić. W ten sposób będziesz musiał wykonać tylko jedno /push
aby wykonać wszystkie zablokowane zmiany na podrobionym serwerze.
Last updated