Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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
SSHintel — Autonomous honeypot SSH autónomo para capturar interacciones de atacantes y convertirlas en inteligencia de seguridad estructurada. | Kitploit
Herramientas/GitHubGitHub/sonitbahl/sshintel
Seguridad de RedesInteligencia de AmenazasDetección de IntrusionesRespuesta a IncidentesAnálisis de Registros
GitHubsonitbahl/sshintel

SSHintel

Autonomous honeypot SSH autónomo para capturar interacciones de atacantes y convertirlas en inteligencia de seguridad estructurada.

Ver Repositorio
369hace 8 díasAún no revisado

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

SSHintel — Honeypot SSH Ligero

License: MIT Python Last Commit Repo Size

SSHintel es un honeypot SSH ligero construido con Python y Paramiko. Simula una shell Linux falsa para registrar intentos de acceso no autorizados, capturar credenciales y analizar el comportamiento de los atacantes en un entorno controlado.


🔧 Características

  • Registra intentos de inicio de sesión SSH con IP, nombre de usuario y contraseña
  • Proporciona una shell Linux simulada (un entorno falso en memoria)
  • Admite un amplio conjunto de comandos de reconocimiento y navegación (ls, cd, pwd, cat, echo, grep, find, tree, head, tail, wc, stat, ps, df, free, env, id, whoami, etc.)
  • Modo --tarpit opcional para ralentizar a los atacantes con salida retardada
  • Sistema de archivos falso aislado por sesión con soporte para creación y lectura de archivos
  • Panel web local para visualizar la telemetría de seguridad capturada (sesiones, comandos, intentos de autenticación, principales atacantes)
  • Vista de investigación de sesión — seleccione cualquier sesión y reconstruya la línea de tiempo completa del ataque cronológicamente, incluyendo IP de origen, resultado de autenticación, cada comando ejecutado con su directorio de trabajo y duración de la sesión
  • Todo es simulado — los comandos nunca se ejecutan en el host, nunca acceden al sistema de archivos real y no realizan solicitudes de red.

SSHintel no es una shell Bash/Linux completa. Simula un subconjunto creíble de comandos comunes para recopilar telemetría de atacantes. Los comandos se despachan mediante un registro ligero; agregar un comando significa agregar una pequeña función de manejo.


🛠️ Configuración

1. 📦 Instalar dependencias

pip install -r requirements.txt

Nota: La clave de host SSH se genera automáticamente en la primera ejecución. No se necesita generación manual de claves.


🚀 Ejecutar el Honeypot

Ejecute el honeypot con un puerto, nombre de usuario y contraseña específicos:

python3 run.py serve --port 2222 --username user1 --password pass123

El puerto predeterminado es 2222 y el host es 0.0.0.0.

El honeypot genera automáticamente una clave de host SSH en static/server.key en la primera ejecución si no existe. No se necesita generación manual de claves.

Para habilitar el modo tarpit:

python3 run.py serve --port 2222 --username user1 --password pass123 --tarpit

Para deshabilitar la telemetría SQLite (solo JSONL):

python3 run.py serve --port 2222 --username user1 --password pass123 --no-db

🛡️ Límites de conexión y tiempos de espera

SSHintel protege contra el agotamiento de recursos por muchas conexiones concurrentes o conexiones mantenidas activas indefinidamente. Estos son configurables mediante la CLI:

IndicadorPredeterminadoPropósito
--max-connections50Máximo de conexiones activas simultáneas; las conexiones adicionales se rechazan y se registran como un evento connection_rejected
--auth-timeout60 (s)Tiempo permitido para completar el handshake/autenticación SSH; los clientes estancados se desconectan
--session-idle-timeout300 (s)Tiempo de espera de inactividad para una shell autenticada; una sesión inactiva finaliza, pero un atacante que escribe activamente nunca se elimina

Ejemplo:

python3 run.py serve --port 2222 --username user1 --password pass123 \
  --max-connections 25 --auth-timeout 30 --session-idle-timeout 300

Cuando hay demasiadas conexiones abiertas, la conexión adicional se cierra inmediatamente y se escribe un evento de seguridad connection_rejected (con reason: connection_limit) en el registro JSONL. Una autenticación estancada se registra como una desconexión con reason: auth_timeout; una shell inactiva finaliza con reason: idle_timeout.

El modo tarpit envía intencionalmente la salida lentamente para mantener al atacante comprometido, por lo que el bucle del banner tarpit no está sujeto al tiempo de espera de inactividad — pero las sesiones tarpit sí cuentan contra el límite de conexiones.


📊 Panel

SSHintel incluye un panel web local que visualiza la telemetría de seguridad almacenada en SQLite.

Iniciar el panel

python3 run.py dashboard

Luego abra http://localhost:5000 en su navegador.

El panel lee de la base de datos SQLite en data/sshintel.db por defecto. Inicie primero el honeypot para que se capture la telemetría, luego lance el panel para ver cómo se completa.

Qué muestra

  • Tarjetas KPI — sesiones totales, IPs de origen únicas, intentos de autenticación, autenticaciones exitosas/fallidas y comandos ejecutados
  • Gráfico de actividad — conexiones a lo largo del tiempo, agrupadas por hora
  • Comandos principales — los comandos de atacante ejecutados con más frecuencia
  • Nombres de usuario objetivo — qué nombres de usuario están intentando los atacantes
  • Sesiones recientes — haga clic en cualquier ID de sesión para investigarla
  • Actividad reciente — los últimos eventos de telemetría en una tabla buscable

Investigación de sesión

Haga clic en un ID de sesión (o navegue a /session/<session_id>) para abrir la vista de investigación de sesión, que reconstruye un solo ataque cronológicamente:

  • Resumen de sesión — IP de origen, nombre de usuario, horas de inicio/fin, duración, resultado de autenticación, motivo de desconexión
  • Línea de tiempo del ataque — cada evento (conexión, intentos de autenticación, comandos, desconexión) en orden cronológico
  • Secuencia de comandos — una vista compacta de $ comando de todo lo que escribió el atacante, con directorios de trabajo

Flujo de trabajo de ejemplo

# Terminal 1: iniciar el honeypot
python3 run.py serve --port 2222 --username user1 --password pass123

# Terminal 2: iniciar el panel
python3 run.py dashboard

# Terminal 3: simular un atacante
ssh user1@localhost -p 2222
# (ejecutar algunos comandos, luego salir)

Luego abra http://localhost:5000 para inspeccionar la actividad capturada.

El panel admite telemetría en vivo — consulta el honeypot cada 2 segundos y se actualiza automáticamente. Las nuevas sesiones, comandos y eventos aparecen en tiempo real sin actualizar la página. Un indicador en vivo (● Live) muestra el estado de la conexión.


🔐 Pruebas desde otra terminal

Abra una segunda terminal e intente conectarse:

ssh user1@localhost -p 2222

Si las credenciales coinciden, se le llevará a la shell emulada.


🚑 Opcional: Limpiar hosts conocidos (si se reconecta)

Para eliminar huellas SSH obsoletas:

notepad "%USERPROFILE%\.ssh\known_hosts"

Elimine la línea relevante que contenga localhost o la IP del honeypot.


📝 Información registrada

  • Las credenciales se registran en creds_logger
  • Los comandos de shell se registran mediante funnel_logger
  • Los eventos de seguridad estructurados se escriben en log_files/events.jsonl como JSON Lines (JSONL) — un objeto JSON válido por línea

Cada evento JSONL incluye una timestamp UTC ISO-8601, un event_type, un session_id único y la source_ip. La conexión, los intentos/resultados de autenticación, la ejecución de comandos, la activación de tarpit y las desconexiones se registran todos como eventos estructurados.

Descargar herramienta