TDCTF Academy Logo TDCTF ACADEMY

Privilege Management

Pendahuluan

Privilege management mengatur hak istimewa yang dimiliki pengguna dan proses dalam sistem operasi. Manajemen privilege yang buruk adalah penyebab utama kebocoran keamanan - baik karena pengguna mendapatkan akses berlebihan maupun karena penyerang berhasil melakukan privilege escalation.

Sudo Configuration

/etc/sudoers

File /etc/sudoers adalah konfigurasi utama untuk sudo di Linux. File ini harus selalu diedit menggunakan perintah visudo yang melakukan validasi sintaks sebelum menyimpan, mencegah konfigurasi rusak yang dapat mengunci akses administratif.

Format dasar:

user hostname=(runas:group) commands

Contoh:

# User dapat menjalankan semua perintah sebagai root
budi ALL=(ALL:ALL) ALL

# User hanya dapat menjalankan perintah tertentu
sari ALL=(ALL) /usr/bin/systemctl, /usr/bin/journalctl

# Grup admin dapat menjalankan semua tanpa password
%admin ALL=(ALL) NOPASSWD: ALL

/etc/sudoers.d/

Direktori /etc/sudoers.d/ memungkinkan konfigurasi sudo modular. Setiap file di direktori ini secara otomatis di-include oleh sudoers utama. Berguna untuk:

  • Memberikan akses ke aplikasi tertentu (misal: /etc/sudoers.d/database).
  • Konfigurasi per role atau per tim.
  • Memudahkan otomatisasi dengan tools konfigurasi manajemen.

Privilege Escalation Prevention

Mencegah privilege escalation adalah prioritas utama:

  1. Batasi akses sudo - berikan perintah spesifik, bukan ALL.
  2. Hapus SUID/SGID yang tidak perlu - gunakan find / -perm /4000.
  3. Konfigurasi secure_path di sudoers - mencegah path hijacking.
  4. Gunakan noexec pada /tmp dan /home - mencegah eksekusi binary di direktori writable.
  5. Aktifkan SELinux/AppArmor - memberikan lapisan keamanan tambahan.
  6. Batasi ptrace - melalui kernel.yama.ptrace_scope=1.
  7. Pantau log sudo - di /var/log/auth.log.

User Groups vs Sudo

Memberikan akses administratif dapat dilakukan melalui dua pendekatan:

Pendekatan Keuntungan Kerugian
Group (wheel/sudo) Sederhana, semua anggota grup setara Tidak ada audit trail perintah
Sudo rules spesifik Audit trail, kontrol granular, dapat batasi perintah Konfigurasi lebih kompleks

Rekomendasi: gunakan sudo rules spesifik daripada sekadar menambah user ke grup sudo/wheel.

Linux Capabilities vs Full Root

Linux capabilities memungkinkan pemberian hak istimewa spesifik tanpa memberikan akses root penuh:

# Memberikan kemampuan bind ke port rendah (tanpa root)
setcap cap_net_bind_service=+ep /usr/bin/myapp

# Melihat capabilities file
getcap /usr/bin/myapp

Namun, capabilities bukan pengganti penuh untuk root - beberapa operasi tetap membutuhkan root penuh (misal: mount filesystem, load kernel module).

Windows UAC

User Account Control (UAC) di Windows adalah mekanisme yang memisahkan hak standar dari hak administratif:

  • User standar - menjalankan aplikasi dengan hak terbatas.
  • Administrator - mendapatkan dua token: filter token (standar) dan full token (admin).
  • Saat aksi administratif diperlukan, UAC meminta persetujuan (Consent Prompt) di Secure Desktop.

UAC efektif mencegah malware yang berjalan sebagai user standar untuk mengubah pengaturan sistem, namun tidak melindungi dari admin yang ceroboh.

Runas

Perintah runas di Windows memungkinkan menjalankan program dengan kredensial berbeda:

runas /user:domain\admin "cmd.exe"

Praktik keamanan:

  • Gunakan runas hanya untuk tugas spesifik, bukan untuk sesi penuh.
  • Pertimbangkan RunAsUser di PowerShell (Invoke-Command) untuk konteks yang lebih aman.
  • Kombinasikan dengan Group Policy untuk membatasi penggunaan runas.

Local Privilege Escalation (LPE)

LPE adalah teknik yang digunakan penyerang untuk meningkatkan hak akses dari user terbatas menjadi lebih tinggi (biasanya root/system).

Common Vectors

SUID/SGID Binary

Binary dengan SUID bit dijalankan dengan hak pemiliknya (biasanya root). Eksploitasi:

  • Vulnerable SUID binary - binary SUID yang memiliki bug (buffer overflow, path injection, race condition).
  • SUID shell script - lebih berbahaya karena rentan terhadap SHELL variable manipulation.
  • Custom SUID binary - binary SUID yang dibuat dengan konfigurasi tidak aman.

Mitigasi: temukan SUID binary dengan find / -perm -4000 dan audit secara berkala.

Token Manipulation

Di Windows, penyerang dapat mencuri atau memanipulasi access token:

  • Token stealing - mencuri token proses yang memiliki hak lebih tinggi.
  • Token duplication - menduplikasi token untuk membuat proses baru dengan hak yang sama.
  • Incognito toolkit - tools untuk token manipulation di Meterpreter.

Mitigasi: batasi SeDebugPrivilege, gunakan Protected Processes, dan pantau event ID 4672 (Special Logon).

Kernel Exploit

Eksploitasi kerentanan di kernel untuk mendapatkan akses root. Vektor umum:

  • Dirty Pipe (CVE-2022-0847) - overwrite file read-only di kernel Linux.
  • Dirty Cow (CVE-2016-5195) - race condition di COW (Copy-on-Write) kernel.
  • EternalBlue (MS17-010) - SMB vulnerability di Windows.

Mitigasi: patch kernel secara rutin, aktifkan KPTI (Kernel Page Table Isolation).

Service Misconfiguration

Kesalahan konfigurasi layanan yang dapat dieksploitasi:

  • Unquoted service path - Windows menjalankan path dengan spasi tanpa tanda kutip.
  • Weak service permission - user biasa dapat mengubah konfigurasi layanan.
  • Binary hijacking - mengganti binary layanan yang writable.
  • DLL hijacking - menyusupkan DLL jahat ke direktori yang dicari oleh layanan.

Other LPE Vectors

  • Cron jobs - task terjadwal yang writable oleh user biasa.
  • LD_PRELOAD - memuat shared library jahat (jika sudo memiliki env_keep).
  • Capabilities exploit - binary dengan capabilities yang dapat dieksploitasi.
  • Named pipe impersonation - di Windows, meniru pengguna yang terhubung ke pipe.
  • AlwaysInstallElevated - registry MSI yang mengizinkan install sebagai SYSTEM.

Kesimpulan

Privilege management adalah area keamanan yang paling sering menjadi titik masuk penyerang. Konfigurasi sudo yang baik, pemahaman tentang capabilities, penghapusan SUID yang tidak perlu, dan mitigasi LPE adalah keterampilan esensial. Prinsip paling penting: berikan hak seminimal mungkin, audit secara berkala, dan selalu patch sistem.

PADA HALAMAN INI