[VulnHub] Mission-Pumpkin: Pumpkin Garden

Aldo Dimas Anugrah
Nov 3 · 6 min read

Jadi pada kesempatan kali ini saya akan membuat sebuah writeup challenge Vulnhub yaitu Mission-Pumpkin v1.0: PumpkinGarden, Challenge ini diatur sedemikian rupa oleh sang author Jayanth agar dapat dipahami oleh pemula yang ingin belajar tentang cara meretas sebuah mesin atau memahami lebih dalam dunia peretasan, bagi yang belum tau Vulnhub adalah tempat para peneliti keamanan dapat bermain dengan Mesin yang sudah dirancang sebelumnya agar dapat diretas secara legal dan aman.

Deskripsi

Mission-Pumpkin v1.0 is a beginner level CTF series, created by keeping beginners in mind. This CTF series is for people who have basic knowledge of hacking tools and techniques but struggling to apply known tools. I believe that machines in this series will encourage beginners to learn the concepts by solving problems. PumpkinGarden is Level 1 of series of 3 machines under Mission-Pumpkin v1.0. The end goal of this CTF is to gain access to PumpkinGarden_key file stored in the root account.

Memindai

Pada langkah ini saya melakukan pemindaian pada Mesin Virtual yang sudah saya install sebelumnya (Jika tidak maka klik disini), biasanya saya menggunakan awal perintah netdiscover untuk memindai IP berapa saja yang terhubung dalam 1 jaringan tapi pada Mesin Virtual ini ketika dijalankan maka akan langsung diberikan IP yang dipakai oleh mesin virtual tersebut.

Tampilan saat challenge dijalankan

Masih dalam tahap pemindaian, disini saya melakukan port scanning pada IP yang didapatkan untuk mengetahui port apa saja yang berjalan dan layanan apa yang berjalan pada port yang terbuka di mesin virtual menggunakan nmap

nmap -sV -A -p- xxx.xxx.xx.x

Penjelasan :

  • -sV digunakan untuk menentukan layanan dan versi yang digunakan pada port tersebut
  • -A digunakan untuk memindai segalanya
  • -p- digunakan untuk memindai port dari 0 sampai 65535
  • xxx.xxx.xx.x ip yang digunakan pada mesin virtual

> nmap -sV -A -p- 192.168.18.67
Starting Nmap 7.80 (
https://nmap.org ) at 2019–11–03 12:39 WIB
Nmap scan report for 192.168.18.67
Host is up (0.0055s latency).
Not shown: 65532 closed ports
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.0.8 or later
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_-rw-r — r — 1 0 0 88 Jun 13 00:02 note.txt
| ftp-syst:
| STAT:
| FTP server status:
| Connected to 192.168.18.9
| Logged in as ftp
| TYPE: ASCII
| No session bandwidth limit
| Session timeout in seconds is 300
| Control connection is plain text
| Data connections will be plain text
| At session startup, client count was 1
| vsFTPd 3.0.2 — secure, fast, stable
|_End of status
1515/tcp open http Apache httpd 2.4.7 ((Ubuntu))
|_http-server-header: Apache/2.4.7 (Ubuntu)
|_http-title: Mission-Pumpkin
3535/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.13 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 1024 d8:8d:e7:48:3a:3c:91:0e:3f:43:ea:a3:05:d8:89:e2 (DSA)
| 2048 f0:41:8f:e0:40:e3:c0:3a:1f:4d:4f:93:e6:63:24:9e (RSA)
| 256 fa:87:57:1b:a2:ba:92:76:0c:e7:85:e7:f5:3d:54:b1 (ECDSA)
|_ 256 fa:e8:42:5a:88:91:b4:4b:eb:e4:c3:74:2e:23:a5:45 (ED25519)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 18.37 seconds

Dapat dilihat hasilnya bahwa mesin ini mempunyai 3 port yang terbuka dan versi pada layanan yang digunakan.

Mendapatkan Akses

Saya mencoba untuk melakukan login pada port 21 yaitu ftp menggunakan kredensial anonymous:anonymous yang dimana akun ini berjalan hanya sebagai guest tapi bisa melakukan pembacaan data.

Note :

Pada keadaan default ftp mengizinkan untuk login menggunakan akun anonymous tapi itu bisa dinon-aktifkan.

Hasil login ftp dengan akun anonymous

Hasilnya ketika melakukan perintah ls itu menunjukan bahwa ada file note.txt dan lakukan perintah get note.txt untuk memindahkan dari ftp ke penyimpanan lokal.

Hello Dear!
Looking for route map to PumpkinGarden? I think jack can help you find it.

Diatas adalah isi dari file note.txt yang didapatkan dari ftp, sepertinya tidak petunjuk yang dapat memberitahu langkah selanjutnya, mari kita coba untuk menjelajahi lebih dalam dengan mencoba port yang lain yaitu HTTP 1515.

Menjelajahi port 1515

Booommmm! disini terdapat tampilan website yang sangat unyuuu:( dan serangkaian text yang mungkin merupakan sebuah clue tambahan tapi tidak terlihat seperti clue tambahan:( oke mari kita lihat pada bagian source html.

Source HTML

Disana terdapat komentar html yang isinya menunjukan clue tambahan yang merujuk ke path img pada website tersebut, oke mari kita akses path tersebut http://xxx.xxx.xx.x/img/

Missconfiguration Directory Listing

Yappppp ketika mengakses path img ditemukan Missconfiguration Directory Listing yang dimana kita bisa melihat lihat isi dari path tersebut dan bisa menjelajahi dari path satu ke path yang lainnya, dan disini saya mengakses path hidden_secret dan ketika mengakses path tersebut didapati file text yang isinya Base64 Encode (Darimana tau kalau itu base64? karena saya sering bermain ctf dan ketika melihat seperti itu saya tidak asing lagi dengan string acak begitu tapi terkadang tidak semua string acak itu base64)

String Base64

Disini saya langsung men-decodenya menggunakan perintah

echo “c2NhcmVjcm93IDogNVFuQCR5” | base64 -d

Didapati hasilnya scarecrow : 5Qn@$y ini bisa dipakai untuk login kedalam sistem dan disini saya akan login menggunakan ssh

ssh scarecrow@xxx.xxx.xx.x -p 3535

Tarrraaaa! sekarang kita sudah masuk kedalam sistem Pumpkin dan disini tujuannya adalah untuk mendapatkan hak akses root dan membaca sebuah text pada /root, disini saya menjalankan beberapa perintah sebagai berikut

isi file note.txt

Ada sebuah file yang memberikan informasi bahwa keys ada pada user root dan kita diharuskan mengganti user ke goblin menggunakan kata sandi yang diberi tanda kutip dan ketika menganalisa file /etc/passwd ternyata benar saja bahwa ada user bernama goblin.

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
libuuid:x:100:101::/var/lib/libuuid:
syslog:x:101:104::/home/syslog:/bin/false
messagebus:x:102:105::/var/run/dbus:/bin/false
mysql:x:103:107:MySQL Server,,,:/nonexistent:/bin/false
sshd:x:104:65534::/var/run/sshd:/usr/sbin/nologin
jack:x:1000:1000:jack,,,:/home/jack:/bin/bash
scarecrow:x:1001:1001:Scarecrow,,,:/home/scarecrow:/bin/bash
goblin:x:1002:1002:Goblin,,,:/home/goblin:/bin/bash
ftp:x:105:113:ftp daemon,,,:/srv/ftp:/bin/false

Ganti user dari scarecow ke goblin

  • perintah su digunakan untuk mengganti user pada sistem
  • tanda (-) digunakan untuk menggunakan enviroment home pada user yang diganti (/home/xxxx)
isi file dari note

Dinote kita diberi link yang isinya exploit digunakan untuk mendapatkan hak akses root (Pada saat ini ketika saya mengakses link tersebut, website tersebut tidak dapat diakses jadi saya mencari refrensi lainnya ditemukan di exploit-db)

Langsung saja saya mendownload exploit dan menjalankannya didapati langsung hak akses ROOT!

Sekarang kita membaca file yang ada di path /root

Got the flag!

Kesimpulannya

Disini saya mendapatkan sedikit ilmu tambahan yaitu ketika menginstall sebuah layanan pada sistem maka lebih baik untuk dikonfigurasi terlebih dahulu di sisi keamanan dikarenakan dapat membahayakan sistem itu sendiri jika konfigurasinya layanannya dibiarkan default. :)

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade