Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
desktop-2fa — Безопасное офлайн-десктопное приложение для генерации и управления TOTP-кодами двухфакторной аутентификации. Включает зашифрованное хранилище, современную криптографию (Argon2 + AES‑GCM), модульную архитектуру и локально-ориентированный подход без облачных зависимостей. Разработано для надежности, расширяемости и будущего кроссплатформенного интерфейса. | Kitploit
Инструменты/GitHubGitHub/wrogistefan/desktop-2fa
Утилиты общего назначенияИнструменты шифрования/дешифрованияКриптографияКонфиденциальностьАутентификация
GitHubwrogistefan/desktop-2fa

desktop-2fa

Репозиторий
Сайт
30157 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →

Описание

Безопасное офлайн-десктопное приложение для генерации и управления TOTP-кодами двухфакторной аутентификации. Включает зашифрованное хранилище, современную криптографию (Argon2 + AES‑GCM), модульную архитектуру и локально-ориентированный подход без облачных зависимостей. Разработано для надежности, расширяемости и будущего кроссплатформенного интерфейса.

Поделиться

🛡️ Desktop-2FA

Безопасный офлайн-менеджер двухфакторной аутентификации (2FA) для настольных сред. Создан на Python с использованием сильного шифрования и без облачных зависимостей.

🌐 Сайт: desktop-2fa.org

PyPI - Downloads PyPI version Python versions License Build codecov


✨ Возможности

ФункцияОписание
🔐 Безопасность хранилищаШифрование AES-256-GCM с выводом ключа Argon2id
⏱️ Генерация TOTPГенерация кодов в соответствии с RFC 6238
💻 Полный CLIПолный интерфейс командной строки для управления токенами
📋 Поддержка буфера обменаАвтоматическое копирование TOTP-кодов в буфер обмена
🔓 Без сохранения состоянияКаждая команда требует явной аутентификации по паролю
🛡️ Политика паролейНастраиваемая проверка надёжности пароля с помощью zxcvbn
🧪 Хорошо протестировано289 тестов пройдено с полным покрытием
📖 Модель безопасностиПодробный анализ угроз и документация по криптографическому дизайну

📸 Скриншоты

Добавление записи в интерактивном режиме Добавление новой TOTP-записи в интерактивном режиме

Генерация кода Генерация TOTP-кода для записи

Ошибка переименования и дубликата Переименование записи с обнаружением дубликатов

Версия и список Просмотр информации о версии и списка всех записей


🚀 Быстрый старт

Установка

root@kitploit:~
pip install desktop-2fa

Проверка установки:

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

Основное использование

root@kitploit:~
# Initialize a new vault
d2fa vault init

# Add a new TOTP token
d2fa vault add GitHub GitHub JBSWY3DPEHPK3PXP

# List all entries
d2fa vault list

# Generate a code
d2fa code GitHub

Неинтерактивное использование

root@kitploit:~
# Provide password via command line
d2fa vault add GitHub GitHub JBSWY3DPEHPK3PXP --password mypassphrase

# Provide password via file
d2fa vault add GitHub GitHub JBSWY3DPEHPK3PXP --password-file /path/to/passphrase.txt

📁 Жизненный цикл хранилища

Хранилище — это зашифрованный файл, расположенный по адресу ~/.desktop-2fa/vault.

Создание хранилища

Когда команда требует хранилище, а оно не существует:

  1. CLI запрашивает новый пароль (интерактивный режим) или требует --password/--password-file (неинтерактивный режим)
  2. Создаётся пустое зашифрованное хранилище
  3. Всегда выводится подтверждающее сообщение: Vault created at <path>

Загрузка хранилища

Когда команда требует хранилище, и оно существует:

  1. CLI запрашивает существующий пароль (интерактивный режим) или требует учётные данные (неинтерактивный режим)
  2. Хранилище расшифровывается и загружается
  3. Если пароль недействителен, CLI завершает работу с typer.Exit(1)

Обработка дублирующихся записей

Команда rename обеспечивает детерминированное поведение, если несколько записей соответствуют целевому имени:

  • Если несколько записей соответствуют указанному имени (issuer или account_name), переименование отменяется
  • Сообщение об ошибке: Error: Multiple entries named '<name>' exist. Operation aborted. Resolve duplicates first.
  • В этом случае ни одна запись не переименовывается
  • Проверка выполняется до любых изменений

📖 Команды CLI

Основные команды

КомандаОписание
d2fa vault add <name> <issuer> <secret>Добавить новую TOTP-запись
d2fa vault listСписок всех сохранённых TOTP-записей
d2fa vault rename <old> <new>Переименовать запись
d2fa vault remove <name>Удалить запись
d2fa code <name> [--copy|--copy-only]Сгенерировать TOTP-код с опциями копирования в буфер обмена

Управление хранилищем

КомандаОписание
d2fa vault init [--force]Инициализировать новое хранилище
d2fa vault unlockОткрыть хранилище с предупреждением о слабом пароле (если настроено)
d2fa vault change-passwordИзменить пароль хранилища
d2fa vault backupСоздать зашифрованную резервную копию хранилища
d2fa vault export <path>Экспортировать хранилище в файл
d2fa vault import <path> [--force]Импортировать хранилище из файла

Глобальные опции

ОпцияОписание
--password <pwd>Указать пароль хранилища напрямую
--password-file <path>Прочитать пароль хранилища из файла
--jsonВывод в формате JSON
--rawСырой вывод (без форматирования)
--quietПодавить необязательный вывод
--copyСкопировать TOTP-код в буфер обмена и отобразить
--copy-onlyСкопировать TOTP-код только в буфер обмена
--forceПринудительное выполнение (без подтверждений)

🔒 Безопасность

Хранилище использует:

  • AES-256-GCM для аутентифицированного шифрования
  • Argon2id для вывода ключа (time_cost=4, memory_cost=128MiB, parallelism=2)
  • zxcvbn для оценки надёжности пароля
  • Версионированный заголовок для прямой совместимости

Каждая команда требует явной аутентификации по паролю. Доступ на основе сессии отсутствует.

Оценка надёжности пароля

Desktop-2FA использует zxcvbn для оценки надёжности пароля при создании или смене пароля хранилища:

  • Оценка 0-2 (Слабый): Легко угадываемые пароли (например, "password123")
  • Оценка 3-4 (Надёжный): Устойчивы к распространённым атакам (рекомендуется)

Примеры:

  • ❌ Слабые: password, 123456, qwerty, admin2024
  • ✅ Надёжные: Battery-Horse-Staple-Correct, Mountain@River*2024, MySecureVault#42

Конфигурация (~/.config/d2fa/config.toml):

root@kitploit:~
[security]
# Require strong passwords (score >= 3)
reject_weak_passwords = false  # warn but allow | true: reject weak passwords

Когда reject_weak_passwords = false:

  • Слабые пароли вызывают жёлтое предупреждение
  • Пользователю предлагается подтвердить продолжение
  • Принятие пароля не блокируется

Когда reject_weak_passwords = true:

  • Слабые пароли немедленно отклоняются
  • Команда завершается с ошибкой
  • Пользователь должен выбрать более надёжный пароль

Обратная совместимость: Если в вашей конфигурации установлен параметр min_password_entropy (устаревшая опция), он распознаётся и считается эквивалентным требованию оценки zxcvbn >= 3.

Усиление безопасности (v0.8.0)

Версия 0.8.0 сохраняет все предыдущие улучшения безопасности из v0.7.3 и вводит модульную архитектуру для лучшей изоляции кода:

  • Пустые пароли немедленно отклоняются с понятным сообщением об ошибке
  • Ошибки прав доступа отличаются от отсутствия файла хранилища
  • Пользователю не показываются трассировки стека Python
  • Понятные сообщения об ошибках для проблем с правами доступа к файловой системе
  • Модульная архитектура разделяет CLI и основные криптографические компоненты для улучшения границ безопасности
  • Оценка надёжности пароля на основе zxcvbn (новое в v0.8.0)

📚 Документация

ДокументОписание
User ManualПолное руководство по использованию
Security ModelПодробный анализ угроз и криптографический дизайн
CLI UX SpecificationКонтракт UX и поведение
CryptographyДетали реализации безопасности

🧪 Тестирование

root@kitploit:~
pytest tests/              # Run all tests
pytest --cov=src/desktop_2fa  # Run with coverage

🏗️ Структура проекта

root@kitploit:~
src/desktop_2fa/
├── app/           # Application components
├── cli/           # Command-line interface
├── crypto/        # Encryption utilities
├── totp/          # TOTP generation
├── ui/            # User interface components
├── vault/         # Vault management
└── utils/         # Utilities

📄 Лицензия

Лицензия Apache 2.0. См. файл LICENSE.


👤 Автор

Łukasz Perek


🏆 Спонсорство

desktop‑2fa поддерживается через программу спонсорства Kilo OSS.


📧 Контакты

По вопросам или за поддержкой свяжитесь с нами по адресу [email protected]


💖 Поддержите проект

Desktop‑2FA — это независимый инструмент с открытым исходным кодом, созданный с упором на автономию, прозрачность и офлайн-безопасность. Если вы считаете его полезным и хотите поддержать дальнейшее развитие, вы можете сделать это через следующие платформы:

  • Ko‑fi: https://ko-fi.com/lukaszperek
  • Buy Me a Coffee: https://buymeacoffee.com/lukaszperek
  • AirTM: https://airtm.me/lukper
Скачать инструмент