Tổng quan về dnstracer
Giới thiệu
Dnstracer là công cụ xác định nguồn gốc thông tin của máy chủ định danh miền (DNS) bằng cách theo dõi chuỗi máy chủ DNS trở về máy chủ chứa dữ liệu Nó hoạt động bằng cách gửi yêu cầu không đệ quy đến máy chủ định danh và nếu nhận được câu trả lời có thẩm quyền, nó sẽ tiếp tục truy vấn máy chủ tiếp theo Ngược lại, nếu câu trả lời không có thẩm quyền, máy chủ định danh trong bản ghi thẩm quyền sẽ được truy vấn Quá trình này sẽ dừng lại khi tất cả các máy chủ định danh đã được truy vấn, với mục tiêu lập bản đồ mục tiêu cho đến khi tiếp cận được máy chủ định danh gốc.
Phương thức hoạt động của của dnstracer
- Nó gửi cho máy chủ tên đã chỉ định một yêu cầu không đệ quy cho tên
Không đệ quy có nghĩa là khi máy chủ định danh biết thông tin cần thiết, nó sẽ truy xuất dữ liệu yêu cầu Ngược lại, nếu máy chủ định danh không có thông tin đó, nó sẽ cung cấp các con trỏ đến máy chủ định danh cấp quyền cho miền trong tên hoặc trả về địa chỉ của máy chủ định danh gốc.
Khi máy chủ định danh cung cấp câu trả lời có thẩm quyền cho tên miền, máy chủ tiếp theo sẽ được truy vấn Ngược lại, nếu câu trả lời không có thẩm quyền, máy chủ định danh trong bản ghi thẩm quyền sẽ được truy vấn tiếp theo.
- Chương trình dừng nếu tất cả các máy chủ định danh được truy vấn
- Đảm bảo rằng máy chủ bạn đang truy vấn không chuyển tiếp tới các máy chủ khác, vì dnstracer không thể phát hiện điều này cho bạn
Nó phát hiện ra những máy chủ khập khiễng, tức là các máy chủ định danh được cho là nắm giữ thông tin về một miền cụ thể, nhưng thực tế lại không có thông tin này.
Cách sử dụng
Cài đặt dnstracer
- Dnstracer có thể vừa dùng được cho Linux có thể dùng được ở Windows nhưng phổ biến nhất vẫn là Linux
Khi sử dụng hệ điều hành Linux, người dùng có thể cài đặt trực tiếp, trong khi với Windows, cần phải cài đặt máy ảo Linux trên VMWare để sử dụng.
• Cú pháp cài đặt: sudo apt install dnstracer
Chúng ta có thể sử dụng dnstracer trực tiếp trên Windows bằng cách tải phiên bản mã nguồn mở từ GitHub, được phát triển bằng một trong các ngôn ngữ lập trình như Python.
• Cú pháp: git clone https://github.com/pcoder/DNSTracer
Hướng dẫn sử dụng và ví dụ
Hình 1: Show option của tool dnstracer
• -c: Tắt bộ nhớ đệm cục bộ, bật mặc định
• -C: Bật bộ nhớ đệm phủ định, vô hiệu hóa mặc định
• -o: bật tổng quan về các câu trả lời đã nhận, mặc định bị tắt
• -q : kiểu truy vấn để sử dụng cho các yêu cầu DNS, mặc định là A
• -r : số lần thử lại cho các yêu cầu DNS, mặc định là 3
• -s : sử dụng máy chủ này cho yêu cầu ban đầu, localhost mặc định
Nếu như được chỉ định, A.ROOT-SERVERS.NET sẽ được sử dụng
• -t : Giới hạn thời gian chờ mỗi lần thử
• -s : sử dụng địa chỉ nguồn này
• -4: không truy vấn máy chủ IPV6
- Ví dụ đơn giản về www.mavejtu.org
Dấu vết này xuất hiện sau khi máy chủ DNS khởi động lại, có nghĩa là không có dữ liệu nào có sẵn trừ các khu vực mà máy chủ được ủy quyền và các máy chủ gốc.
Máy chủ DNS không nhận diện được mavetju.org, do đó nó chuyển tiếp yêu cầu đến các máy chủ gốc Các máy chủ gốc sau đó sẽ xử lý và chuyển tiếp thông tin cần thiết.
11 chúng tôi đến các máy chủ tên miền cấp cao nhất toàn cầu, các máy chủ xử lý, ví dụ: com, org, net và các tên miền quốc gia
Khu vực của mavetju.org được lưu trữ tại Secondary.com, nơi chúng tôi cung cấp các câu trả lời Những câu trả lời này được lưu vào bộ nhớ đệm nhằm tránh việc đưa ra các yêu cầu không cần thiết.
Để giảm thiểu lượng thông tin đầu ra, chúng ta có thể chỉ định một máy chủ khác để bắt đầu, thay vì sử dụng máy chủ mặc định, nhằm tạo ra kết quả ngắn gọn và hiệu quả hơn.
Tùy chọn -s cho phép chỉ định máy chủ, trong đó tên máy chủ có thể được thay thế bằng địa chỉ IP hoặc dấu chấm (.) để xác định máy chủ cần sử dụng.
A.ROOT-SERVERS.NET Tùy chọn -o hiển thị tổng quan về các câu trả lời nhận được khi kết thúc quá trình chạy
Bản ghi PTR phải được chỉ định giống như bản ghi PTR thông thường: với in-addr.arpa hoặc hậu tố ip6.int
- Bản ghi SOA Được sử dụng bình thường, nhưng chúng cho đầu ra hơi dài hơn với số sê-ri, trường mname và rname
Hình 5: Ví dụ về bản ghi SOA
- Hết thời gian chờ và máy chủ bị hỏng
Hình 6: Ví dụ về thời gian chờ và máy chủ hỏng
Máy chủ DNS ns.eu.org được ủy quyền bởi RELAY-1.FTEL.CO.UK cho nl.eu.org, tuy nhiên, máy chủ này không cung cấp bất kỳ bản ghi câu trả lời nào.
Tuy nhiên, nó trả về các bản ghi thẩm quyền mà nó có trong đó
Dấu * trong đầu ra có nghĩa là không có câu trả lời cho yêu cầu Theo mặc định, có ba lần thử lại
- Nhiều bản ghi bổ sung hoặc không có chúng
Nếu không có bản ghi bổ sung nào cho máy chủ DNS, thì địa chỉ IP đang được truy xuất thông qua một tiêu chuẩn gethostbyname()
Nếu có nhiều bản ghi bổ sung cho một máy chủ DNS, chúng đều được kiểm tra Ví dụ với munnari.OZ.au:
Hình 7: Ví dụ về nhiều bản ghi bổ sung
- Câu trả lời có thẩm quyền và không có thẩm quyền
Câu trả lời có thẩm quyền là thông tin được cung cấp từ máy chủ DNS chính thức cho khu vực cụ thể Ngược lại, nếu câu trả lời được lưu trữ trong bộ đệm bởi các máy chủ khác, nó vẫn có thể được coi là hợp lệ nhưng không mang tính chất có thẩm quyền.
Yalumba.connect.com.au không cung cấp câu trả lời có thẩm quyền, nhưng nó nắm rõ thông tin cần thiết Những câu trả lời có thẩm quyền được lấy từ một trong những máy chủ bên dưới nó.
Hình 8: Ví dụ về câu trà lời có thẩm quyền và không thẩm quyền
Demo thực tế
Cài đặt VMware trên window
• Chúng ta sẽ tải VMware bản mới nhất tại:Download VMware
• Khởi chạy file exe vừa tải xuống ta sẽ được một cửa sổ như dưới đây Bấm Next để tiếp tục tiến hành cài đặt
Hình 10: Bắt đầu cài đặt VMware
• Sau khi cài đặt xong chúng ta sẽ nhận được một giao diện như sau
Hình 11: Giao diện chính của VMWare
• Tiếp theo, chúng ta tải hệ điều hành Kali tại: Get Kali | Kali Linux
Tải bản iso và cài đặt vào trong VMWare để sử dụng
• Tiến hành cài đặt Kali Linux vào VMware Đầu tiên, chúng ta bấm vào Create a New Virtual Machine để bắt đầu tạo máy ảo kali
Hình 12: Khởi tạo máy ảo VMWare
Hình 13: chọn loại cấu hình muốn cài đặt
Để cài đặt Kali một cách đơn giản, bạn nên chọn tùy chọn "Typical", vì nó sử dụng các lựa chọn mặc định có sẵn trong VMware Nếu bạn muốn tùy chỉnh mọi thuộc tính của máy ảo, bạn có thể chọn "Custom" Tuy nhiên, gợi ý ở đây là chọn "Typical" và nhấn "Next" để tiếp tục quá trình cài đặt.
Hình 14: Chọn đường dẫn đĩa iso
Bấm Browse để chọn đường dẫn của file iso hệ điều hành Kali linux mà chúng ta vừa tải Bấm Next để tiếp tục
• Chia dung lượng cho máy ảo Kali Linux
Hình 15: Chia dung lượng cho ổ đĩa cài đặt hệ điều hành Kali
Sau khi chia xong bấm Next để tiếp tục
• Preview, nếu có gì thay đổi chúng ta bấn vào Customize Hardware còn không thì bấm finish để hoàn tất cài đặt
Hình 16: Hoàn tất cấu hình cho hệ điều hành kali trên VMWare
• Sau khi hoàn tất Tiếp tục tiến hành cài đặt hệ điều hành Chọn option Graphical install
Hình 17: Cài đặt hệ điều hành
• Chọn ngôn ngữ là English, bấm continue
Hình 18: Chọn ngôn ngữ cho hệ điều hành
• Sau khi bấm continue, chúng ta sẽ chờ khoảng 1 – 2 phút để boot hệ điều hành
• Đặt tên cho máy ảo Kali, bấm continue
Hình 19: Đặt tên cho máy ảo kali
• Set password cho máy ảo kali, phần này chúng ta không được để trống vì ở đây password là bắt buộc
Hình 20: Set password cho máy ảo kali
• Sau khi cài đặt password chúng ta bắt đầu đến phần chia phân vùng của ổ đĩa
Hình 21: Chọn cách chia phân vùng cho máy ảo kali
• Bấm Continue liên tục đến phần dưới đây
Hình 22: Hoàn tất việc cài đặt máy ảo
Chọn option yes và bấm continue để hoàn tất việc chia phân vùng và hoàn tất cài đặt
Sau khi hoàn tất cài đặt, hãy đăng nhập bằng tài khoản root và mật khẩu đã tạo trước đó Hệ điều hành Kali khác biệt so với các hệ điều hành khác, vì khi đăng nhập, người dùng sẽ sử dụng tài khoản root.
Tiến hành chạy dnstracer
- Khởi chạy Kali linux trên VMware
Hình 23: Giao diện chính của hệ điều hành Kali
Để cài đặt dnstracer trên Kali Linux, bạn cần kiểm tra xem nó đã được tích hợp sẵn hay chưa Nếu phiên bản Kali của bạn không có dnstracer, hãy sử dụng lệnh: apt-get install dnstracer để tiến hành cài đặt.
Hình 24: Hình ảnh show option của dnstracer
- Bắt đầu với tên miền msn.com
Hình 25: Bắt đầu với tên miền msn.com-1
Hình 26: Bắt đầu với tên miền msn.com-2
- Sử dụng Wireshark để xem được gói tin gửi đến miền msn.com
Sau khi mở Wireshark, hãy chọn giao diện mạng của bạn và bắt đầu chụp gói tin Để chỉ xem lưu lượng DNS, hãy nhập “udp.port=53” vào hộp Bộ lọc và nhấp vào “áp dụng” Bây giờ, bạn sẽ chỉ thấy lưu lượng DNS Tiếp theo, hãy thực hiện cùng một quá trình quét và quan sát những gì xuất hiện trong Wireshark.
Hình 27: Wireshark để bắt gói tin truyền đến msn.com
- Mở gói tin xem được Answers từ phía msn.com phản hồi
Hình 28: Mở gói tin để xem câu trả lời từ msn.com
- Kiểm tra bản ghi SOA ipv4 với tên miền msn.com
Hình 29: Kiểm tra bản ghi SOA của msn.com
SOA được trả về bao gồm số sê-ri, mname và rname Trong đó, mname thể hiện máy chủ chính của miền, còn rname là địa chỉ email của người chịu trách nhiệm quản lý miền.
- Kiểm tra bản ghi NS của msn.com
Hình 30: Kiểm tra bản ghi NS của msn.com
- Kiểm tra bản ghi MX của msn.com
Hình 31: Kiểm tra bản ghi MX của msn.com
- Sử dụng một máy chủ khác để bắt đầu với msn.com
Để thay đổi máy chủ ban đầu cho các yêu cầu, bạn có thể sử dụng tùy chọn “-s” và trỏ đến các máy chủ gốc DNS Đơn giản chỉ cần đặt một dấu chấm “.” làm giá trị cho tùy chọn này.
Hình 32: Thay đổi máy chủ DNS ban đầu-1
Hình 33: Thay đổi máy chủ DNS ban đầu-2
Khi dùng tùy chọn -s và + them dấu (.) thì máy chủ mặc định sẽ là