10 KiB
도메인/서브도메인 탈취
{% hint style="success" %}
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 팁을 공유하세요.
Trickest를 사용하여 세계에서 가장 진보된 커뮤니티 도구로 워크플로우를 쉽게 구축하고 자동화하세요.
오늘 바로 접근하세요:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=domain-subdomain-takeover" %}
도메인 탈취
어떤 서비스에서 사용 중인 도메인(domain.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/antichown/subdomain-takeover
- https://github.com/musana/mx-takeover
- https://github.com/PentestPad/subzy
- https://github.com/Stratus-Security/Subdominator
- https://github.com/NImaism/takeit
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자 페이지(이 경우 Gihub에서)를 생성하고 something.testing.com
이 그곳을 가리킨다고 주장할 수 있습니다. 왜냐하면, CNAME 와일드카드가 공격자가 피해자의 도메인에 대해 임의의 서브도메인을 생성하여 자신의 페이지로 가리키게 할 수 있도록 허용하기 때문입니다.
이 취약점의 예시는 CTF 작성물에서 확인할 수 있습니다: https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api
서브도메인 탈취 악용
서브도메인 탈취는 본질적으로 특정 도메인에 대한 DNS 스푸핑으로, 공격자가 도메인에 대한 A 레코드를 설정하여 브라우저가 공격자의 서버에서 콘텐츠를 표시하도록 합니다. 이러한 투명성은 브라우저에서 도메인을 피싱에 취약하게 만듭니다. 공격자는 이를 위해 타이포스쿼팅 또는 도플갱어 도메인을 사용할 수 있습니다. 특히 피싱 이메일의 URL이 합법적으로 보이는 도메인은 사용자들을 속이고 도메인의 본질적인 신뢰로 인해 스팸 필터를 회피하는 데 취약합니다.
자세한 내용은 이 게시물을 확인하세요.
SSL 인증서
SSL 인증서는 Let's Encrypt와 같은 서비스에서 공격자에 의해 생성되면 이러한 가짜 도메인의 신뢰성을 높여 피싱 공격을 더욱 설득력 있게 만듭니다.
쿠키 보안 및 브라우저 투명성
브라우저의 투명성은 쿠키 보안에도 확장되며, 이는 동일 출처 정책과 같은 정책에 의해 관리됩니다. 쿠키는 종종 세션을 관리하고 로그인 토큰을 저장하는 데 사용되며, 서브도메인 탈취를 통해 악용될 수 있습니다. 공격자는 손상된 서브도메인으로 사용자를 유도하여 세션 쿠키를 수집할 수 있어 사용자 데이터와 개인 정보를 위험에 빠뜨릴 수 있습니다.
이메일 및 서브도메인 탈취
서브도메인 탈취의 또 다른 측면은 이메일 서비스입니다. 공격자는 MX 레코드를 조작하여 합법적인 서브도메인에서 이메일을 수신하거나 발송할 수 있어 피싱 공격의 효율성을 높입니다.
고위험
추가적인 위험으로는 NS 레코드 탈취가 있습니다. 공격자가 도메인의 하나의 NS 레코드를 제어하게 되면, 그들은 자신의 제어 하에 있는 서버로 일부 트래픽을 유도할 수 있습니다. 공격자가 DNS 레코드에 대해 높은 **TTL(생존 시간)**을 설정하면 공격의 지속 시간이 늘어나 이 위험이 증가합니다.
CNAME 레코드 취약점
공격자는 더 이상 사용되지 않거나 폐기된 외부 서비스로 가리키는 미청구 CNAME 레코드를 악용할 수 있습니다. 이를 통해 신뢰할 수 있는 도메인 아래에 페이지를 생성하여 피싱 또는 악성 소프트웨어 배포를 더욱 용이하게 할 수 있습니다.
완화 전략
완화 전략에는 다음이 포함됩니다:
- 취약한 DNS 레코드 제거 - 서브도메인이 더 이상 필요하지 않은 경우 효과적입니다.
- 도메인 이름 주장 - 해당 클라우드 제공업체에 리소스를 등록하거나 만료된 도메인을 재구매합니다.
- 취약점에 대한 정기적인 모니터링 - aquatone와 같은 도구가 취약한 도메인을 식별하는 데 도움이 될 수 있습니다. 조직은 또한 인프라 관리 프로세스를 검토하여 DNS 레코드 생성이 리소스 생성의 마지막 단계이자 리소스 파괴의 첫 번째 단계가 되도록 해야 합니다.
클라우드 제공업체의 경우, 서브도메인 탈취를 방지하기 위해 도메인 소유권 확인이 중요합니다. GitLab과 같은 일부는 이 문제를 인식하고 도메인 확인 메커니즘을 구현했습니다.
참고 문헌
- https://0xpatrik.com/subdomain-takeover/
- https://www.stratussecurity.com/post/subdomain-takeover-guide
Trickest를 사용하여 세계에서 가장 진보된 커뮤니티 도구로 워크플로우를 쉽게 구축하고 자동화하세요.
오늘 바로 접근하세요:
{% 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)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 팁을 공유하세요.