Poiščite skrbniške račune v storitvi Active Directory

V prejšnjem članku smo opisali postopek ponastavitve gesla običajnega računa skrbnika domene Active Directory (skrbniški račun). Ta scenarij deluje v "standardnem" okolju Active Directory, vendar na nekaterih področjih ta trik morda ne bo deloval, ker pri uvajanju so bile uporabljene Microsoftove najboljše prakse za zavarovanje infrastrukture AD. V resničnih domenah AD lahko za zaščito računa skrbnika domene uporabimo naslednje strategije:

  • Preimenujte standardni račun Administrator aktivnega imenika
  • Ustvari račun za vabo. Račun sicer ima ime Skrbnik, vendar nima nobenih višjih pravic. Poleg tega lahko s pomočjo revizijskih pravil konfigurirate varnostne storitve, da vas obveščajo o pooblastilu s tem računom
  • Onemogočanje skrbniškega računa in dodelitev privilegijev skrbnika domene drugemu računu.

V tem članku bomo poskušali razčleniti rešitve teh strategij, ki vam omogočajo, da v AD-ju odkrijete vse račune s skrbniškimi pravicami domene.

Torej smo v prejšnjem članku pokazali, kako lahko z ustvarjanjem sistemske storitve na krmilniku domene ponastavite geslo domena-administrator. Ta ukaz bo ob nalaganju DC ponastavil geslo računa skrbnika domene (skrbnik domene) na P @ ssw0rd.

sc ustvari ResetADPass binPath = "% ComSpec% / k neto skrbnik uporabnika P @ ssw0rd" start = auto

Kaj naj storim, če se ne morem prijaviti pod ta račun? Najverjetneje je bila pri uvajanju domene zaščitena z enim od zgornjih metod.

Namestite izklopljeno bazo podatkov Active Directory

Poskusimo iz podatkovne baze AD pridobiti podatke o dejanskih skrbnikih domen. To naredite tako, da se zaženete v način DSRM, v katerem je baza podatkov Active Directory (ntds.dit) v onemogočenem stanju. To lokalno bazo moramo lokalno vgraditi, da bomo še naprej imeli dostop do informacij, ki so shranjene v njej.

Zaženite dve ukazni vrstici: v prvi bomo začeli postopek dsamain.exe, v drugo bomo vnesli interaktivne ukaze.

Namig. Ko delate na strežniku Core, lahko drugo ukazno vrstico odprete z izvajanjem ukaza v izvirnem cmd-ju:

začetek cmd

Pred zagonom pripomočka dsamain.exe se prepričajte, da druge storitve in procesi trenutno ne uporabljajo vrat 389. To lahko storite z ukazom:

netstat -ano | findstr: 389

V primeru, da ekipa ni vrnila ničesar - vse je v redu, pojdite naprej (če ste se vrnili, morate najti in onemogočiti najdeni postopek).

Pomožni program dsamain.exe vam omogoča, da namestite bazo podatkov AD in vanj izvedete različne poizvedbe LDAP (pravzaprav vam omogoča, da organizirate samostojen strežnik LDAP). Pomožni program se začne z naslednjimi parametri:

  • dbpath - nastavi pot do datoteke ntds.dit.
  • dovoliNonAdminAccess - Dovoli poizvedbe LDAP v bazo podatkov AD v lokalnem računu (privzeto je dostop dovoljen samo članom skupin domenskih skrbnikov in podjetniških administratorjev).
  • ldapPort - vam omogoča, da določite vrata LDAP. Uporabili bomo standardni LDAP vrata - 389.

Namestite bazo AD z ukazom:

dsamain -dbpath C: \ Windows \ NTDS \ ntds.dit -allowNonAdminAccess -ldapPort 389

Prepričajte se, da postopek dsamain.exe teče in posluša na vratih 389. Če želite to narediti, v drugi ukazni vrstici zaženite ukaz:

netstat -ano | findstr: 389
TCP 0.0.0.0 mnenje89 0.0.0.0:07 SEZNAM 614

TCP [::]: 389 [::]: 0 SEZNAM 614

TCP 0.0.0.0 mnenja89 *: * 614

TCP [::]: 389 *: * 614

Postopek dobimo s procesorjem ID 614 za poslušanje na vratih TCP 389.
Preverite, ali je postopek s PID 604 naš postopek dsamain.exe:

seznam opravil / fi "pid eq 614" / za seznam
Ime slike: dsamain.exe

PID: 614

Ime seje: Konzola

2. zasedanje: 2

Uporaba: 11,316 K

Zdaj, ko je osnova AD nameščena, lahko do nje dostopamo s pomočjo pripomočkov ds * (dsget, dsquery itd.). Oglejmo si vse tri možnosti za skrivanje računa skrbnika domene..

Preimenovan račun skrbnika domene

Kako lahko ugotovim, ali je bil preimenovan standardni skrbniški račun Active Directory?
Standardni skrbnik AD ima dobro znan SID, katerega oblika je S-1-5-21- [id domene] -500, torej moramo le najti predmet s takim SID-om v domeni. V drugi ukazni vrstici zaženite ukaz:

dsquery user -s localhost | dsget user -s localhost -samid -sid | findstr / c: "- 500"
itpro S-1-5-21-2292496274-2043586872-6449473370-500

V tem primeru je razvidno, da je bil skrbniški račun preimenovan v itpro.
Geslo za ta račun lahko ponastavite tudi s posebno storitvijo:

sc ustvari ResetPW binPath = "% ComSpec% / k neto uporabnik itpro P @ ssw0rd" start = auto

Zdaj lahko odklopite bazo podatkov AD (ustavite postopek dsamain.exe s Ctrl + C). Prepričajte se, da je ukaz vrnil niz

Storitve domen Active Directory so bile uspešno zaustavljene

Lažni AD Admin račun

Kako ugotoviti, da standardni skrbniški aktivni imenik nima potrebnih pravic? Je zelo preprosto. Poznamo DN (razločno ime) skrbniškega računa, lahko dobimo seznam skupin, v katerih je sestavljen:

dsget user "CN = Administrator, CN = Uporabniki, DC = winitpro, DC = sl" -s localhost -memberof -expand
"CN = uporabniki domene, CN = uporabniki, DC = winitpro, DC = ru"

"CN = uporabniki, CN = vgrajeni, DC = winitpro, DC = ru"

Kot vidite, ta račun ni član skupine domenskih administratorjev in ni primeren za naše namene. Naslednja tehnika vam bo pomagala najti "prave" skrbnike.

Nadomestni administrator

Poskusimo ugotoviti, kako dobiti seznam računov, ki imajo pravice skrbnika domene. Za začetek poskušamo rekurzivno našteti vse člane skupine skrbnikov (vključno s člani skupin Domene in Enterprise Admins).

dsquery skupina -s localhost -samid "skrbniki" | dsget group -s localhost -members -expand
"CN = Administratorji domene, CN = Uporabniki, DC = winitpro, DC = ru"

"CN = Enterprise Admins, CN = Uporabniki, DC = winitpro, DC = ru"

"CN = administrator, CN = uporabniki, DC = winitpro, DC = ru"

"CN = itpro, CN = uporabniki, DC = winitpro, DC = ru"

Kot lahko vidite, imata skrbniški in skrbniški račun skrbniške pravice. Preverite stanje skrbniškega računa:

dsget user "CN = Administrator, CN = Uporabniki, DC = winitpro, DC = sl" -s localhost -samid -sid -disabled
samid sid onemogočen

Administrator S-1-5-21-2092397264-2003686862-3249677370-500 da

Kot vidite, je onemogočen.

Zdaj preverite stanje računa itpro:

dsget uporabnik "CN = itpro, CN = uporabniki, DC = winitpro, DC = ru" -s localhost -samid -sid -disabled
samid sid onemogočen

itpro S-1-5-21-2092397264-2003686862-3249677370-1107 št

dsget je uspel

Ta račun je aktiven. Preverite, iz katerih skupin sestavljajo:

dsget uporabnik "CN = itpro, CN = uporabniki, DC = winitpro, DC = sl" -s localhost -memberof -expand
"CN = lastniki ustvarjalcev pravilnikov skupin, CN = uporabniki, DC = winitpro, DC = ru"

"CN = Administratorji domene, CN = Uporabniki, DC = winitpro, DC = ru"

"CN = Enterprise Admins, CN = Uporabniki, DC = winitpro, DC = ru"

"CN = Administratorji sheme, CN = Uporabniki, DC = winitpro, DC = ru"

"CN = uporabniki domene, CN = uporabniki, DC = winitpro, DC = ru"

"CN = zavrnjena skupina za podvajanje gesla RODC, CN = uporabniki, DC = winitpro, DC = en"

"CN = skrbniki, CN = vgrajeni, DC = winitpro, DC = en"

"CN = uporabniki, CN = vgrajeni, DC = winitpro, DC = ru"

Super, ima pravice skrbnika domene! Ostaja, da geslo računa ponastavite s samid - itpro. Ponovno lahko to storite s pomočjo storitve:

sc ustvari ResetPW binPath = "% ComSpec% / k neto uporabnik itpro PA $ w0rd94" start = auto

Ne pozabite odklopiti baze podatkov AD in znova zagnati strežnik.