Tryhackme - LazyAdmin

intro

Xin chào, Lẩu đây. Hôm nay tôi sẽ giải CTF Tryhackme - LazyAdmin. Géc gô!!!

Vẫn như thông thường thôi, việc đầu tiên cần làm là quét cổng. Tôi sẽ dùng Rustscan cho nhanh và thêm vài tùy chọn của nmap.

scan-port

Chúng ta có 2 port đang mở:

  • port 22 chạy ssh trên ubuntu server
  • port 80 với Apache httpd 2.4.18 trên ubuntu server

Với header này có vẻ như web chỉ là default page Apache. Kiểm tra source web cũng không có gì đặc biệt.

Thử dirsearch để tìm web path nào. Thằng này cú pháp đơn giản hơn gobuster vì nó có sẵn wordlist khá đầy đủ và còn được cập nhật.

dirsearch

Thử vào path và tôi có 1 site index của basic-cms sweetrice.

sweetrice

Thử tìm trên exploit-db và tôi tìm được exploit upload file: 40716. Xem qua exploit này thì tôi thấy có vài path ở đây.

path

Vậy có thể là sau /content/ vẫn còn có các path nữa.

Thử thêm 1 lần dirsearch nữa xem sao.

Và tôi có thêm các path của site sweetrice, trong đó có path /as/ dẫn đến site login và path /inc/ chứa các file hệ thống. Tôi để ý có mysql_backup ở đây. Thử tải và kiểm tra xem có user và password không nào.

user-pass

Đây rồi! Tôi có username và password với hash md5. Vào Crackstations để unhash password. Login thôi.

site

Dashboard này nhiều thứ quá, tôi nhớ ra exploit lúc nãy cần username và password để upload file. Vậy thì thử thôi upload reverse shell nào.

upload

Được rồi này. Điều lưu ý ở đây là cần phải đổi .php sang .php5, nếu để .php thì server không cho upload.

Bật netcat lên với listen port đã tạo trong shell: nc -lnvp 1234

user-flag

Config lại session với python.

python3 -c ‘import pty;pty.spawn(”/bin/bash”)’

export TERM=xterm

Ctrl+Z

stty raw -echo; fg

Tìm trong thư mục /home/ có user itguy, và tôi tìm được user flag ở đây.

Bây giờ thì thử tìm xem có thư mục nào chạy bằng quyền root không.

sudo-l

Qua GTFOBins tìm perl nào.

gtfobins

Sử dụng sudo nhưng không được vì yêu cầu pass của user web.

cannot

Tôi còn 1 file với quyền root nữa mà không cần pass là backup.pl.

backup

Xem nội dung file copy.sh thì nó là 1 reverse shell khác. Sửa file này để nó trỏ về máy local của tôi.

get-shell

Dùng netcat để get shell

rooted

Rooted.

Tìm được rồi! ftpuser:ftpuser@123


© 2024. All rights reserved.