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 공부를 좀 해야되겠다.
'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 |
댓글