
서브도메인 및 대상 열거 도구로, 공격적 보안 테스트를 위해 제작되었습니다.
개요
:small_blue_diamond:
사용법
:small_blue_diamond:
기여하기
SubScraper는 주어진 대상의 서브도메인을 찾기 위해 다양한 기술을 사용하는 서브도메인 열거 도구입니다. 서브도메인 열거는 침투 테스트 및 버그 바운티 헌팅 중 조직의 공격 표면을 발견하는 데 특히 유용합니다.
적용된 CMD 인수에 따라 SubScraper는 DNS 이름을 확인하고, HTTP(S) 정보를 요청하며, 열거 과정에서 takeover 기회를 위해 CNAME 조회를 수행할 수 있습니다. 이는 다음 단계를 식별하고 악용 패턴을 발견하는 데 도움이 됩니다.
.txt 파일 또는 STDIN에서 읽습니다..txt 또는 .csv 형식으로 출력 파일을 생성합니다.
다음은 Windows, Linux 및 MacOS에서 SubScraper를 설치하는 데 사용할 수 있습니다:
git clone https://github.com/m8sec/subscraper
cd subscraper
pip3 install -r requirements.txt
Poetry를 사용하여 SubScraper 설치 및 실행:
git clone https://github.com/m8sec/subscraper
cd subscraper
poetry install
poetry run subscraper -h
Docker 이미지를 빌드하고 Docker에서 subscraper를 실행할 수 있습니다:
git clone https://github.com/m8sec/subscraper
cd subscraper
docker build -t m8sec/subscraper .
# 도움말 표시
docker run --rm m8sec/subscraper
# 사이트 스캔 예제
docker run --rm m8sec/subscraper -d example.com
구성 파일인 ~/.config/subscraper/config.json을 사용하여 API 키를 저장해 쉽게 재사용할 수 있습니다.
v4.0.0 이후의 최신 버전으로 업데이트하는 경우, -update 인수를 사용하여 새 구성 파일을 가져와 호환성을 보장하십시오 - 참고: 이렇게 하면 기존 키 항목이 제거됩니다.
전체 모듈 목록은 -ls 명령줄 인수를 사용하여 확인할 수 있습니다:
bevigil - 모바일 애플리케이션에서 서브도메인을 스크래핑하기 위한 BeVigil OSINT API (API 키 필요)
crt.sh - cert.sh를 사용한 서브도메인 열거.
virustotal - VirusTotal에서 서브도메인 조회 (API 키 필요)
dnsrepo - API 키 없이 dnsrepo.noc.org 파싱 - 150개 결과 제한
chaos - Project Discovery의 Chaos (API 키 필요)
certspotter - Certspotter API를 사용하여 서브도메인 수집
bufferover - Bufferover.run API 조회 (API 키 필요)
alienvault - AlienVault OTX를 사용하여 서브도메인 찾기
redhuntlabs - RedHunt Labs recon API (API 키 필요)
archive - archive.org를 사용하여 서브도메인 찾기.
dnsdumpster - DNS dumpster를 사용하여 서브도메인 열거.
censys.io - censys.io SSL 인증서 조회를 통해 서브도메인 수집. (API 키 필요)
shodan - Shodan으로 서브도메인 가져오기 (API 키 필요)
SubScraper Options:
-debug Enable debug logging
-update Update config file (Will remove existing entries)
-config CONFIG Override default config location
-silent Show subdomains only in output
-threads THREADS, -T THREADS Max threads for enumeration (65*).
-t TIMEOUT set connection timeouts (3*)
-d DOMAIN, --domain DOMAIN Target domain input (domain, .txt, STDIN, etc.
Module Options:
-ls List SubScraper enumeration modules.
-m MODULES Execute module(s) by name or group (all*).
-module-only Execute modules only not brute force
Bruteforce Options:
-w WORDLIST Custom wordlist for DNS brute force.
-ns NS Comma separated nameservers to use
Enumeration Options:
-r, -resolve Resolve IP address for each subdomain identified.
-c, -cname Perform CNAME lookup for subdomain takeover checks
-http Probe for active HTTP services.
-http-port HTTP_PORT HTTP ports to check, comma separated (80,443*)
Output Options:
-nc, -no-color Disable color output
-active Only report active subdomains with resolved IP
-csv Create CSV output report
-o REPORT Output file
python3 subscraper.py -d example.com -resolve -http -module-only
python3 subscraper.py -d example.com -cname -m none -o sub_report.csv -csv
cat domains.txt | python3 subscraper.py -active -silent
프로젝트에 기여하는 방법: