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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
API-SPY-API-PROBE — 강력한 디렉터리 무차별 대입 도구로, 재귀/멀티플렉스 작업, API 탐색 및 열거, JS 파일 스크래핑, API HTTP 메서드 나열을 하나의 명령으로 수행하도록 설계되었습니다. 이 도구는 API 전용이 아니라, 제 도구는 API에서 특히 뛰어납니다. | Kitploit
도구/GitHubGitHub/austinjump-sec/api-spy-api-probe
ReconnaissanceScripting & AutomationWeb Application ExploitationAPI Security TestingInformation GatheringPenetration TestingCrawler
GitHubaustinjump-sec/api-spy-api-probe

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

API-SPY-API-PROBE

강력한 디렉터리 무차별 대입 도구로, 재귀/멀티플렉스 작업, API 탐색 및 열거, JS 파일 스크래핑, API HTTP 메서드 나열을 하나의 명령으로 수행하도록 설계되었습니다. 이 도구는 API 전용이 아니라, 제 도구는 API에서 특히 뛰어납니다.

저장소 보기
5153개월 전아직 검토되지 않음

API-SPY 🕵️👻

API 정찰 및 침투 테스트를 위해 설계된 강력한 디렉토리 무차별 대입 도구입니다. 숨겨진 API 엔드포인트를 자동으로 발견하고, 재귀적 하위 스캔을 수행하며, HTTP 메서드를 프로빙하여 더욱 심층적인 API 열거를 수행합니다.

screenie work

기능

✨ 핵심 기능:

  • 🎯 워드리스트 기반 무차별 대입을 통한 빠른 엔드포인트 발견
  • 🔄 발견된 엔드포인트의 자동 재귀적 하위 스캔
  • 🔍 HTTP 메서드 프로빙 (GET, POST, PUT, DELETE, PATCH, OPTIONS)
  • ⚡ 향상된 성능을 위한 멀티스레드 스캔
  • 📊 스마트 상태 코드 처리 (200, 401, 403)
  • 🔗 선택적 하위 스캔 및 프로빙을 위한 대화형 프롬프트
  • 🕷️ 일반적인 /api/ 엔드포인트에 대한 JavaScript 스크래핑
  • 🪟 병렬 작업을 위한 터미널 멀티플렉싱 지원 (tmux)
  • ⏱️ 구성 가능한 타임아웃으로 자동 건너뛰기 프롬프트

설치

사전 요구 사항

  • Python 3.6+
  • requests 라이브러리
  • tmux (선택 사항, --split 플래그 사용 시)
  • xfce-terminal (Linux 데스크탑 환경용)

설정

root@kitploit:~
# 저장소 클론
git clone https://github.com/austinjump-sec/API-SPY.git
cd API-SPY

# 의존성 설치
pip install requests

# 스크립트 실행 권한 부여 (선택 사항)
chmod +x apispy.py apiprobe.py

사용법

기본 구문

root@kitploit:~
python3 apispy.py <baseUrl> <wordlist> [옵션]

필수 인자

인자설명
<baseUrl>대상 URL (예: http://example.com 또는 http://api.example.com)
<wordlist>엔드포인트가 한 줄에 하나씩 포함된 워드리스트 파일 경로

선택적 인자

예제

기본 설정으로 기본 스캔 (단일 스레드)

root@kitploit:~
python3 apispy.py http://api.example.com wordlist.txt

10개 스레드를 사용한 멀티스레드 스캔

root@kitploit:~
python3 apispy.py http://api.example.com wordlist.txt -t10

병렬 작업을 위해 tmux 사용

root@kitploit:~
python3 apispy.py http://api.example.com wordlist.txt -t5 --split

더 높은 스레드 수로 특정 URL 하위 스캔

root@kitploit:~
python3 apispy.py http://api.example.com/v1 wordlist.txt -t20

작동 방식

1단계: 일반적인 API 엔드포인트 테스트

도구는 미리 정의된 일반적인 API 경로 세트를 테스트하는 것으로 시작합니다:

  • api, v1, v2, api/v1, api/v2, graphql, rest

2단계: 워드리스트 무차별 대입

  • 워드리스트에서 엔드포인트를 로드합니다 (#으로 시작하는 주석은 무시)
  • HTTP GET 요청으로 각 엔드포인트를 테스트
  • 더 빠른 스캔을 위한 멀티스레드 실행
  • 상태 코드 200, 401, 403으로 응답하는 엔드포인트 식별

3단계: 대화형 하위 스캔 (선택 사항)

엔드포인트가 발견되면 프롬프트가 표시됩니다:

root@kitploit:~
'-> <url>을(를) 하위 스캔하시겠습니까? (y/n) [5초 후 자동 건너뛰기]:
  • y/yes를 선택하면 동일한 워드리스트로 해당 엔드포인트를 재귀적으로 스캔
  • 새 터미널 또는 tmux 분할 창에서 자동으로 실행
  • 5초 내에 입력이 없으면 자동 건너뛰기

4단계: HTTP 메서드 프로빙 (선택 사항)

하위 스캔 후 프롬프트가 표시됩니다:

root@kitploit:~
'-> <url>에서 메서드를 프로빙하시겠습니까? (y/n) [5초 후 자동 건너뛰기]:
  • 발견된 엔드포인트에서 HTTP 메서드를 테스트하는 apiprobe.py를 실행
  • 테스트: GET, POST, PUT, DELETE, PATCH, OPTIONS
  • 색상으로 구분된 출력 (200은 녹색, 인증 관련 오류는 노란색)
  • 응답 크기 및 Allow 헤더 힌트 표시

출력 해석

API-SPY 메인 스크립트

root@kitploit:~
[+] Url found: http://api.example.com/v1            ← 200 OK (접근 가능)
    '-> http://api.example.com/v1을(를) 하위 스캔하시겠습니까? (y/n) [0초 후 자동 건너뛰기]: 
[-] Timeout: http://api.example.com/v1에 대한 프롬프트를 건너뛰었습니다?
    '-> http://api.example.com/v1에서 메서드를 프로빙하시겠습니까? (y/n) [4초 후 자동 건너뛰기]: 
[-] Url found but not permitted (403 ERR): ...      ← 금지되었지만 존재함
[-] Url found but not permitted (401 ERR): ...      ← 인증 필요

API-Probe 스크립트

root@kitploit:~
[+] GET     -> STATUS: 200 OK (Size: 1024)
[-] POST    -> STATUS: 405 (Size: 0)
[Header Hint] Allow: GET, HEAD, OPTIONS

워드리스트 형식

엔드포인트가 한 줄에 하나씩 포함된 간단한 텍스트 파일을 만듭니다:

root@kitploit:~
admin
users
api/users
v1/products
v2/customers
/api/v1/auth
/graphql
search
data
config

참고: #으로 시작하는 줄은 주석으로 간주되어 무시됩니다.

추천 워드리스트

API-SPY와 함께 사용할 인기 있는 API 워드리스트:

  • SecLists - API 엔드포인트
  • Assetnote API 워드리스트
  • FuzzDB API 경로

성능 팁

스레드 수 가이드라인

  • 1-5 스레드: 보수적, 탐지 위험 낮음, 느림
  • 5-20 스레드: 균형 잡힌 성능과 은밀함
  • 20-50 스레드: 공격적 스캔, 더 빠른 결과
  • 50-150 스레드: 최대 속도 (WAF/IDS를 트리거할 수 있음)
root@kitploit:~
# 은밀 모드 (낮은 스레드)
python3 apispy.py http://target.com wordlist.txt -t3

# 균형 모드
python3 apispy.py http://target.com wordlist.txt -t15

# 공격 모드
python3 apispy.py http://target.com wordlist.txt -t50

타임아웃 동작

  • 대화형 프롬프트는 5초 후 자동으로 건너뜁니다
  • 대규모 대상 목록을 무인 스캔할 때 유용합니다
  • 사용자 정의를 위해 소스 코드에서 timeout=5를 수정하세요

문제 해결

"워드리스트를 찾을 수 없습니다"

워드리스트 경로가 올바르고 파일이 존재하는지 확인하세요:

root@kitploit:~
ls -la /path/to/wordlist.txt

스크립트 이름 오류

하위 스캔 시 다음을 확인하세요:

  • 메인 스크립트 이름: apispy.py
  • 프로브 스크립트 이름: apiprobe.py
  • 둘 다 같은 디렉터리에 있어야 함

tmux 분할 창이 작동하지 않음

--split이 실패하는 경우:

  • tmux 설치: sudo apt install tmux
  • tmux 세션 내에서 실행 중인지 확인: tmux new-session -s scan
  • 자동으로 xfce-terminal로 대체됨

모든 엔드포인트에 대해 "연결 실패"

  • 기본 URL이 올바르고 접근 가능한지 확인
  • 방화벽/프록시 설정 확인
  • 대상 서비스가 실행 중인지 확인
  • 수동 테스트: curl http://your-url/

결과 없음

  • 워드리스트에 관련 엔드포인트가 포함되어 있는지 확인
  • 대상이 200/401/403 이외의 상태 코드를 반환하는지 확인
  • 시간 초과를 방지하기 위해 더 적은 스레드로 시도
  • check_status() 함수에서 요청 시간 초과 증가

보안 고려 사항

⚠️ 법적 및 윤리적:

  • 소유하거나 명시적인 서면 허가를 받은 시스템만 테스트하십시오
  • 대부분의 국가에서 컴퓨터 시스템에 대한 무단 접근은 불법입니다
  • 승인된 침투 테스트 및 보안 연구에만 API-SPY를 책임감 있게 사용하십시오
  • 속도 제한을 존중하고 DoS 공격을 수행하지 마십시오

모범 사례

  1. 승인 획득: 테스트 전에 서면 허가를 받으십시오
  2. 적절한 워드리스트 사용: 대상에 맞는 관련 엔드포인트를 선택하십시오
  3. 탐지 모니터링: WAF/IDS 차단 또는 계정 잠금에 주의하십시오
  4. 속도 제한 준수: 프로덕션 시스템의 경우 더 낮은 스레드 수를 사용하십시오
  5. 결과 문서화: 보고를 위해 발견된 모든 엔드포인트를 기록하십시오

고급 사용법

사용자 정의 시간 초과 값

소스 코드를 편집하여 시간 초과 값을 조정하십시오:

root@kitploit:~
def ask_subscan(url, wordlist, timeout=10):  # 5초에서 10초로 변경

결과 필터링

특정 API 경로를 대상으로 하는 워드리스트 생성:

root@kitploit:~
# 관리자 엔드포인트만
grep -i "admin" full-wordlist.txt > admin-wordlist.txt

# v1 API만
grep "v1" full-wordlist.txt > v1-wordlist.txt

배치 스캔

루프를 사용하여 여러 대상 스캔:

root@kitploit:~
for target in http://target1.com http://target2.com http://target3.com; do
    python3 apispy.py "$target" wordlist.txt -t10
done

아키텍처

apispy.py (메인 스캐너)

  • 스캔 워크플로우 조정
  • 스레딩 및 동시 요청 관리
  • 대화형 프롬프트 및 터미널 생성 처리
  • 하위 스캔 및 프로브 작업 조정

apiprobe.py (메서드 프로버)

  • 발견된 엔드포인트에서 HTTP 메서드 테스트
  • 메서드 가용성 및 상태 코드 보고
  • HTTP 헤더에서 힌트 추출
  • 엔드포인트 기능 평가 제공

기여

기여를 환영합니다! 자유롭게 다음을 수행해 주세요:

  • 버그 및 문제 보고
  • 새로운 기능 제안
  • 문서 개선
  • 성능 최적화

면책 조항

이 도구는 교육 및 승인된 보안 테스트 목적으로만 제공됩니다. 사용자는 시스템을 스캔하기 전에 적절한 권한을 보유하고 있는지 확인할 책임이 있습니다. 컴퓨터 시스템에 대한 무단 접근은 불법입니다.

라이선스

이 프로젝트는 보안 연구 및 승인된 테스트 목적으로 있는 그대로 제공됩니다.


제작자: austinjump-sec
저장소: austinjump-sec/API-SPY

도구 다운로드
인자설명
--t<number>스레드 수 (최대 150, 기본값: 1)
--split새 터미널 창 대신 tmux 분할 창 사용
--debug그렇지 않으면 숨겨지는 오류 메시지 표시
--loud모든 메시지(양성 및 오류)를 표시하며, 404를 반환하지 않는 메시지를 강조 표시
--jsJavaScript 파일을 스캔하고 발견된 파일을 스크래핑하여 하드코딩된 일반적인 API 엔드포인트 검색