DEV Community

Cover image for mKingdom Tryhackme Writeup
Thanh Thien
Thanh Thien

Posted on

mKingdom Tryhackme Writeup

Chào các bạn hôm nay mình sẽ làm bài lab trên tryhackme tên là "mKingdom" !!! :)

1. Đầu tiên, Bước 1: Rà quét hệ thống xem có dịch vụ gì đang hoạt động thu thập toàn bộ thông tin có thể lấy được
(1) Sử dụng công cụ nmap để quét dịch vụ

┌──(root㉿kali)-[~]
└─# nmap -sV -sC 10.10.115.99
Enter fullscreen mode Exit fullscreen mode

Image description

Ở đây, chỉ thấy mỗi cổng dịch vụ web chạy trên cổng 85, ngoài ra không còn cỏng nào khác. Tiếp tục tiến hành khai thác trên dịch vụ web xem có gì không

Image description

Nhìn thấy một giao diện website giống như bị hack, một mặt quỷ với ký tự Bwa, ha, ha.... (tiếng Anh) 💀
2. Bước 2: Sử dụng công cụ rà quét các đường dẫn thư mục web tìm thêm dữ kiện khai thác

┌──(root㉿kali)-[~]
└─# dirb http://10.10.115.99:85
Enter fullscreen mode Exit fullscreen mode

Image description

Mình thấy một đường dẫn /app, mình truy cập vào để xem trên website có thông tin gì

Image description
Thấy có một nút JUMP mình bấm vào đó truy cập xem có thông gì, xuất hiện một cảnh báo mình tiếp tục truy cập

Image description

Một website toàn nấm, nói về các loại nấm, nền tảng website concrete5 CMS. Mình cùng xem trong nội dung này có tìm được thông tin gì về mã nguồn nền tảng CMS này không
Thật bất ngờ tại giao diện Blog bài viết Hello World khi mình kiểm tra mã nguồn backend (bấm phím F12) đã phát hiện phiên bản CMS là concrete5 - 8.5.2

Image description

Image description

Sau đó mình thử tìm lỗ hổng liên quan đến _phiên bản concrete5 - 8.5.2 _ và phát hiện lỗ hổng RCE (https://vulners.com/hackerone/H1:768322)

Image description
Đây là một lỗ hổng khai thác bằng hình thức upload file định dạng PHP và kết nối về máy hacker
Trước mắt phải truy cập được vào trang quản trị hệ thống CMS, đầu tiên mình xác định với nền tảng CMS này có 2 tài khoản mặc định là admin:admin **hoặc **admin:password
Mình thử thành công tài khoản admin:password và truy cập được vào hệ thống

Image description

Image description

Tại giao diện web truy cập vào System & Settings > Allowed File Type để kiểm tra định dạng tệp có thể đẩy lên hệ thống CMS
Image description
Tại đây, mình bổ sung thêm định dạng php để được quyền upload lên hệ thống

Image description

Sau đó mình sẽ tìm file php-revese-shell, tải về và thay thế IP bằng máy hacker

Đường dẫn upload file: http://ip_victim:85/app/castle/index.php/dashboard/files/search

Sau đó sẽ hiển thị đường dẫn kết nối

Image description

3. Bước 3: Thiết lập kết nối truy cập hệ thống từ xa
Tại máy hacker, mình chạy lệnh netcat lắng nghe kết nối từ xa:

nc -lvnp 9001

Enter fullscreen mode Exit fullscreen mode

Image description
Kết nối thành công user www-data

4. Bước 4: Khai thác
Chạy một số lệnh để có quyền như SSH:

python3 -c 'import pty; pty.spawn("/bin/bash")'
export TERM=xterm
CTRL+Z
stty raw -echo && fg
Enter fullscreen mode Exit fullscreen mode

Sau đó tiến hành kiểm tra xem nội bộ hệ thống chạy những cổng dịch vụ nào và xem chúng ta có thể thu thập thêm thông tin gì hay không ?
Image description
Thấy nó chạy cổng dịch vụ mysql, mình sẽ tìm file cấu hình mysql biết đâu có thông tin hữu ích.
Truy cập đường dẫn: /var/www/html/app/castle/application/config phát hiện tệp tin cấu hình database.php, mình mở lên và thu được thông tin user toad, mật khẩu là toadisthebest

Image description

Mình chuyển quyền lên user toad để khai thác sử dụng lệnh su toad và mật khẩu ở trên

Image description

Tại đây thấy têp tin smb.txt mở lên đọc cũng không thu được thông tin gì cả
Mình kiểm tra ngoài user toad còn user khác là mario

Image description
Tiến hành mình tìm thử các thư mục khác xem có mật khẩu không, kết quả không có gì cả, mình kiểm tra biến môi trường bằng lệnh env
Thấy một giá trị PWD_token mã hóa base64 mình sẽ thử giải mã

Image description

Sử dụng lệnh trên kali để giải mã
Image description

Sau khi thu được một đoạn mã mình thử đăng nhập mario với mã đó và thành công đăng nhập. Mình thấy file user.txt và sẽ đọc nó

Image description

more user.txt
Enter fullscreen mode Exit fullscreen mode

Image description

Thực hiện upload một file pspy64 để kiểm tra quyền file trên hệ thống thực hiện có thể leo thang đặc quyền root

Image description
Sau khi chạy phát hiện nó gọi đến url bằng user root để tải file có tên counter.sh

Image description

Từ đó mình sẽ tạo ra một đường dẫn website đó trên máy hacker để máy victim gọi vào và rồi kết quả mình sẽ leo thang root và có cờ cuối cùng

Image description

Top comments (0)