Home Pwned 1 Writeup - VulnHub
Post
Cancel

Pwned 1 Writeup - VulnHub

Download PWNED: 1

Scanning

scan ip

Tiến hành scan tất cả ports

1
nmap 10.0.2.8 -p- -sC -A

scan ports

Có thể thấy, 3 ports dịch vụ đang mở là 21, 22 và 80.

Enumeration

Đi tới dịch vụ web, không tìm thấy thông tin gì từ đây

web

Tiến hành enumerate directories với gobuster.

1
gobuster dir -u http://10.0.2.8/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

enumerate directories

Nhìn cái tên thôi cũng thấy /hidden_text có vẻ thú vị hơn mấy cái kia. Nhưng ở bất kì trường hợp nào, manh mối cũng đều có thể xuất hiện nên chúng ta không nên bỏ xót.

secret dictionary

Check /hidden_text thấy có chứa 1 file secret.dic. Nội dung file này là 1 list các sub-directory. Khả năng 1 hoặc 1 vài trong số này có thể truy cập được. Lưu dic này và bruteforce để tìm ra đường dẫn hợp lệ.

pwned.vuln

Trong số này thì duy nhất pwned.vuln có status 200.

Exploitation

pwned.vuln

Response trả về trong source có xuất hiện đoạn comment code php do dev sơ suất để lại. Hơn nữa, đoạn comment này đã leak tài khoản của 1 dịch vụ nào đó, check username và password cộng với việc port 21 mở ta có thể suy ra đây là user của ftp service.

login ftp

Login thành công. Get 2 file trong folder share về và đọc chúng

clues

1 file có chứa private key để login SSH nhưng chứa 1 số kí tự gây nhiễu, file còn lại tưởng vô nghĩa nhưng thực chất có chứa thông tin user. Có thể thu thập được username của SSH service từ đây đó là cmc. Sửa lại file private key và dùng dữ kiện tìm được để login SSH.

login ssh

user flag

Pwned cmc và capture cmc’s flag thành công!

Privilege Escalation

Kiểm tra quyền của user cmc

cmc privilege

Có thể thấy, cmc có quyền thực thi file script /home/messenger.sh với tư cách là user hoangmongto. Vậy điều cần làm tiếp theo là chiếm quyền của hoangmongto và còn 1 user flag nằm ở home directory của user này.

messenger.sh

hoangmongto

Phân tích một chút về file script này, có 1 biến msg được nhập từ input, sau đó được chạy như 1 câu lệnh. Ngoài ra, các lỗi sẽ được chuyển hướng sang /dev/null => Từ đó, ta có thể chèn 1 shell nhờ /bin/bash.

1
sudo -u hoangmongto /home/messenger.sh

user flag-2

Spawn TTY shell và lấy được user flag thứ 2!

root

id hoangmongto

Như chúng ta có thể thấy, hoangmongto thuộc group docker. May mắn thay, ta có thể leo lên root nhờ đó, đọc thêm tại đây.

1
docker run -v /:/mnt --rm -it alpine chroot /mnt sh

Payload từ GTFOBins

root flag

This post is licensed under CC BY 4.0 by the author.

The Planets: Earth Writeup - VulnHub

Healthcare Writeup - VulnHub