본문 바로가기
CTF, 워게임 문제 풀이/Try Hack Me

THM: Subdomain Enumeration

by secumark 2025. 6. 2.
728x90

Jr Penetration Tester > Introduction to Web Hacking > Subdomain Enumeration

 

갈 길이.. 너무 멀다

 

 

Subdomain Enumeration: 서브도메인 목록

 

예를들어서 naver.com이 메인 도메인이라면 blog.naver.com, mail.naver.com, news.naver.com, tv.naver.com 등 메인 도메인 앞에 붙는 확장 주소를 서브 도메인이라고 함. 이때 www.naver.com 도 서브도메인이 됨.

이때 이런 접근 가능한 서비스나 주소를 찾아 취약점을 노릴 수 있는 부분이 늘어날 수 있게 attack surface를 늘림.

THM에서는 3가지 방법, Brute Force, OSINT (Open-Source Intelligence) and Virtual Host가 사용됨

 

OSINT - SSL/TLS Certificates

 

* 여기서 잠깐 OSINT 복습

OSINT = 인터넷에서 공개된 정보만으로 정보를 수집하고 분석하는 기술

 

CT(Certificate Transparency Logs)는 SSL/TLS 인증서가 어떤 도메인에 대해 CA(인증기관)에 의해 생성되면 이 기관이 CT라는 작업에 참여를 하는데, 특정 도메인에 대해 생성된 모든 SSL/TLS 인증서의 기록이고, 누구나 열람할 수 있는 공개된 로그임.
이런 투명성은 악의적, 또는 실수로 발급된 인증서가 사용되는 것을 막기 위함. 그래서 이 서비스를 활용하면 특정 도메인에 속한 서브도메인들을 찾아낼 수 있음.

 

대표적인 사이트가 바로 https://crt.sh , 현재와 과거 인증서 발급 내역을 검색할 수 있는 DB임

 

crt.sh | Certificate Search

 

crt.sh

 

tryhackme.com을 검색하면 다음과 같은 결과가 나온다. 

 

OSINT - Search Engines

서치엔진만 사용해도 서브도메인 정보를 알 수 있다. 특히, site: filter 를 활용하면 된다..

 

site:*.tryhackme.com -site:http://www.tryhackme.com

 

www는 이미 우리가 공공연하게 알고 있으므로.. 이를 뺀 서브도메인을 검색할 수 있음

 

근데 inurl이랑 site랑 뭐가 정확히 다른지 몰라서 검색해봤는데, 차이는 다음과 같았다.

site: 특정 도메인(또는 하위도메인) 내에서만 검색 site:naver.com login naver.com 안에서 "login"이 포함된 모든 페이지 검색
inurl: URL 경로에 특정 문자열이 포함된 페이지 검색 inurl:admin URL에 "admin"이 포함된 모든 페이지 (example.com/admin, test.com/panel/admin) 등

 

예를들어서 site는 tryhackme.com login이라고 하면 tryhackme.com 안에서 login이 포함된 페이지를 반환하는거고, inurl 통해서 login만 입력하면 모든 사이트를 대상으로 하게 됨

 

DNS Bruteforce

미리 정의된, 자주 사용되는 서브도메인 목록을 바탕으로 수많은 서브도메인을 시도하는 방식. 일반적으로 DNSrecon이라는 자동화 도구를 사용해 해당 작업을 수행한다. (칼리에는 기본으로 설치되어 있음)

 

OSINT - Sublist3r

Sublist3r: 서브도메인 enumeration tool 중 하나로  다양한 검색 엔진 (API) 을 이용해 자동으로 서브도메인을 수집한다. Python으로 작성되어 있고, 속도가 빠르며, 사용법도 간단. OSINT 대표 도구 중 하나..

 

DNSrecon이랑 Sublist3r이랑 차이는 뭘까..

  DNSrecon Sublist3r
목적 DNS 정보 수집 + 서브도메인 브루트포스 검색엔진 기반 서브도메인 수집
수집 방식 DNS 쿼리, 브루트포싱, AXFR (Zone Transfer) 등 Google, Bing, Yahoo, Netcraft, VirusTotal 등 API 기반 수집
워드리스트 사용 ✅ (브루트포싱 시 -D 옵션으로 사용) ❌ (기본적으로 사용 안 함. 검색엔진 활용)
주요 기능 - A/MX/NS/TXT/SOA 레코드 수집- 서브도메인 브루트포스- WHOIS/Reverse Lookup 등 - 빠른 서브도메인 수집- 결과 파일 저장 (-o 옵션)
속도 상대적으로 느림 (정밀 조사) 빠름 (가벼운 조사에 적합)
용도 추천 침해 조사, 정밀한 DNS 분석이 필요한 보안 테스트 OSINT 기반 빠른 서브도메인 목록 확보에 적합



 

Virtual Hosts

일부 서브도메인은 당연히 공개적으로 접근 가능한 DNS에 드러나지 않을 수 있음. 이때 DNS record가 private DNS server나 개발자 machines에 있는 /etc/hosts 파일에 기록되어 있을 수 있음. host 헤더를 수정하면서 응답을 분석하면 서브도메인 유무를 확인할 수 있게됨. 이것도 워드리스트로 자동화 가능

 

이때 ffuf 을 사용함. 옵션중에서 -fs(filter by size)를 사용하는 이유는 대부분의 실패한 요청이 동일한 응답 크기(예를 들어 404 Not Found)를 가지는데, 유효한 서브도메인에만 집중할 수 있어서. 그 사이즈를 필터링해서 빼고 검색할 수 있게..

 

 

ffuf 공부를 좀 해야되겠다.

728x90

'CTF, 워게임 문제 풀이 > Try Hack Me' 카테고리의 다른 글

THM: IDOR  (0) 2025.06.05
THM: Authentication Bypass  (0) 2025.06.03
THM: Content Discovery  (0) 2025.06.01
THM: Walking An Application  (0) 2025.06.01
Benign 문제 풀이  (0) 2024.05.02

댓글