0
0
Lập trình
Sơn Tùng Lê
Sơn Tùng Lê103931498422911686980

Hiểu về TLS Fingerprint và Cách Bảo Vệ Website bằng Burp Suite

Đăng vào 3 tuần trước

• 3 phút đọc

Giới Thiệu

Trong thế giới an ninh mạng ngày nay, việc bảo vệ website khỏi các công cụ tự động là rất quan trọng. Một trong những phương pháp hiệu quả để thực hiện điều này là TLS fingerprinting. Bài viết này sẽ giải thích khái niệm TLS fingerprinting và hướng dẫn cách cấu hình Burp Suite để chia sẻ lưu lượng mạng với các trang web áp dụng kỹ thuật này, cụ thể là trang https://search.censys.io.

Vấn Đề Gặp Phải

Khi sử dụng Burp Suite với cấu hình mặc định để proxy traffic tới https://search.censys.io, bạn sẽ nhận được mã lỗi 403, trong khi việc truy cập trực tiếp (không thông qua Burp) lại không gặp vấn đề gì. Tại sao lại như vậy? Hãy cùng tìm hiểu nguyên nhân.

TLS Fingerprinting: Khái Niệm và Tầm Quan Trọng

TLS Fingerprinting là quy trình thu thập và nhận diện các đặc điểm riêng biệt của quá trình bắt tay TLS giữa client và server. Những thông số này có thể bao gồm:

  • Phiên bản TLS sử dụng (ví dụ: TLS 1.2, TLS 1.3)
  • Các bộ mã hóa (cipher suites)
  • Các extension trong quá trình bắt tay

Nếu một website áp dụng TLS fingerprinting, nó có khả năng nhận diện xem yêu cầu có xuất phát từ một client hợp lệ hay công cụ tự chế tạo. Nếu không phù hợp, yêu cầu có thể bị chặn lại.

Cách Xác Định Các Thông Số TLS của Website

Để tùy chỉnh Burp Suite và bắt chước fingerprint của một client hợp lệ, bạn cần xác định các thông số TLS mà website đang sử dụng. Dưới đây là một số cách để thực hiện điều này:

Sử Dụng Công Cụ SSL Labs

  1. Truy cập vào trang SSL Labs SSL Test.
  2. Nhập URL https://search.censys.io/ vào ô tìm kiếm và bắt đầu kiểm tra.
  3. Bạn sẽ nhận được báo cáo chi tiết về:
    • Phiên bản TLS hỗ trợ
    • Các cipher suites được server chấp nhận
    • Thông tin về chứng chỉ SSL

Sử Dụng Nmap với Script ssl-enum-ciphers

Nếu bạn có quyền truy cập vào terminal, bạn có thể sử dụng Nmap với lệnh sau để liệt kê các cipher suites:

Copy
nmap --script ssl-enum-ciphers -p 443 search.censys.io

Kết quả sẽ cho thấy các phiên bản TLS được hỗ trợ và cipher suites tương ứng.

Phân Tích Giao Thức Bằng Wireshark

Wireshark là công cụ giúp phân tích quá trình bắt tay TLS:

  1. Cài đặt và mở Wireshark.
  2. Ghi lại lưu lượng khi truy cập https://search.censys.io/.
  3. Lọc các gói tin TLS với bộ lọc tls.handshake để phân tích các thông số bắt tay.

Cấu Hình Burp Suite Để Bắt Chước TLS Fingerprint

Sau khi xác định được các thông số TLS, bạn cùng cần cấu hình Burp Suite để bắt chước chúng:

Cấu Hình Các Thông Số TLS trong Burp Suite

  1. Mở Burp Suite và chuyển đến tab Project Options > TLS.
  2. Chọn Profile TLS phù hợp với trình duyệt bạn muốn bắt chước (ví dụ: Chrome).
  3. Tùy chỉnh các cipher suites dựa trên thông tin đã thu thập.
  4. Chọn phiên bản TLS phải hỗ trợ bởi server.

Sử Dụng Extension Để Tăng Cường Khả Năng Tùy Chỉnh

Bạn có thể tìm kiếm các extension trên GitHub để mở rộng tùy chỉnh TLS trong Burp Suite như burp-awesome-tls. Nếu bạn có kinh nghiệm sử dụng các extension này, hãy chia sẻ kinh nghiệm nhé.

Tùy Chỉnh Header HTTP

Đừng quên rằng các header HTTP cũng rất quan trọng trong việc xác định tính hợp lệ của client:

  1. Chuyển đến tab Proxy > Intercept.
  2. Chỉnh sửa các header như User-Agent để giống như một trình duyệt phổ biến.

Kiểm Tra và Điều Chỉnh

Sau khi cấu hình, hãy kiểm tra kết quả:

  1. Mở trình duyệt đã cấu hình với proxy và truy cập https://search.censys.io.
  2. Quan sát tab HTTP history trong Burp Suite để xem các yêu cầu và phản hồi.
  3. Nếu gặp lỗi, hãy kiểm tra lại các thông số TLS và điều chỉnh chúng nếu cần.

Kết Luận

TLS fingerprinting giúp bảo vệ website khỏi các cuộc tấn công tự động. Bằng việc hiểu và cấu hình Burp Suite đúng cách, bạn có thể tiếp cận và phân tích lưu lượng một cách hiệu quả. Hãy luôn tuân thủ nguyên tắc an toàn và pháp luật trong mọi hoạt động kiểm thử bảo mật.

Bài viết này có sự hỗ trợ của ChatGPT.
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào