Retas.io Zombie VM Write-up
Retas.io merupakan sebuah perusahaan dari PT. Solusi Siber Teknologi yang menawarkan berbagai produk berupa jasa keamanan mulai dari Vulnerability Assesment, Penetration Testing hingga kebutuhan khusus lainnya yang berkaitan dengan IT dan keamanannya.
Baru-baru ini retas.io meluncurkan sebuah produk baru berupa labs yang berguna untuk membantu para player baru yang terjun ke dunia Infosec, labs ini sendiri mirip-mirip hackthebox, dengan menggunakan vpn kita diharuskan menyelesaikan tantangan yang diberikan dengan pengetahuan dan kemampuan IT para player, tidak hanya itu mereka juga akan merilis kampus retas yang bertujuan memberikan pendidikan / pelatihan untuk terjun di dunia Infosec, namun pada saat tulisan ini dibuat fitur tersebut masih dalam proses pengerjaan, langsung saja berikut adalah write-up dari Challenges VM Zombie yang ada pada labs retas.io.
Berawal dari gabut yang melanda ketika #stayathome saya memutuskan untuk berjelajah di internet, membuka salah satu social media yang berisi konten pamer, namun pada saat melakukan scrolling terdapat informasi tentang labs ini dan pada waktu itu labs telah dibuka dan langsung saja kita buat akun vpn dan starting our machine.
Reconnaisance
Melakukan nmap pada IP VM Zombie di 10.10.10.2 dan didapatkan informasi berupa port 80 dengan service nginx (web service) serta port 22 ssh
Setelah mendapatkan informasi di atas, kita buka port 80 ternyata ada “zombie” dan ketika dibuka tidak ada informasi yang cukup menarik.
Kita lakukan dirserach untuk mencari file-file yang kemungkinan tersimpan pada server.
Namun hasil dari dirsearch tidak ada file menarik lainnya yang ditemukan, lalu kembali lagi pada halaman index, kita inspect element
ternyata ada informasi untuk developer jika mereka lupa user login maka disuruh check file utekludimana.txt kita coba akses file tersebut
hanya berisikan teks zombie
sampai sini saya sudah mulai stuck dan bingung mau ngapain lagi, disini kita dapat informasi berupa nama username dengan zombie tanpa diketahui passwordnya serta tidak ada webapp yang ditemukan, teringat kembali terhadap hasil scan port awal tadi, kita coba untuk melakukan bruteforce login ssh dengan username zombie dan passlist kesukaan yaitu rockyou.txt disini kita akan menggunakan hydra untuk tools bruteforce loginnya.
dan didapatkan password berupa mickey.
Gainning Access
Setelah mendapatkan informasi login ssh user zombie dengan password mickey kita login ke server melalui protokol ssh.
Disini kita sudah mendapatkan low privileges user serta dapat membuka file user.txt atau file flag user.
Untuk mendapatkan root user langsung kita upload lse.sh untuk membantu melakukan enumerasi privileges escalation dan kita mendapatkan informasi jika user zombie ini masuk ke dalam group lxd dengan kata lain user zombie dapat menjalankan command lxd dengan bantuan internet kita mencari informasi mengenai informasi privileges escalation dengan lxd dan terdapat banyak artikel yang membahasnnya
Berikut adalah artikel yang saya gunakan sebagai referensi terhadap privileges escalation pada machine ini.
Privileges Escalation to root
melakukan lxd init untuk memastikan lxd udah diinisiasi
karena server zombie berada di safe enviorment dan tidak mendapatkan koneksi internet maka dari itu kita membuild image lxd alpine di localmachine kita
git clone https://github.com/saghul/lxd-alpine-builder.git
cd lxd-alpine-builder
./build-alpine
Kita check apakah build sudah berhasil atau tidak, terdapat file tar.gz yang menunjukan bahwa file tersebut merupakan file hasil build tadi dengan kata lain sukses build.
Lalu kita transfer ke machine zombie, bisa dengan scp ataupun wget dengan cara membuka http.server
Melakukan import image yang telah didownload sebelumnya.
lxc image import ./apline-v3.10-x86_64-20191008_1227.tar.gz --alias myimage
lxc image list
Get root and root flag
lxc init myimage ignite -c security.privileged=true
lxc config device add ignite mydevice disk source=/ path=/mnt/root recursive=true
lxc start ignite
lxc exec ignite /bin/sh
id