NỘI DUNG
Kết thúc nội dung Dựng Web Server kiểu “tàu nhanh” với với bộ đồ nghề XAMPP, kỳ này tôi sẽ quay lại demo Burp Suite Intruder với mục tiêu là Web Server dựng bằng XAMPP để bạn có thể hình dung rõ hơn quá trình tấn công.
Và tiếp theo nội dung Penetration Testing Step 3 – Bắn tỉa mục tiêu với Sniper attack của Burp Suite Intruder, phần demo kỳ này sẽ bao gồm 2 bước là thăm dò vị trí tấn công, sau đó tấn công bằng Burp Suite Intruder.
#1. Thăm dò vị trí tấn công với dirb
Để thực hiện quá trình thăm dò mục tiêu Web Server dựng trong kỳ trước, tôi sẽ dùng dirb có sẵn trên Kali Linux.
Dirb là web content scanner sử dụng wordlist để dò tìm các pages/directory của mục tiêu. Trong phần demo này, tôi sẽ sử dụng -r option để scan dạng non-recursively cho nhanh gọn.
Lưu ý: Tôi đã tùy chỉnh sang port 8080 trên mục tiêu Web Server nên sẽ sử dụng cú pháp dirb http://IP_addpress:8080 -r. Nếu bạn không tinh chỉnh gì thì không cần chỉ định port (mặc định nó sẽ hốt port 80).
Như bạn thấy ở trên, kết quả thăm dò cho thấy có một vị trí rất hay ho đó là /phpmyadmin/, nơi cho phép quản trị MySQL database. Và khi đó, bạn không có lựa chọn nào khác ngoài việc mò vào đó la liếm thử.
Nhờ vào trợ giúp của cụ Google, bạn sẽ có thể dò ra login credentials mặc định cho phpMyAdmin là username root với password bỏ trống. Bạn có thể thử vận may để coi có được ông bà độ, một phát ăn ngay hay không. Tuy nhiên, trong phần lớn trường hợp, đời không như mơ, bạn sẽ bị ăn chửi vì định giở trò đăng nhập không yêu cầu password như sau.
Và như thế, Burp Suite Intruder lại có cơ hội tỏa sáng để hỗ trợ công cuộc mò password.
Lưu ý:
- Để tiết kiệm thời gian demo, tôi sẽ chiến với một password list ngắn đến thô bỉ;
- Quá trình dò password kiểu này trên thực tế sẽ có thể kích hoạt account lockout từ hệ thống cũng như báo động cho đội ngũ bảo vệ. Do vậy, khi triển khai quá trình Peneratrion Testing thật thì bạn sẽ cần thêm nhiều thủ thuật ảo diệu hơn nữa chứ không chơi thô thiển như bài demo này.
#2. Tấn công phpMyAdmin với Burp Suite Intruder
#2.1 Đẩy hàng sang cho Burp Suite Intruder
Quay lại vấn đề chính, giờ tôi sẽ thiết lập đẩy traffic sang Burp Suite và thực hiện lại quá trình đăng nhập tại phpMyAdmin với username root và password đểu để thu thập thông tin như sau.
Lưu ý:
- Bạn lưu ý các vị trí quan trọng như phpMyAdmin, set_session, pma_username và pma_password trong Request minh họa trên;
- Nếu bạn chưa biết cách thiết lập Burp Suite thì vui lòng de lại xem nội dung Penetration Testing Step 3 – 6 điều bạn nên biết trước khi xài tool khủng Burp Suite.
Rồi giờ sử dụng thủ thuật như trình bày trong nội dung Penetration Testing Step 3 – Chuẩn bị đổ mưa bom, bão đạn lên mục tiêu với Burp Suite Intruder, tôi sẽ chuyển cái request này sang Intruder với thông tin Target như sau.
#2.2 Thiết lập Positions cho Burp Suite Intruder
Di chuyển sang tab con Position, bạn sẽ thấy các vị trí được Intruder đề xuất. Vì mục tiêu ở đây là dò password (và xử lý đám liên quan như phpMyAdmin, set_session) nên tôi sẽ bỏ các vị trí đề xuất bằng Clear § button.
Sau đó tôi thiết lập lại các vị trí cần xử lý bao gồm phpMyAdmin, set_session, token và pma_password (phần pma_username thì đã chốt là root) bằng cách chọn các nội dung liên quan rồi bấm Add § button. Đồng thời ở đây tôi cũng sẽ thiết lập Attack type là kiểu xâm mứt Pitchfork để có thể thiết lập payload list riêng cho từng vị trí đã xác định (bạn xem lại nội dung Penetration Testing Step 3 – Chuẩn bị đổ mưa bom, bão đạn lên mục tiêu với Burp Suite Intruder nếu không rõ các dạng Attack Type).
#2.3 Thiết lập Options cho Burp Suite Intruder
Rồi, giờ tôi bay sang vị trí Options của Intruder. Tại đây, bạn sẽ cần trích xuất thông tin từ response (cụ thể là bộ 3 phpMyAdmin cookie value, set_session và token) để đẩy vô làm payload cho request kế tiếp. Và đây là lúc mà dạng Recursive grep payload của Burp Suite Intruder tỏa sáng.
Cụ thể, bạn sẽ cần đến sự trợ giúp của Grep-Extract để hốt thông tin từ Response thảy qua Options của Intruder. Bấm Add button tại vị trí Grep-Extract, bạn sẽ thấy xuất hiện cái Response tương ứng. Sau đó, bạn cần tìm thằng set_session trong hidden input field của login form như sau. Khi bạn click chọn vào value tương ứng, Burp Suite sẽ tự động trích xuất và lấy thông tin thiết lập cho phần expression giùm bạn. Việc của bạn lúc này chỉ là ngồi rung đùi rồi click OK.
Lập lại quá trình trên, lần này bạn sẽ cần múc thằng token trong trong hidden input field của login form.
Lưu ý:
- Nếu muốn coi kỹ hơn phần Grep – Extract, bạn có thể xem nội dung Penetration Testing Step 3 – Xoay chuyển thế trận với Intruder attack options của Burp Suite.
- Giá trị phpMyAdmin và set_session phải khớp với nhau nên phần set_session sẽ được dùng để thiết lập chung cho hai thằng này. Phần thiết lập cho password tôi sẽ nói ngay bên dưới.
#2.4 Thiết lập Payloads cho Burp Suite Intruder
Rồi, thế là xong việc với đám Recursive grep. Giờ quay về Payloads tab thiết lập cho Payload Set 1 với Payload Type Recursive grep, bạn sẽ thấy thông tin tương ứng đã cập nhật chỗ Payload Options [Recursive grep]. Với Payload Set 1 – ứng với phpMyAdmin session cookie, bạn sẽ chọn dòng đầu tiên trong Payload Options [Recursive grep] tương ứng cho phần set_session.
Tương tự, như tôi lưu ý ở trên, với Payload Set 2 – ứng với set_session, bạn cũng sẽ chọn dòng thứ 1 trong Payload Options [Recursive grep] tương ứng cho phần set_session.
Tiếp tục, đến Payload Set 3 – ứng với phần password, bạn sẽ thiết lập Payload type là Simple list và dùng Add button trong Payload Options [Simple list] để đưa vào danh sách password tiềm năng (một lần nữa, xin thứ lỗi vì cái password list minh họa ngắn một cách thô bỉ bên dưới).
Cuối cùng, đến Payload Set 4 – ứng với token, bạn sẽ lại dùng Payload type Recursive grep và chọn dòng thứ 2 tương ứng với token trong Payload Options [Recursive grep].
OK, mọi thứ đã sẵn sàng, bạn có thể nã đạn với Start Attack button. Và nếu không có gì bất ngờ, bạn sẽ thu lượm được kết quả kiểu như sau.
Với kết quả password hốt được (dòng thứ tư, tương ứng status code 302 trong ví dụ của tôi), bạn sẽ lao như con thiêu thân vào vị trí đăng nhập của phpMyAdmin và bắt đầu tung tóe với cái chìa khóa vừa tìm được.
1 thought on “Penetration Testing Step 3 – Dò tìm password của phpMyAdmin với Pitchfork attack của Burp Suite Intruder”