Blog


버그바운티 클럽이 전해드리는 이야기를 확인하세요.



[해킹 도구를 소개합니다 #2] Subfinder: 하위도메인 열거 도구

이번 해도소 코너에서 우리가 소개해드릴 도구는 Subfinder 입니다.Subfinder는 Project Discovery라는 해커와 개발자의 업무 자동화에 필요한 오픈소스 소프트웨어를 개발하는 회사에서 만든 프로그램입니다. 이 도구는 해커가 테스트하려는 타겟 도메인의 잠재적인 하위 도메인을 찾아주는 하위 도메인 열거 도구입니다. 보통 하위 도메인 열거는 정찰, 정보 수집이라고 불리는 초기 단계에서 수행하는 작업으로 취약점을 찾을 수 있는 공격 표면을 확장하고 잠재적으로 취약한 엔드포인트를 발견할 수 있는 확률을 높여주므로 매우 중요한 작업입니다. 이에 우리는 하위 도메인 열거 도구 중 하나인 Subfinder를 소개하기로 결정했습니다. Subfinder 외에도 다양한 하위 도메인 열거 도구가 존재하며 다른 도구들은 Weapons에서 확인이 가능합니다. 설치Subfinder를 설치하기 위해서는 go1.14+가 필요하며 go를 설치하셨다고 가정합니다. Subfinder를 설치할 수 있는 방법은 다음과 같습니다.go를 통한 직접 설치go get -v github.com/projectdiscovery/subfinder/cmd/subfindertar 또는 zip 파일을 통한 설치https://github.com/projectdiscovery/subfinder/releases/ 로 이동하셔서 본인의 환경을 고려해 원하시는 버전을 검토합니다.다음 명령을 통해 Subfinder를 다운로드 받습니다. wget https://github.com/projectdiscovery/subfinder/releases/download/v2.4.8/subfinder_2.4.8_linux_amd64.tar.gztar -zxvf subfinder_2.4.8_linux_amd64.tar.gzmv subfinder /usr/bin/subfinder설치가 끝났다면 다음 명령으로 Subfinder를 실행해봅니다../subfinder아래와 같은 출력화면이 표시된다면 정상적으로 설치가 된 것입니다.출력 화면수동 소스 API 키 설정위의 설치 과정만으로도 Subfinder는 정상적으로 동작합니다. 하지만 Subfinder에서 지원하는 Binaryedge, Certspotter, Censys, Virustotal과 같은 수동 소스의 API 키를 설정해주시면 다양한 수동 소스를 통해 더욱 많은 하위도메인을 찾을 가능성이 높아집니다.수동 소스의 API 키를 설정하기 위해서 $HOME/.config/subfinder/config.yaml 파일을 열어 아래와 같은 내용을 찾습니다. binaryedge: []censys: []certspotter: []chaos: []dnsdb: []github: []intelx: []passivetotal: []recon: []robtex: []securitytrails: []shodan: []spyse: []threatbook: []urlscan: []virustotal: []zoomeye: []그리고 본인이 사용하고자하는 소스의 [ ] 안에 본인의 API 키를 입력합니다. 예를 들면 다음과 같습니다....생략...virustotal: [Enter_your_api_key_here]...생략...사용법단일 도메인 대상 하위 도메인 열거-d 옵션을 사용하면 테스트하고자 하는 타겟에 대해 하위 도메인을 열거할 수 있습니다. 이것은 가장 기본적이고 간단한 사용법입니다../subfinder -d target.com다음은 트위터를 대상으로 실행한 결과입니다. $ ./subfinder -d twitter.com               __    _____           __            _______  __/ /_  / __(_)___  ____/ /__  _____  / ___/ / / / __ \/ /_/ / __ \/ __  / _ \/ ___/ (__  ) /_/ / /_/ / __/ / / / / /_/ /  __/ /    /____/\__,_/_.___/_/ /_/_/ /_/\__,_/\___/_/ v2.4.8 projectdiscovery.ioUse with caution. You are responsible for your actionsDevelopers assume no liability and are not responsible for any misuse or damage.By using subfinder, you also agree to the terms of the APIs used.[INF] Enumerating subdomains for twitter.comcareers.twitter.commta47.e.twitter.comdeveloper-staging.twitter.combbmas.twitter.combrandhub.twitter.comapi-39-4-5-39-4-9.twitter.comema.twitter.com...중간 생략...vpn-lab.smfc.twitter.comaudubon.fra2.twitter.comgoldenglobes.twitter.com[INF] Found 1137 subdomains for twitter.com in 3 seconds 330 milliseconds다수의 도메인 대상 하위 도메인 열거만일 다수의 도메인을 대상으로 실행하고 싶다면 아래와 같이 도메인 리스트가 나열된 파일을 먼저 만드십시요. target1.comtarget2.comtarget3.com...위의 파일을 domains.txt 라는 이름으로 저장했다고 합시다. -dL 옵션을 사용하면 domains.txt 파일에 저장된 각 도메인을 대상으로 하위 도메인을 검색할 수 있습니다../subfinder -dL domains.txt 파일로 결과 저장다음과 같이 -o 옵션을 사용하여 검색 결과를 로컬PC에 파일로 저장할 수 있습니다../subfinder -d target.com -o result.txt수동으로 API 키 설정 파일 지정-config 옵션을 통해 설정 파일을 지정할 수 있습니다../subfinder -config ~/.config/subfinder/config.yaml -d target.com -o result.txt특정 수동 소스 제외 -exclude-sources 옵션을 사용해 검색 시 사용을 원하지 않는 수동 소스를 제외할 수 있습니다../subfinder -exclude-sources censys -d target.com화면에 하위도메인만 출력-silent 옵션을 통해 실행 시 기본으로 표시되는 Subfinder 로고나 알림성 메시지가 출력되지 않도록 할 수 있습니다. 출력에는 검색된 하위 도메인 내역만 표시됩니다../subfinder -silent -d target.com 이 외에도 도움말을 참고하시면 활용할 수 있는 더욱 많은 옵션이 있습니다../subfinder -h버그바운티 실무에서의 Subfinder 활용버그바운티 프로그램의 취약점 점검 대상이 와일드카드 도메인(*.target.com)인 경우에는 하위도메인을 찾아내는 일이 가장 우선되어야 합니다. 따라서 사실상 이 도구를 활용할 수 있는 방법은 보안연구원의 창의력에 달려 있습니다. 다음은 Subfinder 도구를 사용한 사례입니다. 명령에 사용된 다른 도구들은 별도로 설명하지 않습니다.라이브 호스트/도메인/자산 검색 (@YashGoti)subfinder -d http://tesla.com -silent | httpx -silent -follow-redirects -mc 200 | cut -d '/' -f3 | sort -uSubdomain Takerover(하위도메인 인수) 취약점 점검 (@hahwul)subfinder -d {target} >> domains ; assetfinder -subs-only {target} >> domains ; amass enum -norecursive -noalts -d {target} >> domains ; subjack -w domains -t 100 -timeout 30 -ssl -c ~/go/src/github.com/haccer/subjack/fingerprints.json -v 3 >> takeover ; 소개를 마치며지금까지 Subfinder라는 하위 도메인 열거 도구의 설치부터 기본적인 사용법에 대해 소개해드렸습니다. 다양한 하위 도메인 열거 도구가 존재하고 각 도구마다의 장단점이 있습니다. 반드시 Subfinder를 사용해야만 하위도메인을 찾을 수 있는 것은 아닙니다. 개인의 취향이나 선호도에 따라 subfinder가 아닌 다른 도구를 사용하셔도 무방합니다. 버그바운티에 참여하는 보안연구원 대부분은 하위 도메인 열거에 우수한 성능이 입증된 도구 몇 개를 선정해 함께 사용하곤 하며 Subfinder 역시 버그바운티 활동을 하는 많은 보안연구원들이 선택한 도구 중 하나입니다. Subfinder를 통해 빠르고 쉽게 하위 도메인을 찾길 바랍니다. Subfinder Github - https://github.com/projectdiscovery/subfinder
 2021-07-06 10:15 KST      2872