10 KiB
도메인/서브도메인 탈취
htARTE (HackTricks AWS Red Team Expert)를 통해 **제로**부터 **히어로**까지 **AWS 해킹**을 배우세요!
HackTricks를 지원하는 다른 방법:
- 회사를 HackTricks에서 광고하거나 PDF로 HackTricks 다운로드하려면 구독 요금제를 확인하세요!
- 공식 PEASS & HackTricks 스왜그를 얻으세요
- The PEASS Family를 발견하세요, 당사의 독점 NFTs 컬렉션
- 💬 디스코드 그룹 또는 텔레그램 그룹에 가입하거나 트위터 🐦 @carlospolopm를 팔로우하세요.
- HackTricks 및 HackTricks Cloud github 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
Trickest를 사용하여 세계에서 가장 고급 커뮤니티 도구로 구동되는 워크플로우를 쉽게 구축 및 자동화하세요.
오늘 바로 액세스하세요:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
도메인 탈취
범위 내에서 **사용 중인 도메인 (도메인.tld)**을 발견했지만 회사가 소유권을 잃었을 경우, 해당 도메인을 등록하고 회사에 알릴 수 있습니다. 이 도메인이 GET 매개변수를 통해 세션 쿠키 또는 Referer 헤더에 민감한 정보를 받고 있다면, 이는 분명히 취약점입니다.
서브도메인 탈취
회사의 서브도메인이 등록되지 않은 이름을 가진 제3자 서비스를 가리키고 있는 경우, 해당 제3자 서비스에 계정을 생성하고 사용 중인 이름을 등록하여 서브도메인 탈취를 수행할 수 있습니다.
가능한 탈취를 확인하기 위한 사전을 사용하는 여러 도구가 있습니다:
- https://github.com/EdOverflow/can-i-take-over-xyz
- https://github.com/blacklanternsecurity/bbot
- https://github.com/punk-security/dnsReaper
- https://github.com/haccer/subjack
- https://github.com/anshumanbh/tko-sub
- https://github.com/ArifulProtik/sub-domain-takeover
- https://github.com/SaadAhmedx/Subdomain-Takeover
- https://github.com/Ice3man543/SubOver
- https://github.com/m4ll0k/takeover
- https://github.com/antichown/subdomain-takeover
- https://github.com/musana/mx-takeover
- https://github.com/PentestPad/subzy
BBOT을 사용하여 탈취 가능한 서브도메인을 스캔합니다.
bbot -t evilcorp.com -f subdomain-enum
DNS 와일드카드를 통한 서브도메인 탈취 생성
도메인에서 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 와일드카드가 동의하기 때문에 공격자는 피해자의 도메인을 가리키는 임의의 서브도메인을 자신의 페이지로 생성할 수 있습니다.
이 취약점에 대한 예시는 CTF write-up에서 찾을 수 있습니다: https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api
서브도메인 탈취 공격
서브도메인 탈취는 본질적으로 인터넷 전체에서 특정 도메인을 위한 DNS 스푸핑으로, 공격자가 도메인을 위해 A 레코드를 설정할 수 있게 하여 브라우저가 공격자의 서버에서 콘텐츠를 표시하도록 하는 것입니다. 이는 브라우저의 투명성으로 인해 도메인이 피싱에 취약해집니다. 공격자는 이를 위해 typosquatting이나 Doppelganger domains을 활용할 수 있습니다. 특히 피싱 이메일의 URL이 신뢰할 수 있게 보이는 도메인의 경우 사용자를 속이고 도메인의 내재적 신뢰로 인해 스팸 필터를 우회할 수 있습니다.
더 많은 세부 정보는 이 게시물을 참조하십시오
SSL 인증서
공격자가 Let's Encrypt와 같은 서비스를 통해 생성한 SSL 인증서는 이러한 가짜 도메인의 신뢰성을 높여 피싱 공격을 더 설득력 있게 만듭니다.
쿠키 보안 및 브라우저 투명성
브라우저 투명성은 쿠키 보안에도 적용되며, 동일 출처 정책과 같은 정책에 의해 관리됩니다. 세션 관리 및 로그인 토큰 저장에 자주 사용되는 쿠키는 서브도메인 탈취를 통해 악용될 수 있습니다. 공격자는 사용자를 감염된 서브도메인으로 유도함으로써 세션 쿠키를 수집할 수 있어 사용자 데이터와 개인 정보를 위협할 수 있습니다.
이메일 및 서브도메인 탈취
서브도메인 탈취의 또 다른 측면은 이메일 서비스를 포함합니다. 공격자는 MX 레코드를 조작하여 합법적인 서브도메인에서 이메일을 수신하거나 전송할 수 있어 피싱 공격의 효과를 높일 수 있습니다.
고위험 요소
NS 레코드 탈취 등 추가 위험 요소가 있습니다. 공격자가 도메인의 하나의 NS 레코드를 제어하면 해당 도메인의 일부 트래픽을 자신이 제어하는 서버로 전송할 수 있습니다. 공격자가 DNS 레코드의 TTL (Time to Live)을 높게 설정하면 공격의 지속 기간이 연장되어 위험이 증가합니다.
CNAME 레코드 취약점
공격자는 더 이상 사용되지 않거나 폐기된 외부 서비스를 가리키는 미사용 CNAME 레코드를 악용할 수 있습니다. 이를 통해 신뢰할 수 있는 도메인 하에 페이지를 생성하여 피싱이나 악성 코드 배포를 더 쉽게 할 수 있습니다.
완화 전략
완화 전략은 다음과 같습니다:
- 취약한 DNS 레코드 제거 - 서브도메인이 더 이상 필요하지 않은 경우 효과적입니다.
- 도메인 이름 요청 - 해당 클라우드 제공업체에 자원을 등록하거나 만료된 도메인을 다시 구입합니다.
- 취약성 정기 모니터링 - aquatone과 같은 도구를 사용하여 취약한 도메인을 식별할 수 있습니다. 조직은 또한 인프라 관리 프로세스를 검토하여 DNS 레코드 생성이 자원 생성의 마지막 단계이며 자원 파괴의 첫 번째 단계임을 보장해야 합니다.
클라우드 제공업체는 서브도메인 탈취를 방지하기 위해 도메인 소유권을 확인하는 것이 중요합니다. GitLab과 같은 일부 업체는 이 문제를 인식하고 도메인 확인 메커니즘을 구현했습니다.
참고 자료
Trickest를 사용하여 세계에서 가장 고급 커뮤니티 도구를 활용한 워크플로우를 쉽게 구축하고 자동화하세요.
오늘 바로 액세스하세요:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
**htARTE (HackTricks AWS Red Team Expert)**로부터 AWS 해킹을 처음부터 전문가까지 배우세요!
HackTricks를 지원하는 다른 방법:
- 회사를 HackTricks에서 광고하거나 PDF로 HackTricks 다운로드하려면 구독 요금제를 확인하세요!
- 공식 PEASS & HackTricks 스왜그를 얻으세요
- 당사의 독점 NFTs 컬렉션인 The PEASS Family을 발견하세요
- 💬 디스코드 그룹 또는 텔레그램 그룹에 가입하거나 트위터 🐦 @carlospolopm를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.