Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
OllamaHound — Framework di ricognizione di massa, fingerprinting delle versioni, tester CVE e sfruttamento in tempo reale per istanze Ollama aperte. | Kitploit
Strumenti/GitHubGitHub/7h30th3r0n3/ollamahound
OSINT (Open Source Intelligence)RicognizioneScanner di VulnerabilitàExploitRaccolta InformazioniSicurezza WebPenetration TestingCommand and ControlRed Teaming
GitHub7h30th3r0n3/ollamahound

OllamaHound

Framework di ricognizione di massa, fingerprinting delle versioni, tester CVE e sfruttamento in tempo reale per istanze Ollama aperte.

6236 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository

OllamaHound

Toolkit modulare per scoprire server Ollama esposti, rilevare le versioni e validare l'accesso ai modelli.

Python Status License

OllamaHound è un toolkit modulare, orientato al Red Team, per scoprire server Ollama esposti pubblicamente, rilevare le versioni, classificare l'esposizione a CVE, verificare se la generazione di testo è possibile e (opzionalmente) abilitare una sessione CLI interattiva per test controllati.

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

!!! AVVERTENZA !!!

⚠️ Avviso legale ed etico

Questo progetto è pensato per valutazioni di sicurezza autorizzate (reti interne, incarichi delimitati, ambienti di laboratorio).
Usalo solo su sistemi di tua proprietà o per i quali disponi di autorizzazione scritta esplicita.
Utilizzando questo software, accetti di essere l'unico responsabile delle tue azioni.
Gli autori e i contributori forniscono questo software "così com'è" e declinano ogni responsabilità
per qualsiasi uso improprio, danno o conseguenza legale derivante dal suo utilizzo.


Indice

  • Moduli
  • Flusso tipico
  • Caratteristiche principali (Scanner)
  • Requisiti
  • Avvio rapido
  • Prontuario dei comandi
  • Output dello scanner
  • Navigator (strumento per i CSV dello scanner)
  • Connector (CLI interattiva)
  • Scraper (strumento per Shodan)
  • Flag dell'Orchestrator (livello alto)
  • File di output (riepilogo)
  • Note sull'interpretazione delle dimensioni dei modelli
  • Sicurezza, etica e ambito
  • Autore

Moduli


Caratteristiche

  • ⚡ Scansione su larga scala con socket asincroni e UI di avanzamento ricca
  • 🧠 Classificazione versione + CVE per l'esposizione a RCE/DoS
  • ✅ Validazione dei modelli tramite /api/tags e /api/generate
  • 🧭 Filtri del Navigator per deduplicazione, ordinamento ed esportazione
  • 💬 Connector interattivo per testare i prompt in sicurezza

Flusso tipico

  1. Recupera i target (opzionale) → results/scraper/targets.txt
  2. Scansiona i target → results/scanner/<prefix>_YYYYMMDD_HHMMSS.csv
  3. Naviga e filtra i risultati → esportazioni opzionali JSON/CSV
  4. Connettiti a un host/modello scelto → CLI interattiva

Puoi procedere passo dopo passo oppure eseguire l'Orchestrator per concatenare le prime tre fasi.


Caratteristiche principali (Scanner)

  • Scansione asincrona e veloce con asyncio + aiohttp (migliaia di socket in volo)
  • UI di avanzamento (ETA, throughput, completamento) tramite rich
  • Report CSV con timestamp: <prefix>_YYYYMMDD_HHMMSS.csv
  • Output tabellare colorato
    • RCE: rosso
    • DoS: giallo
    • Patchato: verde
  • Parsing della versione
    • GET /api/version → fallback GET /version → fallback header Server
  • Classificazione CVE
    • CVE-2024-7773 (RCE): versione < 0.1.47
    • CVE-2025-0317 (DoS): versione <= 0.3.14
  • Scoperta e validazione dei modelli
    • Enumera i modelli tramite GET /api/tags

Requisiti

  • Python 3.10+
  • Pacchetti:
    • aiohttp
    • rich
    • packaging
    • requests
    • shodan

Installa le dipendenze:

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

Usa Docker:

root@kitploit:~
docker build -t ollamahound .
docker run -it --rm ollamahound <ollamahound scripts>

Avvio rapido

Avvio rapido minimale (2–3 comandi)

Opzione A (più veloce): recupera → scansiona → connettiti

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

Opzione B (one-shot): pipeline dell'orchestrator

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

Orchestrator (tutto in uno: recupera → scansiona → connettiti)

ollamaOrchestrator.py esegue semplicemente lo scraper, lo scanner e poi il connector, così puoi passare dalla raccolta via Shodan a una CLI interattiva con un solo comando. Scraper e connector restano interattivi, ma l'orchestrator collega i loro output per te.

root@kitploit:~
python3 ollamaOrchestrator.py --scan-gen-ok-only --scan-vuln-only
  • I target vengono scritti in results/orchestrator/targets.txt (modifica con --targets).
  • I CSV dello scanner finiscono in results/scanner/ con il prefisso di --scan-output-prefix (predefinito orchestrator_scan).
  • Passa --connector-row per selezionare automaticamente una riga all'avvio del connector, oppure scegline una in modo interattivo come al solito.
  • --skip-scrape, --skip-scan e --skip-connect ti permettono di riprendere da un punto intermedio usando output già esistenti (--scan-csv è obbligatorio quando si salta la fase di scansione).

Il resto di questa sezione vale comunque se vuoi eseguire ogni modulo manualmente.


Prontuario dei comandi

Scraper:

root@kitploit:~
# Basic interactive scrape (Shodan dork picker)
python3 ollamaScraper.py

# Custom output folder + filename
python3 ollamaScraper.py --output-dir results/my-scrape -o targets_acme.txt

Scanner:

root@kitploit:~
# Scan targets.txt (default 11434, 500 concurrency, 8s timeout)
python3 ollamaScanner.py results/scraper/targets.txt

# Only hosts where /api/generate returns 200
python3 ollamaScanner.py results/scraper/targets.txt --gen-ok-only

# Multi-port scan (space and comma mix)
python3 ollamaScanner.py results/scraper/targets.txt -p 11434 8080,13871

# Aggressive sweep (short timeout + high concurrency)
python3 ollamaScanner.py results/scraper/targets.txt --timeout 3 -c 800

# Keep only vulnerable hosts (RCE/DoS) and unknown versions
python3 ollamaScanner.py results/scraper/targets.txt --vuln-only --show-unknown

# Custom CSV prefix + output dir
python3 ollamaScanner.py results/scraper/targets.txt -o scan_acme.csv --output-dir results/scanner_acme

Navigator:

root@kitploit:~
# Filter a directory of scanner CSVs
python3 ollamaNavigator.py --scan-csv results/scanner --require-gen-ok --vuln rce

# Filter a single CSV, restrict to llama models, size >= 7B
python3 ollamaNavigator.py --scan-csv results/scanner/scan_20260107_180002.csv \
  --model llama --min-params 7

# Exclude models + search keywords
python3 ollamaNavigator.py --scan-csv results/scanner --exclude-model qwen --search france

# Export filtered rows
python3 ollamaNavigator.py --scan-csv results/scanner --vuln dos \
  --json-output results/navigator/dos.json --csv-output results/navigator/dos.csv

# Interactive filter menu
python3 ollamaNavigator.py --scan-csv results/scanner --interactive

Connector:

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

# Use a scanner CSV row (1-based index)
python3 ollamaConnector.py --scan-csv results/scanner/scan_20260107_180002.csv --scan-row 3

Orchestrator:

root@kitploit:~
# Full pipeline
python3 ollamaOrchestrator.py

# Full pipeline + only gen-ok + vuln-only
python3 ollamaOrchestrator.py --scan-gen-ok-only --scan-vuln-only

# Reuse existing targets and CSV, only run connector
python3 ollamaOrchestrator.py --skip-scrape --skip-scan --scan-csv results/scanner/scan_20260107_180002.csv

# Skip connector (scrape + scan only)
python3 ollamaOrchestrator.py --skip-connect

1) Prepara i target

targets.txt può contenere un elemento per riga:

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

Se generi l'elenco con lo scraper, indica allo scanner results/scraper/targets.txt (o qualunque percorso tu abbia scelto con --output-dir).

ollamaScraper.py può generare results/scraper/targets.txt interrogando Shodan:

root@kitploit:~
python3 ollamaScraper.py

Lo script conserva la tua chiave API in .shodan_api, ti permette di scegliere un dork (globale o limitato al paese) e aggiunge ogni risultato a results/scraper/targets.txt stampando al contempo un contesto di base. Puoi opzionalmente aggiungere un filtro org:"Company" per restringere i risultati. Ctrl+C o il raggiungimento del limite massimo di IP interrompono l'esecuzione. Usa --output-dir / -o per cambiare cartella o nome del file, poi passa quel percorso allo scanner.

2) Esegui lo scanner

Mostra solo gli host in cui /api/generate restituisce HTTP 200:

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

Sweep più aggressivo (timeout breve + concorrenza elevata):

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

Esempio di sweep completo:

  • scansiona le porte 11434 e 8080
  • timeout di 2s, 1200 socket concorrenti
  • mantieni solo /api/generate == 200
  • mostra solo gli host vulnerabili + includi le versioni sconosciute
  • prefisso 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

I CSV dello scanner finiscono ora in results/scanner/. Usa --output-dir se vuoi inviare i file altrove (la cartella viene creata automaticamente).


Output dello scanner

Tabella in console

Lo scanner stampa una tabella rich con:

  • IP, porta
  • versione (o ? se sconosciuta)
  • classificazione vulnerabilità (rce, dos, patched, unknown)
  • codici di stato HTTP degli endpoint (tags, generate, show)
  • modelli scoperti (solo quando la generazione è confermata)

Report CSV

Un CSV con timestamp viene scritto automaticamente, ad esempio:

ollama_scan_20260107_180002.csv

Campi:

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

Navigator (strumento per i CSV dello scanner)

Usa il navigator per filtrare, ordinare ed esportare i risultati da un singolo CSV o da un'intera cartella di output dello scanner (deduplicati per host/porta, modelli aggregati).

root@kitploit:~
python3 ollamaNavigator.py --scan-csv results/scanner --require-gen-ok --vuln rce --model llama
  • --scan-csv accetta un singolo file CSV o una cartella di output dello scanner.
  • I filtri includono modello contiene/escludi, stato di vulnerabilità, intervallo della dimensione dei parametri, porte e stringhe di ricerca.
  • Ordinamento: params (predefinito), ip o version.
  • Usa --interactive per un editor di filtri a menu + esportazioni.
  • Esporta le righe filtrate con --json-output o --csv-output.

Connector (CLI interattiva)

Connettiti a un'istanza scoperta e ricevi le risposte in streaming:

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

Se ometti --model, la CLI recupera /api/tags, elenca tutti i modelli esposti dal server e ti fa scegliere tramite numero. Ogni prompt mostra i token in streaming in ciano finché il server non termina o premi Ctrl+C. Digita exit / quit per uscire.

Puoi anche puntare il connector a una riga di un CSV dello scanner, così non devi riscrivere host e modello:

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

--scan-row è a base 1 (la prima riga dopo l'intestazione è 1). Se lo ometti, il connector carica il CSV, mostra tutti gli host (IP/porta, stato di vulnerabilità, primo modello), ti fa scegliere l'indice e poi elenca i modelli scoperti così puoi selezionare con quale parlare. Selezionare 0 durante la richiesta del modello salta a un nuovo fetch di /api/tags, quindi il comportamento originale del connector funziona anche se il CSV è obsoleto o vuoto.


Scraper (strumento per Shodan)

ollamaScraper.py è un semplice strumento che conserva un file token .shodan_api, chiede un paese (o globale), permette di scegliere tra vari dork Shodan già pronti (o una query personalizzata), quindi scorre le pagine di Shodan finché non interrompi o raggiungi un limite di host definito dall'utente. Ogni IP viene scritto in results/scraper/targets.txt, così lo scanner può riutilizzare subito l'output. Se desideri, puoi indicare una cartella diversa con --output-dir.

Offre inoltre un filtro facoltativo per azienda/organizzazione che aggiunge org:"Company" al dork e stampa un avviso a colpire solo sistemi di tua proprietà o per cui hai esplicita autorizzazione al test.


Flag dell'Orchestrator (livello alto)

  • --skip-scrape, --skip-scan, --skip-connect per riprendere parti della pipeline
  • --targets per scegliere il file dei target condiviso
  • --ports, --scan-concurrency, --scan-timeout per regolare la fase di scansione
  • --scan-output-prefix, --scan-output-dir per controllare l'output CSV dello scanner
  • --scan-gen-ok-only, --scan-vuln-only, --scan-show-unknown per i filtri dello scanner
  • --scan-csv per riutilizzare un CSV dello scanner esistente quando si salta la scansione

File di output (riepilogo)


Note sull'interpretazione delle dimensioni dei modelli

Il Navigator estrae le dimensioni dei parametri da nomi di modello come 7B, 13b o 500m. La dimensione più alta per host viene mostrata nella tabella e usata per ordinamento/filtri (--min-params / --max-params).


Sicurezza, etica e ambito

OllamaHound è pensato per la sicurezza difensiva e offensiva autorizzata:

  • Usalo solo su sistemi di cui sei proprietario o per i quali hai autorizzazione scritta esplicita.
  • Verifica ambito, vincoli legali e regole dell'engagement prima di scansionare.
  • Tratta ogni dato/modello/output scoperto come sensibile.

Autore

7h30th3r0n3

Scarica lo strumento

Scanner

Scoperta asincrona su larga scala, fingerprinting delle versioni, classificazione CVE, probing dei modelli.

ollamaScanner.py

Connector

Client CLI interattivo con interfaccia ricca (Rich UI) per parlare con un'istanza Ollama scoperta.

ollamaConnector.py

Scraper

Raccoglitore di target basato su Shodan che genera targets.txt in modalità interattiva.

ollamaScraper.py

Navigator

Strumento di ricerca/filtro per i CSV dello scanner con esportazioni e menu interattivo.

ollamaNavigator.py

Orchestrator

Collega scraper → scanner → connector, passando ciascun output al successivo.

ollamaOrchestrator.py

Risultati

Gli output si trovano in results/ per un facile riutilizzo tra i moduli.

  • Testa la generazione tramite POST /api/generate
  • Ordinamento intelligente
    • Gli host in cui /api/generate restituisce HTTP 200 salgono in cima
  • Filtri potenti
    • --gen-ok-only mantiene solo gli host con /api/generate funzionante
    • --vuln-only mantiene solo gli host classificati RCE/DoS
    • --show-unknown include gli host con versioni sconosciute/non interpretabili
  • Personalizzabile
    • multi-porta, timeout, concorrenza, prefisso CSV
  • --connector-row per selezionare automaticamente una riga all'avvio del connector
  • ModuloOutputPosizione predefinita
    ScraperElenco dei targetresults/scraper/targets.txt
    ScannerCSV con timestampresults/scanner/<prefix>_YYYYMMDD_HHMMSS.csv
    NavigatorEsportazioni opzionali JSON/CSVnavigator_results.json / navigator_results.csv
    OrchestratorTarget + CSV dello scannerresults/orchestrator/targets.txt + results/scanner/