Memperoleh Privilege SeDebugPrivilege dengan Kebijakan Program Debug Diaktifkan

Dalam artikel sebelumnya, kami berbicara tentang bagaimana salah satu teknik untuk melindungi dari penggalian kata sandi dari memori Windows menggunakan utilitas seperti mimikatz adalah untuk mencegah hak debug untuk administrator sistem dari menggunakan Kebijakan Grup Program Debug. Namun, baru-baru ini ditemukan bahwa tanpa izin debugging (pada Windows ini adalah hak istimewa SeDebugPrivilege), administrator server lokal tidak dapat menginstal atau memperbarui Microsoft SQL Server. Faktanya adalah bahwa penginstal SQL Server, pada saat startup, memeriksa hak SeSecurity. SeBackup dan SeDebug, yang ia perlukan untuk memulai proses SQL Server dan mendapatkan informasi tentang startup SQL Server yang berhasil. Ini adalah tampilannya.

Selama instalasi SQL Server, saat melakukan pemeriksaan pendahuluan, penginstal tersandung pada cek Siapkan hak istimewa akun.

Dengan mengklik tautan "Gagal", Anda dapat melihat pesan berikut:

Aturan "Siapkan hak istimewa akun" gagal.
Akun yang menjalankan SQL Server Setup tidak memiliki satu atau semua hak berikut: hak untuk mencadangkan file dan direktori, hak untuk mengelola audit dan log keamanan dan hak untuk debug program. Untuk melanjutkan, gunakan akun dengan kedua hak ini. Untuk informasi lebih lanjut, lihat https://msdn.microsoft.com/en-us/library/ms813696.aspx, https://msdn.microsoft.com/en-us/library/ms813959.aspx dan https: // msdn .microsoft.com / en-us / library / ms813847.aspx.


Sekarang buka laporan instalasi SystemConfigurationCheck_Report.htm.

Seperti yang dapat Anda lihat, penginstal, ketika memeriksa aturan HasSecurityBackupAndDebugPrivilegesCheck, menentukan bahwa proses saat ini tidak memiliki salah satu hak istimewa berikut:

  • SeSecurity - audit dan manajemen keamanan log
  • SeBackup - hak untuk membuat cadangan file dan direktori
  • SeDebug - hak untuk debug program

Ada informasi lebih rinci dalam log yang menunjukkan bahwa proses instalasi tidak memiliki flag SeDebug:

(09) 2017-09-12 14:25:13 Slp: Aturan inisialisasi: Atur hak istimewa akun
(09) 2017-09-12 14:25:13 Slp: Aturan akan dieksekusi: Benar
(09) 2017-09-12 14:25:13 Slp: Objek target aturan init: Microsoft.SqlServer.Configuration.SetupExtension.FacetPrivilegeCheck
(09) 2017-09-12 14:25:13 Slp: Rule 'HasSecurityBackupAndDebugPrivilegesCheck' Hasil: Proses yang berjalan memiliki hak istimewa SeSecurity, memiliki hak istimewa SeBackup dan tidak memiliki hak istimewa SeDebug.
(09) 2017-09-12 14:25:13 Slp: Mengevaluasi aturan: HasSecurityBackupAndDebugPrivilegesCheck
(09) 2017-09-12 14:25:13 Slp: Aturan berjalan di mesin: msk-sql10
(09) 2017-09-12 14:25:13 Slp: Evaluasi aturan dilakukan: Gagal

Saya memutuskan untuk mencari solusi untuk mendapatkan hak SeDebugPrivilege tanpa mengubah atau menonaktifkan kebijakan program Debug. Dan ternyata, ada cara yang cukup sederhana untuk menghindari kebijakan ini jika Anda memiliki hak administrator lokal di server. Utilitas secedit akan membantu kami dalam hal ini, memungkinkan Anda untuk mengelola kebijakan keamanan server lokal.

Periksa hak istimewa saat ini:

whoami / priv

Seperti yang Anda lihat, sekarang di token pengguna saat ini tidak ada hak istimewa SeDebugPrivilege .

Kami mengekspor hak pengguna saat ini yang dikonfigurasi oleh kebijakan grup ke file teks:

secedit / ekspor / cfg secpolicy.inf / area USER_RIGHTS

Sekarang, menggunakan editor tes apa pun, Anda perlu membuka file secpolicy.inf untuk mengedit dan menambahkan baris di bagian [Hak Privilege] yang memberikan hak Program Debug ke grup administrator lokal.

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

Catatan. SID dari grup administrator lokal S-1-5-32-544 dapat diganti dengan yang lain. Proses konversi nama grup atau pengguna ke SID dijelaskan dalam artikel Cara mengetahui SID pengguna dengan nama dan sebaliknya

Simpan file. Sekarang Anda perlu menerapkan hak pengguna baru:

secedit / configure / db secedit.sdb / cfg secpolicy.inf / timpa / area USER_RIGHTS

Catatan. Konfirmasikan menimpa pengaturan saat ini.

Sekarang Anda perlu menjalankan logoff / logon dan menggunakan secpol.msc memastikan bahwa hak-hak Program Debug ditugaskan ke grup administrator lokal. Perintah whoami / priv yang sama mengkonfirmasi ini:

Program Debug SeDebugPrivilege Diaktifkan

Anda sekarang dapat memulai instalasi / pembaruan SQL Server. Tetapi perlu diingat bahwa hak istimewa SeDebugPrivilege dalam kasus ini hanya diberikan sementara dan mereka akan diatur ulang saat Kebijakan Grup berikutnya diperbarui (tetapi setelah pengguna logoff).

Seperti yang Anda pahami, dimasukkannya kebijakan larangan program Debug bukan obat mujarab untuk mendapatkan hak SeDebugPrivilege oleh program jahat yang telah memasuki server dengan hak administrator lokal, yang dapat membahayakan semua akun pengguna / administrator yang bekerja di server.