Skip to content

Repository files navigation

PhishTool - Advanced Phishing Framework with 2FA Support

PhishTool Dashboard Python License

PhishTool es una herramienta profesional de phishing diseñada para pruebas de seguridad y educación en ciberseguridad. Ahora incluye soporte completo para captura de códigos 2FA, dashboard web en tiempo real, instalación simplificada con Docker, y gestión avanzada de campañas.


📋 Características Principales

✨ Nueva Versión Profesional con 2FA

  • 🔐 Captura de Códigos 2FA: Soporte para TOTP (Google Authenticator, Authy), SMS y Email verification
  • 🌐 Dashboard Web Intuitivo: Interfaz moderna con TailwindCSS para monitoreo en tiempo real
  • 📊 Estadísticas en Vivo: Visualiza credenciales, códigos 2FA, visitas y conversiones
  • 🔔 Notificaciones WebSocket: Recibe alertas instantáneas cuando se capturan credenciales o códigos 2FA
  • 🎯 Gestión de Campañas: Crea, inicia y detén múltiples campañas de phishing
  • 🐳 Soporte Docker: Instalación en un solo comando con Docker Compose
  • ⚡ Instalación Simplificada: Script automático que configura todo por ti
  • 📧 Phishing por Email Mejorado: Envío de correos con plantillas personalizables
  • 🔗 Phishing por URL: Servidor HTTP con ngrok integrado para URLs públicas
  • 💾 Almacenamiento de Datos: Historial completo de credenciales, códigos 2FA y visitas
  • 📈 Analytics Avanzados: Tasa de conversión, dispositivos, navegadores
  • 🔑 Generador TOTP Integrado: Genera códigos para testing

🚀 Instalación Rápida

Opción 1: Instalación Automática (Recomendada)

# Clonar el repositorio
git clone https://github.com/simoncherry9/phistool.git
cd phistool

# Ejecutar script de instalación
chmod +x install.sh
./install.sh

Opción 2: Docker (Más Fácil)

# Clonar el repositorio
git clone https://github.com/simoncherry9/phistool.git
cd phistool

# Configurar token de ngrok
cp .env.example .env
# Editar .env y agregar tu token de ngrok

# Iniciar con Docker Compose
docker-compose up -d

Opción 3: Instalación Manual

# Instalar dependencias
pip install -r requirements.txt

# Configurar ngrok
# Obtén tu token en: https://dashboard.ngrok.com/get-started/your-authtoken
echo "authtoken: TU_TOKEN" > ~/.ngrok2/ngrok.yml

# Copiar archivo de entorno
cp .env.example .env
# Editar .env con tu token

🎯 Uso

Dashboard Web (Recomendado)

# Iniciar dashboard web
python3 app.py --dashboard

# Acceder desde tu navegador
# http://localhost:5000

Modo CLI Interactivo

# Iniciar modo CLI
python3 app.py --cli

Con Docker

# Iniciar contenedor
docker-compose up -d

# Ver logs
docker-compose logs -f

# Detener
docker-compose down

Generar Código TOTP

# Usar el generador integrado
python3 app.py --cli
# Seleccionar opción 4: Generate TOTP Code

🌐 Dashboard Web

El dashboard incluye:

  • 📈 Panel de Estadísticas: Total de credenciales, códigos 2FA, visitas y tasa de conversión
  • 🎯 Gestión de Campañas: Crear, iniciar y detener campañas fácilmente
  • 🔑 Credenciales Capturadas: Tabla en tiempo real con todas las credenciales
  • 🔐 Códigos 2FA: Visualización de códigos de autenticación capturados
  • 🔔 Notificaciones Live: Alertas instantáneas vía WebSocket
  • 📱 Diseño Responsive: Funciona en desktop y móvil
  • 📊 Analytics: Dispositivos, navegadores y métricas de conversión

Capturas del Dashboard

El dashboard presenta:

  • Interface oscura moderna con TailwindCSS
  • Tarjetas de estadísticas con íconos
  • Tabla de credenciales con actualización automática
  • Indicador de estado en vivo
  • Botones de acción rápida para campañas
  • Checkbox para habilitar captura 2FA

🔐 Características 2FA

Tipos de Autenticación Soportados

  1. TOTP (Time-based One-Time Password)

    • Compatible con Google Authenticator, Authy, Microsoft Authenticator
    • Generación de códigos en tiempo real
    • Página de verificación profesional
  2. SMS Verification (simulado)

    • Página de ingreso de código SMS
    • Personalizable por campaña
  3. Email Verification (simulado)

    • Página de ingreso de código enviado por email
    • Redirección configurable

Flujo de Ataque 2FA

  1. Usuario ingresa credenciales en página de login
  2. Si 2FA está habilitado, se muestra página de verificación
  3. Usuario ingresa código 2FA
  4. Todos los datos son capturados y notificados en tiempo real
  5. Redirección a URL configurada (ej: google.com)

📂 Estructura de Archivos

phistool/
├── app.py                 # Aplicación principal con Flask + 2FA
├── templates/
│   ├── dashboard/        # Dashboard web mejorado
│   │   └── index.html
│   ├── email/           # Plantillas de email
│   └── logins/          # Plantillas de login
│       ├── Instagram/
│       └── 2fa/         # Página de verificación 2FA
│           └── index.html
├── docker-compose.yml    # Configuración Docker
├── Dockerfile           # Imagen Docker
├── install.sh           # Script de instalación
├── requirements.txt     # Dependencias Python
└── .env.example         # Ejemplo de configuración

⚙️ Requisitos

  • Python 3.8+
  • Docker (opcional, para instalación con Docker)
  • Cuenta en ngrok: Obtener token gratuito
  • Cuenta de Gmail con contraseña de aplicación (para phishing por email)

🔧 Configuración

Configurar ngrok

  1. Ve a ngrok dashboard
  2. Copia tu token de autenticación
  3. Agrega el token al archivo .env o ejecuta:
    echo "authtoken: TU_TOKEN_AQUI" > ~/.ngrok2/ngrok.yml

Configurar Email (Opcional)

Para phishing por email, necesitas:

  1. Una cuenta de Gmail
  2. Habilitar autenticación de 2 factores
  3. Generar una contraseña de aplicación en: Google Security

🎨 Características Mejoradas

vs Versión Anterior

Característica Versión Anterior Nueva Versión
Interfaz Solo CLI CLI + Dashboard Web
2FA Support ❌ No ✅ Completo (TOTP, SMS, Email)
Instalación Manual compleja Automática / Docker
Monitoreo Terminal Tiempo real con WebSocket
Campañas Una a la vez Múltiples simultáneas
Credenciales Solo terminal Historial persistente
Notificaciones Ninguna Push en tiempo real
Analytics Básicos Avanzados (conversión, devices)
Exportación Manual CSV automático
TOTP Generator ❌ No ✅ Integrado

🔌 API Endpoints

Campaigns

  • GET /api/campaigns - Listar todas las campañas
  • GET /api/campaigns/<id> - Obtener detalles de campaña
  • POST /api/campaigns/create - Crear nueva campaña
  • POST /api/campaigns/<id>/start - Iniciar campaña
  • POST /api/campaigns/<id>/stop - Detener campaña

Credentials

  • GET /api/credentials - Listar credenciales capturadas
  • GET /api/credentials/export - Exportar como CSV

2FA Codes

  • GET /api/2fa-codes - Listar códigos 2FA capturados
  • POST /api/generate-totp - Generar código TOTP

Analytics

  • GET /api/stats - Estadísticas generales
  • GET /api/analytics - Analytics detallados
  • GET /api/visits - Listar visitas

🤝 Contribuciones

¡Las contribuciones son bienvenidas! Para contribuir:

  1. Fork el repositorio
  2. Crea una rama (git checkout -b feature/AmazingFeature)
  3. Commit tus cambios (git commit -m 'Add AmazingFeature')
  4. Push a la rama (git push origin feature/AmazingFeature)
  5. Abre un Pull Request

📄 Licencia

Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.


⚠️ Aviso Legal Importante

Este software se proporciona exclusivamente con fines educativos y de investigación en ciberseguridad.

  • NO debe usarse para fines maliciosos o ilegales
  • SIEMPRE obtén permiso explícito antes de realizar pruebas de seguridad
  • El uso no autorizado es ilegal y puede estar penado por la ley
  • Los autores NO se responsabilizan por el mal uso de esta herramienta

Esta herramienta está diseñada para:

  • Profesionales de seguridad realizando pruebas autorizadas
  • Investigadores educativos en entornos controlados
  • Empresas probando sus propias defensas

📞 Soporte

Si tienes preguntas o encuentras errores:

  • Abre un issue
  • Revisa la documentación existente
  • Únete a la comunidad de ciberseguridad

🙏 Agradecimientos

  • ngrok por su servicio de túneles
  • Flask y Socket.IO por el framework web
  • TailwindCSS por el diseño del dashboard
  • La comunidad de ciberseguridad

Desarrollado con ❤️ por saimonch16

Versión Professional con 2FA - 2024

About

Phistool es una herramienta de phishing que permite ataques por URL maliciosa y correo electrónico. Automatiza la configuración de ngrok para exponer servidores locales y facilita la creación de URLs públicas. Ideal para pruebas de seguridad y educación en ciberseguridad.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages