0. Lời mở đầu
Trong quá trình làm các bài CTF – Capture The Flag (Với các bạn chưa biết về CTF là gì, có thể tìm hiểu tại CTF là gì nhờ? ). Mình cũng có sử dụng tới Burp Collaborator, tuy nhiên là dùng theo cách không hiểu gì, dùng theo dạng “vẹt”, nay mới có dịp ngồi lại ngâm cứu về cơ chế hoạt động của nó.
1. Khi nào dùng?
Trong một số trường hợp, chẳng hạn như kiểm tra lỗ hỏng SSRF, khi đưa payload tấn công vào hệ thống, mà chỉ được phản hồi đầu vào hợp lệ hoặc không hợp lệ, thì không thể trực tiếp chắc chắn hệ thống tồn tại lỗ hỏng SSRF, hoặc với việc kiểm tra XXE, khi hệ thống chỉ đưa ra thống báo payload của chúng ta có lỗi hay không, thì cũng không khẳng định luôn được hệ thống có thể khai thác qua lỗ hỏng XXE.
Khi đó, chúng ta sẽ cần tới một món “công cụ” nào đó, một công cụ hoàn toàn độc lập, một công cụ có thể truy cập thông qua một tên miền cụ thể. Trong payload tấn công SSRF, XXE, … chứa sự tương tác / gọi tới công cụ đó, và nếu chúng ta thu được một lời phản hồi rõ ràng, thì cũng đồng nghĩa rằng payload của chúng ta hoạt động. Và công cụ đó cũng sẽ có thể ghi chép lại thông tin chúng ta đang cần (Vì hệ thống chúng ta tấn công có phản hồi cái quái gì cho mình đâu ). Như vậy chúng ta sẽ lấy được nội dung file, những thông tin cần thiết thông qua công cụ này. Một trong những lựa chọn đó là chức năng Burp Collaborator.
2. Burp Collaborator có gì đặc sắc?
Burp Collaborator có chứa ip public và domain riêng của nó, chứa dịch vụ DNS: phân giải tên miền và tìm kiếm ip tương ứng. mỗi lần thực hiện payload sử dụng Burp Collaborator đều chứa chức năng gọi tới dịch vụ DNS, đó cũng là lí do vì sao luôn có gói tin DNS tới trước các gói tin như HTTP, HTTPS, …
3. Có thể phân biệt tấn công thông thường và tấn công có tham gia của Burp Collaborator như thế nào?
Bình thường khi tấn công mục tiêu, thì chỉ có trao đổi qua lại giữa chúng ta và mục tiêu, không có sự tham gia của một đối tượng / thiết bị thứ ba, có thể hiểu quá trình hoàn toàn “khép kín” hay còn gọi là tấn công bên trong. Còn nếu có sự tham gia của một đối tượng thứ ba để hỗ trợ cuộc khai thác của chúng ta thì có thể gọi là tấn công bên ngoài – ngoài băng tần (OAST).
Khi gửi payload tới mục tiêu, chẳng hạn xét payload chứa 1 phần công việc là gửi truy vấn tới url Collaborator, khi đó nếu payload thực thi thành công, hệ thống sẽ tạo request tới Collaborator, chúng ta có thể control được những thông tin nó sẽ gửi kèm và nhận được nó thông qua phản hồi của Collaborator.
Bởi vậy, DNS lookup thông qua Burp Collaborator có thể giúp chúng ta xác định một cách chính xác hơn về khả năng tồn tại các lỗ hỏng của hệ thống. Rất hữu ích trong các lỗ hỏng Blind.
4. Ví dụ
Sử dụng lệnh dig trong Linux để thực hiện một hành động DNS lookup
Có thể thông qua Burp Collaborator đọc thông tin tên người dùng hiện tại với payload như sau:
Nguồn: viblo.asia