Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
OllamaHound — Reconocimiento masivo, identificación de versiones, probador de CVE y marco de explotación en vivo para instancias abiertas de Ollama. | Kitploit
Herramientas/GitHubGitHub/7h30th3r0n3/ollamahound
OSINT (Inteligencia de Fuentes Abiertas)ReconocimientoEscáneres de VulnerabilidadesExplotaciónRecopilación de InformaciónSeguridad WebPruebas de PenetraciónComando y ControlRed Teaming
GitHub7h30th3r0n3/ollamahound

OllamaHound

Reconocimiento masivo, identificación de versiones, probador de CVE y marco de explotación en vivo para instancias abiertas de Ollama.

6232hace 7 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio

OllamaHound

Kit modular para descubrir servidores Ollama expuestos, identificar versiones y validar acceso a modelos.

Python Status License

OllamaHound es un kit modular orientado a RedTeam para descubrir servidores Ollama expuestos públicamente, identificar versiones, clasificar exposición a CVE, validar si es posible generar texto, y (opcionalmente) habilitar una sesión CLI interactiva para pruebas controladas.

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

!!! ADVERTENCIA !!!

⚠️ Aviso legal y ético

Este proyecto está destinado a evaluaciones de seguridad autorizadas (redes internas, compromisos con alcance definido, entornos de laboratorio).
Úselo solo en sistemas que posea o sobre los cuales tenga permiso explícito por escrito.
Al usar este software, acepta que es el único responsable de sus acciones.
El/los autor(es) y colaboradores proporcionan este software "tal cual" y rechazan toda responsabilidad
por cualquier uso indebido, daño o consecuencia legal derivada de su uso.


Tabla de contenidos

  • Módulos
  • Flujo típico
  • Características clave (Escáner)
  • Requisitos
  • Inicio rápido
  • Hoja de referencia de comandos
  • Salida del escáner
  • Navegador (ayudante CSV del escáner)
  • Conector (CLI interactivo)
  • Raspador (ayudante de Shodan)
  • Banderas del Orquestador (alto nivel)
  • Archivos de salida (resumen)
  • Notas sobre el análisis del tamaño del modelo
  • Seguridad, ética y alcance
  • Autor

Módulos


Características

  • ⚡ Escaneo de alta escala con sockets asíncronos e interfaz de progreso enriquecida
  • 🧠 Clasificación de versión + CVE para exposición a RCE/DoS
  • ✅ Validación de modelos mediante /api/tags y /api/generate
  • 🧭 Filtros del Navegador para deduplicación, ordenación y exportación
  • 💬 Conector interactivo para probar indicaciones de forma segura

Flujo típico

  1. Raspar objetivos (opcional) → results/scraper/targets.txt
  2. Escanear objetivos → results/scanner/<prefijo>_YYYYMMDD_HHMMSS.csv
  3. Navegar y filtrar resultados → exportaciones opcionales JSON/CSV
  4. Conectarse a un host/modelo elegido → CLI interactivo

Puede hacer esto paso a paso o ejecutar el Orquestador para encadenar las tres primeras etapas.


Características clave (Escáner)

  • Escaneo rápido y asíncrono usando asyncio + aiohttp (miles de sockets en vuelo)
  • Interfaz de progreso (ETA, rendimiento, finalización) mediante rich
  • Informe CSV con marca de tiempo: <prefijo>_YYYYMMDD_HHMMSS.csv
  • Salida de tabla coloreada
    • RCE: rojo
    • DoS: amarillo
    • Parcheado: verde
  • Análisis de versión
    • GET /api/version → fallback GET /version → fallback cabecera Server
  • Clasificación de CVE
    • CVE-2024-7773 (RCE): versión < 0.1.47
    • CVE-2025-0317 (DoS): versión <= 0.3.14
  • Descubrimiento y validación de modelos
    • Enumera modelos mediante GET /api/tags

Requisitos

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

Instalar dependencias:

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

Usar Docker:

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

Inicio rápido

Inicio rápido mínimo (2–3 comandos)

Opción A (más rápida): raspar → escanear → conectar

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

Opción B (de una sola vez): tubería del orquestador

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

Orquestador (de una sola vez: raspar → escanear → conectar)

ollamaOrchestrator.py simplemente ejecuta el raspador, luego el escáner y luego el conector, de modo que pueda pasar de la cosecha de Shodan a un CLI interactivo con un solo comando. El raspador y el conector siguen siendo interactivos, pero el orquestador conecta sus salidas por usted.

root@kitploit:~
python3 ollamaOrchestrator.py --scan-gen-ok-only --scan-vuln-only
  • Los objetivos se escriben en results/orchestrator/targets.txt (cambie con --targets).
  • Los CSV del escáner se almacenan en results/scanner/ con el prefijo de --scan-output-prefix (por defecto orchestrator_scan).
  • Pase --connector-row para seleccionar automáticamente una fila al iniciar el conector, o elija interactivamente como de costumbre.
  • --skip-scrape, --skip-scan y --skip-connect le permiten reanudar desde un punto intermedio usando salidas existentes (se requiere --scan-csv al omitir la fase de escaneo).

El resto de esta sección sigue siendo aplicable si desea ejecutar cada módulo manualmente.


Hoja de referencia de comandos

Raspador:

root@kitploit:~
# Raspado interactivo básico (selector de dork de Shodan)
python3 ollamaScraper.py

# Carpeta de salida personalizada + nombre de archivo
python3 ollamaScraper.py --output-dir results/my-scrape -o targets_acme.txt

Escáner:

root@kitploit:~
# Escanear targets.txt (por defecto 11434, 500 concurrencia, 8s tiempo de espera)
python3 ollamaScanner.py results/scraper/targets.txt

# Solo hosts donde /api/generate devuelve 200
python3 ollamaScanner.py results/scraper/targets.txt --gen-ok-only

# Escaneo multipuerto (mezcla de espacios y comas)
python3 ollamaScanner.py results/scraper/targets.txt -p 11434 8080,13871

# Barrido agresivo (tiempo de espera corto + alta concurrencia)
python3 ollamaScanner.py results/scraper/targets.txt --timeout 3 -c 800

# Mantener solo hosts vulnerables (RCE/DoS) y versiones desconocidas
python3 ollamaScanner.py results/scraper/targets.txt --vuln-only --show-unknown

# Prefijo CSV personalizado + directorio de salida
python3 ollamaScanner.py results/scraper/targets.txt -o scan_acme.csv --output-dir results/scanner_acme

Navegador:

root@kitploit:~
# Filtrar un directorio de CSVs del escáner
python3 ollamaNavigator.py --scan-csv results/scanner --require-gen-ok --vuln rce

# Filtrar un solo CSV, restringir a modelos llama, tamaño >= 7B
python3 ollamaNavigator.py --scan-csv results/scanner/scan_20260107_180002.csv \
  --model llama --min-params 7

# Excluir modelos + palabras clave de búsqueda
python3 ollamaNavigator.py --scan-csv results/scanner --exclude-model qwen --search france

# Exportar filas filtradas
python3 ollamaNavigator.py --scan-csv results/scanner --vuln dos \
  --json-output results/navigator/dos.json --csv-output results/navigator/dos.csv

# Menú de filtro interactivo
python3 ollamaNavigator.py --scan-csv results/scanner --interactive

Conector:

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

# Usar una fila del CSV del escáner (índice basado en 1)
python3 ollamaConnector.py --scan-csv results/scanner/scan_20260107_180002.csv --scan-row 3

Orquestador:

root@kitploit:~
# Tubería completa
python3 ollamaOrchestrator.py

# Tubería completa + solo gen-ok + solo vulnerable
python3 ollamaOrchestrator.py --scan-gen-ok-only --scan-vuln-only

# Reutilizar objetivos y CSV existentes, solo ejecutar conector
python3 ollamaOrchestrator.py --skip-scrape --skip-scan --scan-csv results/scanner/scan_20260107_180002.csv

# Omitir conector (solo raspar + escanear)
python3 ollamaOrchestrator.py --skip-connect

1) Preparar objetivos

targets.txt puede contener uno por línea:

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

Si genera la lista con el raspador, apunte el escáner a results/scraper/targets.txt (o la ruta que haya seleccionado con --output-dir).

ollamaScraper.py puede construir results/scraper/targets.txt por usted consultando Shodan:

root@kitploit:~
python3 ollamaScraper.py

El script almacena en caché su clave API en .shodan_api, le permite elegir un dork (global o por país), y agrega cada resultado a results/scraper/targets.txt mientras imprime contexto básico. Opcionalmente puede añadir un filtro org:"Company" para reducir los resultados. Ctrl+C o alcanzar el límite máximo de IPs detiene la ejecución. Use --output-dir / -o para cambiar la carpeta o el nombre del archivo, luego pase esa ruta al escáner.

2) Ejecutar el escáner

Mostrar solo hosts donde /api/generate devuelve HTTP 200:

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

Barrido más agresivo (tiempo de espera corto + alta concurrencia):

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

Ejemplo de barrido completo:

  • escanear puertos 11434 y 8080
  • tiempo de espera 2s, 1200 sockets concurrentes
  • mantener solo /api/generate == 200
  • mostrar solo hosts vulnerables + incluir versiones desconocidas
  • prefijo 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

Los CSV del escáner ahora se guardan en results/scanner/. Use --output-dir si desea dirigir los archivos a otro lugar (la carpeta se crea automáticamente).


Salida del escáner

Tabla en consola

El escáner imprime una tabla rich con:

  • IP, puerto
  • versión (o ? si es desconocida)
  • clasificación de vulnerabilidad (rce, dos, patched, unknown)
  • códigos de estado HTTP de los endpoints (tags, generate, show)
  • modelos descubiertos (solo cuando se confirma la generación)

Informe CSV

Se escribe automáticamente un CSV con marca de tiempo, por ejemplo:

ollama_scan_20260107_180002.csv

Campos:

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

Navegador (ayudante CSV del escáner)

Use el navegador para filtrar, ordenar y exportar resultados de un solo CSV o de todo un directorio de salidas del escáner (deduplicadas por host/puerto, modelos fusionados).

root@kitploit:~
python3 ollamaNavigator.py --scan-csv results/scanner --require-gen-ok --vuln rce --model llama
  • --scan-csv acepta un solo archivo CSV o un directorio de salidas del escáner.
  • Los filtros incluyen: contiene modelo/excluir, estado de vulnerabilidad, rango de tamaño de parámetros, puertos y cadenas de búsqueda.
  • Ordenación: params (por defecto), ip o version.
  • Use --interactive para un editor de filtros guiado por menús + exportaciones.
  • Exporte filas filtradas con --json-output o --csv-output.

Conector (CLI interactivo)

Conéctese a una instancia descubierta y reciba respuestas en flujo:

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

Si omite --model, el CLI obtiene /api/tags, lista todos los modelos que expone el servidor y le permite elegir por número. Cada indicación transmite tokens en cian hasta que el servidor finaliza o presiona Ctrl+C. Escriba exit / quit para salir.

También puede apuntar el conector a una fila dentro de un CSV del escáner para no tener que volver a escribir el host y el modelo:

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

--scan-row tiene base 1 (la primera línea después del encabezado es 1). Si lo omite, el conector carga el CSV, le muestra cada host (IP/puerto, estado de vulnerabilidad, primer modelo), le permite elegir el índice, luego lista los modelos descubiertos para que seleccione con cuál chatear. Seleccionar 0 durante la indicación del modelo salta a una obtención fresca de /api/tags, por lo que el comportamiento original del conector aún funciona si el CSV está desactualizado o vacío.


Raspador (ayudante de Shodan)

ollamaScraper.py es un ayudante simple que mantiene un archivo de token .shodan_api, solicita un país (o global), le permite elegir entre varios dorks de Shodan predefinidos (o una consulta personalizada), luego recorre las páginas de Shodan hasta que interrumpa o alcance un límite de hosts definido por el usuario. Cada IP se escribe en results/scraper/targets.txt, lo que significa que el escáner puede reutilizar la salida inmediatamente. Proporcione un directorio diferente mediante --output-dir si lo desea.

También ofrece un filtro opcional de empresa/organización que agrega org:"Company" al dork, e imprime una advertencia de que solo debe apuntar a sistemas que posea o sobre los cuales tenga permiso explícito para probar.


Banderas del Orquestador (alto nivel)

  • --skip-scrape, --skip-scan, --skip-connect para reanudar partes de la tubería
  • --targets para elegir el archivo de objetivos compartido
  • --ports, --scan-concurrency, --scan-timeout para ajustar el paso del escáner
  • --scan-output-prefix, --scan-output-dir para controlar la salida CSV del escáner
  • --scan-gen-ok-only, --scan-vuln-only, --scan-show-unknown para filtros del escáner
  • --scan-csv para reutilizar un CSV del escáner existente al omitir el escaneo

Archivos de salida (resumen)


Notas sobre el análisis del tamaño del modelo

El Navegador extrae tamaños de parámetros de nombres de modelos como 7B, 13b o 500m. El tamaño más alto por host se muestra en la tabla y se usa para ordenación/filtrado (--min-params / --max-params).


Seguridad, ética y alcance

OllamaHound está diseñado para seguridad defensiva y ofensiva autorizada:

  • Úselo solo en sistemas que posea o sobre los cuales tenga permiso explícito por escrito.
  • Valide el alcance, las restricciones legales y las reglas del compromiso antes de escanear.
  • Trate cualquier dato/modelo/salida descubierta como sensible.

Autor

7h30th3r0n3

Descargar herramienta

Escáner

Descubrimiento asíncrono de alta escala, identificación de versiones, clasificación de CVE, sondeo de modelos.

ollamaScanner.py

Conector

Cliente CLI interactivo con interfaz enriquecida para comunicarse con una instancia de Ollama descubierta.

ollamaConnector.py

Raspador

Cosechador de objetivos basado en Shodan que construye targets.txt de forma interactiva.

ollamaScraper.py

Navegador

Ayudante de búsqueda/filtro para CSVs del escáner con exportaciones + menú interactivo.

ollamaNavigator.py

Orquestador

Encadena raspador → escáner → conector, pasando cada salida a la siguiente.

ollamaOrchestrator.py

Resultados

Las salidas se almacenan bajo results/ para reutilización sencilla entre módulos.

  • Prueba generación mediante POST /api/generate
  • Ordenación inteligente
    • Los hosts donde /api/generate devuelve HTTP 200 se colocan al principio
  • Filtros potentes
    • --gen-ok-only mantiene solo hosts con /api/generate funcional
    • --vuln-only mantiene solo hosts clasificados como RCE/DoS
    • --show-unknown incluye hosts con versiones desconocidas/no analizables
  • Ajustable
    • Multi‑puerto, tiempos de espera, concurrencia, prefijo CSV
  • --connector-row para seleccionar automáticamente una fila al iniciar el conector
  • MóduloSalidaUbicación predeterminada
    RaspadorLista de objetivosresults/scraper/targets.txt
    EscánerCSV con marca de tiemporesults/scanner/<prefijo>_YYYYMMDD_HHMMSS.csv
    NavegadorExportaciones JSON/CSV opcionalesnavigator_results.json / navigator_results.csv
    OrquestadorObjetivos + CSV del escánerresults/orchestrator/targets.txt + results/scanner/