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

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

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

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

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

Категории

Все категории
Loading categories
PassGAN — Подход глубокого обучения для подбора паролей (https://arxiv.org/abs/1709.00440) | Kitploit
Инструменты/GitHubGitHub/brannondorsey/passgan
Взлом паролейАтаки на ПаролиМашинное ОбучениеСтатьи и ИсследованияОбучение и Образование
GitHubbrannondorsey/passgan

PassGAN

Подход глубокого обучения для подбора паролей (https://arxiv.org/abs/1709.00440)

Репозиторий
2.0k3977 лет назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

PassGAN

Этот репозиторий содержит код для статьи PassGAN: A Deep Learning Approach for Password Guessing.

Модель из PassGAN взята из статьи Improved Training of Wasserstein GANs, и предполагается, что авторы PassGAN использовали реализацию improved_wgan_training на TensorFlow в своей работе. По этой причине я модифицировал эту эталонную реализацию в данном репозитории, чтобы упростить обучение (train.py) и семплирование (sample.py). Этот репозиторий предоставляет:

  • Интерфейс командной строки
  • Предобученную модель PassGAN, обученную на датасете RockYou

Начало работы

root@kitploit:~
# требуется предустановленная CUDA 8
pip install -r requirements.txt

Генерация образцов паролей

Используйте предобученную модель для генерации 1 000 000 паролей, сохраняя их в gen_passwords.txt.

root@kitploit:~
python sample.py \
	--input-dir pretrained \
	--checkpoint pretrained/checkpoints/195000.ckpt \
	--output gen_passwords.txt \
	--batch-size 1024 \
	--num-samples 1000000

Обучение собственных моделей

Обучение модели на большом датасете (100 МБ+) может занять несколько часов на GTX 1080.

root@kitploit:~
# загрузить обучающие данные rockyou
# содержат 80% полного набора паролей rockyou (с повторениями)
# длиной 10 символов или менее
curl -L -o data/train.txt https://github.com/brannondorsey/PassGAN/releases/download/data/rockyou-train.txt

# обучение на 200000 итераций, сохранение контрольных точек каждые 5000
# используются гиперпараметры по умолчанию из статьи
python train.py --output-dir output --training-data data/train.txt

Рекомендуется обучать на собственных утечках паролей и датасетах. Вот несколько отличных источников:

  • Утечка LinkedIn (1,7 ГБ в сжатом виде, прямая загрузка. Зеркало с Hashes.org)
  • Торрент Exploit.in (10 ГБ+, 800 миллионов аккаунтов. Печально известный!)
  • Hashes.org: Отличный сайт для совместного восстановления паролей. Подумайте о пожертвовании, если у вас есть ресурсы ;)

Результаты

Я ещё не проводил исчерпывающего анализа своей попытки воспроизвести результаты из статьи PassGAN. Однако, используя предобученную модель rockyou для генерации 10⁸ образцов паролей, мне удалось сопоставить 630 347 (23,97%) уникальных паролей в тестовых данных при разбиении 80%/20% на обучение/тест.

В целом, я несколько удивлён (и разочарован), что авторы PassGAN сослались на предыдущую работу в области машинного обучения генерации паролей, но не сравнили свои результаты с этим исследованием. Мой первоначальный опыт работы с PassGAN позволяет предположить, что он значительно уступает как RNN-, так и марковским подходам, упомянутым в той статье, и я надеюсь, что авторы не по этой причине решили не проводить сравнение результатов.

Атрибуция и лицензия

Этот код опубликован под лицензией MIT. Вы можете свободно использовать, модифицировать, распространять или продавать его на этих условиях.

Основная заслуга за код в этом репозитории принадлежит @igul222 за его работу над improved_wgan_training. Я лишь немного модуляризовал его код, добавил интерфейс командной строки и адаптировал его для статьи PassGAN.

Исследование и статья PassGAN были опубликованы Бриландом Хитаем, Паоло Гасти, Джузеппе Атенизе и Фернандо Перес-Крусом.

Скачать инструмент