mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-26 14:40:37 +00:00
Translated ['pentesting-web/domain-subdomain-takeover.md'] to kr
This commit is contained in:
parent
ccb63e665e
commit
5250a63be3
1 changed files with 36 additions and 37 deletions
|
@ -2,35 +2,35 @@
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
|
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 **제로**부터 **히어로**까지 **AWS 해킹**을 배우세요!</summary>
|
||||||
|
|
||||||
HackTricks를 지원하는 다른 방법:
|
HackTricks를 지원하는 다른 방법:
|
||||||
|
|
||||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
* **회사가 HackTricks에 광고**되길 원하거나 **PDF 형식의 HackTricks를 다운로드**하고 싶다면 [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구매하세요
|
||||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
|
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
|
||||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**를** **팔로우**하세요.
|
* **💬 [디스코드 그룹](https://discord.gg/hRep4RUj7f)**에 가입하거나 [텔레그램 그룹](https://t.me/peass)에 가입하거나 **트위터** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)를 **팔로우**하세요.
|
||||||
* **Hacking 트릭을 공유하려면** [**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을 제출하세요.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
\
|
\
|
||||||
[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)를 사용하여 세계에서 가장 **고급 커뮤니티 도구**를 활용한 **워크플로우를 쉽게 구축**하고 **자동화**할 수 있습니다.\
|
[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks)를 사용하여 세계에서 **가장 고급**인 커뮤니티 도구를 활용한 **워크플로우를 쉽게 구축**하고 **자동화**하세요.\
|
||||||
오늘 바로 액세스하세요:
|
오늘 바로 액세스하세요:
|
||||||
|
|
||||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||||
|
|
||||||
## 도메인 탈취
|
## 도메인 탈취
|
||||||
|
|
||||||
범위 내에서 **회사**가 **소유권을 잃은** **일부 서비스**에서 사용 중인 도메인 (도메인.tld)을 발견하면, **등록**하여 회사에 알릴 수 있습니다 (가격이 저렴한 경우). 이 도메인이 **GET** 매개변수나 **Referer** 헤더를 통해 세션 쿠키와 같은 **민감한 정보**를 수신하고 있다면, 이는 분명한 **취약점**입니다.
|
범위 내에서 **사용 중인 서비스**에 의해 사용되는 도메인 (도메인.tld)을 발견했다면, **회사**가 **소유권을 잃었을 수 있으므로** 해당 도메인을 **등록**하고 회사에 알릴 수 있습니다. 이 도메인이 **GET** 매개변수를 통해 세션 쿠키와 같은 **민감한 정보**를 수신하고 있으면, 이는 분명히 **취약점**입니다.
|
||||||
|
|
||||||
### 서브도메인 탈취
|
### 서브도메인 탈취
|
||||||
|
|
||||||
회사의 서브도메인이 **등록되지 않은 이름을 가진 제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/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)
|
* [https://github.com/blacklanternsecurity/bbot](https://github.com/blacklanternsecurity/bbot)
|
||||||
|
@ -43,51 +43,50 @@ HackTricks를 지원하는 다른 방법:
|
||||||
* [https://github.com/m4ll0k/takeover](https://github.com/m4ll0k/takeover)
|
* [https://github.com/m4ll0k/takeover](https://github.com/m4ll0k/takeover)
|
||||||
* [https://github.com/antichown/subdomain-takeover](https://github.com/antichown/subdomain-takeover)
|
* [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/musana/mx-takeover](https://github.com/musana/mx-takeover)
|
||||||
|
* [https://github.com/PentestPad/subzy](https://github.com/PentestPad/subzy)
|
||||||
|
|
||||||
#### [BBOT](https://github.com/blacklanternsecurity/bbot)을 사용하여 탈취 가능한 서브도메인 스캔:
|
[BBOT](https://github.com/blacklanternsecurity/bbot)을 사용하여 탈취 가능한 서브도메인을 스캔합니다.
|
||||||
|
|
||||||
BBOT의 기본 서브도메인 열거에는 서브도메인 탈취 확인이 포함되어 있습니다. 서명은 [https://github.com/EdOverflow/can-i-take-over-xyz](https://github.com/EdOverflow/can-i-take-over-xyz)에서 직접 가져옵니다.
|
|
||||||
```bash
|
```bash
|
||||||
bbot -t evilcorp.com -f subdomain-enum
|
bbot -t evilcorp.com -f subdomain-enum
|
||||||
```
|
```
|
||||||
### DNS 와일드카드를 통한 서브도메인 탈취
|
### DNS 와일드카드를 통한 서브도메인 탈취 생성
|
||||||
|
|
||||||
도메인에서 DNS 와일드카드를 사용하면, 명시적으로 다른 주소가 지정되지 않은 도메인의 서브도메인은 **동일한 정보로 해석**됩니다. 이는 A IP 주소, CNAME 등이 될 수 있습니다.
|
도메인에서 DNS 와일드카드를 사용하면 명시적으로 다른 주소가 없는 해당 도메인의 서브도메인 요청은 **동일한 정보로 해석**됩니다. 이는 A IP 주소, CNAME 등이 될 수 있습니다.
|
||||||
|
|
||||||
예를 들어, `*.testing.com`이 `1.1.1.1`로 와일드카드 지정되어 있다면, `not-existent.testing.com`은 `1.1.1.1`을 가리킵니다.
|
예를 들어, `*.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자 서비스를 가리키도록** 설정한 경우, 예를 들어 **github 서브도메인**(`sohomdatta1.github.io`)과 같은 경우, 공격자는 **자신의 제3자 페이지**(이 경우 Github)를 만들고 `something.testing.com`이 그쪽을 가리킨다고 주장할 수 있습니다. 왜냐하면 **CNAME 와일드카드**가 동의하기 때문에 공격자는 피해자의 도메인을 가리키는 임의의 서브도메인을 **자신의 페이지로 생성**할 수 있습니다.
|
||||||
|
|
||||||
이 취약점에 대한 예제는 CTF write-up에서 확인할 수 있습니다: [https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api](https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api)
|
이 취약점에 대한 예시는 CTF write-up에서 찾을 수 있습니다: [https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api](https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api)
|
||||||
|
|
||||||
## 서브도메인 탈취 공격
|
## 서브도메인 탈취 공격
|
||||||
|
|
||||||
서브도메인 탈취는 인터넷 전체에서 특정 도메인에 대한 DNS 스푸핑으로, 공격자가 도메인에 대한 A 레코드를 설정하여 브라우저가 공격자의 서버에서 콘텐츠를 표시하도록 하는 것입니다. 이러한 브라우저의 **투명성**은 도메인이 피싱에 취약하게 만듭니다. 공격자는 이를 위해 [_typosquatting_](https://en.wikipedia.org/wiki/Typosquatting) 또는 [_Doppelganger domains_](https://en.wikipedia.org/wiki/Doppelg%C3%A4nger)을 사용할 수 있습니다. 특히 피싱 이메일의 URL이 정당해 보이는 도메인에서는 사용자를 속이고 스팸 필터를 피할 수 있으므로 취약합니다.
|
서브도메인 탈취는 본질적으로 인터넷 전체에서 특정 도메인을 위한 DNS 스푸핑으로, 공격자가 도메인을 위해 A 레코드를 설정할 수 있게 하여 브라우저가 공격자의 서버에서 콘텐츠를 표시하도록 하는 것입니다. 이러한 **브라우저의 투명성**은 도메인이 피싱에 취약하게 만듭니다. 공격자는 이를 위해 [_typosquatting_](https://en.wikipedia.org/wiki/Typosquatting)이나 [_Doppelganger domains_](https://en.wikipedia.org/wiki/Doppelg%C3%A4nger)을 사용할 수 있습니다. 특히 피싱 이메일의 URL이 정당해 보여 사용자를 속이고 도메인의 내재적인 신뢰로 인해 스팸 필터를 우회할 수 있는 도메인이 취약합니다.
|
||||||
|
|
||||||
자세한 내용은 [이 게시물](https://0xpatrik.com/subdomain-takeover/)을 참조하십시오.
|
추가 세부 정보는 [이 게시물을 참조하십시오](https://0xpatrik.com/subdomain-takeover/)
|
||||||
|
|
||||||
### **SSL 인증서**
|
### **SSL 인증서**
|
||||||
[_Let's Encrypt_](https://letsencrypt.org/)와 같은 서비스를 통해 공격자가 생성한 SSL 인증서는 가짜 도메인의 신뢰성을 높여 피싱 공격을 더 신뢰할 수 있게 만듭니다.
|
공격자가 [_Let's Encrypt_](https://letsencrypt.org/)와 같은 서비스를 통해 생성한 SSL 인증서는 이러한 가짜 도메인의 신뢰성을 높이며, 피싱 공격을 더 설득력 있게 만듭니다.
|
||||||
|
|
||||||
### **쿠키 보안 및 브라우저 투명성**
|
### **쿠키 보안 및 브라우저 투명성**
|
||||||
브라우저의 투명성은 쿠키 보안에도 적용됩니다. 이는 [동일 출처 정책](https://en.wikipedia.org/wiki/Same-origin_policy)과 같은 정책에 의해 관리되는 것입니다. 세션 관리 및 로그인 토큰 저장에 자주 사용되는 쿠키는 서브도메인 탈취를 통해 악용될 수 있습니다. 공격자는 사용자를 감염된 서브도메인으로 유도함으로써 세션 쿠키를 수집할 수 있으며, 이는 사용자 데이터와 개인 정보를 위협합니다.
|
브라우저 투명성은 쿠키 보안에도 적용되며, [동일 출처 정책](https://en.wikipedia.org/wiki/Same-origin_policy)과 같은 정책에 의해 관리됩니다. 세션 관리 및 로그인 토큰 저장에 자주 사용되는 쿠키는 서브도메인 탈취를 통해 악용될 수 있습니다. 공격자는 사용자를 감염된 서브도메인으로 유도함으로써 **세션 쿠키를 수집**할 수 있어 사용자 데이터와 개인 정보를 위협할 수 있습니다.
|
||||||
|
|
||||||
### **이메일과 서브도메인 탈취**
|
### **이메일 및 서브도메인 탈취**
|
||||||
서브도메인 탈취의 또 다른 측면은 이메일 서비스와 관련이 있습니다. 공격자는 MX 레코드를 조작하여 정당한 서브도메인에서 이메일을 수신하거나 전송할 수 있으며, 이는 피싱 공격의 효과를 높입니다.
|
서브도메인 탈취의 또 다른 측면은 이메일 서비스를 포함합니다. 공격자는 **MX 레코드**를 조작하여 정당한 서브도메인에서 이메일을 수신하거나 전송할 수 있어 피싱 공격의 효과를 높일 수 있습니다.
|
||||||
|
|
||||||
### **고위험 요소**
|
### **고위험 요소**
|
||||||
더 큰 위험 요소로는 **NS 레코드 탈취**가 있습니다. 공격자가 도메인의 하나의 NS 레코드를 제어하면 일부 트래픽을 자신이 제어하는 서버로 전송할 수 있습니다. 이 위험은 공격의 지속 시간을 연장하는 DNS 레코드의 높은 **TTL (Time to Live)**을 설정하는 경우 더욱 증가합니다.
|
NS 레코드 탈취 등 추가 위험 요소가 있습니다. 공격자가 도메인의 하나의 NS 레코드를 제어하면 트래픽 일부를 자신이 제어하는 서버로 전송할 수 있습니다. 공격자가 DNS 레코드의 TTL (Time to Live)을 높게 설정하면 공격의 지속 기간이 연장되어 위험이 증가합니다.
|
||||||
|
|
||||||
### CNAME 레코드 취약점
|
### CNAME 레코드 취약점
|
||||||
공격자는 더 이상 사용되지 않거나 폐기된 외부 서비스를 가리키는 미사용 CNAME 레코드를 악용할 수 있습니다. 이를 통해 신뢰할 수 있는 도메인 아래에 페이지를 생성하여 피싱이나 악성 소프트웨어 배포를 더욱 용이하게 할 수 있습니다.
|
공격자는 더 이상 사용되지 않거나 폐기된 외부 서비스를 가리키는 미사용 CNAME 레코드를 악용할 수 있습니다. 이를 통해 신뢰할 수 있는 도메인 하에 페이지를 생성하여 피싱이나 악성 코드 배포를 더 쉽게 할 수 있습니다.
|
||||||
|
|
||||||
### **완화 전략**
|
### **완화 전략**
|
||||||
완화 전략은 다음과 같습니다:
|
완화 전략은 다음과 같습니다:
|
||||||
1. **취약한 DNS 레코드 제거** - 서브도메인이 더 이상 필요하지 않은 경우 효과적입니다.
|
1. **취약한 DNS 레코드 제거** - 서브도메인이 더 이상 필요하지 않은 경우 효과적입니다.
|
||||||
2. **도메인 이름 등록** - 해당 클라우드 제공업체에 리소스를 등록하거나 만료된 도메인을 다시 구매하는 것입니다.
|
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/)과 같은 일부 업체는 이 문제를 인식하고 도메인 확인 메커니즘을 구현했습니다.
|
||||||
|
|
||||||
## 참고 자료
|
## 참고 자료
|
||||||
* [https://0xpatrik.com/subdomain-takeover/](https://0xpatrik.com/subdomain-takeover/)
|
* [https://0xpatrik.com/subdomain-takeover/](https://0xpatrik.com/subdomain-takeover/)
|
||||||
|
@ -95,21 +94,21 @@ bbot -t evilcorp.com -f subdomain-enum
|
||||||
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
\
|
\
|
||||||
[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)를 사용하여 세계에서 가장 고급스러운 커뮤니티 도구를 활용한 **워크플로우를 쉽게 구축하고 자동화**하세요.\
|
[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)를 사용하여 세계에서 가장 **고급 커뮤니티 도구**를 활용한 **워크플로우를 쉽게 구축**하고 **자동화**하세요.\
|
||||||
지금 액세스하세요:
|
오늘 바로 액세스하세요:
|
||||||
|
|
||||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 제로에서 영웅까지 AWS 해킹을 배워보세요<strong>!</strong></summary>
|
<summary><strong>**htARTE (HackTricks AWS Red Team Expert)**로부터 AWS 해킹을 처음부터 전문가까지 배우세요!</strong></summary>
|
||||||
|
|
||||||
HackTricks를 지원하는 다른 방법:
|
HackTricks를 지원하는 다른 방법:
|
||||||
|
|
||||||
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
* **회사를 HackTricks에서 광고하거나** **PDF로 HackTricks 다운로드**하려면 [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||||
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
|
* [**공식 PEASS & HackTricks 스왑**](https://peass.creator-spring.com)을 구입하세요.
|
||||||
* 독점적인 [**NFT**](https://opensea.io/collection/the-peass-family) 컬렉션인 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요.
|
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션.
|
||||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**를** 팔로우하세요.
|
* 💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 가입하거나 **트위터** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)를 팔로우하세요.
|
||||||
* **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) github 저장소에 PR을 제출하여 해킹 요령을 공유하세요.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
Loading…
Reference in a new issue