Khai thác thông tin đăng nhập với Burp Suite và Hydra trên WordPress

Khai thác thông tin đăng nhập với Burp Suite và Hydra trên WordPress

Trong phần thứ ba của chuỗi bài học Burp Suite, bạn sẽ được hướng dẫn cách thu thập lưu lượng truy cập qua proxy của Burp Suite và sử dụng dữ liệu đó để triển khai một cuộc tấn công brute force thực tế nhằm kiểm thử bảo mật. Tuy nhiên, mục tiêu ở đây là tập trung vào việc thu thập thông tin liên quan đến hệ thống WordPress.

Hướng dẫn này nhằm minh họa cách thông tin được thu thập từ proxy của Burp Suite có thể được tận dụng hiệu quả trong quá trình kiểm thử thâm nhập chuyên sâu. Lưu ý quan trọng: Không sử dụng hướng dẫn này trên bất kỳ máy chủ hay mạng nào mà bạn không sở hữu.

Để thực hiện được quy trình trên, bạn cũng cần cài đặt Hydra. Hướng dẫn này không đi vào chi tiết về cách sử dụng Hydra; nếu bạn đang sử dụng Kali Linux, Hydra đã được cài sẵn, còn với các distro khác, bạn có thể dễ dàng tìm thấy Hydra trong kho phần mềm của hệ điều hành.

Đăng nhập thất bại

Trước khi bắt đầu, hãy đảm bảo rằng Burp Suite vẫn đang định tuyến lưu lượng truy cập tới site WordPress trên máy của bạn (localhost). Lần này, bạn cần thu thập thêm dữ liệu, tập trung vào quá trình đăng nhập. Burp Suite sẽ thu thập tất cả các thông tin cần thiết để bạn có thể khởi chạy cuộc tấn công brute force vào cài đặt WordPress nhằm kiểm tra độ mạnh của thông tin đăng nhập người dùng.

Hãy truy cập vào đường dẫn:http://localhost/wp-login.php.Quan sát yêu cầu (request) cũng như phản hồi (response) được tạo ra. Lúc này có vẻ không có gì quá đặc biệt – bạn có thể thấy rõ HTML của trang đăng nhập trong yêu cầu. Tìm các thẻ <form> và ghi nhận tên của các trường input trong form đó. Đồng thời, để ý đến cookie mà form gửi kèm theo.

Bây giờ, hãy thu thập thông tin thật hữu ích:
Nhập một tên đăng nhập và mật khẩu mà bạn chắc chắn sẽ gây ra lỗi đăng nhập, sau đó submit form. Kiểm tra các tham số được gửi kèm theo yêu cầu. Bạn sẽ thấy rõ thông tin đăng nhập vừa nhập cùng với tên các trường input mà bạn đã quan sát ở source của trang. Bạn cũng có thể nhận diện được tên của nút submit và cookie đi kèm form đó.

Đăng nhập thành công

Với thông tin từ yêu cầu đăng nhập thất bại được ghi lại bởi Burp Suite, bạn giờ có thể xem xét cấu trúc của một lần đăng nhập thành công. Có thể bạn đã đoán được yêu cầu đăng nhập thành công sẽ trông như thế nào, nhưng phản hồi từ máy chủ có thể sẽ khiến bạn ngạc nhiên.

Hãy nhập đúng thông tin đăng nhập và submit form.
Quá trình đăng nhập thành công sẽ tạo ra một loạt yêu cầu mới, vì vậy bạn sẽ cần quay lại để tìm yêu cầu đăng nhập thất bại ngay trước đó. Khi đã tìm thấy, hãy xem xét các tham số của yêu cầu đó. Các tham số này sẽ tương tự với yêu cầu thất bại nhưng chứa đúng thông tin đăng nhập.

Bây giờ, hãy xem phản hồi từ máy chủ. Bạn sẽ thấy rằng không có HTML nào được trả về. Máy chủ thực hiện redirect sau khi xử lý form thành công. Do đó, headers chính là nguồn thông tin hữu ích nhất để kiểm tra đăng nhập thành công. Hãy để ý những thông tin trong headers và so sánh với yêu cầu đăng nhập thất bại – có thể bạn nhận thấy rằng header “Location” chỉ xuất hiện trong phản hồi thành công, vì WordPress sẽ không redirect khi đăng nhập thất bại. Do đó, redirect chính là điều kiện kiểm tra hiệu quả.

Sử dụng thông tin

Bây giờ, bạn đã sẵn sàng sử dụng Hydra để kiểm tra độ mạnh của mật khẩu trên WordPress. Trước khi khởi chạy Hydra, hãy chắc chắn rằng bạn có sẵn một (hoặc nhiều) wordlist để Hydra thử nghiệm tên người dùng và mật khẩu.

Dưới đây là lệnh bạn có thể sử dụng để test mật khẩu. Hãy xem qua lệnh trước, phần giải thích chi tiết sẽ được trình bày sau lệnh:

$ hydra -L lists/usrname.txt -P lists/pass.txt localhost -V http-form-post '/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log In&testcookie=1:S=Location'
  • Các tham số -L và -P chỉ định danh sách từ cho tên người dùng và mật khẩu mà Hydra sẽ test.
  • Tham số -V yêu cầu Hydra xuất kết quả của từng lần test ra console.
  • localhost chính là đích đến (target).
  • Hydra sẽ sử dụng module http-form-post để kiểm thử form đăng nhập với phương thức POST. (Lưu ý: Đây cũng là phương thức được sử dụng trong yêu cầu gửi form.)
  • Phần cuối cùng là một chuỗi dài chỉ dẫn cho Hydra:
    • /wp-login.php là trang mà Hydra sẽ test.
    • log=^USER^&pwd=^PASS^&wp-submit=Log In&testcookie=1 là tập hợp các trường mà Hydra cần tương tác, được phân cách bởi dấu &. Lưu ý rằng chuỗi này sử dụng tên các trường được lấy từ tham số của form.
    • ^USER^ và ^PASS^ là các biến mà Hydra sẽ thay thế bằng giá trị từ wordlist.
    • Phần cuối cùng (S=Location) là điều kiện kiểm tra – Hydra sẽ tìm từ “Location” trong phản hồi nhận được để xác định xem đăng nhập có thành công hay không.

Hy vọng rằng sau khi Hydra hoàn thành bài test, bạn sẽ không thấy bất kỳ đăng nhập thành công nào. Nếu có, đó là dấu hiệu bạn cần xem lại mật khẩu của mình.

Kết luận

Bạn đã hoàn tất việc sử dụng Burp Suite như một công cụ thu thập thông tin trong quá trình kiểm thử bảo mật thực tế trên môi trường WordPress nội bộ. Qua đó, bạn đã hiểu rõ cách trích xuất các dữ liệu quan trọng từ các request và response được ghi lại thông qua proxy – một bước không thể thiếu trong quá trình đánh giá lỗ hổng ứng dụng web.

Trong phần hướng dẫn tiếp theo – cũng là phần cuối cùng của chuỗi – bạn sẽ được khám phá thêm nhiều công cụ nâng cao tích hợp trong Burp Suite. Tất cả những công cụ này đều dựa trên nền tảng proxy mà bạn đã thành thạo, giúp mở rộng khả năng kiểm thử và tự động hóa các quy trình phân tích bảo mật, từ đó tối ưu hiệu suất làm việc của bạn trong các tình huống thực chiến.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *