Tìm hiểu về tấn công Man-in-the-Middle – Giả mạo ARP Cache
Quản trị mạng – Trong bài này chúng tôi sẽ tiếp tục giới thiệu cho các bạn về các tấn công Man-in-the-Middle, cụ thể là sẽ tập trung vào giới thiệu một loại tấn công MITM khác mang tên giả mạo DNS.
Trong phần đầu của loạt bài này, chúng tôi đã giới thiệu cho các bạn về truyền thông ARP và ARP cache của một thiết bị có thể bị giả mạo như thế nào để redirect lưu lượng mạng của các máy tính qua một máy khác với ý mục đích xấu. Trong bài này, chúng tôi giới thiệu cho các bạn về một kiểu tấn công MITM khác, giả mạo DNS (DNS Spoofing). Nếu chưa đọc phần giả mạo ARP Cache, các bạn nên quay lại và đọc qua nó trước vì bài viết này sẽ sử dụng một số kỹ thuật mà chúng tôi đã giới thiệu trong bài đó.
Giả mạo DNS
Giả mạo DNS là một kỹ thuật MITM được sử dụng nhằm cung cấp thông tin DNS sai cho một host để khi người dùng duyệt đến một địa chỉ nào đó, ví dụ, www.bankofamerica.com có IP XXX.XX.XX.XX, thì cố gắng này sẽ được gửi đến một địa chỉ www.bankofamerica.com giả mạo cư trú ở địa chỉ IP YYY.YY.YY.YY, đây là địa chỉ mà kẻ tấn công đã tạo trước để đánh cắp các thông tin tài khoản ngân hàng trực tuyến từ người dùng. Tấn công này có thể thực hiện khá dễ dàng và trong bài này chúng ta sẽ đi nghiên cứu cách làm việc của nó, cách nó thực hiện tấn công thế nào và cuối cùng là cách chống trả ra sao.
Truyền thông DNS
Giao thức Domain Naming System (DNS) như được định nghĩa trong RFC 1034/1035 có thể được xem như là một trong những giao thức quan trọng nhất được sử dụng trong Internet. Nói ngắn ngọn để dễ hiểu, bất cứ khi nào bạn đánh một địa chỉ web chẳng hạn như http://www.google.com vào trình duyệt, yêu cầu DNS sẽ được đưa đến máy chủ DNS để tìm ra địa chỉ IP tương xứng với tên miền mà bạn vừa nhập. Các router và các thiết bị kết nối Internet sẽ không hiểu google.com là gì, chúng chỉ hiểu các địa chỉ chẳng hạn như 74.125.95.103.
Máy chủ DSN làm việc bằng cách lưu một cơ sở dữ liệu các entry (được gọi là bản ghi tài nguyên) địa chỉ IP để bản đồ hóa tên DNS, truyền thông các bản ghi tài nguyên đó đến máy khách và đến máy chủ DNS khác. Kiến trúc máy chủ DNS trong toàn doanh nghiệp và Internet là một thứ khá phức tạp. Như một vấn đề của thực tế, bạn có thể hình dung chúng như các quyển sổ chuyên dụng cho kiến trúc DNS. Chúng tôi sẽ không đi vào giới thiệu các khía cạnh về kiến trúc hay thậm chí các kiểu lưu lượng DNS khác nhau, mà chỉ giới thiệu một phiên giao dịch DNS cơ bản, bạn có thể thấy điều đó trong hình 1.
Hình 1: Truy vấn và đáp trả DNS
DNS hoạt động theo hình thức truy vấn và đáp trả (query/response). Một máy khách cần phân giải DNS cho một địa chỉ IP nào đó sẽ gửi đi một truy vấn đến máy chủ DNS, máy chủ DNS này sẽ gửi thông tin được yêu cầu trong gói đáp trả của nó. Đứng trên phối cảnh máy khách, chỉ có hai gói xuất hiện lúc này là truy vấn và đáp trả.
Hình 2: Các gói truy vấn và đáp trả DNS
Kịch bản này sẽ có đôi chút phức tạp khi xem xét đến sự hồi quy DNS. Nhờ có cấu trúc thứ bậc DNS của Internet, các máy chủ DNS cần có khả năng truyền thông với nhau để đưa ra câu trả lời cho các truy vấn được đệ trình bởi máy khách. Nếu tất cả đều diễn ra thuận lợi như mong đợi, máy chủ DNS bên trong của chúng ta sẽ biết tên để bản đồ hóa địa chỉ IP cho máy chủ bên trong mạng nội bộ, tuy nhiên không thể mong đợi nó biết địa chỉ tương quan giữa Google hoặc Dell. Đây là nơi sự đệ quy đóng vai trò quan trọng. Sự đệ quy diễn ra khi một máy chủ DNS truy vấn máy chủ DNS khác với tư cách máy khách tạo yêu cầu. Về bản chất, cách thức này sẽ biến một máy chủ DNS thành một máy khách, xem trong hình 3.
Hình 3: Truy vấn và đáp trả DNS bằng đệ quy
Xem tiếp trang 2