Hiểu một cách ngắn gọn nhất, DNS cơ bản là một hệ thống chuyển đổi các tên miền website mà chúng ta đang sử dụng, ở dạng www.tenmien.com sang một địa chỉ IP dạng số tương ứng với tên mi
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
VIỆN KINH TẾ BƯU ĐIỆN
¾¾¾¾¾¾¾¾¾
Báo cáo cuối kỳ môn An toàn mạng
Đề tài: DNSENUM
Họ và tên: Nguyễn Hoàng Anh
Mã sinh viên: B18DCAT006
Nhóm lớp học: 01
Giảng viên giảng dạy: Đ.M.Tuấn
HÀ NỘI – 2021
Trang 2Lời cảm ơn Trước tiên với tình cảm sâu sắc và chân thành nhất, cho phép em được bày tỏ lòng biết ơn đến tất cả các cá nhân và tổ chức đã tạo điều kiện hỗ trợ, giúp đỡ em trong suốt quá trình học tập và nghiên cứu đề tài này Trong suốt thời gian từ khi bắt đầu học tập tại trường đến nay, em đã nhận được rất nhiều sự quan tâm, giúp đỡ của quý Thầy Cô và bạn bè
Với lòng biết ơn sâu sắc nhất, em xin gửi đến quý Thầy Cô ở Khoa Công nghệ thông tin đã truyền đạt vốn kiến thức quý báu cho chúng em trong suốt thời gian học tập tại trường Nhờ có những lời hướng dẫn, dạy bảo của các thầy cô nên đề tài nghiên cứu của em mới có thể hoàn thiện tốt đẹp
Một lần nữa, em xin chân thành cảm ơn thầy/cô – Người đã trực tiếp giúp đỡ, quan tâm, hướng dẫn em hoàn thành tốt bài báo cáo này trong thời gian qua
Bài báo cáo thực tập thực hiện trong khoảng thời gian gần … tuần Bước đầu đi vào thực tế của em còn hạn chế và còn nhiều bỡ ngỡ nên không tránh khỏi những thiếu sót, em rất mong nhận được những ý kiến đóng góp quý báu của quý Thầy Cô để kiến thức của em trong lĩnh vực này được hoàn thiện hơn đồng thời có điều kiện
bổ sung, nâng cao ý thức của mình
Trang 3Mục lục
Mục lục
LỊCH SỬ HÌNH THÀNH 4
TỔNG QUAN 5
CÁCH PHÒNG TRÁNH 10
DEMO DNSENUM VỚI TRANG MỘT SỐ TRANG WEB 11
KẾT LUẬN VÀ SO SÁNH 28
TÀI LIỆU THAM KHẢO 30
Trang 4Lịch sử hình thành
• Kali Linux là một bản phân phối Linux cĩ nguồn gốc Debian được thiết kế cho
pháp y kỹ thuật số và tấn cơng thăm dị Nĩ được Offensive Security Ltd duy trì và tài trợ Mati Aharoni, Devon Kearns and Raphặl Hertzog là những người phát triển cốt lõi của Kali Linux
Kali Linux là một hệ điều hành được sử dụng nhiều trong lĩnh vực bảo mật, bởi cả những hacker tìm cách xâm nhập hệ thống và những chuyên gia về bảo mật muốn bảo vệ các tài nguyên thơng tin Kali Linux cung cấp rất nhiều cơng cụ cho những tác vụ liên quan đến bảo mật
• Dnsenum được tích hợp sẵn trong kali linux dung để thu thập dns
Trang 5Tổng quan
• Tổng quan về DNS
DNS là viết tắt của cụm từ Domain Name System, mang ý nghĩa đầy đủ là hệ thống phân giải tên miền Hiểu một cách ngắn gọn nhất, DNS cơ bản là một hệ thống chuyển đổi các tên miền website mà chúng ta đang sử dụng, ở
dạng www.tenmien.com sang một địa chỉ IP dạng số tương ứng với tên miền đó và
ngược lại
Khi chúng ta nói về liệt kê DNS, chúng ta thường đề cập đến mọi kỹ thuật chúng ta sử dụng để thu thập càng nhiều dữ liệu càng tốt bằng cách truy vấn máy chủ DNS của một trang web hoặc máy chủ lưu trữ DNS thường xuyên là một điểm truy cập bổ ích để thu thập dữ liệu tích cực DNS cung cấp một loạt thông tin về các máy chủ của tổ chức mở, ví dụ, địa chỉ IP, tên máy chủ và tính hữu dụng của máy chủ
- Tương tác với máy chủ DNS
Máy chủ DNS thường sẽ tiết lộ dữ liệu DNS và máy chủ thư cho miền mà nó
có thẩm quyền Vì những lời mời mở cho các địa chỉ máy chủ DNS và thư tạo nên trải nghiệm Internet cơ bản, đó là một nhu cầu Theo mặc định, mọi miền được định cấu hình phải cung cấp ít nhất một DNS và máy chủ thư chịu trách nhiệm cho
miền Ví dụ: hãy kiểm tra miền hackthissite.org (Hack This Site là nơi đào tạo an
toàn, miễn phí và hợp pháp cho các hacker để kiểm tra và mở rộng kỹ năng hack
của họ.) Cho hoạt động này Chúng tôi sẽ sử dụng lệnh “host” , cùng với tham số t” (type), để tìm cả máy chủ DNS và máy chủ thư cho miền hackthissite.org
“-Ví dụ: ( root @ kali : ~ # host -t ns hackthissite.org),
( root @ kali : ~ # host -t mx hackthissite.org)
- Tự động hoá tra cứu
Trang 6Vì chúng tôi có một số thông tin cơ bản từ miền hackthissite.org , chúng tôi
có thể tiếp tục sử dụng các yêu cầu DNS bổ sung để tìm thêm tên máy chủ và địa
chỉ IP thuộc hackthissite.org Ví dụ: chúng tôi có thể chấp nhận rằng miền hackthissite.org có một máy chủ web, có lẽ với tên máy chủ là “www.” Chúng
ta có thể kiểm tra giả thuyết này bằng cách sử dụng lệnh "host" một lần nữa
Ví dụ: ( root @ kali : ~ # host www Hackthissite.org)
- Chuyển vùng DNS
Chuyển vùng giống như một hành động sao chép cơ sở dữ liệu giữa các máy chủ DNS liên quan Quy trình này kết hợp sao chép bản ghi vùng từ máy chủ DNS chính sang máy chủ phụ Bản ghi vùng chứa một bản tóm tắt của tất cả các tên DNS được thiết kế cho vùng đó Theo quy định, việc chuyển vùng phải bị hạn chế đối với các máy chủ DNS nô lệ đã được phê duyệt Đáng buồn thay, nhiều quản trị viên mạng định cấu hình sai máy chủ DNS của họ và do đó, bất kỳ ai yêu cầu bản sao của vùng máy chủ DNS sẽ nhận được Tất cả tên, vị trí và tính hữu dụng của máy chủ có thể được giới thiệu trước những con mắt tò mò Việc chuyển vùng hiệu quả không
dễ dẫn đến vi phạm mạng Có thể như vậy, nó tạo điều kiện thuận lợi cho thủ tục
Các “chủ” lệnh Cú pháp để tạo hình trước một zone transfer là như sau:(máy chủ
-l &-lt;tên miền> &-lt;địa chỉ máy chủ dns>)
• Tổng quan về Dnsenum
DNSEnum là một công cụ khác để định vị tất cả các máy chủ DNS và các mục nhập DNS cho một tổ chức Sử dụng DNSenum để quét máy chủ của bạn để xem thông tin nào được cung cấp công khai
Để bắt đầu sử dụng công cụ này, hãy nhập “dnsenum” vào terminal và chỉ
định tên miền bạn muốn liệt kê Chỉ thực hiện việc này với máy chủ mà bạn có
quyền quét Hướng dẫn này sẽ sử dụng hackthissite.org , một trang web được thiết
kế để kiểm tra các công cụ kiểm tra bút
Ví dụ: ( root @ kali : ~ # dnsenum hackthissite.org)
DNSenum là một công cụ tuyệt vời để thu thập dữ liệu Thông tin là chìa khóa
để hiểu và ngăn chặn các cuộc tấn công Trong nhiều trường hợp, vi phạm bảo mật xảy ra vì một cái gì đó bị bỏ qua Bạn càng làm quen với máy chủ của mình, bạn càng chuẩn bị tốt hơn để tránh vi phạm
I Hướng dẫn cài đặt và sử dụng
Trang 7Chức năng chính của dnsenum: Get được A record hostt address, lấy thông tin name server, MX record , lấy thông tin về sbdomain via google scraping, thực hiện reverse lookups, …
Dnsenum là một công cụ đơn giản Việc sử dụng công cụ này rất dễ dàng vì
nó phân giải và liệt kê thông tin của DNS cho mục tiêu cụ thể Hơn nữa, nó tự động thực hiện chuyển vùng của DNS với sự trợ giúp của chi tiết máy chủ định danh Cấu trúc lệnh: dnsenum <domain> [option]
Các tuỳ chọn:
GENERAL OPTIONS:
dnsserver <server> : Dùng server để truy vấn các bản ghi A, NS và MX
enum : cũng như bạn gõ thêm các tuỳ chọn threads 5 -s 15 -w
-h, help : Hiển thị trợ giúp lên cửa sổ dòng lệnh
noreverse : Bỏ qua reverse lookup
private : Hiển thị và lưu các private ip vào cuối tập tin domain_ips.txt
subfile <file> : Ghi lại các subdomains tìm được vào file
-t, timeout <value> : Giá trị timeout của mỗi thread (mặc định là 10s)
threads <value> : Số tiến trình mà bạn muốn mở để sử dụng truy vấn, mở nhiều tiến trình nếu thiết bị của bạn đáp ứng để tăng tốc quá trình brute force
-v, verbose : Liệt kê các tiến trình và các báo lỗi trong quá trình truy vấn
GOOGLE SCRAPING OPTIONS:
-p, pages <value> : Số lượng trang mà dnsenum sẽ tìm kiếm trên google
(mặc định là 5 trang)
-s, scrap <value> : Số lượng subdomain mà dnsenum sẽ tìm kiếm trên google (mặc định là 15)
BRUTE FORCE OPTIONS:
-f, file <file> : Sử dụng file thư viện cho quá trình brute force
-u, update <a|g|r|z> : Cập nhật các giá trị subdomain tìm được vào file chỉ định (dùng -f <file>)
a (all) Dùng tất cả các kết quả để cập nhật
g Chỉ dùng những kết quả từ google để cập nhật
r Chỉ những kết quả từ reverse lookup để cập nhật
z Chỉ những kết quả từ zonetransfer để cập nhật
Trang 8-r, recursion : Đệ quy các subdomain, brute force từ các subdomain có cùng
NS đã tìm được
WHOIS NETRANGE OPTIONS:
-d, delay <value> : Giới hạn thời gian đợi kết quả truy vấn Whois (mặc định là 3s)
-w, whois : Thực hiện truy vấn Whois trên dãy ip mạng lớp C
*Lưu ý*: Điều này có thể sẽ tạo ra một dãy ip rất lớn, điều này sẽ làm mất thời gian khi reverse lookup
REVERSE LOOKUP OPTIONS:
-e, exclude <regexp> : Loại bỏ các bản ghi PTR phù hợp với biểu thức regex từ kết quả reverse lookup
OUTPUT OPTIONS:
-o output <file> : Xuất file kết quả ra định dạng xml
Ví dụ: Ta sẽ không truy vấn reverse lookup và xuất file kết quả ra thekalitools.xml
root@kali:~# dnsenum thekalitools.com noreverse -o thakalitools.xml
Trang 9Ở đây ta không có tuỳ chọn -f nên quá trình brute force sẽ không xảy ra chỉ đơn thuần là những thông tin bản ghi DNS cơ bản và xuất file xml
Kết thúc: DNSenum là một công cụ khá hữu ích trong quá trình thu thập thông tin
DNS của victim từ một domain chỉ định ban đầu, nó sẽ giúp ích được rất nhiều trong quá trình đánh giá bảo mật của bạn
Cảm ơn bạn đã theo dõi, vui lòng để lại bình luận của bạn bên dưới nếu có bất kỳ câu hỏi hay góp ý cho bài viết Like hoặc Share để giúp chúng tôi tạo động lực tiếp tục mang đến cho các bạn những bài viết bổ ích
- Gói dnsenum
Nó là một tập lệnh Perl đa luồng giúp lặp lại thông tin DNS của miền Nó cũng giúp phát hiện ra các khối IP, đặc biệt là những khối không liền kề Nó bao gồm các hoạt động cơ bản sau:
• Lấy địa chỉ của máy chủ
• Lấy máy chủ định danh
• Có được bản ghi của MX
• Lấy phiên bản liên kết, thực hiện các truy vấn axfr trên máy chủ định danh
• Bây giờ lấy các tên miền phụ và tên phụ với sự trợ giúp của google cạo
• Tệp có tên miền phụ brute force cũng sẽ thực hiện đệ quy trên các tên miền phụ đang có bản ghi NS
• Bây giờ tính toán lớp C của phạm vi mạng miền và thực hiện các truy vấn trên chúng
• Sau đó, thực hiện tra cứu ngược lại các phạm vi thực
• Ghi tệp domain_ips.txt cho các khối ip
Trang 10Cách phòng tránh
Máy chủ không đáng tin cậy sẽ không thể chuyển vùng
Đảm bảo rằng trong các tệp vùng DNS của máy chủ DNS có thể truy cập công cộng, tên máy chủ riêng không được tham chiếu đến địa chỉ IP
Sử dụng các dịch vụ đăng ký cao cấp
Việc thu thập thông tin có tác động quan trọng đối với dự đoán của bất kỳ cam kết kỹ thuật xã hội chuyên gia nào Đó là giai đoạn tẻ nhạt và không ngừng nghỉ của chu kỳ tấn công, nhưng nó thường là yếu tố quyết định thiết yếu của việc đạt được hay thất vọng về trách nhiệm Kỹ sư xã hội chuyên gia phải biết về: Các thiết
bị thu thập thông tin có thể truy cập miễn phí trên web, Nhiều khu vực mở trực tuyến lưu giữ những thông tin thiết yếu, Sản phẩm có thể được sử dụng để giúp tìm kiếm và sắp xếp dữ liệu, Và giá trị hoặc việc sử dụng thông tin vụn vặt thích hợp
có thể được thu thập trên web, qua điện thoại hoặc trực tiếp
Trang 11Demo Dnsenum với trang một số trang web
B1: Cài đặt DNSenum
Trang 13B2: Sau khi đã cài đặt thành công dnsenum Chúng ta sẽ tiến hành thu thập thông tin của một số trang web
• Trang đầu tiên sẽ là thakalitools.xml
- Câu lệnh đầu tiên sử dụng sẽ là:
Trang 14dnsenum thekalitools.com noreverse -o thakalitools.xml
Chúng ta sẽ Get được rất nhiều thông tin từ mail server, subdomain , dải IP block
Trang 15Maill server là mx.yandex.et
Thông tin File Brute forcing
Trang 16IP block
Trang 17Trang thứ 2 sẽ là vnexperss
Để get được rất nhiều thông tin từ mail server, subdomain , dải IP block,
Trang 19Thứ 3: sẽ là lab tự dựng xssdemoweb.herokuapp.com
Trang 20B3: Tiếp theo chúng ta sẽ thực hiện advanced scanning để lấy thêm nhiều thông tin
về site thì có thể tham khảo danh sách tham số đi kèm của tool
Trang 21Lệnh này sẽ thực hiện query whois info và dùng Google để tìm kiếm các
subdomains
dnsenum enum thekalitools.com
Trang 22
dnsenum enum vnexpress.net
Trang 24Dnsenum –enum xssdemoweb.herokuapp.com
Trang 25load balancing detector
Đây là toolcheck xem domain có đang sử dụng load balancing không
Ví dụ lệnh đơn giản
lbd vnexpress.net
vnexpress không có xài load balancing
Trang 26Check trang thekalitool.com thì không thấy dung gì hết
Trang 27Check toidicodedao thì thấy có sử dụng nginx
Trang 28Kết luận và so sánh (sẽ so sánh với dnsmap)
• Kết luận
- Dnsenum:
Các chức năng chính của dnenum
1 Lấy địa chỉ của máy chủ lưu trữ (Bản ghi A)
2 Nhận namservers (luồng)
3 Nhận bản ghi MX (phân luồng)
4 Thực hiện truy vấn axfr trên máy chủ định danh và nhận phiên bản BIND (phân luồng)
5 Nhận thêm tên và tên miền phụ thông qua google tìm kiếm (google query =
“allinurl: -www site: domain”)
6 Tên miền phụ Brute force từ tệp, cũng có thể thực hiện đệ quy trên tên miền phụ có bản ghi NS (tất cả đều được phân luồng)
7 Tính toán phạm vi mạng miền lớp C và thực hiện các truy vấn whois trên chúng (phân luồng)
8 Thực hiện tra cứu ngược trên netranges (C class hoặc / và whois netranges) (phân luồng)
9 Ghi vào tệp tin domain_ips.txt ip-blocks
Chương trình này có thể bị lợi dụng bơi những kẻ lừa đảo tin tặc
Và giúp các chuyên gia an toàn và các bài kiểm tra an toàn bảo mật
Trang 29+ Về Dnsenum sẽ giúp chúng ta thu thập được đa dạng thông tin hơn Dnsmap và các chức năng cũng đa dạng hơn so với Dnsmap
Trang 30Tài liệu tham khảo
https://wiki.matbao.net/dns-la-gi-tam-quan-trong-cua-dns-trong-the-gioi-mang/ https://www.thekalitools.com/
https://www.kali.org/tools/dnsenum/
https://www.giaosucan.com/2020/06/boc-tem-em-kali-linux-part-2.html?m=1&fbclid=IwAR2B9MOdOM1TBOfh2QVDbNhZQKITJJNar5bwSIBfwDg DhpHjWELODeIKANg
Trang 31Các trang web đùng dể demo
https://vnexpress.net/
https://toidicodedao.com/
https://xssdemoweb.herokuapp.com/index.php?area=admin&controller=login&action=index