Sau khi thu thập Whois về mục tiêu, giai đoạn tiếp theo trong kỹ thuật footprinting đó là DNS footprinting. Quá trình này giúp thu thập thông tin về DNS server, DNS record và loại server mà mục tiêu sử dụng. Phần này mô tả cách trích xuất thông tin DNS, tra cứu reverse DNS và thu thập thông tin từ việc chuyển vùng DNS.
Bài lab này sẽ hướng dẫn thu thập thông tin về DNS servers, DNS records và loại server được sử dụng trong mục tiêu. Dữ liệu DNS zone bao gồm DNS domain name, computer name, IP address, domain mail server, service records và nhiều thông tin khác. Sử dụng thông tin này, ta có thể xác định được host nào đang kết nối trong mạng và sử dụng các loại tấn công social engineering để thu thập thêm nhiều thông tin hơn.
Giới thiệu về DNS Lookup
DNS footprinting giúp xác định các bản ghi:
Record Type | Description |
A | Trỏ đến IP address của một host |
MX | Trỏ đến mail server của domain |
NS | Trỏ đến hostname |
CNAME | Alias của một host |
SOA | Xác định authority của tên miền |
SRV | Bản ghi dịch vụ (service) |
PTR | Ánh xạ địa chỉ IP thành hostname |
RP | Responsible person |
HINFO | Thông tin host bao gồm CPU và OS |
TXT | Text records không có cấu trúc |
Thu thập DNS Information sử dụng nslookup
Lệnh nslookup
Đầu tiên, trên máy Windows, mở command prompt và gõ lệnh nslookup và nhấn Enter. Lúc này mặc định sẽ hiển thị DNS server mặc định:
C:\Users\Admin\nslookup
Default Server: dns.google
Address: 8.8.8.8
Lưu ý, thông tin Default Server và Address ở mỗi máy có thể khác nhau.
Trong chế độ nslookup interactive, gõ set type=a và gõ Enter. Lệnh này có nghĩa là nslookup sẽ truy vấn IP của tên miền cho trước. Giả sử ta truy vấn IP của tên miền www.certifiedhacker.com như sau:
> set type=a
> www.certifiedhacker.com
Server: 192.168.1.1
Address: 192.168.1.1#53
Non-authoritative answer:
www.certifiedhacker.com canonical name = certifiedhacker.com.
Name: certifiedhacker.com
Address: 162.241.216.11
Hai dòng đầu tiên trong kết quả là Server: 192.168.1.1 và Address: 192.168.1.1#53 chính là DNS server kết nối gần nhất với máy ảo Windows của mình. DNS server này không host tên miền www.certified.com nên kết quả là “Non-authoritative answer”.
Tiếp tục gõ set type=cname và gõ Enter. Lúc này sẽ hiển thị CNAME record của tên miền. Gõ tiếp certifiedhacker.com và gõ Enter.
> set type=cname
> certifiedhacker.com
Server: 192.168.1.1
Address: 192.168.1.1#53
Non-authoritative answer:
*** Can't find certifiedhacker.com: No answer
Authoritative answers can be found from:
certifiedhacker.com
origin = ns1.bluehost.com
mail addr = dnsadmin.box5331.bluehost.com
serial = 2018011205
refresh = 86400
retry = 7200
expire = 3600000
minimum = 300
Nó sẽ trả về authoritative name server (ns1.bluehost.com), cùng với mail server (dns.box5331.bluehost.com). Lúc này ta đã có được authoritative name server. Sau đó ta xác định IP address của server này.
Như bước trên, để xác định IP của tên miền, ta set type=a và nhấn Enter sau đó nhập tên miền ns1.bluehost.com.
> set type=a
> ns1.bluehost.com
Server: 192.168.1.1
Address: 192.168.1.1#53
Non-authoritative answer:
Name: ns1.bluehost.com
Address: 162.159.24.80
Authoritative name server chứa các records liên kết với domain certifiedhacker.com, nếu attacker có thể xác định được authoritative name server (gọi là primary name server) và có được địa chỉ IP liên kết thì attacker có thể khai thác server bằng một số kiểu tấn công như DoS, DdoS, URL Redirection, …
Ta có thể sử dụng các công cụ online để thực hiện nhanh quá trình trên.
Sử dụng công cụ Kloth.Net
Truy cập vào http://www.kloth.net/services/nslookup.php. Giao diện hiển thị như hình bên dưới. Ta thử nhập vào domain là certifiedhacker.com. Với query field mặc định là A (IPv4 address) và click vào Look it up để hiển thị kết quả.
Lúc này ta nhận được kết quả IP là 162.241.216.11.
Trong mục Query, có khá nhiều options như là A, AAAA, ANY, CNAME, NS, MX, PTR, … như hình bên dưới.
Ta thử chọn option AAAA (IPv6 address) và nhấn Look it up.
Các bạn có thể sử dụng một số công cụ DNS lookup khác như là DNSdumpster (https://dnsdumpster.com), DNS Records (https://network-tools.com).
Các công cụ kiểm tra DNS như Professional Toolset (https://tools.dnsstuff.com) và DNS Records (https://network-tools.com) cho phép DNS footprinting. DNSstuff trích xuất thông tin IP, mail server, DNS lookup, Whois lookup. Công cụ này có thể trích xuất một loạt các địa chỉ IP bằng cách sử dụng tra cứu định tuyến IP.
Kĩ thuật Reverse DNS Lookup sử dụng Reverse IP Domain Check và DNS Recon.
Reverse IP Domain Check
DNS lookup được sử dụng để tìm địa chỉ IP cho một tên miền cho trước, còn ngược lại reverse DNS là tìm tên miền của một IP cho trước. Ở đây, trong bài lab này, mình sẽ giới thiệu cho các bạn reverse DNS sử dụng Reverse IP Domain Check tool để tìm các tên miền/trang web được chạy trên chung một web server mục tiêu. Đầu tiên, chúng ta mở trình duyệt và gõ https://www.yougetsignal.com/. Giao diện như hình bên dưới, sau đó click vào Reverse IP Domain Check.
Nhập vào certifiedhacker.com vào ô Remote Address. Ta thấy kết quả trả về có 12 domains cùng host trên một web server có IP là 162.241.216.11.
DNSRecon
Công cụ DNSRecon được tích hợp sẵn trong hệ điều hành Kali Linux. Trên máy Kali Linux, ta tìm kiếm công cụ bằng cách nhập từ khoá dnsrecon.
Sử dụng lệnh dnsrecon -r <IP address>
để tiến hành tra cứu Reverse DNS. Ở đây chúng ta gõ lệnh dnsrecon -r 162.241.216.0-162.241.216.255
và nhấn Enter để xác định DNS PTR record trong dải IP từ 162.241.216.0 tới 162.241.216.255. Lưu ý trường hợp này chúng ta đang dò trên một dải IP nên số lượng kết quả sẽ nhiều hơn tình huống sử dụng Reverse IP Domain Check phía trên. Option -r tức là chỉ định một range IP.
Thu thập thông tin của Subdomain và DNS Records sử dụng SecurityTrails
SecurityTrails là một công cụ enumerate DNS nâng cao, có thể tạo sơ đồ DNS của một mạng mục tiêu. Nó có thể enumerate cả DNS record hiện tại và quá khứ, cả A, AAAA, NS, MX, SOA lẫn TXT. Nó còn có thể enumerate tất cả những subdomain đang có trên domain mục tiêu bằng kĩ thuật brute-force.
Đầu tiên ta vào trang web https://securitytrails.com/, tiến hành tạo tài khoản (miễn phí). Sau khi xác minh tài khoản, trang web sẽ chuyển tới Dashboard. Trong ô Enter a Domain, IP, Keyword or Hostname, điền domain certifiedhacker.com và nhấn Enter, nó sẽ hiển thị kết quả các record A, AAAA, MX, NS, SOA, TXT và CNAME như hình dưới.
Nhấn vào Historical Data, các bạn có thể thấy lịch sử của các record trên.
Ở tab Subdomains, ta cũng có thể thấy được tất cả các subdomains liên quan đến certifiedhacker.com.
DNS record cung cấp rất nhiều thông tin quan trọng về vị trí và loại máy chủ, và attacker có thể lợi dụng những thông tin này để tấn công. Mình dừng bài lab này lại ở đây. Các bạn có thể thực hành thêm với một số công cụ như DNSChecker hay DNSdumpster để nâng cao kĩ năng DNS footprinting của mình.
Series CEH Tiếng Việt các bạn có thể xem thêm tại đây.
Comments 3