Rate this post

Việc khai thác thành công loại lỗ hổng này cho phép kẻ thù xác nhận quyền sở hữu và kiểm soát miền phụ của nạn nhân. Cuộc tấn công này dựa trên những điều sau:

  • Bản ghi miền phụ máy chủ DNS bên ngoài của nạn nhân được định cấu hình để trỏ đến tài nguyên / dịch vụ bên ngoài / điểm cuối không tồn tại hoặc không hoạt động / dịch vụ bên ngoài. Sự gia tăng của các sản phẩm XaaS (Anything as a Service) và các dịch vụ đám mây công cộng đưa ra rất nhiều mục tiêu tiềm năng cần xem xét.
  • Nhà cung cấp dịch vụ lưu trữ tài nguyên / dịch vụ bên ngoài / điểm cuối không xử lý xác minh quyền sở hữu miền phụ đúng cách.

Các bài viết liên quan:

Nếu việc tiếp quản tên miền phụ thành công, sẽ có rất nhiều cuộc tấn công có thể xảy ra (phân phát nội dung độc hại, lừa đảo, đánh cắp cookie phiên người dùng, thông tin đăng nhập, v.v.). Lỗ hổng này có thể bị khai thác cho nhiều loại bản ghi tài nguyên DNS bao gồm: A, CNAME, MX, NS, TXT, v.v. Về mức độ nghiêm trọng của cuộc tấn công, việc tiếp quản tên miền phụ NS (mặc dù ít khả năng hơn) có tác động cao nhất vì một cuộc tấn công thành công có thể dẫn đến toàn quyền kiểm soát toàn bộ vùng DNS và miền của nạn nhân.

GitHub

  • Nạn nhân (victim.com) sử dụng GitHub để phát triển và định cấu hình bản ghi DNS (coderepo.victim.com) để truy cập nó.
  • Nạn nhân quyết định di chuyển kho code của họ từ GitHub sang một nền tảng thương mại và không xóa coderepo.victim.com khỏi máy chủ DNS của họ.
  • Kẻ thù phát hiện ra rằng coderepo.victim.com được lưu trữ trên GitHub và sử dụng Trang GitHub để yêu cầu coderepo.victim.com bằng tài khoản GitHub của họ.

Miền hết hạn

  • Nạn nhân (victim.com) sở hữu một miền khác (victi motherdomain.com) và sử dụng bản ghi CNAME (www) để tham chiếu đến miền khác (www.victim.com -> victimotherdomain.com)
  • Vào một thời điểm nào đó, victi Motherdomain.com sẽ hết hạn và có thể được đăng ký bởi bất kỳ ai. Vì bản ghi CNAME không bị xóa khỏi vùng DNS của nạn nhân.com, nên bất kỳ ai đăng ký victi Motherdomain.com đều có toàn quyền kiểm soát www.victim.com cho đến khi có bản ghi DNS.

Xem thêm Kiểm tra lỗ hổng Session Fixation

Mục tiêu kiểm tra

  • Liệt kê tất cả các miền có thể có (trước đó và hiện tại).
  • Xác định các miền bị quên hoặc bị định cấu hình sai.

Làm thế nào để kiểm tra

Blackbox testing

Bước đầu tiên là liệt kê các máy chủ DNS nạn nhân và các bản ghi tài nguyên. Có nhiều cách để thực hiện tác vụ này, chẳng hạn như liệt kê DNS bằng cách sử dụng danh sách từ điển tên miền phụ phổ biến, DNS brute force hoặc sử dụng công cụ tìm kiếm web và các nguồn dữ liệu OSINT khác.

Sử dụng lệnh đào, người kiểm tra sẽ tìm kiếm các thông báo phản hồi của máy chủ DNS sau để đảm bảo điều tra thêm:

  • NXDOMAIN
  • SERVFAIL
  • REFUSED
  • no servers could be reached.

Kiểm tra DNS A, CNAME Record Subdomain Takeover

Thực hiện liệt kê DNS cơ bản trên miền của nạn nhân (nạn nhân.com) bằng cách sử dụng dnsrecon:

$ ./dnsrecon.py -d victim.com
[*] Performing General Enumeration of Domain: victim.com
...
[-] DNSSEC is not configured for victim.com
[*]      A subdomain.victim.com 192.30.252.153
[*]      CNAME subdomain1.victim.com fictioussubdomain.victim.com
...

Xác định bản ghi tài nguyên DNS nào đã chết và trỏ đến các dịch vụ không hoạt động / không được sử dụng. Sử dụng lệnh đào cho bản ghi CNAME:

$ dig CNAME fictioussubdomain.victim.com
; <<>> DiG 9.10.3-P4-Ubuntu <<>> ns victim.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 42950
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

Các phản hồi DNS sau đây cần được điều tra thêm: NXDOMAIN.

Để kiểm tra bản ghi A, người kiểm tra thực hiện tra cứu cơ sở dữ liệu whois và xác định GitHub là nhà cung cấp dịch vụ:

$ whois 192.30.252.153 | grep "OrgName"
OrgName: GitHub, Inc.

Người thử nghiệm truy cập subdomain.victim.com hoặc đưa ra yêu cầu HTTP GET trả về phản hồi “404 – Không tìm thấy tệp”, đây là một dấu hiệu rõ ràng về lỗ hổng bảo mật.

Người kiểm tra xác nhận miền bằng cách sử dụng Trang GitHub:

Thử nghiệm Tiếp quản tên miền phụ của Bản ghi NS

Xác định tất cả các máy chủ định danh cho miền trong phạm vi:

$ dig ns victim.com +short
ns1.victim.com
nameserver.expireddomain.com

Trong ví dụ thú vị này, người kiểm tra sẽ kiểm tra xem miền hết hạn miền.com có ​​đang hoạt động hay không bằng cách tìm kiếm công ty đăng ký miền. Nếu miền có sẵn để mua, miền phụ sẽ dễ bị tấn công.

Các phản hồi DNS sau đây đảm bảo sẽ được điều tra thêm: SERVFAIL hoặc REFUSED.

Gray-box testing

Người kiểm tra có sẵn tệp vùng DNS, có nghĩa là không cần thiết phải liệt kê DNS. Phương pháp kiểm tra cũng giống như vậy.

Biện pháp khắc phục hậu quả

Để giảm thiểu rủi ro bị chiếm đoạt tên miền phụ, (các) bản ghi tài nguyên DNS dễ bị tấn công phải được xóa khỏi vùng DNS. Theo dõi liên tục và kiểm tra định kỳ được khuyến nghị là phương pháp tốt nhất.

Công cụ

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now