DNSMAP ban đầu được phát hành vào năm 2006 và được lấy cảm hứng từ câu chuyện hư cấu "The Thief No One Saw" của Paul Craig, có thể được tìm thấy trong cuốn "Stealing the Network - How to
Trang 1Học phần: An toàn mạng Bài báo cáo: Công cụ DNSMAP
Trang 2MỤC LỤC
LỜI CẢM ƠN 3
LỜI MỞ ĐẦU 4
DANH SÁCH CÁC THUẬT NGỮ TIẾNG ANH VÀ VIẾT TẮT 5
DANH MỤC HÌNH ẢNH 6
CHƯƠNG 1: GIỚI THIỆU 7
1 DNSMAP 7
2 Các tính năng : 7
3 Hạn chế : 8
CHƯƠNG 2: CÀI ĐẶT DNSMAP TRÊN LINUX 8
CHƯƠNG 3: CÁCH SỬ DỤNG 9
CHƯƠNG 4: KIỂM TRA / SỬ DỤNG 12
CHƯƠNG 5: DEMO 17
CHƯƠNG 6: KẾT LUẬN 30
DANH MỤC TÀI LIỆU THAM KHẢO 31
Trang 3LỜI CẢM ƠN
Đầu tiên, em xin gửi lời cảm ơn sâu sắc đến Học viện Công nghệ Bưu chính Viễn thông đã đưa môn học Phương pháp luận nghiên cứu khoa học
và trong chương trình giảng dậy Đặc biệt em cảm ơn TS Đặng Minh Tuấn
đã hướng dẫn và truyền đạt lạ kiến thức quý báu cho chúng em trong suốt thời gian học vừa qua Thầy đã giúp chúng em hiểu về tầm quan trọng của môn phương pháp luận trong thực tiễn đời sống Không chỉ thế, thầy còn giảng dạy nhiều câu danh thú vị với nhiều ý nghĩa triết học sâu sắc Môn học rèn luyện cho em những kỹ năng mềm cần thiết, trang bị những kinh nghiệm viết báo cáo và nghiên cứu khoa học hỗ trợ làm đồ án tốt nghiệp Đó thực
sự là những kinh nghiệm bổ ích cho sinh viên năm cuối
Em mong muốn Học viện tiếp tục đưa thêm các môn học thuộc linh vực khoa học vào giảng dạy để giúp sinh viên chúng em có thể nâng cao kiến thức cho chính bản thân cũng như trang bị kiến thức cho cuộc sống, công việc sau này Bài tiểu luận của em không tránh khỏi thiếu sót, kinh mong thầy xem xét và góp ý Em xin chân thành cảm ơn !
Trang 4
LỜI MỞ ĐẦU
Hiện nay, khi nói đến một loạt các công cụ mã nguồn mở có sẵn cho cộng đồng an toàn thông tin vào năm 2021
Cài đặt Kali Linux hoặc bất kỳ bản phân phối dồn nén nào khác cho thấy
số lượng lớn các công cụ trong bối cảnh an toàn thông tin ngày nay giúp công việc của các nhà nghiên cứu, nhà phân tích và các chuyên gia bảo mật khác dễ dàng hơn, nhanh hơn và chính xác hơn Mặc dù nhiều công
cụ cũ hơn vẫn còn hạn chế về dung lượng, nhưng tính đơn giản của chúng tạo cơ hội cho người mới bắt đầu hoặc thậm chí những người có thời gian hạn chế có thể tiến hành nghiên cứu một cách nhanh chóng Dnsmap đánh dấu sư khởi đầu của bộ công cụ ngày càng phát triển và được sử dụng rộng rãi
Trang 5DANH SÁCH CÁC THUẬT NGỮ TIẾNG ANH VÀ VIẾT TẮT
Trang 6DANH MỤC HÌNH ẢNH
Hình 1: Các tùy chọn trong DNS 10
Hình 2: Kết quả chạy thử dnsmap 1 12
Hình 3: Kết quả chạy thử dnsmap 2 13
Hình 4: Kết quả chạy thử 3 14
Hình 5: Kết quả chạy thử 4 15
Hình 6: Kết quả chạy thử 5 16
Hình 7: Giao diện Kali 17
Hình 8: Giao diện lệnh dnsmap 17
Hình 9: Một vài tên miền tìm thấy 18
Hình 10: Kết quả chạy lênh 02 18
Hình 11: Thư mục nơi chứa kết quả lệnh 02 19
Hình 12; Kết quả của lệnh 02 19
Hình 13: Kết quả chạy lệnh 03 20
Hình 14: Các địa chỉ tìm thấy sau khi chạy lệnh 4 20
Hình 15: Các địa chỉ tìm thấy sau khi chạy lệnh 4 21
Hình 16: Các địa chỉ tìm thấy sau khi chạy lệnh 4 21
Hình 17: Các địa chỉ tìm thấy sau khi chạy lệnh 4 22
Hình 18: Các địa chỉ tìm thấy sau khi chạy lệnh 4 22
Hình 19: Tên miền sử dụng được 23
Hình 20: Tên miền sử dụng được 23
Hình 21: Tên miền hỏng 24
Hình 22: Tên miền hỏng 24
Hình 23: Kết quả chạy lệnh 5 25
Hình 24: Kết quả chạy lệnh 6 26
Hình 25: Kết quả chạy lệnh 7 26
Hình 26: Kết quả chạy lệnh 8 27
Hình 27: Kết quả chạy lệnh 9 27
Hình 28: Kết quả chạy lệnh 10 28
Hình 29: Kết quả chạy lệnh 10 28
Hình 30: Các chuỗi wordlist 29
Hình 31: Kết quả chạy lênh 11 29
Trang 7CHƯƠNG 1: GIỚI THIỆU
1 DNSMAP
DNSMAP là một công cụ để xác định các miền phụ của một miền nhất định
DNSMAP ban đầu được phát hành vào năm 2006 và được lấy cảm hứng
từ câu chuyện hư cấu "The Thief No One Saw" của Paul Craig, có thể được tìm thấy trong cuốn "Stealing the Network - How to 0wn the Box", dnsmap chủ yếu được sử dụng bởi pentesters trong giai đoạn thu thập / điều tra thông tin của các đánh giá an ninh cơ sở hạ tầng Trong giai đoạn điều tra, nhà tư vấn bảo mật thường sẽ phát hiện ra các netblock IP, tên miền, số điện thoại,v.v của công ty mục tiêu
Brute-force tên miền phụ là một kỹ thuật khác nên được sử dụng trong giai đoạn liệt kê, vì nó đặc biệt hữu ích khi các kỹ thuật liệt kê miền khác như chuyển vùng không hoạt động
DNSMAP cung cấp khả năng tìm dữ liệu OSINT như tên miền phụ và địa chỉ IP được liên kết với mỗi tên miền
Điều này có thể giúp các nhà nghiên cứu phát hiện ra các bài kiểm tra hoặc các miền phụ khác không nhất thiết phải tiếp xúc với Internet, làm tăng diện tích bề mặt tấn công trong một tổ chức
2 Các tính năng :
được cài đặt sẵn Nếu bạn đang sử dụng bất kỳ bản phân phối Linux nào khác, việc cài đặt dnsmap chỉ mất chưa đầy một phút
hẹp và thực hiện tốt điều đó Điều này làm cho việc học và sử dụng công cụ trở nên dễ dàng
Trang 8 Vintage : dnsmap đã được thử nghiệm trong trận chiến — nó đã tồn tại trong nhiều năm và vẫn có sẵn trên nhiều bản phân phối bị dồn nén
3 Hạn chế :
lỗi mới trong phần mềm có thể không được vá
quyết trong các phiên bản tương lai
4 Sử dụng dnsmap cho ta thấy:
Tìm kiếm các máy chủ truy cập từ xa
Tìm các máy chủ được cấu hình sai và / hoặc chưa được sửa lỗi
Tìm tên miền mới sẽ cho phép bạn lập bản đồ các khối ròng không rõ ràng / khó tìm
Đôi khi bạn nhận thấy rằng một số miền phụ bắt buộc thô bạo phân giải thành địa chỉ IP nội bộ (RFC 1918) Điều này thật tuyệt vì đôi khi chúng là các bản ghi “A” được cập nhật thực sự có nghĩa là * có thể * liệt kê các máy chủ nội bộ của một tổ chức mục tiêu từ Internet bằng cách chỉ sử dụng phân giải DNS tiêu chuẩn (chẳng hạn như chuyển vùng )
Khám phá các thiết bị nhúng được định cấu hình bằng dịch vụ DNS động
CHƯƠNG 2: CÀI ĐẶT DNSMAP TRÊN LINUX
- Ví dụ về cài đặt thủ công: $ sudo apt-get install dnsmap
Trang 9CHƯƠNG 3: CÁCH SỬ DỤNG
- Bruteforcing có thể được thực hiện bằng danh sách từ tích hợp của dnsmap hoặc danh sách từ do người dùng cung cấp Kết quả có thể được lưu ở định dạng CSV và con người có thể đọc được để xử lý thêm
dnsmap không KHÔNG yêu cầu quyền root để được chạy và KHÔNG được chạy với các đặc quyền như vậy đối với lý do an ninh
- Cú pháp sử dụng có thể được lấy bằng cách đơn giản chạy dnsmap mà không có bất kỳ tham số nào: $ /dnsmap
- Cách sử dụng: dnsmap <target-domain> [tùy chọn] tùy chọn:
-w <wordlist-file>: tùy chọn được sử dụng để cung cấp tệp danh sách từ
mà bạn muốn sử dụng để brute forcing Nếu bạn không cung cấp tùy chọn này, DNSMAP sẽ sử dụng tệp mặc định
-r <regular-results-file> : Tùy chọn này được sử dụng để lưu trữ kết quả vào một tệp văn bản Tại đây có thể cung cấp đường dẫn tệp kết quả mà
ta muốn lưu trữ kết quả Nếu không cung cấp tùy chọn này, nó sẽ chỉ hiển thị kết quả trên màn hình
-c <csv-results-file> : Tùy chọn tải xuống này giống như tùy chọn -r
-d <delay-millisecs>: Tùy chọn này được sử dụng nếu muốn cung cấp độ trễ giữa 2 lần tra cứu DNS Nếu không cung cấp tùy chọn này, tùy chọn này sẽ sử dụng độ trễ 10ms mặc định của hệ thống
Trang 10-i <ips-to-ignore>: Tùy chọn này được sử dụng cho trường hợp dương tính giả, tức là nếu bạn muốn bỏ qua bất kỳ IP nào khỏi tra cứu
Hình 1: Các tùy chọn trong DNS
- Lưu ý: giá trị trễ là giá trị ngẫu nhiên lớn nhất ví dụ: nếu bạn nhập
1000, mỗi yêu cầu DNS sẽ bị trễ * tối đa * 1 giây
Trang 11- Tên miền phụ bruteforcing bằng cách sử dụng danh sách từ tích hợp và lưu kết quả vào / tmp /:
$ /dnsmap targetdomain.foo -r / tmp /
- Vì không có tên tệp nào được cung cấp trong ví dụ trước, mà chỉ có một đường dẫn, dnsmap sẽ tạo một tên tệp duy nhất bao gồm dấu thời gian hiện tại ví dụ: /tmp/dnsmap_targetdomain_foo_2009_12_15_234953.txt
- Ví dụ về bruteforcing tên miền phụ bằng cách sử dụng danh sách từ tích hợp, lưu kết quả vào / tmp /, và chờ tối đa ngẫu nhiên 3 mili giây giữa mỗi yêu cầu:
$ /dnsmap targetdomain.foo -r / tmp / -d 300
- Bruteforcing tên miền phụ với độ trễ 0,8 giây, lưu kết quả ở định dạng thông thường và CSV, lọc 2 IP do người dùng cung cấp và sử dụng danh sách từ do người dùng cung cấp:
$ /dnsmap targetdomain.foo -d 800 -r / tmp / -c / tmp / -i
10.55.206.154,10.55.24.100 -w /wordlist_TLAs.txt
- Để tạo ra một danh sách tên miền mục tiêu hàng loạt, hãy sử dụng tập lệnh bash được cung cấp ví dụ: $ /dnsmap-bulk.sh domains.txt / tmp / results /
Trang 12CHƯƠNG 4: KIỂM TRA / SỬ DỤNG
- Đầu tiên chạy quét vani : ./dnsmap nytimes.com -d 100 -r testdata/
Hình 2: Kết quả chạy thử dnsmap 1
- Nhìn vào kết quả đầu ra, có thể thấy rằng 37 tên miền phụ và 74 địa chỉ
IP đã được tìm thấy
Trang 13Hình 3: Kết quả chạy thử dnsmap 2
- Tiếp đến : /dnsmap nytimes.com -d 100 -w st_words.txt
- Trong lệnh này, sử dụng – w để trỏ đến tệp wordlist Bản thân tệp chứa mỗi từ trên một dòng không có dấu phẩy hoặc các dấu phân cách khác
Trang 14Hình 4: Kết quả chạy thử 3
- Sau khi chạy quá trình quét này, có vẻ như sự cố có thể xảy ra với chính công cụ chứ không phải danh sách từ Thử một lần kiểm tra nữa để xem liệu có thể xem các miền phụ lồng nhau hay không:
./dnsmap cn.nytimes.com -d 100 -w st_words.txt -r testdata/
Trang 15Hình 5: Kết quả chạy thử 4
- Điều này dường như đã hoạt động một phần, vì đã tìm thấy 3 trong số các miền phụ lồng nhau (cấp 2) Đây có thể là một hạn chế của công cụ, không thể tìm thấy các miền phụ lồng nhau một cách chính xác
- Thử nghiệm cuối cùng sử dụng tập lệnh shell để tìm nạp các miền phụ của một số miền quảng cáo độc hại mà Sửa đổi tập lệnh shell một chút vì không làm cho dnsmaplệnh có thể thực thi trên toàn cầu
Trang 16Hình 6: Kết quả chạy thử 5
- Sử dụng danh sách từ có sẵn và tập lệnh shell để tìm miền phụ của 13 miền này, không thu được kết quả nào
Trang 17CHƯƠNG 5: DEMO
Hình 7: Giao diện Kali
->dnsmap:
Hình 8: Giao diện lệnh dnsmap
Trang 18- Lệnh 1: Nhập dnsmap và tên miền #dnsmap zonetransfer.me
Hình 9: Một vài tên miền tìm thấy
- Tìm thấy 1 vài tên miền phụ có sẵn cho viêc giả mạo chuyển vùng
- Lệnh 2:
- Kết quả này được lưu vào tệp nếu sử dụng –r và có thể trỏ nó đến vị trí
muốn lưu tệp:
~# dnsmap zonetransfer.me –r ~/Desktop/zonetransferme/ztm2.txt
Hình 10: Kết quả chạy lênh 02
Trang 19
Hình 11: Thư mục nơi chứa kết quả lệnh 02
Hình 12; Kết quả của lệnh 02
Trang 21Hình 15: Các địa chỉ tìm thấy sau khi chạy lệnh 4
Hình 16: Các địa chỉ tìm thấy sau khi chạy lệnh 4
Trang 22Hình 17: Các địa chỉ tìm thấy sau khi chạy lệnh 4
Hình 18: Các địa chỉ tìm thấy sau khi chạy lệnh 4
Trang 23- Khi tìm kiếm tên miền trên gg:
Hình 19: Tên miền sử dụng được
Hình 20: Tên miền sử dụng được
Trang 24- Một số tên miền có thể không sử dụng được:
Hình 21: Tên miền hỏng
Hình 22: Tên miền hỏng
Trang 25Lệnh 5: ~#dnsmap google.fr
Hình 23: Kết quả chạy lệnh 5
Trang 26- Lệnh 6: ~#dnsmap google.fr –w /root/Desktop/domainslist
Hình 24: Kết quả chạy lệnh 6
- Lệnh 7: ~#dnsmap google.fr –w /root/Desktop/domainslist –d 5000
Hình 25: Kết quả chạy lệnh 7
Trang 28- Lệnh 10: ~#dnsmap facebook.com –r /root/Schreibtisch/speichere.txt
Hình 28: Kết quả chạy lệnh 10
Hình 29: Kết quả chạy lệnh 10
Trang 29- Lệnh 11: ~#cd /urs/share/dnsmap/wordlist.txt
Hình 30: Các chuỗi wordlist
- Lệnh 11: ~#dnsmap facebook.com –w /root/Schreibtisch/hacklist.txt –r /root/Schreibtisch/save.txt
Hình 31: Kết quả chạy lênh 11
Trang 30CHƯƠNG 6: KẾT LUẬN
DNSMAP thực sự dễ cài đặt và sử dụng Các công cụ khác làm được nhiều hơn đương nhiên sẽ có đường cong học tập cao hơn Vì vậy, nếu chỉ mới bắt đầu và tìm hiểu về OSINT, dnsmap là một khởi đầu tuyệt vời
để hiểu rõ về trinh sát và thu thập thông tin tình báo mà không mất hàng giờ tìm cách cài đặt và sử dụng các công cụ
Một nhược điểm của dnsmap là khả năng phát hiện tên miền phụ của
nó không chính xác 100%, dựa trên các thử nghiệm mà chúng tôi đã chạy
ở trên Với một số lần mày mò, chúng tôi đã có thể tìm thấy các miền phụ lồng nhau, nhưng khả năng tìm thấy các miền phụ ở mọi cấp độ có thể là tiêu chuẩn trong hầu hết các công cụ do thám hiện đại
Trang 31DANH MỤC TÀI LIỆU THAM KHẢO
[1] 2 2 2021 [Online] Available: https://github.com/resurrecting-open-source-projects/dnsmap [2] 2 2020 [Online] Available: https://www.hackingloops.com/tag/dnsmap-tutorial/
[3] [Online] Available: https://www.kali.org/tools/dnsmap/
[4] [Online] Available: https://securitytrails.com/blog/dnsmap
[5] [Online] Available: linux.html
http://blog.securityfuse.com/2015/06/dns-brute-forcing-with-dnsmap-kali-[6] [Online] Available: https://www.thekalitools.com/