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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
OllamaHound — Ollama 공개 인스턴스용 대규모 정찰, 버전 지문 수집, CVE 테스터 및 라이브 익스플로잇 프레임워크 | Kitploit
도구/GitHubGitHub/7h30th3r0n3/ollamahound
OSINT (Open Source Intelligence)ReconnaissanceVulnerability ScannersExploitationInformation GatheringWeb SecurityPenetration TestingCommand and ControlRed Teaming
GitHub7h30th3r0n3/ollamahound

OllamaHound

Ollama 공개 인스턴스용 대규모 정찰, 버전 지문 수집, CVE 테스터 및 라이브 익스플로잇 프레임워크

6236개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기

OllamaHound

노출된 Ollama 서버를 발견하고, 버전을 식별하며, 모델 접근을 검증하기 위한 모듈식 툴킷입니다.

Python Status License

OllamaHound는 공개적으로 노출된 Ollama 서버를 발견하고, 버전을 식별하며, CVE 노출 여부를 분류하고, 텍스트 생성이 가능한지 검증하며, (선택적으로) 통제된 테스트를 위한 대화형 CLI 세션을 활성화하는 모듈식 RedTeam 지향 툴킷입니다.

root@kitploit:~
@@@@@@@@@@@@@@@@@@@@@@@@@@@#*#@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@%.-+-:#@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@+--=%@@@@@@@@-.@@@+ #@@@@@@@@@@@@@@@@@
@@@@@@@@@@@= %%+.=@@@%###-.@@@@= %@@@@@@@@@@@@@@@@
@@@@@@@@@@@-.@@@@..--====-.=@@@@.-@@@@@@@@@@@@@@@@
@@@@@@@@@@@# +#+-:*%@@@@@@@@@@@@- +@@@@@@@@@@@@@@@
@@*@@@@@#*+=:::.-*%@@@@@@@@@@@@@@%::%@@@@@@@@@@@@@
@+:-@@*----=***+==-=#@@@@@@@@@@@@@@::@@@@@@@@@@@@@
@*+#@=-==+=%@@@@%#=+:*%%%@@@@#++%@@+ %@@@@@@@@@@@@
+:=@#.+-@#=#@%+++%@:* =++==*@-  *@@-.@@@@@@@@@@@@@
%=+@+--*@@*=##+++%#.+::=@#%:+@%@@@@%.=@@@@@@@@@@@@
@@@@#.+-@@%=*@@@@@+.* =-:*@-=@@@@@@@* %@@@@@@@@@@@
@@@@@+:==#*=%@@@@*-=.:--+*-=@@@@@@@@+ %@@@@@@@@@@@
@@@@@@#=----+*++=--=**++*#%@@@@@@@@% =@@@@@@@@@@@@
@@@@@@@@%*-:---.+*%@@@@@@@@@@@@@@@@+-:+@@@@@@@@@@@
@@@@@@@@@@# ==:.%@@@@@@@@@@@@@@@@@@@@%.-@@@@@@@@@@
@@@@@@@@@@#.@@:.#@@@@@@@@@@@@@@#@@@@@@% *@@@@@@@@@
@@@@@@@@@*::--::=%@@@@@@@@@@@@::@@@@@@@ =@@@@@@@@@
@@@@@@@@-.#@@@@@-.@@@@@@@@@@#.-@@@@@@@@*.-@@@@@@@@
@@@@@@@@.-@@@@@%::@@@@@@@@%=.+@@@@@@@@@@%.-@@@@@@@
@@@@@@@@#::++=::+@@@@@@@%=:=%@@@@@%%@@@@@+ @@@@@@@
@@@@@@@@@@=.:: #@@@@@@@=.+@@@@@@%=:*@@@@@= @@@@@@@
@@@@@@@@@@@@%-.%@@@@@@# *@@@@@#-:+@@@@@@% +@@@@@@@
@@@@@@@@@@@@@.=@@@@@@@@=:===---*@@@@@@@@@.=@@@@@@@
@@@@@@@@@@@@@=.%@@@@@@@@#-##%@@@@@@@@@@@@.-@@@@@@@
@@@@@@@@@@@@@@= -%@@@@@@# #@@@@@@@@@@@@@# #@@@@@@@
@@@@@@@@@@@@@@@ .:=*%%@%#..*@@@@@@@@@@@+.+@@@@@@@@
@@@@@@@@@@@@@@@.=@*==- -=*. --==+*#**=:-#@@@@@@@@@
@@@@@@@@@@@@@@@:-@@@@# #@@+ %%##*..++#%@@@@@@@@@@@
@@@@@@@@@@@@@@@::@@@@-.@@@% *@@@@-:@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@*.=++::%@@@@::%@%+ *@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@%***%@@@@@@%=---=%@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@---OllamaHound---@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@---By 7h30th3r0n3---@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

!!! 경고 !!!

⚠️ 법적 및 윤리적 고지

이 프로젝트는 공인된 보안 평가(내부 네트워크, 범위 내 작업, 실험 환경)를 위해 설계되었습니다.
소유한 시스템이나 명시적 서면 허가를 받은 시스템에서만 사용하십시오.
이 소프트웨어를 사용함으로써 귀하는 귀하의 행동에 대해 전적으로 책임을 진다는 데 동의합니다.
저자 및 기여자는 이 소프트웨어를 "있는 그대로" 제공하며,
오용, 손해 또는 사용으로 인한 법적 결과에 대해 모든 책임을 부인합니다.


목차

  • 모듈
  • 일반적인 흐름
  • 주요 기능 (스캐너)
  • 요구 사항
  • 빠른 시작
  • 명령어 치트 시트
  • 스캐너 출력
  • 내비게이터 (스캐너 CSV 도우미)
  • 커넥터 (대화형 CLI)
  • 스크레이퍼 (Shodan 도우미)
  • 오케스트레이터 플래그 (고수준)
  • 출력 파일 (요약)
  • 모델 크기 구문 분석 참고 사항
  • 안전, 윤리 및 범위
  • 저자

모듈


기능

  • ⚡ 비동기 소켓과 풍부한 진행 UI를 사용한 대규모 스캐닝
  • 🧠 버전 + CVE 분류로 RCE/DoS 노출 확인
  • ✅ 모델 검증 via /api/tags 및 /api/generate
  • 🧭 중복 제거, 정렬 및 내보내기를 위한 내비게이터 필터
  • 💬 안전한 프롬프트 테스트를 위한 대화형 커넥터

일반적인 흐름

  1. 대상 스크래핑 (선택 사항) → results/scraper/targets.txt
  2. 대상 스캔 → results/scanner/<prefix>_YYYYMMDD_HHMMSS.csv
  3. 결과 탐색 + 필터링 → 선택적 JSON/CSV 내보내기
  4. 선택한 호스트/모델에 연결 → 대화형 CLI

단계별로 수행하거나 오케스트레이터를 실행하여 처음 세 단계를 연결할 수 있습니다.


주요 기능 (스캐너)

  • 빠른 비동기 스캐닝: asyncio + aiohttp 사용 (수천 개의 동시 소켓)
  • 진행 UI: rich를 통한 ETA, 처리량, 완료율
  • 타임스탬프가 있는 CSV 보고서: <prefix>_YYYYMMDD_HHMMSS.csv
  • 색상화된 테이블 출력
    • RCE: 빨강
    • DoS: 노랑
    • 패치됨: 초록
  • 버전 구문 분석
    • GET /api/version → 대체 GET /version → 대체 Server 헤더
  • CVE 분류
    • CVE-2024-7773 (RCE): 버전 < 0.1.47
    • CVE-2025-0317 (DoS): 버전 <= 0.3.14
  • 모델 발견 및 검증
    • GET /api/tags를 통해 모델 열거
    • POST /api/generate를 통해 생성 테스트

요구 사항

  • Python 3.10+
  • 패키지:
    • aiohttp
    • rich
    • packaging
    • requests
    • shodan

의존성 설치:

root@kitploit:~
python3 -m pip install -U aiohttp rich packaging requests shodan

Docker 사용:

root@kitploit:~
docker build -t ollamahound .
docker run -it --rm ollamahound <ollamahound 스크립트>

빠른 시작

최소 빠른 시작 (2-3 명령어)

옵션 A (가장 빠름): 스크래핑 → 스캔 → 연결

root@kitploit:~
python3 ollamaScraper.py
python3 ollamaScanner.py results/scraper/targets.txt --gen-ok-only
python3 ollamaConnector.py --scan-csv results/scanner/ollama_scan_*.csv

옵션 B (원샷): 오케스트레이터 파이프라인

root@kitploit:~
python3 ollamaOrchestrator.py --scan-gen-ok-only

오케스트레이터 (원샷 스크래핑 → 스캔 → 연결)

ollamaOrchestrator.py는 스크레이퍼, 스캐너, 커넥터를 순차적으로 실행하여 단일 명령어로 Shodan 수집부터 대화형 CLI까지 이동할 수 있도록 합니다. 스크레이퍼와 커넥터는 대화형으로 유지되지만, 오케스트레이터가 출력을 연결해 줍니다.

root@kitploit:~
python3 ollamaOrchestrator.py --scan-gen-ok-only --scan-vuln-only
  • 대상은 results/orchestrator/targets.txt에 기록됩니다 (--targets로 변경 가능).
  • 스캐너 CSV는 --scan-output-prefix (기본값 orchestrator_scan) 접두사로 results/scanner/에 저장됩니다.
  • --connector-row를 전달하여 커넥터 실행 시 행을 자동 선택하거나, 평소처럼 대화식으로 선택합니다.
  • --skip-scrape, --skip-scan, --skip-connect를 사용하면 기존 출력을 사용하여 중간부터 재개할 수 있습니다 (스캔 단계를 건너뛸 때는 --scan-csv가 필요).

이 섹션의 나머지 부분은 수동으로 각 모듈을 실행하려는 경우에도 적용됩니다.


명령어 치트 시트

스크레이퍼:

root@kitploit:~
# 기본 대화형 스크래핑 (Shodan dork 선택기)
python3 ollamaScraper.py

# 사용자 정의 출력 폴더 + 파일명
python3 ollamaScraper.py --output-dir results/my-scrape -o targets_acme.txt

스캐너:

root@kitploit:~
# targets.txt 스캔 (기본값 11434, 동시성 500, 타임아웃 8초)
python3 ollamaScanner.py results/scraper/targets.txt

# /api/generate가 200을 반환하는 호스트만
python3 ollamaScanner.py results/scraper/targets.txt --gen-ok-only

# 다중 포트 스캔 (공백과 쉼표 혼합)
python3 ollamaScanner.py results/scraper/targets.txt -p 11434 8080,13871

# 공격적 스위프 (짧은 타임아웃 + 높은 동시성)
python3 ollamaScanner.py results/scraper/targets.txt --timeout 3 -c 800

# 취약한 호스트만 유지 (RCE/DoS) 및 알 수 없는 버전 포함
python3 ollamaScanner.py results/scraper/targets.txt --vuln-only --show-unknown

# 사용자 정의 CSV 접두사 + 출력 디렉터리
python3 ollamaScanner.py results/scraper/targets.txt -o scan_acme.csv --output-dir results/scanner_acme

내비게이터:

root@kitploit:~
# 스캐너 CSV 디렉터리 필터링
python3 ollamaNavigator.py --scan-csv results/scanner --require-gen-ok --vuln rce

# 단일 CSV 필터링, llama 모델로 제한, 크기 >= 7B
python3 ollamaNavigator.py --scan-csv results/scanner/scan_20260107_180002.csv \
  --model llama --min-params 7

# 모델 제외 + 검색 키워드
python3 ollamaNavigator.py --scan-csv results/scanner --exclude-model qwen --search france

# 필터링된 행 내보내기
python3 ollamaNavigator.py --scan-csv results/scanner --vuln dos \
  --json-output results/navigator/dos.json --csv-output results/navigator/dos.csv

# 대화형 필터 메뉴
python3 ollamaNavigator.py --scan-csv results/scanner --interactive

커넥터:

root@kitploit:~
# 직접 연결
python3 ollamaConnector.py --host http://127.0.0.1:11434 --model llama3

# 스캐너 CSV 행 사용 (1부터 시작하는 인덱스)
python3 ollamaConnector.py --scan-csv results/scanner/scan_20260107_180002.csv --scan-row 3

오케스트레이터:

root@kitploit:~
# 전체 파이프라인
python3 ollamaOrchestrator.py

# 전체 파이프라인 + gen-ok만 + vuln-only만
python3 ollamaOrchestrator.py --scan-gen-ok-only --scan-vuln-only

# 기존 대상 및 CSV 재사용, 커넥터만 실행
python3 ollamaOrchestrator.py --skip-scrape --skip-scan --scan-csv results/scanner/scan_20260107_180002.csv

# 커넥터 건너뛰기 (스크래핑 + 스캔만)
python3 ollamaOrchestrator.py --skip-connect

1) 대상 준비

targets.txt는 한 줄에 하나씩 포함할 수 있습니다:

  • 단일 IP: 192.0.2.10
  • CIDR: 10.0.0.0/24
  • FQDN: ollama.example.org

스크레이퍼로 목록을 생성한 경우 스캐너를 results/scraper/targets.txt (또는 --output-dir로 선택한 경로)로 지정하십시오.

ollamaScraper.py는 Shodan을 쿼리하여 results/scraper/targets.txt를 빌드할 수 있습니다:

root@kitploit:~
python3 ollamaScraper.py

스크립트는 API 키를 .shodan_api에 캐시하고, dork(전역 또는 국가 범위)를 선택할 수 있게 하며, 모든 히트를 results/scraper/targets.txt에 추가하면서 기본 컨텍스트를 출력합니다. 선택적으로 org:"Company" 필터를 추가하여 결과를 좁힐 수 있습니다. Ctrl+C를 누르거나 최대 IP 제한에 도달하면 실행이 중지됩니다. --output-dir / -o를 사용하여 폴더나 파일명을 변경한 다음 해당 경로를 스캐너에 전달하십시오.

2) 스캐너 실행

/api/generate가 HTTP 200을 반환하는 호스트만 표시:

root@kitploit:~
python3 ollamaScanner.py targets.txt --gen-ok-only

더 공격적인 스위프 (짧은 타임아웃 + 높은 동시성):

root@kitploit:~
python3 ollamaScanner.py targets.txt --gen-ok-only --timeout 3 -c 800

전체 스위프 예제:

  • 포트 11434 및 8080 스캔
  • 2초 타임아웃, 1200 동시 소켓
  • /api/generate == 200만 유지
  • 취약한 호스트만 표시 + 알 수 없는 버전 포함
  • CSV 접두사 scan.csv
root@kitploit:~
python3 ollamaScanner.py targets.txt -p 11434,8080 --timeout 2 -c 1200 \
  --gen-ok-only --vuln-only --show-unknown -o scan.csv

스캐너 CSV는 이제 results/scanner/ 아래에 저장됩니다. 파일을 다른 곳에 저장하려면 --output-dir을 사용하십시오 (폴더는 자동으로 생성됩니다).


스캐너 출력

콘솔 테이블

스캐너는 rich 테이블을 출력합니다:

  • IP, 포트
  • 버전 (알 수 없는 경우 ?)
  • 취약점 분류 (rce, dos, patched, unknown)
  • 엔드포인트 HTTP 상태 코드 (tags, generate, show)
  • 발견된 모델 (생성이 확인된 경우에만)

CSV 보고서

타임스탬프가 있는 CSV가 자동으로 기록됩니다. 예:

ollama_scan_20260107_180002.csv

필드:

  • ip, port, version, vuln, tags, generate, show, models

내비게이터 (스캐너 CSV 도우미)

내비게이터를 사용하여 하나의 CSV 또는 스캐너 출력 전체 디렉터리(호스트/포트별 중복 제거, 모델 병합)에서 결과를 필터링, 정렬 및 내보낼 수 있습니다.

root@kitploit:~
python3 ollamaNavigator.py --scan-csv results/scanner --require-gen-ok --vuln rce --model llama
  • --scan-csv는 단일 CSV 파일 또는 스캐너 출력 디렉터리를 허용합니다.
  • 필터에는 모델 포함/제외, 취약점 상태, 매개변수 크기 범위, 포트 및 검색 문자열이 포함됩니다.
  • 정렬: params (기본값), ip, 또는 version.
  • --interactive를 사용하면 메뉴 기반 필터 편집기 + 내보내기를 사용할 수 있습니다.
  • --json-output 또는 --csv-output로 필터링된 행을 내보냅니다.

커넥터 (대화형 CLI)

발견된 인스턴스에 연결하고 응답을 스트리밍합니다:

root@kitploit:~
python3 ollamaConnector.py --host http://127.0.0.1:11434 --model llama3

--model을 생략하면 CLI가 /api/tags를 가져와 서버가 노출하는 모든 모델을 나열하고 번호로 선택할 수 있게 합니다. 각 프롬프트는 서버가 완료되거나 Ctrl+C를 누를 때까지 청록색 토큰을 스트리밍합니다. exit / quit를 입력하여 종료합니다.

커넥터를 스캐너 CSV의 행에 직접 연결하여 호스트와 모델을 다시 입력할 필요가 없도록 할 수도 있습니다:

root@kitploit:~
python3 ollamaConnector.py --scan-csv scan_20260107_141056.csv --scan-row 3

--scan-row는 1부터 시작합니다 (헤더 다음 첫 번째 줄이 1). 생략하면 커넥터가 CSV를 로드하고, 모든 호스트(IP/포트, 취약점 상태, 첫 번째 모델)를 표시한 다음 인덱스를 선택하도록 하고, 발견된 모델을 나열하여 채팅할 모델을 선택할 수 있게 합니다. 모델 프롬프트에서 0을 선택하면 새로운 /api/tags 가져오기로 건너뛰므로 CSV가 오래되었거나 비어 있어도 원래 커넥터 동작이 여전히 작동합니다.


스크레이퍼 (Shodan 도우미)

ollamaScraper.py는 간단한 도우미로, .shodan_api 토큰 파일을 유지하고, 국가(또는 전역)를 묻고, 여러 미리 만들어진 Shodan dork(또는 사용자 정의 쿼리) 중에서 선택하게 한 다음, 중단하거나 사용자 정의 호스트 제한에 도달할 때까지 Shodan 페이지를 탐색합니다. 모든 IP는 results/scraper/targets.txt에 기록되므로 스캐너가 즉시 출력을 재사용할 수 있습니다. 원하는 경우 --output-dir을 통해 다른 디렉터리를 제공할 수 있습니다.

또한 선택적인 회사/조직 필터를 제공하여 dork에 org:"Company"를 추가하고, 소유한 시스템이나 명시적 허가를 받은 시스템만 대상으로 하라는 경고를 출력합니다.


오케스트레이터 플래그 (고수준)

  • --skip-scrape, --skip-scan, --skip-connect: 파이프라인 부분 재개
  • --targets: 공유 대상 파일 선택
  • --ports, --scan-concurrency, --scan-timeout: 스캐너 단계 조정
  • --scan-output-prefix, --scan-output-dir: 스캐너 CSV 출력 제어
  • --scan-gen-ok-only, --scan-vuln-only, --scan-show-unknown: 스캐너 필터
  • --scan-csv: 스캔을 건너뛸 때 기존 스캐너 CSV 재사용
  • --connector-row: 커넥터 실행 시 행 자동 선택

출력 파일 (요약)


모델 크기 구문 분석 참고 사항

내비게이터는 7B, 13b, 또는 500m과 같은 모델 이름에서 매개변수 크기를 추출합니다. 호스트당 가장 큰 크기가 테이블에 표시되며 정렬/필터링(--min-params / --max-params)에 사용됩니다.


안전, 윤리 및 범위

OllamaHound는 방어적 및 승인된 공격적 보안을 위해 구축되었습니다:

  • 소유한 시스템이나 명시적 서면 허가를 받은 시스템에서만 사용하십시오.
  • 스캔 전에 범위, 법적 제약 조건 및 작업 규칙을 확인하십시오.
  • 발견된 모든 데이터/모델/출력을 민감한 것으로 취급하십시오.

저자

7h30th3r0n3

도구 다운로드

스캐너

대규모 비동기 발견, 버전 식별, CVE 분류, 모델 프로빙.

ollamaScanner.py

커넥터

발견된 Ollama 인스턴스와 대화하기 위한 풍부한 UI 대화형 CLI 클라이언트.

ollamaConnector.py

스크레이퍼

Shodan 기반 대상 수집기로 대화식으로 targets.txt를 빌드합니다.

ollamaScraper.py

내비게이터

내보내기 및 대화형 메뉴가 있는 스캐너 CSV용 검색/필터 도우미.

ollamaNavigator.py

오케스트레이터

스크레이퍼 → 스캐너 → 커넥터를 연결하여 각 출력을 다음 단계로 전달합니다.

ollamaOrchestrator.py

결과

출력은 results/ 아래에 저장되어 모듈 간 재사용이 쉽습니다.

  • 스마트 정렬
    • /api/generate가 HTTP 200을 반환하는 호스트가 상단에 표시됨
  • 강력한 필터
    • --gen-ok-only: /api/generate가 작동하는 호스트만 유지
    • --vuln-only: RCE/DoS로 분류된 호스트만 유지
    • --show-unknown: 알 수 없거나 구문 분석할 수 없는 버전의 호스트 포함
  • 조정 가능
    • 다중 포트, 시간 초과, 동시성, CSV 접두사
  • 모듈출력기본 위치
    스크레이퍼대상 목록results/scraper/targets.txt
    스캐너타임스탬프가 있는 CSVresults/scanner/<prefix>_YYYYMMDD_HHMMSS.csv
    내비게이터선택적 JSON/CSV 내보내기navigator_results.json / navigator_results.csv
    오케스트레이터대상 + 스캐너 CSVresults/orchestrator/targets.txt + results/scanner/