FQDN Takeover on All Shopify Wholesale Customer Domains by Trailing Dot (RFC 1034) subdomain-takeovers

Shopify cho phép customer gắn custom domain vào một Wholesale shop với điều kiện là phải có CNAME record trỏ đến wholesale-shops.shopifyapps.com.

Attacker có thể sử dụng reverse CNAME lookup đề tìm các custom domain. Sau đó, attacker sẽ thử cố takeover custom domain của customer để host malicious content mà không cần kiểm soát DNS records bằng cách thông qua tính năng connect domain của Wholesale shop. Ví dụ, attacker muốn takeover domain shop.inti.io thì có thể thử các domain sau:

  • shOP.IntI.Io: nếu server so sánh chuỗi case-insensitive thì có thể bị takeover do domain này và shop.inti.io là giống nhau.
  • www.shop.inti.io: nếu server không kiểm tra subdomain www mà xem đây là một domain mới thì vẫn có thể bị takeover do nó giống với domain shop.inti.io.
  • shop.into.io: chắc chắn sẽ xảy ra lỗi do domain này đã được customer claim.

Tuy nhiên, khi sử dụng shop.inti.io. thì thấy rằng có thể claim domain này.

Về bản chất, domain shop.inti.io. được gọi là FQDN (full qualified domain name) hay absolute domain. Theo đặc tả RFC 1034, mỗi part trong domain đều là label và dấu chấm, kể cả top-level domain (TLD). Nếu part không có dấu chấm thì nó sẽ hiểu đây là relative domain và nếu máy tính có sử dụng search domain, chẳng hạn như example.com thì khi ta nhập vào en, nó sẽ tự thêm search domain vào và xây dựng FQDN thành en.example.com.

Đặc tả của HTTP cũng tôn trọng điều này và định nghĩa rằng host trong //<user>:<password>@<host>:<port>/<url-path> cần phải là FQDN:

3.1. Common Internet Scheme Syntax
	//<user>:<password>@<host>:<port>/<url-path>
 
host
	The fully qualified domain name of a network host

Seealso

Tuy nhiên, một số browser lại không quan tâm đến điều này và cho phép người dùng nhập www.shop.inti.io, shop.inti.ioshop.inti.io. nhưng cả 3 đều có thể được resolve về shop.inti.io.. Dẫn đến, khi attacker host malicious content ở trên shop.inti.io. thì nó có thể được serve cho domain shop.inti.io (không có dấu chấm) của customer sau khi DNS/TLS được propagate.

Seealso

Subdomain Takeover of ████.jitsi.net subdomain-takeovers

Domain ████.jitsi.net trỏ đến một AWS EC2 instance có IP là 18.195.93.116 và không còn tồn tại. Attacker có thể kiểm soát IP này và tự chạy EC2 instance để serve malicious content, lấy TLS certificate cho domain, etc.

% dig +short ██████.jitsi.net
18.195.93.116
 
% curl ██████████.jitsi.net
<!-- hackerone.com/ian -->

Ngoài ra, nếu OAuth whitelist domain này hoặc cookie có scope là domain này thì cũng có thể bị bypass.

Subdomain Takeover ██████ subdomain-takeovers

Có một subdomain trỏ đến open-elb-prod-277276106.us-east-1.elb-amazonaws.com. và domain elb-amazonaws.com mà có thể được đăng ký.

Impact:

  • Attacker host malicious content ở domain mà có CNAME record trỏ đến open-elb-prod-277276106.us-east-1.elb-amazonaws.com..
  • Nhận email cho các subdomains khác nhau của elb-amazonaws.com.
  • Thực thi XSS, đánh cắp cookie hoặc dụ dỗ password manager fill passwords.

Mitigation: xóa CNAME record.

S3 Bucket Takeover Presented in https://github.com/reddit/rpan-studio/blob/e1782332c75ecb2f774343258ff509788feab7ce/CI/full-build-macos.sh subdomain-takeovers

Khi audit source code, attacker phát hiện file https://github.com/reddit/rpan-studio/blob/e1782332c75ecb2f774343258ff509788feab7ce/CI/install-dependencies-osx.sh có sử dụng một S3 bucket chưa được claim (https://obs-nightly.s3-us-west-2.amazonaws.com/).

Điều này dẫn đến attacker có thể claim S3 bucket này bằng cách tạo bucket tên là obs-nightly ở us-west-2 region rồi host các malware ở trên đó để có thể được thực thi khi có ai đó chạy code.

Possible (we Need to Wait for Some time) Takeover of Subdomain badootech.badoo.com Which is Pointing to Medium Servers subdomain-takeovers

Attacker tìm thấy subdomain mới ở https://badootech.badoo.com/ và khi truy cập thì nó hiển thị icon của Medium kèm với chuỗi “Oops! We couldn’t find that page. Sorry about that.”

DNS records của domain này là:

badootech.badoo.com. 21399 IN A 52.1.173.203
badootech.badoo.com. 21399 IN A 52.4.225.124
badootech.badoo.com. 21399 IN A 52.0.16.118
badootech.badoo.com. 21399 IN A 52.1.147.205
badootech.badoo.com. 21399 IN A 52.4.145.119
badootech.badoo.com. 21399 IN A 52.4.240.221
badootech.badoo.com. 21399 IN A 52.4.38.70
badootech.badoo.com. 21399 IN A 52.4.175.111
badootech.badoo.com. 21399 IN A 52.6.3.192
badootech.badoo.com. 21399 IN A 52.6.46.142
badootech.badoo.com. 21399 IN A 52.1.119.170
badootech.badoo.com. 21399 IN A 52.5.181.79

Đây là các records dùng để cấu hình custom domain cho Medium.

Vấn đề là công ty chưa claim domain badootech.badoo.com nhưng đã thiết lập các DNS records. Dẫn đến, attacker có thể claim domain này để thực hiện subdomain takeover.