Dự án AdminPBuster là một công cụ đơn giản nhưng hữu ích, được phát triển bằng Python nhằm mục đích hỗ trợ pentester và hacker mũ trắng trong việc tìm kiếm các trang quản trị (admin panels) được ẩn trong các trang web. Dựa trên phương pháp brute-force với từ điển URL, AdminPBuster giúp tự động hóa việc phát hiện các endpoint tiềm năng có thể bị bảo mật yếu hoặc lộ.
1. Tổng quan về dự án
AdminPBuster là một công cụ dòng lệnh dùng để kiểm tra các URL phổ biến thường được sử dụng cho các trang quản trị. Bằng cách thử nhiều đường dẫn từ một danh sách từ điển, công cụ sẽ ghi nhận các trang tồn tại (trả mã trạng thái HTTP hợp lệ như 200).
Ngôn ngữ chính: Python 3
Thư viện được sử dụng: requests
2. Cách cài đặt và sử dụng
Cài đặt
Clone dự án từ GitHub:
git clone https://github.com/blackhatethicalhacking/AdminPBuster.git
cd AdminPBuster
Chạy bằng lệnh:
python3 AdminPBuster.py
Giao diện đầu vào
Khi chạy, công cụ yêu cầu người dùng nhập:
- URL của website cần kiểm tra.
- Tên file từ điển (dictionary file).
Ví dụ:
Enter Target URL: https://example.com
Enter Wordlist: wordlist.txt
3. Cách hoạt động
AdminPBuster hoạt động theo các bước sau:
- Mở tệp từ điển được chỉ định (ví dụ:
wordlist.txt). - Lặp qua từng dòng (tức là từng endpoint cần kiểm tra).
- Gửi yêu cầu HTTP GET đến URL mục tiêu với phần đuôi được thêm vào.
- Kiểm tra mã trạng thái HTTP trả về. Nếu khác 404, in ra kết quả là “Found”.
Ví dụ mã:
url = input("Enter Target URL: ")
file = input("Enter Wordlist: ")
...
r = requests.get(f"{url}/{line}")
if r.status_code != 404:
print(f"[+] Found: {url}/{line}")
4. Phân tích mã nguồn
Dưới đây là các thành phần quan trọng của mã:
requests.get: Thực hiện gửi HTTP request.status_code != 404: Chỉ ghi nhận các trang không trả về lỗi “Not Found”.- Xử lý dòng từ file từ điển: Sử dụng
.strip()để loại bỏ ký tự thừa như.
Toàn bộ đoạn code chính như sau:
import requests
url = input("Enter Target URL: ")
file = input("Enter Wordlist: ")
with open(file, "r") as f:
for line in f:
line = line.strip()
r = requests.get(f"{url}/{line}")
if r.status_code != 404:
print(f"[+] Found: {url}/{line}")
5. Ưu điểm và nhược điểm
Ưu điểm
- Đơn giản, dễ sử dụng: Không yêu cầu cài đặt thư viện ngoài (ngoài
requests). - Hiệu quả với các site cấu hình sai: Có thể phát hiện các trang quản trị để lộ.
- Tùy biến dễ dàng: Có thể thay đổi wordlist tùy theo mục tiêu.
Nhược điểm
- Không xử lý redirect hay CAPTCHA: Gặp khó khăn với các site có cơ chế bảo vệ.
- Không hỗ trợ đa luồng: Có thể chậm khi từ điển dài.
- Không phân tích HTML/JS để đoán URL động: Chỉ brute-force đơn giản.
6. Ứng dụng thực tế
- Pentest website để kiểm tra xem có trang quản trị nào bị để lộ hay không.
- Kiểm tra bảo mật nội bộ trong các tổ chức, tránh trường hợp URL admin được truy cập công khai.
- Kết hợp với tools như Burp Suite để đánh giá sâu hơn.
7. Kết luận
AdminPBuster là một ví dụ điển hình cho công cụ pentest nhỏ gọn, hoạt động dựa trên từ điển để xác định các trang admin bị ẩn. Dù đơn giản nhưng công cụ rất phù hợp để sử dụng trong các bước trinh sát (reconnaissance) và kiểm tra bảo mật ban đầu. Tuy nhiên, để hiệu quả hơn, người dùng nên bổ sung thêm tính năng, tối ưu tốc độ và sử dụng wordlist mạnh mẽ hơn.
Source link: AdminPBuster






