
Vulnerabilità di elevazione dei privilegi in ADManager Plus Build < 7210
"Modify Computers" è un ruolo predefinito in ADManager per la gestione dei computer. Se un utente tecnico dispone del privilegio Modify Computers su un computer, può modificare gli attributi userAccountControl e msDS-AllowedToDelegateTo dell'oggetto computer. In questo modo, l'utente tecnico può impostare la Constrained Kerberos Delegation su qualsiasi computer all'interno dell'unità organizzativa per cui gli è stata delegata l'autorizzazione.
Contrariamente a quanto ADManager afferma, l'utente che possiede il ruolo Modify Computers può modificare i privilegi degli oggetti computer in Active Directory. La Constrained Kerberos Delegation può essere impostata per qualsiasi servizio come CIFS, LDAP, servizi HOST. Poi l'utente può accedere a questi servizi abusando della Constrained Kerberos Delegation. Inoltre, l'Unconstrained Kerberos Delegation può essere impostata sugli oggetti computer modificando l'attributo userAccountControl. Normalmente, solo gli utenti che dispongono del privilegio SeEnableDelegationPrivilege possono impostare la delegazione Kerberos vincolata. Solo i membri del gruppo BUILTIN\Administrators hanno questo privilegio per impostazione predefinita. L'utente delegato per un'unità organizzativa non può impostare la delegazione Kerberos vincolata anche se dispone del diritto GenericAll su un account computer, quindi il processo di delega in Active Directory non concede questo privilegio. Tuttavia, l'utente tecnico può utilizzare il diritto SeEnableDelegationPrivilege tramite il ruolo Modify Computers.
Problema di autorizzazione dell'app web ADMP: l'assegnazione del ruolo predefinito Modify Computers delega all'utente tecnico la modifica inaspettata degli attributi personalizzati dei computer. Anche se nell'interfaccia utente sembra che questo privilegio non sia concesso, la proprietà "Additional Custom Attribute" viene assegnata e questo porta a una vulnerabilità di broken access control.
Non esiste alcuna restrizione per la modifica degli attributi userAccountControl e msDS-AllowedToDelegateTo degli oggetti computer. L'applicazione ADMP esegue le modifiche con privilegi di amministratore di dominio come previsto, quindi se riusciamo a bypassare alcune restrizioni (ad es. il formato del valore dell'attributo), le nostre richieste vengono applicate con privilegi di amministratore di dominio. In questo modo possiamo modificare gli attributi userAccountControl e msDS-AllowedToDelegateTo.
Un utente tecnico eleva i propri privilegi da Utente di dominio ad Amministratore di dominio. L'utente può recuperare l'hash dell'account krbtgt utilizzando un attacco DCSync dopo aver configurato la Constrained Kerberos Delegation per il servizio LDAP del controller di dominio su un computer. Come altro esempio, l'utente può impostare la Constrained Kerberos Delegation su CLIENT1$ per il servizio CIFS del DC e quindi accedere al servizio CIFS. Di conseguenza, all'utente è delegata la gestione di CLIENT1$, ma può accedere al servizio CIFS del controller di dominio impersonando un utente in modo inaspettato.
L'utente attaccante può eseguire un attacco DCSync dopo aver aggiunto la Constrained Kerberos Delegation per il servizio LDAP con i seguenti prerequisiti:
Scenario 1: Se l'attaccante dispone di diritti di amministratore locale su un computer e può gestire questo computer con il ruolo "Modify Computers" in ADManager Plus
Scenario 2: Se l'attaccante aggiunge un computer ad Active Directory (MAQ, delega) e gestisce questo computer con il ruolo "Modify Computers"
Scenario 3: Se l'attaccante può recuperare l'NT hash di un account computer (dump dell'hash con mimikatz, secretsdump, ecc.) e gestire questo computer con il ruolo "Modify Computers"
Questa prova di concetto è stata effettuata su ADManager Plus Build 7203.
https://github.com/user-attachments/assets/496b3bfd-a95f-4d69-8ee5-53ae0592ebdb