
metabigor v2.2.0
네트워크 발견, 서브도메인 열거, IP 정보 보강, 시크릿 탐지를 위한 OSINT 정찰 도구로, 인증서 로그, Shodan 및 GitHub 코드 검색을 통해 작동하며 API 키가 전혀 필요 없습니다.
Metabigor - API 키 없이 사용하는 OSINT 파워
Metabigor란 무엇인가?
Metabigor는 API 키를 하나도 등록하지 않고도 타겟의 인프라를 매핑합니다. 네트워크 범위, 인증서, 관련 도메인, 노출된 포트, CDN 벤더, 코드 유출까지 - 모든 것이 무료 소스에서 제공되며, 서로 파이프로 연결할 수 있습니다.
기능
- 네트워크 디스커버리 - ASN, 조직, 도메인 또는 IP에서 IP 범위(CIDR) 찾기
- 인증서 투명성(Certificate Transparency) - crt.sh를 통해 서브도메인 발견
- IP 인리치먼트 - Shodan InternetDB를 통한 포트, 호스트명, CVE 정보 (무료, 키 불필요)
- GitHub 코드 검색 - grep.app을 통해 공개 저장소에서 시크릿, 자격 증명, 서브도메인 검색
- IP 클러스터링 - ASN별 IP 그룹화로 인프라 매핑
- 관련 도메인 - 인증서 로그, 역방향 WHOIS, 애널리틱스 ID를 통한 피벗
- CDN/WAF 탐지 - 보호된 주소와 후보 오리진 분리
- URL 수집 - 웹 아카이브가 본 모든 URL (WARC에서 발굴한 엔드포인트 포함)
설치
npm install -g @j3ssie/metabigor # macOS, Linux, Windows
brew install j3ssie/tap/metabigor # macOS, Linux
둘 다 플랫폼에 맞는 동일한 사전 빌드 바이너리를 제공합니다 - Go 툴체인 불필요.
또는 소스에서 빌드:
git clone https://github.com/j3ssie/metabigor.git
cd metabigor
make build # ./bin/metabigor에 바이너리 생성
또는 릴리스 페이지에서 바이너리를 다운로드하세요.
30초 투어
metabigor net AS13335 # ASN 뒤의 네트워크 범위
metabigor cert hackerone.com # 인증서 로그에서 서브도메인
metabigor ip 1.1.1.1 # IP의 열린 포트와 CVE
metabigor related tesla.com # 타겟이 소유한 다른 도메인
metabigor cdn --exclude -I ips.txt # 후보 오리진 서버
모든 명령어의 작동 방식
모든 곳에서 동일한 규칙이 적용되므로 하나의 명령어를 배우면 모두 알게 됩니다.
타겟을 전달하는 네 가지 방법
metabigor cert example.com # 인자로 전달
metabigor cert example.com tesla.com # 여러 인자 전달
metabigor cert -i example.com # -i 사용
metabigor cert -I domains.txt # 파일에서, 줄당 하나 (# 주석은 무시됨)
cat domains.txt | metabigor cert # stdin 사용
결합할 수 있으며 병합된 목록은 중복이 제거됩니다:
metabigor cluster 1.1.1.1 -i 8.8.8.8 -I more-ips.txt
인자는 가장 짧은 경로이며 모든 명령어에서 작동합니다. 타겟이 플래그처럼 보이거나
스크립트가 명령어를 구성하는 경우 -i를 사용하세요:
metabigor github -i "--endpoint-url"
metabigor net --input "$TARGET" -f json
stdin은 다른 방식으로 타겟이 주어지지 않았을 때만 읽히므로, metabigor net AS13335는
스크립트나 CI 작업 내에서 입력을 기다리며 블로킹되지 않습니다.
출력 형식을 위한 하나의 플래그
-f/--format은 모든 명령어에서 작동합니다:
| 포맷 | 얻을 수 있는 것 | 사용 용도 |
|---|---|---|
text (기본값) | 읽기 쉬운 컬럼 | 터미널에서 읽기 |
flat | 기본 값만 표시 | 다른 도구로 파이프 |
json | 줄마다 JSON 객체 하나 | jq, 자동화 |
csv | 헤더 뒤의 행들 | 스프레드시트, 보고서 |
metabigor ip 1.1.1.0/28 # 1.1.1.1 | 80,443 | one.one.one.one
metabigor ip 1.1.1.0/28 -f flat # 1.1.1.1:80
metabigor ip 1.1.1.0/28 -f json # {"ip":"1.1.1.1","ports":[80,443],...}
metabigor ip 1.1.1.0/28 -f csv -o ports.csv
결과는 항상 stdout으로, 로그는 항상 stderr로 출력되므로 어떤 로그 레벨에서도 파이프가 깨끗하게 유지됩니다.
-o는 결과를 파일에도 기록하며, --append를 전달하지 않으면 파일을 덮어씁니다. 파일은
기록할 결과가 있을 때만 다시 작성되므로 실패하거나 아무것도 찾지 못한 실행은 이전 결과를
그대로 유지합니다.
명령어 체이닝
metabigor net AS13335 -f flat | metabigor ip -f flat
metabigor related tesla.com -f flat | metabigor cert
cat domains.txt | dnsx -silent -resp-only | metabigor cdn --exclude
명령어
net - 네트워크 디스커버리
ASN, IP, 도메인 또는 조직 뒤의 CIDR을 찾습니다. 번들된 오프라인 데이터베이스를 사용합니다.
metabigor net AS13335 # ASN이 공지한 모든 CIDR
metabigor net 1.1.1.1 --detail # 이 IP를 소유한 ASN
metabigor net --org Cloudflare # 회사 이름으로 검색
metabigor net --live tesla.com # 로컬 DB 대신 라이브 소스 조회
metabigor net -I asn-list.txt -f csv -o ranges.csv
타겟 유형은 자동 감지됩니다. --asn, --ip, --domain, --org로 재정의할 수 있습니다
(상호 배타적). --detail은 ASN, 조직, 국가 컬럼을 추가합니다.
cert - 인증서 투명성
metabigor cert hackerone.com # 줄마다 도메인 하나
metabigor cert "HackerOne Inc" # 조직으로 검색
metabigor cert example.com --clean # 와일드카드에서 *. 제거
metabigor cert example.com --wildcard # 와일드카드 항목만 표시
metabigor cert example.com --detail # 인증서 ID, 발급자, 유효 기간
metabigor cert tesla.com | dnsx -silent
ip - IP 인리치먼트 (Shodan InternetDB)
metabigor ip 1.1.1.1 # 포트, 호스트명, CVE
metabigor ip 1.1.1.0/28 # CIDR은 호스트로 확장됨
metabigor ip 1.1.1.0/28 -f flat # IP:PORT 쌍
metabigor ip -I ips.txt -c 30 -f csv -o ports.csv
InternetDB가 아무 정보도 모르는 IP는 건너뜁니다. 유지하려면 --all을 전달하세요.
github - 코드 검색 (grep.app)
metabigor github hackerone.com # 매치당 저장소와 경로
metabigor github tesla.com --subs # 매치에서 발견된 서브도메인만 표시
metabigor github "api_key=" --detail # 매칭된 코드 표시
metabigor github AKIA --pages 3 --detail
Chrome 또는 Chromium이 필요합니다 - grep.app은 일반 HTTP 클라이언트에 봇 챌린지로 응답합니다.
grep.app의 속도 제한을 존중하기 위해 -c와 무관하게 검색은 한 번에 하나씩 실행됩니다.
cluster - IP 클러스터링
IP를 소유한 ASN별로 그룹화하며, 가장 큰 클러스터부터 표시합니다. IP 또는 CIDR을 허용합니다. 오프라인에서 작동합니다.
cat ips.txt | metabigor cluster
metabigor cluster -I ips.txt -f csv -o clusters.csv
cat domains.txt | dnsx -silent -resp-only | metabigor cluster
related - 관련 도메인 디스커버리
metabigor related hackerone.com # 모든 소스
metabigor related tesla.com --sources crt
metabigor related tesla.com --sources crt,whois
소스: crt(crt.sh), whois(viewdns.info 역방향 WHOIS), analytics(공유된 Google
Analytics / Tag Manager ID), 또는 all. 결과는 소스 전반에서 중복 제거되며 가장 먼저
발견한 소스로 태그가 지정됩니다.
url - 웹 아카이브 URL 수집
metabigor url hackerone.com # 키 없는 모든 소스, 서브도메인 포함
metabigor url blog.hackerone.com --no-subs # 호스트명 하나만
metabigor url hackerone.com/reports # 경로 접두사로 범위 제한
metabigor url tesla.com --sources wayback,urlscan
metabigor url tesla.com --keywords '\.js(\?|$)' # JavaScript만
metabigor url tesla.com --blacklist default --no-params
metabigor url tesla.com -f flat | httpx
소스: wayback, commoncrawl, otx, urlscan, ghostarchive, 그리고 키가 설정된 경우
virustotal과 intelx. 키가 필요 없는 다섯 가지 소스가 기본으로 실행되며, 자격 증명이 필요한 두 소스는
환경에 VT_API_KEY / INTELX_API_KEY가 있을 때 자동으로 포함됩니다.
URLSCAN_API_KEY는 urlscan의 페이지 크기를 늘립니다. 키 없이 자격 증명이 필요한 소스를 지정하면
조용히 건너뛰는 대신 오류가 발생합니다.
서브도메인은 기본적으로 포함됩니다 - 쿼리는 target이 아닌 *.target입니다. 이는
실행 결과의 양을 결정하는 가장 큰 요소입니다. --no-subs로 범위를 좁힐 수 있습니다.
GhostArchive는 단순히 목록만 제공하는 것이 아니라 데이터를 채굴합니다. 모든 아카이브된 페이지에는
원시 WARC도 있으며, WARC는 페이지를 캡처하는 동안 브라우저가 만든 모든 하위 요청(XHR 호출, JSON
엔드포인트, 동적으로 구성된 스크립트 URL)을 기록합니다. 이 중 어떤 것도 CDX 인덱스에 나타나지 않습니다.
CDX는 페이지 URL 자체의 캡처만 인덱싱하기 때문입니다. 테스트에서 tesla.com에 대한 8개의 요청은
라이브 JSON API 엔드포인트를 포함해 147개의 URL을 반환했습니다. --limit-requests로 비용을 제한하세요.
필터는 기본적으로 꺼져 있어 요청하지 않은 데이터는 삭제되지 않습니다. --match-status / --filter-status,
--match-mime / --filter-mime, --from / --to, --keywords는 Wayback
및 Common Crawl API에 서버 측에서 전달된 후 로컬에서 다시 확인됩니다. --blacklist와 --no-params는
로컬 필터입니다. --limit-requests는 소스별 요청 수를 제한하고 --limit-collections는 Common Crawl의
약 126개 인덱스 컬렉션을 어느 깊이까지 검색할지 설정합니다 (0은 2008년까지 전체 검색).
cdn - CDN/WAF 탐지
metabigor cdn 1.1.1.1 # 벤더와 유형
cat ips.txt | metabigor cdn --exclude # 후보 오리진
cat ips.txt | metabigor cdn --only # 보호된 주소만
update - 로컬 데이터베이스 새로고침
metabigor update