
잘못 구성된 Supabase 인스턴스를 위한 자동화된 정찰 및 익스플로잇 프레임워크입니다. 스키마 열거, Selenium 기반 키 추출, RLS 우회 검증, 보안 연구자를 위한 서비스 역할 관리자 덤프 기능을 제공합니다.
Supabase 인스턴스를 위한 고급 정찰 및 익스플로잇 도구.
SupaHunter는 오설정된 Supabase 프로젝트를 식별, 분석 및 익스플로잇하기 위해 설계된 강력한 Python 도구입니다. 단순한 테이블 열거를 넘어, 심층 검사 기능, Selenium 기반 키 추출, 고급 권한 상승 검사를 제공합니다.
/rest/v1/을 자동으로 가져와 파싱하여 전체 데이터베이스 스키맵을 매핑합니다.get_schema, exec_sql 등)를 탐색합니다.fetch/XHR 요청을 가로채고 실시간으로 apikey 및 Authorization 헤더를 추출합니다.POST, PATCH, DELETE 요청(안전 모드)을 수행합니다.INSERT, UPDATE 이벤트)을 가로챕니다.service_role 키를 자동으로 감지합니다.auth.users(가능한 경우 이메일, 해시), Storage Buckets 등을 다운로드합니다.dump.db) 및/또는 CSV 파일로 내보냅니다.저장소 클론:
git clone https://github.com/proxydom/supahunter.git
cd supahunter
의존성 설치:
pip install -r requirements.txt
(requests, selenium, webdriver-manager, websockets 필요)
Firefox 설치 (Selenium용): 이 도구는 Firefox Headless를 사용합니다. Firefox가 설치되어 있는지 확인하세요 (자동으로 다운로드될 수도 있음).
단일 URL에서 노출된 키와 테이블을 스캔합니다.
python3 supahunter.py https://target.com
Selenium을 활성화한 URL 목록을 스캔하고 결과를 SQLite에 저장합니다.
python3 supahunter.py -f targets.txt --selenium --sqlite --download-files
API URL과 키가 이미 있는 경우 직접 사용합니다 (service_role 키도 가능).
python3 supahunter.py --manual-url https://xyz.supabase.co --manual-key eyJ... ---manual-url projectid.supabase.com
사용자 JWT 토큰(또는 자격 증명)을 제공하여 인증된 사용자에 대한 RLS 우회를 테스트합니다.
python3 supahunter.py https://target.com --token "eyJ..."
또는 도구가 자동 가입을 시도하도록 합니다: --email [email protected] --password Hunter123!
service_role 키가 감지되면 도구가 자동으로 서비스 모드로 전환되어 auth.users, 감사 로그 및 모든 스토리지 버킷을 덤프합니다.
이 도구는 교육 목적 및 공인된 보안 테스트 전용입니다. 허가 없이 데이터에 접근하거나 수정하는 것은 불법입니다. 저자는 어떠한 오용에 대해서도 책임을 지지 않습니다.
즐거운 사냥 되세요, 합법적으로 하세요 :)
| 플래그 | 설명 |
|---|
--selenium | 동적 키 추출을 위해 Selenium을 활성화합니다 (느리지만 효과적). |
--sqlite | 덤프된 데이터를 로컬 SQLite 데이터베이스(loot/.../dump.db)에 저장합니다. |
--download-files | 공개/열린 Storage Buckets에서 파일을 다운로드합니다. |
--fuck-opsec | 공격적 모드: 무제한 다운로드 속도 및 행 수. |
--listen | 실시간 데이터 유출을 위해 Realtime WebSocket 이벤트를 수신합니다. |
--limit N | 테이블당 덤프 행 수를 제한합니다 (기본값: 무제한/자동). |
--dry-run | 스캔만 수행하고 데이터를 덤프하지 않습니다. |