Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
urx — OSINT 아카이브에서 URL을 추출하여 보안 인사이트를 제공합니다 | Kitploit
도구/GitHubGitHub/hahwul/urx
OSINT (Open Source Intelligence)ReconnaissanceInformation GatheringWeb SecurityCrawler
GitHubhahwul/urx

urx

OSINT 아카이브에서 URL을 추출하여 보안 인사이트를 제공합니다

저장소 보기
190206일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트
Urx 로고

OSINT 아카이브에서 URL을 추출하여 보안 인사이트를 제공합니다.

Urx는 Wayback Machine, Common Crawl과 같은 OSINT 아카이브에서 URL을 수집하기 위해 설계된 명령줄 도구입니다. 효율성을 위해 Rust로 제작되었으며, 비동기 처리를 활용하여 여러 데이터 소스를 빠르게 쿼리합니다. 이 도구는 지정된 도메인에 대한 URL 정보를 수집하는 과정을 단순화하며, 보안 테스트 및 분석을 포함한 다양한 목적으로 사용할 수 있는 포괄적인 데이터셋을 제공합니다.

기능

  • 여러 소스( Wayback Machine, Common Crawl, OTX, Arquivo.pt)에서 병렬로 URL 가져오기
  • 기본적으로 키 불필요: Wayback, Common Crawl, OTX, Arquivo.pt, URLScan(익명) 모두 API 키 없이 작동
  • VirusTotal 및 URLScan 제공자에 대한 API 키 순환 지원으로 속도 제한 완화
  • 파일 확장자, 패턴 또는 사전 설정(예: 이미지 제외를 위한 "no-image")으로 결과 필터링
  • URL 정규화 및 중복 제거: 쿼리 매개변수 정렬, 후행 슬래시 제거, 의미상 동일한 URL 병합
  • 여러 출력 형식 지원: 일반 텍스트, JSON, CSV
  • 직접 파일 입력 지원: WARC 파일, URLTeam 압축 파일, 텍스트 파일에서 직접 URL 읽기
  • 결과를 콘솔 또는 파일로 출력하거나 stdin을 통해 파이프라인 통합을 위한 스트리밍
  • URL 테스트:
    • HTTP 상태 코드 및 패턴을 기반으로 URL 필터링 및 검증
    • 수집된 URL에서 추가 링크 추출
  • 캐싱 및 증분 스캔:
    • 로컬 SQLite 또는 원격 Redis 캐싱으로 도메인 재스캔 방지
    • 증분 모드로 마지막 스캔 이후의 새 URL만 검색
    • 설정 가능한 캐시 TTL 및 만료된 항목 자동 정리

미리보기

설치

Cargo로 설치

root@kitploit:~
# https://crates.io/crates/urx
cargo install urx

Homebrew로 설치

root@kitploit:~
# https://formulae.brew.sh/formula/urx
brew install urx

소스에서 빌드

root@kitploit:~
git clone https://github.com/hahwul/urx.git
cd urx
cargo build --release

컴파일된 바이너리는 target/release/urx에서 찾을 수 있습니다.

Docker로 사용

ghcr.io/hahwul/urx

사용법

기본 사용법

root@kitploit:~
# 단일 도메인 스캔
urx example.com

# 여러 도메인 스캔
urx example.com example.org

# 파일에서 도메인 읽기
cat domains.txt | urx

옵션

root@kitploit:~
Usage: urx [OPTIONS] [DOMAINS]...

Arguments:
  [DOMAINS]...  URL을 가져올 도메인

Options:
  -c, --config <CONFIG>           로드할 설정 파일
      --provider-config <PATH>    API 키만 저장하는 별도 제공자 설정 파일 (기본값: $XDG_CONFIG_HOME/urx/provider-config.toml). CLI/env > provider-config > 기본 설정.
  -h, --help             도움말 출력
  -V, --version          버전 출력

입력 옵션:
      --files <FILES>...        파일에서 직접 URL 읽기 (WARC, URLTeam 압축 파일, 텍스트 파일 지원)
      --domain-list <PATH>      개행으로 구분된 도메인 목록 파일 (반복 가능; 위치 인수 DOMAINS 및 stdin과 병합; `#` 주석 허용)

출력 옵션:
  -o, --output <OUTPUT>          결과를 쓸 출력 파일
      --output-dir <PATH>        도메인별로 하나의 파일을 이 디렉토리에 씁니다 (확장자는 --format과 일치). --output / stdout과 공존 가능.
  -f, --format <FORMAT>          출력 형식 (예: "plain", "json", "csv") [기본값: plain]
      --merge-endpoint   동일한 경로의 엔드포인트를 병합하고 URL 매개변수 병합
      --normalize-url    URL 정규화로 중복 제거 개선 (쿼리 매개변수 정렬, 후행 슬래시 제거)

제공자 옵션:
      --providers <PROVIDERS>
          사용할 제공자 (쉼표로 구분, 예: "wayback,cc,otx,arquivo,vt,urlscan") [기본값: wayback,cc,otx]
      --exclude-providers <EXCLUDE_PROVIDERS>
          제외할 제공자 (쉼표로 구분). --providers / --all-providers와 충돌 시 우선 적용.
      --all-providers
          지원되는 모든 제공자 활성화. API 키가 필요한 제공자는 키가 있을 때만 활성화.
      --list-providers
          지원되는 모든 제공자를 나열하고 종료.
      --subs
          검색 시 서브도메인 포함
      --cc-index <CC_INDEX>
          사용할 Common Crawl 인덱스; 쉼표로 구분된 목록을 병렬로 쿼리 가능 (예: `CC-MAIN-2026-17,CC-MAIN-2025-51`). `latest` (기본값)는 collinfo.json을 통해 최신 인덱스를 확인. [기본값: latest]
      --wayback-from <DATE>
          Wayback Machine 결과를 DATE (YYYY/YYYYMM/YYYYMMDD/YYYYMMDDhhmmss) 이후의 스냅샷으로 제한
      --wayback-to <DATE>
          Wayback Machine 결과를 DATE (--wayback-from과 동일한 형식) 이전의 스냅샷으로 제한
      --vt-api-key <VT_API_KEY>
          VirusTotal용 API 키 (순환을 위해 여러 번 사용 가능, 쉼표로 구분된 키를 사용하여 URX_VT_API_KEY 환경 변수도 사용 가능)
      --urlscan-api-key <URLSCAN_API_KEY>
          Urlscan용 선택적 API 키; 제공자는 익명으로도 작동 (IP당 약 30 req/min 속도 제한). 순환을 위해 여러 번 사용 가능하거나 URX_URLSCAN_API_KEY (쉼표로 구분된 키)로 설정 가능.
      --github-api-key <GITHUB_API_KEY>
          GitHub Code Search 제공자용 개인 액세스 토큰 (URX_GITHUB_API_KEY도 읽음, 순환을 위해 쉼표로 구분)

발견 옵션:
      --exclude-robots   robots.txt 발견 제외
      --exclude-sitemap  sitemap.xml 발견 제외

표시 옵션:
  -v, --verbose       상세 출력 표시
      --silent        자동 모드 (출력 없음)
      --no-progress   진행률 표시줄 없음
      --show-sources  출력 URL에 해당 URL을 반환한 제공자 주석 표시
      --stats         실행 종료 시 stderr에 제공자별 요약 출력

필터 옵션:
  -p, --preset <PRESET>
          필터 사전 설정 (예: "no-resources,no-images,no-audio,only-js,only-style")
  -e, --extensions <EXTENSIONS>
          특정 확장자만 포함하도록 URL 필터링 (쉼표로 구분, 예: "js,php,aspx")
      --exclude-extensions <EXCLUDE_EXTENSIONS>
          특정 확장자를 제외하도록 URL 필터링 (쉼표로 구분, 예: "html,txt")
      --patterns <PATTERNS>
          특정 패턴을 포함하는 URL만 필터링 (쉼표로 구분)
      --exclude-patterns <EXCLUDE_PATTERNS>
          특정 패턴을 포함하는 URL 제외 (쉼표로 구분)
      --show-only-host
          URL의 호스트 부분만 표시
      --show-only-path
          URL의 경로 부분만 표시
      --show-only-param
          URL의 매개변수 부분만 표시
      --min-length <MIN_LENGTH>
          포함할 최소 URL 길이
      --max-length <MAX_LENGTH>
          포함할 최대 URL 길이
      --strict
          정확한 호스트 검증 적용 (기본값)

네트워크 옵션:
      --network-scope <NETWORK_SCOPE>  네트워크 설정이 적용되는 구성 요소 제어 (all, providers, testers 또는 providers,testers) [기본값: all]
      --proxy <PROXY>                  HTTP 요청에 프록시 사용 (형식: <http://proxy.example.com:8080>)
      --proxy-auth <PROXY_AUTH>        프록시 인증 자격 증명 (형식: username:password)
      --insecure                       SSL 인증서 검증 건너뛰기 (자체 서명 인증서 허용)
      --random-agent                   HTTP 요청에 임의 User-Agent 사용
      --timeout <TIMEOUT>              요청 시간 제한 (초) [기본값: 120]
      --retries <RETRIES>              실패한 요청의 재시도 횟수 [기본값: 2]
      --parallel <PARALLEL>            제공자별 동시에 가져올 최대 도메인 수 (및 동시 URL 테스트); 제공자의 --rate-limit이 이들 간에 공유됨 [기본값: 5]
      --rate-limit <RATE_LIMIT>        속도 제한 (초당 요청 수)
      --rate-limit-by <PAIRS>          제공자별 속도 재정의 (예: `vt=1,wayback=10`); 목록에 없는 제공자는 --rate-limit 사용
      --max-time <MAX_TIME>            제공자 열거의 전역 최대 시간 제한 (초) (0 = 무제한) [기본값: 0]

테스트 옵션:
      --check-status
          수집된 URL의 HTTP 상태 코드 확인 [aliases: ----cs]
      --include-status <INCLUDE_STATUS>
          특정 HTTP 상태 코드 또는 패턴이 있는 URL 포함 (예: --is=200,30x) [aliases: ----is]
      --exclude-status <EXCLUDE_STATUS>
          특정 HTTP 상태 코드 또는 패턴이 있는 URL 제외 (예: --es=404,50x,5xx) [aliases: ----es]
      --extract-links
          수집된 URL에서 추가 링크 추출 (HTTP 요청 필요)

예제

root@kitploit:~
# 결과를 파일에 저장
urx example.com -o results.txt

# JSON 형식으로 출력
urx example.com -f json -o results.json

# JavaScript 파일만 필터링
urx example.com -e js

# HTML 및 텍스트 파일 제외
urx example.com --exclude-extensions html,txt

# API 엔드포인트 필터링
urx example.com --patterns api,v1,graphql

# 특정 패턴 제외
urx example.com --exclude-patterns static,images

# 파일터 사전 설정 사용 (--exclude-extensions=png,jpg,.....와 유사)
urx example.com -p no-images

# 특정 제공자 사용
urx example.com --providers wayback,otx

# 키가 필요 없는 Arquivo.pt (포르투갈 웹 아카이브) 제공자 추가
urx example.com --providers wayback,cc,otx,arquivo

# URLScan은 키 없이도 작동 (익명, 속도 제한 있음); 키는 한도를 높임
urx example.com --providers urlscan

# VirusTotal 및 URLScan 제공자 사용
# 1. 제공자에 명시적으로 추가 (명령줄로 API 키 제공)
urx example.com --providers=vt,urlscan --vt-api-key=*** --urlscan-api-key=***

# 2. 환경 변수를 사용하여 API 키 제공
URX_VT_API_KEY=*** URX_URLSCAN_API_KEY=*** urx example.com --providers=vt,urlscan

# 3. 자동 활성화: API 키가 제공되면 제공자가 자동으로 추가됨
urx example.com --vt-api-key=*** --urlscan-api-key=*** # --providers에 지정할 필요 없음

# 4. 여러 API 키 순환 (속도 제한 완화)
# 반복 플래그 사용
urx example.com --vt-api-key=key1 --vt-api-key=key2 --vt-api-key=key3

# 쉼표로 구분된 키로 환경 변수 사용
URX_VT_API_KEY=key1,key2,key3 URX_URLSCAN_API_KEY=ukey1,ukey2 urx example.com

# CLI 플래그와 환경 변수 결합 (CLI 키가 먼저 사용됨)
URX_VT_API_KEY=env_key1,env_key2 urx example.com --vt-api-key=cli_key1 --vt-api-key=cli_key2

# robots.txt 및 sitemap.xml의 URL은 기본적으로 포함됨

# robots.txt 파일의 URL 제외
urx example.com --exclude-robots

# sitemap의 URL 제외
urx example.com --exclude-sitemap

# 서브도메인 포함
urx example.com --subs

# 수집된 URL의 상태 확인
urx example.com --check-status

# 텍스트 파일에서 직접 URL 읽기
urx --files urls.txt

# 파일 입력과 필터링 결합
urx --files urls.txt --patterns api,admin -f json

# 수집된 URL에서 추가 링크 추출
urx example.com --extract-links

# 네트워크 구성
urx example.com --proxy http://localhost:8080 --timeout 60 --parallel 10 --insecure

# 고급 필터링
urx example.com -e js,php --patterns admin,login --exclude-patterns logout,static --min-length 20

# HTTP 상태 코드 기반 필터링
urx example.com --include-status 200,30x,405 --exclude-status 20x

# 호스트 검증 비활성화
urx example.com --strict false

# URL 정규화 및 중복 제거
# 쿼리 매개변수 정렬 및 후행 슬래시 제거를 통한 URL 정규화
urx example.com --normalize-url

# 정규화와 엔드포인트 병합 결합으로 포괄적인 중복 제거
urx example.com --normalize-url --merge-endpoint

# 파일 입력과 URL 정규화
urx --files urls.txt --normalize-url

캐싱 및 증분 스캔

Urx는 반복 스캔의 성능을 향상시키기 위한 캐싱과 새 URL만 검색하기 위한 증분 스캔을 지원합니다.

root@kitploit:~
# SQLite 캐싱 활성화 (기본값)
urx example.com --cache-type sqlite --cache-path ~/.urx/cache.db

# 분산 캐싱을 위한 Redis 사용
urx example.com --cache-type redis --redis-url redis://localhost:6379

# 증분 스캔 - 마지막 스캔 이후의 새 URL만 표시
urx example.com --incremental

# 캐시 TTL(만료 시간)을 12시간으로 설정
urx example.com --cache-ttl 43200

# 캐싱 완전 비활성화
urx example.com --no-cache

# 증분 스캔과 필터 결합
urx example.com --incremental -e js,php --patterns api

# 캐싱 설정이 포함된 설정 파일
urx -c example/config.toml example.com

캐싱 사용 사례

root@kitploit:~
# 일일 모니터링 - 새 URL에 대해서만 알림
urx target.com --incremental --silent | notify-tool

# 효율적인 도메인 목록 처리
cat domains.txt | urx --incremental --cache-ttl 3600 > new_urls.txt

# Redis를 사용한 분산 팀 스캔
urx example.com --cache-type redis --redis-url redis://shared-cache:6379

# 개발 중 빠른 재스캔
urx test-domain.com --cache-ttl 300  # 빠른 반복을 위한 5분 캐시

다른 도구와의 통합

Urx는 다른 보안 및 정찰 도구와의 파이프라인에서 잘 작동합니다:

root@kitploit:~
# 도메인 찾은 후 URL 발견
echo "example.com" | urx | grep "login" > potential_targets.txt

# 다른 도구와 결합
cat domains.txt | urx --patterns api | other-tool

영감

Urx는 gau (GetAllUrls)에서 영감을 받았습니다. gau는 AlienVault의 Open Threat Exchange, Wayback Machine, Common Crawl에서 알려진 URL을 가져오는 도구입니다. 유사한 핵심 기능을 공유하지만, Urx는 Rust로 처음부터 구축되어 성능, 동시성 및 확장된 필터링 기능에 중점을 두었습니다.

기여

Urx는 오픈 소스 프로젝트이며 ❤️로 만들어졌습니다. 이 프로젝트에 기여하고 싶다면 CONTRIBUTING.md를 참조하고 멋진 내용으로 Pull-Request를 보내주세요.

도구 다운로드