Skip to main content

Privilege Escalation nebula 00 (ᵔᴥᵔ) (day 35)



Image result for you shall not root meme"

Disclaimer: semua materi yang ditaruh di blog ini hanya untuk pendidikan dan riset. Jangan gunakan teknik yang sudah diajarkan ke sistem yang teman-teman bukan punya karena dapat berpotensi untuk merusak nya. Be smart ! and beware of the law !

Kita sering dengar dengan istilah tentang "privilege escalation" dalam proses penetration testing walaupun menurut saya proses ini sendiri cukup penting tetapi banyak temen-temen yang saya temui kadang-kadang sering kesusahan untuk melakukan teknik ini, karena ga tau harus ngapain. Oleh karena itu dalam kesempatan ini saya akan membahas beberapa teknik untuk melakukan "privilege escalation"

semoga apa yang diberikan di blog ini dapat membantu, mungkin dalam project atau ada yang lagi ikut oscp atau lagi main HTB (hack the box). Tapi pertama mari kita bahas beberapa teori sedikit yah !




Image result for what meme"

 
Apa itu "privilege escalation" ?

"Privilege escalation" merupakan sebuah proses eksploitasi dalam operating system atau software yang bertujuan untuk mendapatkan akses yang lebih tinggi dari sebelumnya atau akses "admin" (di windows user paling tinggi hak nya adalah admin sedangkan di linux adalah "root")

Apakah perlu melakukan "privilege escalation"  dalam proses penetration testing ?

menurut saya itu tergantung dengan permintaan klien, biasanya kalau untuk pentesting kebanyakan klien hanya minta untuk sampai level eksploitasi dengan user yang memiliki hak yang paling rendah karena takutnya bisa mempengaruhi kerja internal. (ini hanya berdasarkan pengalaman saya)

untuk melakukan demonstrasi saya akan memakai virtual machine "nebula" dari https://exploit-exercises.lains.space/ 

saya akan memainkan virtual machine ini sampai selesai agar bisa membahas semua teknik yang ada

Cara setup mesinnya gimana ? 

pertama-tama anda harus download file .iso yang sudah ditaruh didalam website nya dan setelah selesai download anda harus membuat virtual machine itu .iso nya (dalam penjelasan ini saya memakai virtualbox untuk membuat vm nya)








saya memakai pengaturan OS nya seperti diatas, klik next saja terus sampai selesai



kalau sudah selesai nanti bakal ada file baru yang tertera di virtualbox anda jalankan dan buka file .iso yang anda sudah download.


Cara memainkan vm nya bagaimana ?

vm nebula ini dibagi menjadi 19 level, masing-masing level memiliki tugas yang berbeda-beda dan tiap level punya user yang berbeda-beda juga

contoh untuk masuk ke level00, kamu tinggal pakai username level00 dan password level00



oke kita langsung memainkan level00:

di level00 ini anda disuruh untuk mencari sebuah file yang memiliki Set User ID (SUID) 

apa itu SUID ?


nah ini merupakan konsep dari "file permission" dari linux. Kita harus memahami ini dulu sebelum membahas SUID. Linux mempunyai konfigurasi file permission seperti contoh dibawah

RWX                RWX             RWX
4    2   1         4    2   1        4    2   1
owner             group          other

singkatnya linux membagi konfigurasinya menjadi 3 bagian yaitu untuk owner (pemilik), group (user lain yang merupakan satu kelompok dari owner) dan other (user yang bukan pemilik dan satu grup dengan owner)

masing2 bagian memiliki spesifikasi apa yang bisa dilakukan di file nya

r (read)  = bisa membaca
w(write) = bisa melakukan edit dan membaca
x(execute) = bisa melakukan eksekusi

dengan menggunakan mengatur konfigurasi di atas dengan menggunakan utility chmod (merubah file permission) dan chown (merubah kepemilikan file) 

contoh:
~# chmod 755 <file.sh>

ini berarti file.sh memberikan hak penuh (4(read)+2(write)+1(execute)) ke pemilik, hak baca dan eksekusi (4(read) + 1(execute)) untuk user lain dalam satu grup dengan pemilik dan
user yang bukan pemilik dan satu grup dengan owner

SUID berguna saat pemilik file mau mewariskan hak akses ke user lain dalam sistem tapi hanya untuk watu tertentu saja


Image result for suid files linux"


jadi dengan menaruh SUID di sebuah file user lain mendapatkan hak akses dari pemilik program saat menjalakannya

 
Apa hubungannya SUID dengan privilege escalation ?

SUID bisa sangat berbahaya karena pemilik program memberikan hak ases dia saat user lain menjalankan programmnya jadi jika programnya memilik bug seperti buffer overflow yang membuat user dapat mengubah jalur eksekusi program dia akan mendapatkan hak akses dari pemilik program itu.

Image result for lets do this meme"

Cara menyelesaikan level00 ?


anda dapat mencari file SUID dengan mengecek satu persatu direktori di linux dan mencocokan file mana yang mempunyai permission seperti ini "rws" di file nya

tapi cara ini sangat menguras waktu dan pasti membuat anda kecapean

cara yang paling cepat adalah memakai utility "find"


~# find / -perm -u=s 2> /dev/null



/ pencarian dimulai dari direktori "/" yang berarti adalah root direktori

-perm -u = s artinya tolong cari semua file yang ada permission SUID

2> /dev/null artinya semua error tolong diarahkan ke /dev/null agar hilang karena kalau kita ga pakai tambahan perintah diatas akan banyak warning "permission denied" yang membuat susah pencarian




sesudah menjalankan perintah diatas kita dapat lihat ada file namanya flag00 dan sesudah kita menjalankan ini kita mendapatkan hak akses dari "flag00" dan bisa memberikan "flag" nya




sekian blog ini, semoga dapat memberi pencerahan untuk teman-teman

referensi:

https://docs.oracle.com/cd/E19683-01/816-4883/6mb2joatb/index.html
https://www.linuxnix.com/suid-set-suid-linuxunix/

Comments

Popular posts from this blog

Having fun analyzing nginx log to find malicious attacker in the net (ง'̀-'́)ง (day 37)

  What makes you sleepless at night? is it because of a ghost or scary stories? is it because you have an important meeting tomorrow? or is it because you have an exam? For me, what keeps me up all night is that I keep thinking about what happens to a website that I just created, is it safe from an attacker (certainly not) or did I missing some security adjustments that lead to vulnerability? well I'm not the best secure programmer in the world, I'm still learning and there is a big possibility that I can make a mistake but for me, a mistake can be a valuable investment to myself or yourself to be better so from this idea, I want to know more about what attackers casually do when attacking a website. Here in this post, I'm going to show you how I analyzed attack to the website that I have permission to design and also some interesting findings that I could get from the analysis Background: All of this analysis comes from the traffic that is targeted to th

Utilize Pwntools for crafting ROP chain :') (day 69)

who doesn't like pwntools? it is a very versatile tool and can be customized according to our need using the python script but did you need to know that pwntools itself can help us to automatically craft a rop chain for us? so in this post, I will show you how to make rop chain less painful and make pwntools do all the heavy lifting. To demonstrate this I will use the binary challenge callme 64 bit from ropemporium link: https://ropemporium.com/challenge/callme.html Crashing the app: Like any other exploitation process, we need to crash the program by generating a long string pattern to determine the offset. based on the information from the above figure we can see that we required to provide 40 bytes of offset Fun stuff: now this where the fun stuff began write the following python script: as in the guideline of the challenged said we need to chain the function call by first to call the callme_one function, callme_two function and then callme_three funct

WriteUp PWN tarzan ROP UNICTF ಠ_ಠ (day 61)

So in this post, I'm going to talk about how to solve the Tarzan pwn challenge from UNICTF 2019. Back in the day when the competition is still going I couldn't finish it and don't have any clue to solve this but this time I was able to finish it :) Also in this post, we will be going to be heavily focused on how to utilize pwntools to construct a ROP chain. If you kinda confused about my explanation in this post you can refer to this following youtube video, link: https://www.youtube.com/watch?v=gWU2yOu0COk I build the python script based on this video Ok, let's get started! In this challenge, you will get two binary first go with tarzan and libc-2.29.so by providing .so file it tell us what version library that the target machine is using this could help us to do ROP chain. first, we run the Tarzan binary to get the basic idea of the program work and as you can see it just show you some text, newline and when you try to input something it doesn't gi