Tryhackme - Ignite
Xin chào, Lẩu đây. Hôm nay tôi sẽ giải CTF Tryhackme - Ignite. 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 chỉ có 1 port đang mở là port 80 chạy Apache httpd 2.4.18 trên Ubuntu server.
Với http-header Fuel CMS, có nghĩa là site này dựng trên cms fuel phiên bản 1.4. Trong file robots.txt có 1 entry là /fuel. Path này sẽ điều hướng web đến trang login của fuel cms.
Tôi thử login vào site bằng username và password mặc định: admin-admin.
Site dashboard cũng không có gì đặc biệt lắm. Thực ra thì khi nhìn thấy fuel cms tôi đã nghĩ đến việc tìm exploit-db hoặc searchsploit, nhưng vì được cho login từ đầu nên bây giờ tôi mới thử.
Với 3 exploit RCE này, tôi chọn cái thứ 3 vì nó là python code và chạy trên php.
Có shell rồi này. Tôi sẽ dùng python reverse shell để trỏ về máy local. Nhưng có vẻ là không được, kể cả các shell khác.
À! Còn cách khác. Tôi sẽ upload file shell php từ máy local.
Tạo http server từ máy local.
Sau đó dùng wget để tải file từ máy local về remote server.
Bật netcat và mở file trên browser. http://MACHIEN-IP/shell.php
Truy cập user www-data và tôi có user flag.
Bây giờ đến bước leo thang đặc quyền. Tôi đã thử vài thứ đơn giản như sudo -l hay crontab đều không có kết quả gì. Vì vậy, tôi sẽ tạo http server bằng python và wget linPEAS.
Dạo quanh 1 đống vô cùng nhiều thứ này thì tôi tìm được vài thông tin trong databse fuel_schema.
Nhập thử pass này với root, xong.
Rooted!