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

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

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

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

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

Категории

Все категории
Loading categories
OMEN — Генератор паролей на основе марковской модели на C, который перечисляет кандидатов по вероятности, генерируя наиболее вероятные пароли первыми для взлома хешей через Hashcat или John. | Kitploit
Инструменты/GitHubGitHub/rub-syssec/omen
Взлом паролейАтаки на ПаролиАнализ хэшейКриптографияУтилиты и фреймворкиСтатьи и Исследования
GitHubrub-syssec/omen

OMEN

Генератор паролей на основе марковской модели на C, который перечисляет кандидатов по вероятности, генерируя наиболее вероятные пароли первыми для взлома хешей через Hashcat или John.

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

Популярное

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

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

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

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

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

OMEN: Ordered Markov ENumerator

OMEN — это основанный на марковской модели угадыватель паролей, написанный на C. Он генерирует кандидаты в пароли в соответствии с вероятностями их появления, то есть сначала выводит наиболее вероятные пароли. OMEN значительно повышает скорость угадывания по сравнению с существующими решениями. Если вас интересуют подробности того, как OMEN улучшает существующие подходы к угадыванию паролей на основе марковских моделей, обратитесь к OMEN: Faster Password Guessing Using an Ordered Markov Enumerator.

Руководство пользователя

OMEN состоит из двух отдельных программных модулей: createNG и enumNG. createNG вычисляет вероятности n-грамм на основе заданного списка паролей и сохраняет их на жёстком диске. На основе этих вероятностей enumNG перечисляет новые пароли в правильном порядке (по убыванию).

Установка

Используйте свежую версию Linux и убедитесь, что у вас установлены git (система контроля версий Git), gcc (GNU Compiler Collection) и make (GNU Make). Установить их в Ubuntu Linux можно так:

$ sudo apt-get install build-essential git

Получите исходный код:

$ git clone https://github.com/RUB-SysSec/OMEN.git OMEN

Перейдите в только что созданный каталог OMEN и выполните:

$ make

Если компиляция прошла успешно, вы найдёте createNG и enumNG в текущем каталоге.

.
├── alphabetCreator
├── createNG
├── docs
│   ├── CHANGELOG.md
│   ├── LICENSE
│   └── screenshots
├── enumNG
├── evalPW
├── makefile
├── README.md
└── src
    ├── alphabetCreator.c
    ...

При желании теперь можно удалить папку src и файл makefile, они больше не используются.

Пользователь Windows?

Краткое руководство по установке с использованием Cygwin в Windows 10 можно найти здесь.

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

Прежде чем можно будет сгенерировать какие-либо пароли, необходимо оценить вероятности n-грамм с помощью createNG. Чтобы вычислить вероятности с настройками по умолчанию, createNG нужно вызвать, указав путь к списку паролей, на котором следует обучить модель:

$ ./createNG --iPwdList password-training-list.txt

Каждый пароль из заданного списка должен находиться на новой строке. Затем модуль читает и обрабатывает список, генерируя несколько файлов. Помимо файла конфигурации (createConfig), в котором сохраняются использованные настройки (в данном случае настройки по умолчанию), создаётся несколько файлов, содержащих информацию о граммах и длине пароля. Эти файлы имеют расширение '.level':

  • IP.level (Initial Probability): Хранит вероятности первой (n-1)-граммы каждого пароля.
  • CP.level (Conditional Probability): Хранит вероятности собственно n-грамм.
  • EP.level (End Probability): Хранит вероятности последней (n-1)-граммы каждого пароля.
  • LN.level (Length): Хранит вероятности для длины пароля.

Вероятности каждой n-граммы и длины отображаются на уровни от 0 (наиболее вероятный) до 10 (наименее вероятный). После создания этих файлов enumNG можно использовать для генерации списка паролей, упорядоченных по вероятностям. В настоящее время enumNG поддерживает три режима работы: file, stdout, simulated plaintext attack. В режиме по умолчанию enumNG создаётся список предполагаемых паролей на основе этих уровней. Команда

$ ./enumNG

генерирует 1 миллиард паролей и сохраняет их в текстовый файл, который можно найти в папке 'results'. Пароли в этом файле упорядочены по уровню (то есть по вероятности). Поскольку обычные текстовые редакторы не способны обрабатывать такие огромные файлы, для тестирования рекомендуется уменьшить количество создаваемых паролей. Это можно сделать с помощью аргумента -m.

$ ./enumNG -m 10000

Будет создан упорядоченный список всего из 10 000 паролей. Если вы хотите вывести пароли в стандартный поток вывода (stdout), используйте аргумент -p.

$ ./enumNG -p -m 10000

Если вы хотите оценить эффективность угадывания на тестовом наборе паролей в виде открытого текста, используйте аргумент -s. Обратите внимание: в этом режиме OMEN выигрывает от адаптивного алгоритма планирования длины, использующего обратную связь в реальном времени, который недоступен (из-за отсутствия канала обратной связи) в режимах file и stdout.

$ ./enumNG -s=password-testing-list.txt -m 10000

Результат этой оценки можно найти в папке 'results'.

Оба модуля предоставляют диалог справки, который можно вызвать с помощью аргумента -h или --help.

Взлом паролей

Как перейти от $2a$10$HNYF4KajSTqxIP/KoiB5tOCVeKUgvscTh32hhAmppFk4T/USmI2B. к "GoodOMEN!123"?

Этика

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

Атаки по прообразу

Популярные средства оценки хешей, такие как Hashcat и John the Ripper, поддерживают сотни форматов хешей и шифров и могут быть легко интегрированы благодаря поддержке чтения кандидатов в пароли через стандартный поток ввода (stdin).

$ ./enumNG -p -m 10000 | ./hashcat64.bin ...

или

$ ./enumNG -p -m 10000 | ./john --stdin ...

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

Обратите внимание: использование вероятностного моделирования паролей для взлома паролей в целом следует рассматривать только против медленных хешей (например, bcrypt, PBKDF2, scrypt или Argon2), где количество выполнимых попыток ограничено, либо в очень целенаправленных атаках. Напротив, для очень быстрых хешей (MD5, SHA-1 или NTLM) следует использовать хорошие словари и правила манглинга (например, best64.rule).

Если вам интересна эта тема, рассмотрите возможность прочтения следующих статей и связанных с ними работ (этот список неполный, вы можете помочь, расширив его):

Вероятностные контекстно-свободные грамматики

  • Password Cracking Using Probabilistic Context-Free Grammars (SP '09)
  • Guess Again (and Again and Again): Measuring Password Strength by Simulating Password-Cracking Algorithms (SP '12)
  • On the Semantic Patterns of Passwords and their Security Impact (NDSS '14)
  • Next Gen PCFG Password Cracking (TIFS '15)
  • ...
  • Software A, Software B

Марковские модели

  • Fast Dictionary Attacks on Passwords Using Time-Space Tradeoff (CCS '05)
  • OMEN+: When Privacy meets Security: Leveraging personal information for password cracking (CoRR '13)
  • A Study of Probabilistic Password Models (SP '14)
  • OMEN: Faster Password Guessing Using an Ordered Markov Enumerator (ESSoS '15)
  • ...
  • Software A, Software B
Скачать инструмент