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
Herramientas/GitHubGitHub/wrogistefan/desktop-2fa
Utilidades de Propósito GeneralHerramientas de Cifrado/DescifradoCriptografíaPrivacidadAutenticación
GitHubwrogistefan/desktop-2fa

desktop-2fa

Ver Repositorio
Sitio web
3015hace 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 →

Acerca de

Una aplicación de escritorio offline segura para generar y gestionar códigos TOTP de 2FA. Cuenta con almacenamiento de bóveda cifrado, criptografía moderna (Argon2 + AES‑GCM), arquitectura modular y un enfoque local‑first sin dependencias en la nube. Diseñada para ser fiable, extensible y para una futura interfaz multiplataforma.

Compartir

🛡️ Desktop-2FA

Un gestor seguro y offline de autenticación de dos factores (2FA) para entornos de escritorio. Construido con Python, con cifrado robusto y sin dependencias en la nube.

🌐 Página de inicio: desktop-2fa.org

PyPI - Downloads PyPI version Python versions License Build codecov


✨ Características

CaracterísticaDescripción
🔐 Seguridad del almacénCifrado AES-256-GCM con derivación de clave Argon2id
⏱️ Generación de TOTPGeneración de códigos compatible con RFC 6238
💻 CLI completaInterfaz de línea de comandos completa para gestionar tokens
📋 Soporte de portapapelesCopia automática de códigos TOTP al portapapeles
🔓 Diseño sin estadoCada comando requiere autenticación explícita de contraseña
🛡️ Política de contraseñasAplicación de fortaleza de contraseñas configurable con zxcvbn
🧪 Bien probado289 pruebas superadas con cobertura completa
📖 Modelo de seguridadAnálisis detallado de amenazas y documentación de diseño criptográfico

📸 Capturas de pantalla

Añadir entrada interactivamente Añadiendo una nueva entrada TOTP interactivamente

Generación de código Generando un código TOTP para una entrada

Error de renombrar y duplicado Renombrando una entrada con detección de duplicados

Versión y lista Visualizando información de versión y listando todas las entradas


🚀 Inicio rápido

Instalación

root@kitploit:~
pip install desktop-2fa

Verificar instalación:

root@kitploit:~
python -c "import desktop_2fa; print(desktop_2fa.__version__)"
# Salida: 0.8.1dev

Uso básico

root@kitploit:~
# Inicializar un nuevo almacén
d2fa vault init

# Añadir un nuevo token TOTP
d2fa vault add GitHub GitHub JBSWY3DPEHPK3PXP

# Listar todas las entradas
d2fa vault list

# Generar un código
d2fa code GitHub

Uso no interactivo

root@kitploit:~
# Proporcionar contraseña mediante línea de comandos
d2fa vault add GitHub GitHub JBSWY3DPEHPK3PXP --password miclave

# Proporcionar contraseña mediante archivo
d2fa vault add GitHub GitHub JBSWY3DPEHPK3PXP --password-file /ruta/al/archivo_de_clave.txt

📁 Ciclo de vida del almacén

El almacén es un archivo cifrado ubicado en ~/.desktop-2fa/vault.

Creación del almacén

Cuando un comando requiere un almacén y no existe:

  1. La CLI solicita una nueva contraseña (modo interactivo) o requiere --password/--password-file (modo no interactivo)
  2. Se crea un almacén cifrado vacío
  3. Siempre se imprime un mensaje de confirmación: Almacén creado en <ruta>

Carga del almacén

Cuando un comando requiere un almacén y este existe:

  1. La CLI solicita la contraseña existente (modo interactivo) o requiere credenciales (modo no interactivo)
  2. El almacén se descifra y carga
  3. Si la contraseña es inválida, la CLI termina con typer.Exit(1)

Manejo de entradas duplicadas

El comando rename aplica un comportamiento determinista cuando múltiples entradas coinciden con el nombre objetivo:

  • Si varias entradas coinciden con el nombre proporcionado (issuer o account_name), el renombrado se cancela
  • Mensaje de error: Error: Existen múltiples entradas llamadas '<nombre>'. Operación cancelada. Resuelve los duplicados primero.
  • En este caso no se renombra ninguna entrada
  • Esta verificación ocurre antes de cualquier mutación

📖 Comandos de la CLI

Comandos principales

ComandoDescripción
d2fa vault add <nombre> <emisor> <secreto>Añadir una nueva entrada TOTP
d2fa vault listListar todas las entradas TOTP almacenadas
d2fa vault rename <antiguo> <nuevo>Renombrar una entrada
d2fa vault remove <nombre>Eliminar una entrada
d2fa code <nombre> [--copy|--copy-only]Generar código TOTP con opciones de copia al portapapeles

Gestión del almacén

ComandoDescripción
d2fa vault init [--force]Inicializar un nuevo almacén
d2fa vault unlockAbrir almacén con advertencia de contraseña débil (si está configurado)
d2fa vault change-passwordCambiar la contraseña del almacén
d2fa vault backupCrear una copia de seguridad cifrada del almacén
d2fa vault export <ruta>Exportar almacén a un archivo
d2fa vault import <ruta> [--force]Importar almacén desde un archivo

Opciones globales

OpciónDescripción
--password <pwd>Proporcionar la contraseña del almacén directamente
--password-file <ruta>Leer la contraseña del almacén desde un archivo
--jsonSalida en formato JSON
--rawSalida sin formato
--quietSuprimir salida no esencial
--copyCopiar código TOTP al portapapeles y mostrarlo
--copy-onlyCopiar código TOTP solo al portapapeles
--forceForzar operación (omitir confirmaciones)

🔒 Seguridad

El almacén utiliza:

  • AES-256-GCM para cifrado autenticado
  • Argon2id para derivación de clave (time_cost=4, memory_cost=128MiB, parallelism=2)
  • zxcvbn para evaluación de fortaleza de contraseñas
  • Cabecera versionada para compatibilidad hacia adelante

Cada comando requiere autenticación explícita de contraseña. No hay acceso basado en sesiones.

Evaluación de fortaleza de contraseñas

Desktop-2FA utiliza zxcvbn para evaluar la fortaleza de la contraseña al crear o cambiar la contraseña del almacén:

  • Puntuación 0-2 (Débil): Contraseñas fácilmente adivinables (ej.: "password123")
  • Puntuación 3-4 (Fuerte): Resistentes a ataques comunes (recomendado)

Ejemplos:

  • ❌ Débil: password, 123456, qwerty, admin2024
  • ✅ Fuerte: Battery-Horse-Staple-Correct, Mountain@River*2024, MySecureVault#42

Configuración (~/.config/d2fa/config.toml):

root@kitploit:~
[security]
# Requerir contraseñas fuertes (puntuación >= 3)
reject_weak_passwords = false  # advertir pero permitir | true: rechazar contraseñas débiles

Cuando reject_weak_passwords = false:

  • Las contraseñas débiles generan una advertencia amarilla
  • Se solicita al usuario que confirme la continuación
  • La aceptación de la contraseña no es bloqueante

Cuando reject_weak_passwords = true:

  • Las contraseñas débiles son rechazadas inmediatamente
  • El comando termina con error
  • El usuario debe elegir una contraseña más fuerte

Compatibilidad hacia atrás: Si tienes min_password_entropy configurado en tu archivo de configuración (opción heredada), se reconoce y se trata como equivalente a requerir una puntuación de zxcvbn >= 3.

Endurecimiento de seguridad (v0.8.0)

La versión 0.8.0 mantiene todo el endurecimiento de seguridad anterior de v0.7.3 e introduce una arquitectura modular para un mejor aislamiento de código:

  • Las contraseñas vacías son rechazadas inmediatamente con un mensaje de error claro
  • Los errores de permisos se distinguen de la falta de archivos de almacén
  • No se muestran trazas de pila de Python al usuario
  • Mensajes de error amigables para problemas de permisos del sistema de archivos
  • El diseño modular separa los componentes de la CLI y el núcleo criptográfico para mejorar los límites de seguridad
  • Evaluación de fortaleza de contraseñas basada en zxcvbn (nuevo en v0.8.0)

📚 Documentación

DocumentoDescripción
Manual de usuarioGuía de uso completa
Modelo de seguridadAnálisis detallado de amenazas y diseño criptográfico
Especificación de UX de la CLIContrato de UX y comportamiento
CriptografíaDetalles de implementación de seguridad

🧪 Pruebas

root@kitploit:~
pytest tests/              # Ejecutar todas las pruebas
pytest --cov=src/desktop_2fa  # Ejecutar con cobertura

🏗️ Estructura del proyecto

root@kitploit:~
src/desktop_2fa/
├── app/           # Componentes de la aplicación
├── cli/           # Interfaz de línea de comandos
├── crypto/        # Utilidades de cifrado
├── totp/          # Generación de TOTP
├── ui/            # Componentes de interfaz de usuario
├── vault/         # Gestión del almacén
└── utils/         # Utilidades

📄 Licencia

Apache License 2.0. Ver archivo LICENSE.


👤 Autor

Łukasz Perek


🏆 Patrocinio

desktop‑2fa cuenta con el apoyo del Programa de Patrocinio Kilo OSS.


📧 Contacto

Para preguntas o soporte, contáctanos en [email protected]


💖 Apoya el proyecto

Desktop‑2FA es una herramienta independiente de código abierto construida con un enfoque en autonomía, transparencia y seguridad offline. Si te resulta útil y deseas apoyar su desarrollo continuo, puedes hacerlo a través de las siguientes plataformas:

  • Ko‑fi: https://ko-fi.com/lukaszperek
  • Buy Me a Coffee: https://buymeacoffee.com/lukaszperek
  • AirTM: https://airtm.me/lukper
Descargar herramienta