Pridobitev privilegij SeDebugPrivilege z omogočeno programsko politiko za odpravljanje napak

V prejšnjem članku smo govorili o tem, kako je eden od načinov zaščite pred pridobivanjem gesel iz pomnilnika Windows s pomočjo pripomočkov, podobnih mimikatz-u, preprečiti privilegije za odpravljanje napak za sistemske skrbnike pri uporabi pravilnika skupine za odpravljanje napak. Vendar so pred kratkim odkrili, da brez napak pri odpravljanju napak (v sistemu Windows je to privilegij SeDebugPrivilege) lokalni skrbnik strežnika ne more namestiti ali posodobiti strežnika Microsoft SQL. Dejstvo je, da namestitveni program SQL Server ob zagonu preveri, ali ima privilegije SeSecurity. SeBackup in SeDebug, ki ju potrebuje za zagon postopka SQL Server in pridobivanje informacij o uspešnem zagonu SQL Serverja. Takole je videti.

Med namestitvijo SQL Server se pri izvajanju predhodnih pregledov namestitveni program spotakne ob pregledu Nastavite privilegije računa.

S klikom na povezavo »Neuspešno« lahko vidite naslednje sporočilo:

Pravilo »Nastavitev privilegijev računa« ni uspelo.
Račun, v katerem je nameščen program SQL Server Setup, nima ene ali vseh naslednjih pravic: pravica do varnostne kopije datotek in imenikov, pravica upravljanja revizije in varnostnega dnevnika ter pravica za odpravljanje napak. Če želite nadaljevati, uporabite račun z obema pravicama. Za več informacij glejte https://msdn.microsoft.com/en-us/library/ms813696.aspx, https://msdn.microsoft.com/en-us/library/ms813959.aspx in https: // msdn .microsoft.com / sl-nam / library / ms813847.aspx.


Zdaj odprite poročilo o namestitvi SystemConfigurationCheck_Report.htm.

Kot lahko vidite, je namestitveni program pri preverjanju pravila HasSecurityBackupAndDebugPrivilegesCheck ugotovil, da trenutni postopek nima enega od naslednjih privilegijev:

  • SeSecurity - revizija in upravljanje varnostnih dnevnikov
  • SeBackup - pravice do varnostnih kopij datotek in imenikov
  • SeDebug - pravica do odpravljanja programov

V dnevniku je podrobnejših informacij, ki kažejo, da postopek namestitve nima zastavice SeDebug:

(09) 2017-09-12 14:25:13 Slp: Pravilo za zagon: nastavite privilegije računa
(09) 2017-09-12 14:25:13 Slp: Izvedeno bo pravilo: Res
(09) 2017-09-12 14:25:13 Slp: Ciljni objekt pravilnika Init: Microsoft.SqlServer.Configuration.SetupExtension.FacetPrivilegeCheck
(09) 2017-09-12 14:25:13 Slp: Pravilo 'HasSecurityBackupAndDebugPrivilegesCheck' Rezultat: Potek postopka ima privilegij SeSecurity, ima privilegij SeBackup in nima privilegija SeDebug.
(09) 2017-09-12 14:25:13 Slp: Pravilo vrednotenja: HasSecurityBackupAndDebugPrivilegesCheck
(09) 2017-09-12 14:25:13 Slp: Pravilo, ki deluje na stroju: msk-sql10
(09) 2017-09-12 14:25:13 Slp: Opravljeno ocenjevanje pravil: Neuspešno

Odločil sem se rešiti rešitev za pridobitev pravic SeDebugPrivilege, ne da bi spremenil ali onemogočil pravilnik o programih za odpravljanje napak. In kot se je izkazalo, obstaja precej preprost način, kako se izogniti temu pravilniku, če imate na strežniku lokalne skrbniške pravice. Pri tem nam bo pomagal pripomoček secedit, ki vam bo omogočil upravljanje lokalnih varnostnih pravil strežnika.

Preverite trenutne privilegije:

whoami / priv

Kot lahko vidite, zdaj v trenutnem uporabniškem žetonu ni privilegija SeDebugPrivilege .

Izvožimo trenutne uporabniške pravice, konfigurirane s pravilniki skupine, v besedilno datoteko:

secedit / izvoz / cfg secpolicy.inf / področja USER_RIGHTS

Zdaj s pomočjo katerega koli urejevalnika preizkusov morate odpreti datoteko secpolicy.inf za urejanje in v razdelku [Privilege Rights] dodati vrstico, ki skupini lokalnih skrbnikov dodeli pravice programa za odpravljanje napak..

SeDebugPrivilege = * S-1-5-32-544

Opomba. SID skupine lokalnih skrbnikov S-1-5-32-544 je mogoče nadomestiti s katerim koli drugim. Postopek pretvorbe skupine ali uporabniškega imena v SID je opisan v članku Kako najti SID uporabnika po imenu in obratno

Shranite datoteko. Zdaj morate uporabiti nove uporabniške pravice:

secedit / configure / db secedit.sdb / cfg secpolicy.inf / prepisati / področja USER_RIGHTS

Opomba. Potrdite prepis trenutnih nastavitev.

Zdaj morate zagnati odjava / prijavo in s pomočjo secpol.msc poskrbite, da so pravice programa za odpravljanje napak dodeljene skupini lokalnih skrbnikov. Isti ukaz whoami / priv to potrjuje:

Programi za odpravljanje napak za SeDebugPrivilege Omogočeni

Zdaj lahko začnete namestitev / posodobitve strežnika SQL. Upoštevati pa je treba, da je privilegij SeDebugPrivilege v tem primeru dodeljen le začasno in bodo ponastavljeni ob naslednji posodobitvi pravilnika skupine (vendar po odjavi uporabnika).

Kot razumete, vključitev politike prepovedi programov za odpravljanje napak ni panaceja za pridobivanje pravic SeDebugPrivilege z zlonamernimi programi, ki so že vstopili v strežnik z lokalnimi skrbniškimi pravicami, ki lahko ogrozijo vse uporabniške / skrbniške račune, ki delujejo na strežniku.