Research Institute
  • Project Discovery 도구 소개 및 실습하기 - Subfinder
    2024년 05월 04일 18시 17분 47초에 업로드 된 글입니다.
    작성자: IIIIIIIIIIIIIIIIIIIIl

    Subfinder 소개

    Subfinder는 서브 도메인을 찾아주는 도구로 기존에 Sublist3r, Knockpy, Amass와 같은 도구들이 존재하지만 Subfinder는 적절한 속도와 지속적인 개발 그리고 강력한 커뮤니티 기반을 가진 도구로  Binaryedge, C99, Certspotter, Chinaz, Censys, Chaos 등과 같은 다양한  passive 소스에서 가능한 서브도메인 목록을 수집합니다. 주로 보안 평가, 침투 테스트 및 연구, 버그바운티 참가자들이 많이 활용하고 있는 도구입니다.  

    특징 및 성능

    • 빠른 속도 및 와일드카드 제거 모듈
    • 결과를 극대화하기 위해 선별된 소스
    • 다양한 지원 출력 형식(JSON, 파일, stdout)
    • 속도와 경량화에 최적화된 리소스
    • STDIN/OUT 지원으로 워크플로우에 쉽게 통합 가능
    • Go언어 기반으로 Docker 및 사전 빌드된 바이너리 사용 가능
    • 26개 이상의 리소스 사용

    Subfinder 빌드 하기

    git clone https://github.com/projectdiscovery/subfinder
    cd subfinder/v2/cmd/subfinder/
    go build

    Subfinder 설정 하기

    Subfinder는 설치 후 즉시 사용할 수 있지만 다음 서비스가 작동하려면 API 키 구성이 필요합니다.

    BeVigilBinaryEdgeBufferOverC99CensysCertSpotterChaosChinazDNSDBFofaFullHuntGitHubIntelxPassiveTotalquakeRobtexSecurityTrailsShodanThreatBookVirusTotalWhoisXML APIZoomEyeZoomEye APIdnsrepoHunterFacebookBuiltWith

    subfinder -ls명령을 사용하여 사용 가능한 모든 소스를 표시 할 수 있습니다 .

    무료 API 리스트

    • bevigil
    • binaryedge
    • bufferover
    • censys
    • certspotter
    • fofa
    • fullhunt
    • github
    • intelx
    • redhuntlabs
    • shodan
    • virustotal
    • whoisxmlapi

    소스 구성 파일은 $HOME/.config/subfinder/provider-config.yaml 파일에 YAML 형식으로 저장되어 있습니다.  이러한 각 서비스에 대해 여러 API 키를 지정할 수 있으며 그 중 하나가 열거에 사용됩니다.

    Ex ) provider-config.yaml

    binaryedge:
      - 0bf8919b-aab9-42e4-9574-d3b639324597
      - ac244e2f-b635-4581-878a-33f4e79a2c13
    censys:
      - ac244e2f-b635-4581-878a-33f4e79a2c13:dd510d6e-1b6e-4655-83f6-f347b363def9
    certspotter: []
    passivetotal:
      - sample-email@user.com:sample_password
    redhuntlabs:
      - ENDPOINT:API_TOKEN
      - <https://reconapi.redhuntlabs.com/community/v1/domains/subdomains:joEPzJJp2AuOCw7teAj63HYrPGnsxuPQ>
    securitytrails: []
    shodan:
      - AAAAClP1bJJSRMEYJazgwhJKrggRwKA
    github:
      - ghp_lkyJGU3jv1xmwk4SDXavrLDJ4dl2pSJMzj4X
      - ghp_gkUuhkIYdQPj13ifH4KA3cXRn8JD2lqir2d4
    zoomeyeapi:
      - 4f73021d-ff95-4f53-937f-83d6db719eec
    quake:
      - 0cb9030c-0a40-48a3-b8c4-fca28e466ba3
    facebook:
      - APP_ID:APP_SECRET
    intelx:
      - HOST:API_KEY
      - 2.intelx.io:s4324-b98b-41b2-220e8-3320f6a1284d
    

    Censys, PassiveTotal, Fofa, Intellix, 360quake와 같은 소스는 콜론(:)으로 구분해야 합니다.

    Subfinder 사용해보기

    Subfinder 기본 사용법

    # 타겟 설정 (-d)
    # URL 리스트 파일 설정 (-list)
    
    # 기본 명령어 (*.hackerone.com 서브도메인 검색)
    subfinder -d hackerone.com
    
    # 결과를 다른 도구들과 연계하여 사용하기
    echo hackerone.com | subfinder -silent | httpx -silent
    
    <http://hackerone.com>
    <http://www.hackerone.com>
    <http://docs.hackerone.com>
    <http://api.hackerone.com>
    <https://docs.hackerone.com>
    <http://mta-sts.managed.hackerone.com>
    댓글