A SeDebugPrivilege jogosultság megszerzése, ha a hibakeresési programszabályzat engedélyezve van

Egy előző cikkben arról beszéltünk, hogy a Windows memóriából a mimikatz-szerű segédprogramok segítségével a jelszavak kibontása elleni védelem egyik módja a rendszergazdák hibakeresési jogosultságainak megakadályozása a Debug Program csoport házirendjében. Nemrég fedezték fel azonban, hogy hibakeresési engedélyek nélkül (Windows rendszeren ez egy kiváltság SeDebugPrivilege), a helyi kiszolgáló rendszergazda nem telepítheti vagy frissítheti a Microsoft SQL Server alkalmazást. A helyzet az, hogy az SQL Server telepítője az indításkor ellenőrzi a SeSecurity jogosultságokat. SeBackup és SeDebug, amelyekre az SQL Server folyamat elindításához és az SQL Server sikeres elindításához szükséges információk beszerzéséhez van szükség. Így néz ki.

Az SQL Server telepítése során az előzetes ellenőrzések végrehajtásakor a telepítő ellenőrzésre bukkan A fiókjogosultságok beállítása.

A „Nem sikerült” linkre kattintva a következő üzenetet láthatja:

A „Fiókbeállítások beállítása” szabály nem sikerült.
Az SQL Server telepítőjét futtató fióknak nincs az alábbi jogok egyike vagy mindegyike: a fájlok és könyvtárak biztonsági másolatának készítéséhez, az ellenőrzés és a biztonsági napló kezelésének jogához, valamint a programok hibakeresési jogához. A folytatáshoz használjon mindkét joggal rendelkező fiókot. További információ: https://msdn.microsoft.com/en-us/library/ms813696.aspx, https://msdn.microsoft.com/en-us/library/ms813959.aspx és https: // msdn .microsoft.com / hu-könyvtár / ms813847.aspx.


Most nyissa meg a telepítési jelentést SystemConfigurationCheck_Report.htm.

Mint láthatja, a telepítő a HasSecurityBackupAndDebugPrivilegesCheck szabály ellenőrzésekor megállapította, hogy az aktuális folyamat nem rendelkezik a következő jogosultságok egyikével:

  • SeSecurity - ellenőrzés és biztonsági naplókezelés
  • SeBackup - biztonsági mentési fájlok és könyvtárak joga
  • SeDebug - a programok hibakeresési joga

A naplóban részletesebb információ található arról, hogy a telepítési folyamatnak nincs SeDebug jelzője:

(09) 2017-09-12 14:25:13 Slp: Inicializáló szabály: A fiók jogosultságainak beállítása
(09) 2017-09-12 14:25:13 Slp: A szabályt végrehajtják: Igaz
(09) 2017-09-12 14:25:13 Slp: Kezdeti szabály célobjektum: Microsoft.SqlServer.Configuration.SetupExtension.FacetPrivilegeCheck
(09) 2017-09-12 14:25:13 Slp: 'HasSecurityBackupAndDebugPrivilegesCheck' szabály: Eredmény: A futási folyamatnak SeSecurity privilégiuma van, SeBackup jogosultsága van, és nincs SeDebug kiváltsága.
(09) 2017-09-12 14:25:13 Slp: Értékelő szabály: HasSecurityBackupAndDebugPrivilegesCheck
(09) 2017-09-12 14:25:13 Slp: A szabály futtatása gépen: msk-sql10
(09) 2017-09-12 14:25:13 Slp: A szabály kiértékelése kész: Sikertelen

Úgy döntöttem, hogy keresi egy megoldást a SeDebugPrivilege jogok megszerzésére a Debug programok házirendjének megváltoztatása vagy letiltása nélkül. És amint kiderült, meglehetősen egyszerű módon megkerülheti ezt a házirendet, ha helyi kiszolgálói jogosultságokkal rendelkezik. A secedit segédprogram segít nekünk ebben, lehetővé téve a helyi szerver biztonsági házirendeinek kezelését.

Ellenőrizze a jelenlegi jogosultságokat:

whoami / priv

Mint láthatja, a jelenlegi felhasználói tokenben nincs SeDebugPrivilege jogosultság .

A csoportszabályok által konfigurált jelenlegi felhasználói jogokat egy szövegfájlba exportáljuk:

secedit / export / cfg secpolicy.inf / terület USER_RIGHTS

Most, bármilyen tesztszerkesztő használatával, meg kell nyitnia a secpolicy.inf fájlt szerkesztés céljából, és egy sort kell hozzáadnia a [Jogosultsági jogok] szakaszhoz, amely a hibakeresési programokhoz jogokat ad a helyi rendszergazdák számára..

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

megjegyzés. Az S-1-5-32-544 helyi rendszergazdák csoportjának SID-jét bármelyikkel helyettesítheti. A csoport vagy a felhasználónév SID-vé alakításának folyamatát a cikk Hogyan lehet megtudni a felhasználó SID-jét név szerint, és fordítva című cikk írja le.

Mentse a fájlt. Most alkalmaznia kell az új felhasználói jogokat:

secedit / configure / db secedit.sdb / cfg secpolicy.inf / felülírja / területek USER_RIGHTS

megjegyzés. Erősítse meg az aktuális beállítások felülírását.

Most el kell futtatnia a kijelentkezést / bejelentkezést, és a secpol.msc használatával győződjön meg arról, hogy a hibakeresési program jogosultságai a helyi rendszergazdák csoportjához vannak rendelve. Ugyanez a whoami / priv parancs megerősíti ezt:

A SeDebugPrivilege hibakeresési programok engedélyezve

Most elindíthatja az SQL Server telepítését / frissítéseit. Érdemes azonban szem előtt tartani, hogy a SeDebugPrivilege privilégiumot ebben az esetben csak ideiglenesen adják hozzá, és a csoportházirend legközelebbi frissítésekor (de a felhasználó kijelentkezését követően) újraindulnak..

Amint érti, a hibakeresési programok tiltó politikájának beillesztése nem csodaszer a SeDebugPrivilege jogok megszerzésére olyan rosszindulatú programok által, amelyek a kiszolgálóra már beléptek a helyi rendszergazdai jogokkal, amelyek veszélyeztethetik a kiszolgálón működő összes felhasználói / rendszergazdai fiókot..