Viblo CTF
+7

Khai thác subdomain takeover thông qua Azure

Hey! Chào các bạn. Chào mừng các bạn đã quay trở lại chủ đề Subdomain takeover của mình. Ở bài trước mình có viết bài chia sẻ cách mình chiếm subdomain của trường MIT (link). Trong bài đó mình có trình bày cơ bản về quá trình phân giải DNS và giải thích tại sao lỗi lại xảy ra, cuối cùng là demo với mục tiêu là trường MIT. Để chiếm được subdomain của trường MIT mình đã khai thác thông tính năng github page của github. Người quản trị đã không xóa DNS trỏ tới github page khi github page đã xóa từ đó mình đăng ký lại và đã chiếm được subdomain.

Trong bài này mình sẽ giới thiệu đến các bạn cách chiếm domain thông qua dịch vụ Azure của Microsoft. Để hiểu được tại sao lỗi xảy ra các bạn có thể đọc qua bài này của mình. Để tiện theo dõi mình xin nhắc lại.

Lỗi xảy ra khi quả trị viên trỏ domain subdomain.target.com tới domain service.provider.com của nhà cung cấp dịch vụ nào đó như: Amazon, Microsoft,... Khi service.provider.com đã xóa mà bản ghi DNS vẫn chưa xóa. Khi đó, ta đăng ký lại domain service.provider.com thì sẽ chiếm được domain subdomain.target.com.

Trong quá trình viết bài mình đã giành ra rất nhiều thời gian để tìm mục tiêu để demo cho bạn đọc có cái nhìn trực quan hơn. Mình đã lang thang trên google đã rất hên xui kiếm được một target để POC lại 😂.

Tìm kiếm mục tiêu

Mục tiêu thì tùy mỗi người có một cách chọn. Mình lên google gõ vài từ khóa và tìm mục tiêu nào trông có vẻ to thì mình tấn công vào. Vì mục tiêu to thì có nhiều dịch vụ, nhiều domain nên khả năng tìm được lỗi sẽ cao hơn. Khi tìm được mục tiêu rồi thì mình tiến hành tìm subdomain và lọc ra các domain còn sống và lưu vào một file.

Tool tìm subdomain:

  • assetfinder
  • subfinder
  • amass

Lọc domain còn sống:

  • httpx

Câu lệnh mình chạy

assetfinder -d target.com | httpx --threads 100 | tee target.com.alive

Tìm lỗi

Sau khi đã có list subdomain tiếp tục mình dùng tool nuclei để tìm lỗi subdomain takeover.

cat target.com.alive | nuclei -t ~/nuclei-templates -o target.com.nuclei

Sau khi đã có kết quả mình tiến hành kiểm tra lại.

dig subdomain.target.com

Đến đây là mình đã chắc chắn có thể chiếm được subodomain này rồi! 😱

Khai thác lỗi

Trong ví dụ này, subdomain được trỏ tới dịch vụ Web service của Azure. Nên mình sẽ đăng ký dịch vụ web service với tên là xxx tương ứng với CNAMExxx.azurewebsites.net. Có lẽ các bạn sẽ tự hỏi tại sao mình lại biết đó là dịch vụ gì? Để biết thêm chi tiết các bạn tham khảo link.

Các bước khai thác sẽ được mô tả bằng hình ảnh ở dưới.

Nếu có thể tạo được dịch vụ sẽ có dấu tích xanh như hình. Tiếp đó ta chọn các trường * đỏ theo yêu cầu và chọn Review + create. Như vậy là đã chiếm subdomain thành công.

Do tài khoản của mình tạo nhiều dịch vụ quá đã hết phần sử dụng miễn phí nên đã bị disable. Nên sẽ không có phần hiển thị đã khai thác thành công. Nhưng các bạn yên tâm đến bước này là chắc chắn khai thác thành công rồi.

Bài của mình xin tạm dừng tại đây. Các bạn hãy tự tìm mục tiêu riêng cho mình và POC lại nhé.

Cảm ơn các bạn đã đọc bài.

Tham khảo

Các bạn có thể đọc thêm để tham khảo https://godiego.tech/posts/STO/#azure-websites


All Rights Reserved