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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
surf — 호스트 목록을 필터링하여 HTTP 연결 가능성을 확인하고 내부/외부 IP를 확인함으로써 실행 가능한 SSRF 후보를 식별하며, 클라우드 환경에서 전통적인 블랙리스트를 우회합니다. | Kitploit
도구/GitHubGitHub/assetnote/surf
ReconnaissanceVulnerability AnalysisInformation GatheringWeb SecurityPenetration Testing
GitHubassetnote/surf

surf

호스트 목록을 필터링하여 HTTP 연결 가능성을 확인하고 내부/외부 IP를 확인함으로써 실행 가능한 SSRF 후보를 식별하며, 클라우드 환경에서 전통적인 블랙리스트를 우회합니다.

저장소 보기
757563년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Surf - 현대 클라우드 환경에서 SSRF 취약점을 확장하세요


surf를 사용하면 호스트 목록을 필터링하여 유효한 SSRF 후보 목록을 반환할 수 있습니다. 이 도구는 사용자 머신에서 각 호스트로 HTTP 요청을 보내 응답하지 않은 모든 호스트를 수집한 후, 외부 및 내부 호스트 목록으로 필터링합니다.

그런 다음 SSRF 취약점이 있을 수 있는 모든 곳에서 이 호스트들을 시도할 수 있습니다. 대부분의 SSRF 필터는 내부 또는 제한된 IP 범위에만 초점을 맞추기 때문에, 사용자 머신에서 HTTP(s)로 접근할 수 없는 외부 IP에서 SSRF를 발견하면 놀랄 것입니다.

대규모 클라우드 환경을 갖춘 회사들은 내부 웹 앱에 외부 IP를 사용하는 경우가 많습니다. 전통적인 SSRF 필터는 이러한 호스트가 블랙리스트에 명시적으로 추가되지 않는 한(보통 추가되지 않음) 이를 포착하지 못합니다. 이것이 이 기법이 매우 강력할 수 있는 이유입니다.

설치

이 도구는 HTTP 프로빙을 위해 httpx에 의존하므로 go 1.19 이상이 필요합니다.

다음 명령어로 설치할 수 있습니다:

root@kitploit:~
go install github.com/assetnote/surf/cmd/surf@latest

사용법

bigcorp.txt 파일에 bigcorp.com의 하위 도메인 목록이 있고, 이 하위 도메인에 대한 모든 SSRF 후보를 찾고 싶다고 가정해 보겠습니다. 몇 가지 예시는 다음과 같습니다:

root@kitploit:~
# 모든 ssrf 후보 찾기 (HTTP 프로빙을 통한 외부 IP 주소 포함)
surf -l bigcorp.txt
# 타임아웃 및 동시성 설정으로 모든 ssrf 후보 찾기 (HTTP 프로빙을 통한 외부 IP 주소 포함)
surf -l bigcorp.txt -t 10 -c 200
# 모든 ssrf 후보 찾기 (HTTP 프로빙을 통한 외부 IP 주소 포함) 및 모든 호스트 출력
surf -l bigcorp.txt -d
# 내부/비공개 IP 주소를 가리키는 모든 호스트 찾기 (HTTP 프로빙 없음)
surf -l bigcorp.txt -x

전체 설정 목록은 아래에서 확인할 수 있습니다:

root@kitploit:~
❯ surf -h

███████╗██╗   ██╗██████╗ ███████╗
██╔════╝██║   ██║██╔══██╗██╔════╝
███████╗██║   ██║██████╔╝█████╗  
╚════██║██║   ██║██╔══██╗██╔══╝  
███████║╚██████╔╝██║  ██║██║     
╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝         
                                 
by shubs @ assetnote                                 

Usage: surf [--hosts FILE] [--concurrency CONCURRENCY] [--timeout SECONDS] [--retries RETRIES] [--disablehttpx] [--disableanalysis]

Options:
  --hosts FILE, -l FILE
                         List of assets (hosts or subdomains)
  --concurrency CONCURRENCY, -c CONCURRENCY
                         Threads (passed down to httpx) - default 100 [default: 100]
  --timeout SECONDS, -t SECONDS
                         Timeout in seconds (passed down to httpx) - default 3 [default: 3]
  --retries RETRIES, -r RETRIES
                         Retries on failure (passed down to httpx) - default 2 [default: 2]
  --disablehttpx, -x     Disable httpx and only output list of hosts that resolve to an internal IP address - default false [default: false]
  --disableanalysis, -d
                         Disable analysis and only output list of hosts - default false [default: false]
  --help, -h             display this help and exit

출력

surf를 실행하면 SSRF 후보가 stdout에 출력되지만, 실행한 폴더 내에 두 개의 파일도 저장됩니다:

  • external-{timestamp}.txt - 외부에서 확인되지만 사용자 머신에서 HTTP 요청을 보낼 수 없는 호스트
  • internal-{timestamp}.txt - 내부에서 확인되며 당연히 사용자 머신에서 HTTP 요청을 보낼 수 없는 호스트

이 두 파일에는 대상에서 시도하기에 이상적인 SSRF 후보 호스트 목록이 포함됩니다. 외부 대상 목록이 내부 목록보다 유효할 가능성이 더 높습니다.

감사의 말

내부적으로 이 도구는 HTTP 프로빙을 위해 httpx를 활용합니다. httpx에서 반환된 오류를 캡처한 후 기본 분석을 수행하여 SSRF에 가장 적합한 후보를 결정합니다.

이 도구는 HackerOne (H1-4420 2023)의 라이브 해킹 이벤트 결과로 만들어졌습니다.

도구 다운로드