Dobivanje privilegija SeDebugPrivilege s omogućenom programskom politikom za uklanjanje pogrešaka

U prethodnom smo članku govorili o tome kako je jedan od načina zaštite od izdvajanja lozinki iz Windows memorije pomoću uslužnih programa sličnih mimikatz-u sprečavanje privilegija za uklanjanje pogrešaka za administratore sustava korištenjem pravila grupe programa za uklanjanje pogrešaka. No, nedavno je otkriveno da bez uklanjanja pogrešaka dopuštenja (za Windows je to privilegija SeDebugPrivilege), lokalni administrator poslužitelja ne može instalirati ili ažurirati Microsoft SQL Server. Činjenica je da instalacijski program SQL Server pri pokretanju provjerava ima li privilegija SeSecurity. SeBackup i SeDebug, koji su mu potrebni za pokretanje procesa SQL Server i dobivanje podataka o uspješnom pokretanju SQL Servera. Ovako to izgleda.

Tijekom instalacije SQL Servera, prilikom obavljanja preliminarnih provjera, instalater naleti na ček Postavljanje privilegija računa.

Klikom na vezu "Neuspjelo" možete vidjeti sljedeću poruku:

Pravilo "Postavljanje privilegija računa" nije uspjelo.
Račun na kojem se izvodi instalacija SQL Server nema jedno ili sva sljedeća prava: pravo sigurnosnog kopiranja datoteka i mapa, pravo upravljanja revizijom i sigurnosnim zapisnikom i pravo uklanjanja pogrešaka programa. Za nastavak koristite račun s oba ova prava. Za više informacija pogledajte https://msdn.microsoft.com/en-us/library/ms813696.aspx, https://msdn.microsoft.com/en-us/library/ms813959.aspx i https: // msdn .microsoft.com / hr-nas / library / ms813847.aspx.


Sada otvorite izvješće o instalaciji SystemConfigurationCheck_Report.htm.

Kao što vidite, instalacijski program prilikom provjere pravila HasSecurityBackupAndDebugPrivilegesCheck utvrdio je da trenutni postupak nema jednu od sljedećih privilegija:

  • SeSecurity - upravljanje revizijom i upravljanjem sigurnosnim zapisnicima
  • SeBackup - prava na izradu sigurnosnih kopija datoteka i mapa
  • SeDebug - pravo na uklanjanje pogrešaka u programima

U zapisniku se nalaze detaljnije informacije koje ukazuju na to da postupak instalacije nema zastavicu SeDebug:

(09) 2017-09-12 14:25:13 Slp: Pravilo inicijalizacije: Postavljanje privilegija računa
(09) 2017-09-12 14:25:13 Slp: Izvršit će se pravilo: Točno
(09) 2017-09-12 14:25:13 Slp: Ciljani objekt pravila: Microsoft.SqlServer.Configuration.SetupExtension.FacetPrivilegeCheck
(09) 2017-09-12 14:25:13 Slp: Pravilo 'HasSecurityBackupAndDebugPrivilegesCheck' Rezultat: Proces pokretanja ima privilegiju SeSecurity, ima privilegiju SeBackup i nema privilegiju SeDebug.
(09) 2017-09-12 14:25:13 Slp: Pravilo vrednovanja: HasSecurityBackupAndDebugPrivilegesCheck
(09) 2017-09-12 14:25:13 Slp: Pravilo koje radi na stroju: msk-sql10
(09) 2017-09-12 14:25:13 Slp: Procjena pravila je učinjena: nije uspjelo

Odlučio sam potražiti rješenje za dobivanje prava SeDebugPrivilege bez promjene ili onemogućivanja pravila programa Debug. I kako se pokazalo, postoji prilično jednostavan način zaobilaženja ove politike ako imate lokalna administratorska prava na poslužitelju. Uslužni program secedit pomoći će nam u tome, omogućavajući vam upravljanje sigurnosnim politikama lokalnih poslužitelja.

Provjerite trenutne povlastice:

whoami / priv

Kao što vidite, sada u trenutnom korisničkom tokenu ne postoji privilegija SeDebugPrivilege .

Izvozimo trenutna korisnička prava konfigurirana prema pravilima grupe u tekstualnu datoteku:

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

Sada, pomoću bilo kojeg testnog uređivača, morate otvoriti datoteku secpolicy.inf za uređivanje i dodati redak u odjeljku [Privilege Rights] koji grupi prava lokalnog administratora dodjeljuje prava na program uklanjanja pogrešaka..

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

primjedba. SID grupe lokalnih administratora S-1-5-32-544 može se zamijeniti s bilo kojim drugim. Postupak pretvaranja grupe ili korisničkog imena u SID opisan je u članku Kako saznati SID korisnika po imenu i obrnuto

Spremite datoteku. Sada morate primijeniti nova korisnička prava:

secedit / configure / db secedit.sdb / cfg secpolicy.inf / prebrisati / područja USER_RIGHTS

primjedba. Potvrdite prepisivanje trenutnih postavki.

Sada morate pokrenuti prijavu / prijavu i koristeći secpol.msc osigurajte da su prava za program za uklanjanje pogrešaka dodijeljena grupi lokalnih administratora. Ista naredba whoami / priv potvrđuje ovo:

Omogućeni su programi za uklanjanje pogrešaka SeDebugPrivilege

Sada možete započeti instalaciju / ažuriranja SQL Servera. Ali vrijedno je imati na umu da je privilegija SeDebugPrivilege u ovom slučaju dodijeljena samo privremeno i ona će se resetirati sljedeći put kad se ažurira Grupna pravila (ali nakon odjave korisnika).

Kao što razumijete, uključivanje politike zabrane programa za uklanjanje pogrešaka nije panacea za pribavljanje prava SeDebugPrivilege od strane zlonamjernih programa koji su već ušli u poslužitelj s lokalnim administrativnim pravima, koji mogu ugroziti sve korisničke / administracijske račune koji rade na poslužitelju..