diff --git a/pentesting-web/domain-subdomain-takeover.md b/pentesting-web/domain-subdomain-takeover.md index 51a3ff3bd..c0a490751 100644 --- a/pentesting-web/domain-subdomain-takeover.md +++ b/pentesting-web/domain-subdomain-takeover.md @@ -1,16 +1,16 @@ -# Domain/Subdomain takeover +# 도메인/서브도메인 탈취 {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWS 해킹 배우기 및 연습하기:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCP 해킹 배우기 및 연습하기: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Support HackTricks +HackTricks 지원하기 -* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! -* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. +* [**구독 계획**](https://github.com/sponsors/carlospolop) 확인하기! +* **💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 참여하거나 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.** +* **[**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 리포지토리에 PR을 제출하여 해킹 팁을 공유하세요.**
{% endhint %} @@ -18,20 +18,20 @@ Learn & practice GCP Hacking:
\ -Use [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=domain-subdomain-takeover) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\ -Get Access Today: +[**Trickest**](https://trickest.com/?utm\_source=hacktricks\&utm\_medium=text\&utm\_campaign=ppc\&utm\_term=trickest\&utm\_content=domain-subdomain-takeover)를 사용하여 세계에서 **가장 진보된** 커뮤니티 도구로 구동되는 **워크플로우를 쉽게 구축하고 자동화**하세요.\ +오늘 액세스하세요: {% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=domain-subdomain-takeover" %} -## Domain takeover +## 도메인 탈취 -어떤 서비스에서 **사용되고 있는 도메인(domain.tld)**을 발견했지만 **회사**가 **소유권**을 **잃은 경우**, 이를 **등록**(가격이 저렴할 경우)하고 회사에 알릴 수 있습니다. 이 도메인이 **GET** 매개변수나 **Referer** 헤더를 통해 세션 쿠키와 같은 **민감한 정보**를 받고 있다면, 이는 확실히 **취약점**입니다. +어떤 서비스에서 사용 중인 도메인(domain.tld)을 발견했지만 **회사가** **소유권을 잃은** 경우, 이를 **등록**(가격이 저렴할 경우)하고 회사에 알릴 수 있습니다. 이 도메인이 **GET** 매개변수나 **Referer** 헤더를 통해 세션 쿠키와 같은 **민감한 정보**를 받고 있다면, 이는 확실히 **취약점**입니다. -### Subdomain takeover +### 서브도메인 탈취 -회사의 서브도메인이 **등록되지 않은 이름의 제3자 서비스**를 가리키고 있습니다. 이 **제3자 서비스**에서 **계정을 생성**하고 사용 중인 **이름**을 **등록**할 수 있다면, 서브도메인 인수 공격을 수행할 수 있습니다. +회사의 서브도메인이 **등록되지 않은 이름의 제3자 서비스**를 가리키고 있습니다. 이 **제3자 서비스**에서 **계정을 생성**하고 사용 중인 **이름을 등록**할 수 있다면, 서브도메인 탈취를 수행할 수 있습니다. -가능한 인수 공격을 확인하기 위한 여러 도구가 있습니다: +가능한 탈취를 확인하기 위한 여러 도구가 있습니다: * [https://github.com/EdOverflow/can-i-take-over-xyz](https://github.com/EdOverflow/can-i-take-over-xyz) * [https://github.com/blacklanternsecurity/bbot](https://github.com/blacklanternsecurity/bbot) @@ -45,82 +45,78 @@ Get Access Today: * [https://github.com/antichown/subdomain-takeover](https://github.com/antichown/subdomain-takeover) * [https://github.com/musana/mx-takeover](https://github.com/musana/mx-takeover) * [https://github.com/PentestPad/subzy](https://github.com/PentestPad/subzy) +* [https://github.com/Stratus-Security/Subdominator](https://github.com/Stratus-Security/Subdominator) -#### Scanning for Hijackable Subdomains with [BBOT](https://github.com/blacklanternsecurity/bbot): +### DNS 와일드카드를 통한 서브도메인 탈취 생성 -서브도메인 인수 공격 검사는 BBOT의 기본 서브도메인 열거에 포함되어 있습니다. 서명은 [https://github.com/EdOverflow/can-i-take-over-xyz](https://github.com/EdOverflow/can-i-take-over-xyz)에서 직접 가져옵니다. -```bash -bbot -t evilcorp.com -f subdomain-enum -``` -### Subdomain Takeover Generation via DNS Wildcard - -DNS 와일드카드가 도메인에 사용될 때, 해당 도메인의 다른 주소가 명시적으로 없는 모든 요청된 서브도메인은 **같은 정보로 해결됩니다**. 이는 A IP 주소, CNAME 등이 될 수 있습니다... +도메인에서 DNS 와일드카드가 사용될 경우, 해당 도메인의 요청된 서브도메인이 명시적으로 다른 주소가 없으면 **같은 정보로 해결**됩니다. 이는 A IP 주소, CNAME 등이 될 수 있습니다. 예를 들어, `*.testing.com`이 `1.1.1.1`로 와일드카드 처리되면, `not-existent.testing.com`은 `1.1.1.1`을 가리키게 됩니다. -그러나 IP 주소를 가리키는 대신, 시스템 관리자가 **CNAME을 통해 제3자 서비스**로 가리키게 하면, 예를 들어 **github 서브도메인**(`sohomdatta1.github.io`)과 같이 공격자는 **자신의 제3자 페이지**(이 경우 GitHub에서)를 생성하고 `something.testing.com`이 그곳을 가리킨다고 주장할 수 있습니다. 왜냐하면, **CNAME 와일드카드**가 공격자가 **희생자의 도메인에 대해 임의의 서브도메인을 생성하여 자신의 페이지로 가리키게 할 수 있도록 허용하기 때문입니다**. +그러나 IP 주소를 가리키는 대신, 시스템 관리자가 **CNAME**을 통해 **제3자 서비스**를 가리키게 하면, 예를 들어 G**ithub 서브도메인**(`sohomdatta1.github.io`)과 같은 경우, 공격자는 **자신의 제3자 페이지**(이 경우 Gihub에서)를 생성하고 `something.testing.com`이 그곳을 가리킨다고 주장할 수 있습니다. 왜냐하면 **CNAME 와일드카드**가 공격자가 **피해자의 도메인에 대해 임의의 서브도메인을 생성할 수 있도록 허용하기 때문입니다**. 이 취약점의 예시는 CTF 작성물에서 확인할 수 있습니다: [https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api](https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api) -## Exploiting a subdomain takeover +## 서브도메인 탈취 악용 -서브도메인 탈취는 본질적으로 특정 도메인에 대한 DNS 스푸핑으로, 공격자가 도메인에 대한 A 레코드를 설정하여 브라우저가 공격자의 서버에서 콘텐츠를 표시하도록 합니다. 이러한 **투명성**은 브라우저에서 도메인을 피싱에 취약하게 만듭니다. 공격자는 이를 위해 [_타이포스쿼팅_](https://en.wikipedia.org/wiki/Typosquatting) 또는 [_도플갱어 도메인_](https://en.wikipedia.org/wiki/Doppelg%C3%A4nger)을 사용할 수 있습니다. 특히 피싱 이메일의 URL이 합법적으로 보이는 도메인은 사용자들을 속이고 도메인의 본질적인 신뢰로 인해 스팸 필터를 회피하게 만듭니다. +서브도메인 탈취는 본질적으로 특정 도메인에 대한 DNS 스푸핑으로, 공격자가 도메인에 대한 A 레코드를 설정하여 브라우저가 공격자의 서버에서 콘텐츠를 표시하도록 합니다. 이러한 **투명성**은 브라우저에서 도메인을 피싱에 취약하게 만듭니다. 공격자는 이를 위해 [_타이포스쿼팅_](https://en.wikipedia.org/wiki/Typosquatting) 또는 [_도플갱어 도메인_](https://en.wikipedia.org/wiki/Doppelg%C3%A4nger)을 사용할 수 있습니다. 특히 피싱 이메일의 URL이 합법적으로 보이는 도메인은 사용자들을 속이고 도메인의 본질적인 신뢰로 인해 스팸 필터를 회피하는 데 취약합니다. -자세한 내용은 이 [게시물](https://0xpatrik.com/subdomain-takeover/)을 확인하세요. +자세한 내용은 [이 게시물](https://0xpatrik.com/subdomain-takeover/)을 확인하세요. -### **SSL Certificates** +### **SSL 인증서** -SSL 인증서는 공격자가 [_Let's Encrypt_](https://letsencrypt.org/)와 같은 서비스를 통해 생성할 경우, 이러한 가짜 도메인의 신뢰성을 높여 피싱 공격을 더욱 설득력 있게 만듭니다. +SSL 인증서는 [_Let's Encrypt_](https://letsencrypt.org/)와 같은 서비스에서 공격자에 의해 생성될 경우, 이러한 가짜 도메인의 신뢰성을 높여 피싱 공격을 더욱 설득력 있게 만듭니다. -### **Cookie Security and Browser Transparency** +### **쿠키 보안 및 브라우저 투명성** -브라우저의 투명성은 쿠키 보안에도 확장되며, 이는 [동일 출처 정책](https://en.wikipedia.org/wiki/Same-origin_policy)과 같은 정책에 의해 관리됩니다. 쿠키는 세션 관리 및 로그인 토큰 저장에 자주 사용되며, 서브도메인 탈취를 통해 악용될 수 있습니다. 공격자는 **손상된 서브도메인으로 사용자를 유도하여 세션 쿠키를 수집**할 수 있으며, 이는 사용자 데이터와 개인 정보를 위험에 빠뜨립니다. +브라우저의 투명성은 쿠키 보안에도 확장되며, 이는 [동일 출처 정책](https://en.wikipedia.org/wiki/Same-origin_policy)과 같은 정책에 의해 관리됩니다. 쿠키는 종종 세션을 관리하고 로그인 토큰을 저장하는 데 사용되며, 서브도메인 탈취를 통해 악용될 수 있습니다. 공격자는 **손상된 서브도메인으로 사용자를 유도하여 세션 쿠키를 수집**할 수 있어 사용자 데이터와 개인 정보가 위험에 처할 수 있습니다. -### **Emails and Subdomain Takeover** +### **이메일 및 서브도메인 탈취** -서브도메인 탈취의 또 다른 측면은 이메일 서비스와 관련이 있습니다. 공격자는 **MX 레코드**를 조작하여 합법적인 서브도메인에서 이메일을 수신하거나 발송할 수 있으며, 이는 피싱 공격의 효율성을 높입니다. +서브도메인 탈취의 또 다른 측면은 이메일 서비스입니다. 공격자는 **MX 레코드**를 조작하여 합법적인 서브도메인에서 이메일을 수신하거나 발송할 수 있어 피싱 공격의 효율성을 높입니다. -### **Higher Order Risks** +### **고위험** -추가적인 위험으로는 **NS 레코드 탈취**가 있습니다. 공격자가 도메인의 하나의 NS 레코드를 제어하게 되면, 그들은 자신의 제어 하에 있는 서버로 트래픽의 일부를 유도할 수 있습니다. 공격자가 DNS 레코드에 대해 높은 **TTL(생존 시간)**을 설정하면 공격의 지속 시간이 늘어나 이 위험이 더욱 커집니다. +추가적인 위험으로는 **NS 레코드 탈취**가 있습니다. 공격자가 도메인의 하나의 NS 레코드를 제어하게 되면, 그들은 자신의 서버로 트래픽의 일부를 유도할 수 있습니다. 공격자가 DNS 레코드에 대해 높은 **TTL(생존 시간)**을 설정하면 공격의 지속 시간이 길어져 위험이 증가합니다. -### CNAME Record Vulnerability +### CNAME 레코드 취약점 공격자는 더 이상 사용되지 않거나 폐기된 외부 서비스로 가리키는 미청구 CNAME 레코드를 악용할 수 있습니다. 이를 통해 신뢰할 수 있는 도메인 아래에 페이지를 생성하여 피싱 또는 악성 소프트웨어 배포를 더욱 용이하게 할 수 있습니다. -### **Mitigation Strategies** +### **완화 전략** 완화 전략에는 다음이 포함됩니다: 1. **취약한 DNS 레코드 제거** - 서브도메인이 더 이상 필요하지 않은 경우 효과적입니다. 2. **도메인 이름 주장** - 해당 클라우드 제공업체에 리소스를 등록하거나 만료된 도메인을 재구매합니다. -3. **취약점에 대한 정기적인 모니터링** - [aquatone](https://github.com/michenriksen/aquatone)와 같은 도구가 취약한 도메인을 식별하는 데 도움이 될 수 있습니다. 조직은 또한 DNS 레코드 생성이 리소스 생성의 마지막 단계이자 리소스 파괴의 첫 번째 단계가 되도록 인프라 관리 프로세스를 수정해야 합니다. +3. **취약점에 대한 정기적인 모니터링** - [aquatone](https://github.com/michenriksen/aquatone)와 같은 도구가 취약한 도메인을 식별하는 데 도움이 될 수 있습니다. 조직은 또한 DNS 레코드 생성이 리소스 생성의 마지막 단계이자 리소스 파괴의 첫 번째 단계가 되도록 인프라 관리 프로세스를 검토해야 합니다. -클라우드 제공업체의 경우, 서브도메인 탈취를 방지하기 위해 도메인 소유권 확인이 중요합니다. [GitLab](https://about.gitlab.com/2018/02/05/gitlab-pages-custom-domain-validation/)과 같은 일부는 이 문제를 인식하고 도메인 확인 메커니즘을 구현했습니다. +클라우드 제공업체의 경우, 도메인 소유권 확인은 서브도메인 탈취를 방지하는 데 중요합니다. [GitLab](https://about.gitlab.com/2018/02/05/gitlab-pages-custom-domain-validation/)과 같은 일부는 이 문제를 인식하고 도메인 확인 메커니즘을 구현했습니다. -## References +## 참고문헌 * [https://0xpatrik.com/subdomain-takeover/](https://0xpatrik.com/subdomain-takeover/) +* [https://www.stratussecurity.com/post/subdomain-takeover-guide](https://www.stratussecurity.com/post/subdomain-takeover-guide)
\ -[**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=domain-subdomain-takeover)를 사용하여 세계에서 **가장 진보된** 커뮤니티 도구로 **워크플로우를 쉽게 구축하고 자동화**하세요.\ -지금 액세스하세요: +[**Trickest**](https://trickest.com/?utm\_source=hacktricks\&utm\_medium=text\&utm\_campaign=ppc\&utm\_term=trickest\&utm\_content=domain-subdomain-takeover)를 사용하여 세계에서 **가장 진보된** 커뮤니티 도구로 구동되는 **워크플로우를 쉽게 구축하고 자동화**하세요.\ +오늘 액세스하세요: {% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=domain-subdomain-takeover" %} {% hint style="success" %} -AWS 해킹 배우기 및 연습하기:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCP 해킹 배우기 및 연습하기: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWS 해킹 배우기 및 연습하기:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCP 해킹 배우기 및 연습하기: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Support HackTricks +HackTricks 지원하기 * [**구독 계획**](https://github.com/sponsors/carlospolop) 확인하기! * **💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 참여하거나 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.** -* **[**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 리포지토리에 PR을 제출하여 해킹 팁을 공유하세요.** +* **[**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 리포지토리에 PR을 제출하여 해킹 팁을 공유하세요.**
{% endhint %}