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

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

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

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

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

Категории

Все категории
Loading categories
psudohash — Генерирует миллионы мутаций паролей на основе ключевых слов за секунды. | Kitploit
Инструменты/GitHubGitHub/t3l3machus/psudohash
Взлом паролейАтаки на ПаролиТестирование на Проникновение
GitHubt3l3machus/psudohash

psudohash

Генерирует миллионы мутаций паролей на основе ключевых слов за секунды.

Репозиторий
1.5k1751 год назадПроверено Kitploit

Популярное

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

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

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

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

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

psudohash

Python 3.x License

Замечательные новые возможности версии 1.1.0

Особая благодарность DavidAngelos:
▶️ Добавлен индикатор выполнения на каждом шаге для отслеживания процесса.
▶️ Добавлены опции:

  • Последовательные объединения (-i / --inorder): объединять ключевые слова только в исходном порядке (например, foo,bar,baz → foo, bar, baz, foobar, foobaz, barbaz, foobarbaz).
  • Комбинации всех порядков (-c / --combinations): генерировать все перестановки каждого подмножества (например, foo,bar,baz → foo, bar, baz, foobar, foobaz, barfoo, …, bazbarfoo).
  • Пользовательский разделитель (--sep <string>): при объединении слов вставлять эту строку между токенами (по умолчанию без разделителя).
  • Максимальный размер объединения (--max-combine <N>): ограничение на количество объединяемых исходных ключевых слов (по умолчанию: 2).
  • Фильтрация итоговых слов по минимальной/максимальной длине (--minlen/--maxlen <N>): фильтровать итоговый список слов, оставляя только слова нужной длины.

Назначение

Psudohash — это генератор списков паролей для организации атак методом перебора и взлома хэшей. Он имитирует некоторые распространённые шаблоны создания паролей, используемые людьми, такие как замена букв слова на символы или цифры (leet), изменение регистра, добавление общего дополнения до или после основной парольной фразы и другое. Он основан на ключевых словах и обладает высокой настраиваемостью. 🎥 -> Видеопрезентация

Тестирование корпоративных сред на проникновение

Системные администраторы и другие сотрудники часто используют мутированную версию названия компании для установки паролей (например, Am@z0n_2022). Это часто встречается для сетевых устройств (точек доступа Wi-Fi, коммутаторов, маршрутизаторов и т.д.), приложений или даже доменных учётных записей. С помощью самых базовых опций psudohash может генерировать список слов со всеми возможными мутациями одного или нескольких ключевых слов, основанными на распространённых шаблонах замены символов (настраиваемых), вариациях регистра, строках, обычно используемых в качестве дополнения, и многом другом. Взгляните на следующий пример:

image

Настройка

Подстановка символов Leet

Скрипт реализует следующую схему подстановки символов. Вы можете добавить/изменить сопоставления подстановки символов, отредактировав список transformations в psudohash.py и следуя структуре данных, представленной ниже (по умолчанию):

root@kitploit:~
transformations = [
	{'a' : ['@', '4']},
	{'b' : '8'},
	{'e' : '3'},
	{'g' : ['9', '6']},
	{'i' : ['1', '!']},
	{'o' : '0'},
	{'s' : ['$', '5']},
	{'t' : '7'}
]

Общие значения дополнения

При установке паролей, я считаю, довольно стандартно добавлять последовательность символов до и/или после основной парольной фразы, чтобы сделать её «надёжнее». Например, кто-то может установить пароль «dragon» и добавить в конце значение «!!!» или «!@#», в результате чего получаются «dragon!!!», «dragon!@#» и т.д. Psudohash считывает такие значения из common_padding_values.txt и использует их для мутации предоставленных ключевых слов, добавляя их перед (-cpb) или после (-cpa) каждой сгенерированной вариации ключевого слова. Вы можете изменять этот файл по своему усмотрению.

Значения годов

При добавлении значения года к мутированному ключевому слову psudohash будет использовать различные разделители. По умолчанию используются следующие разделители, которые можно изменить, отредактировав список year_seperators:

root@kitploit:~
year_seperators = ['', '_', '-', '@']

Например, если задано ключевое слово «amazon» и использована опция -y 2023, вывод будет включать «amazon2023», «amazon_2023», «amazon-2023», «amazon@2023», «amazon23», «amazon_23», «amazon-23», «amazon@23».

Установка

Сначала установите Python 3.x и tqdm:

root@kitploit:~
pip3 install tqdm

Затем клонируйте репозиторий и сделайте скрипт исполняемым:

root@kitploit:~
git clone https://github.com/t3l3machus/psudohash.git
cd ./psudohash
chmod +x psudohash.py

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

root@kitploit:~
./psudohash.py [-h] -w WORDS [-i] [-c] [--sep SEP] [--max-combine N] [-an LEVEL] [-nl LIMIT] [-y YEARS] [-ap VALUES] [-cpb] [-cpa] [-cpo] [-o FILENAME] [-q]

Диалог справки [-h, --help] содержит подробности использования и примеры.

Параметры

  • -w, --words <kw1,kw2,…>
    Исходные ключевые слова, разделённые запятыми (обязательно).

  • -i, --inorder
    Объединять до --max-combine ключевых слов в заданном порядке (например, foo,bar,baz → foo, bar, baz, foobar, foobaz, barbaz, foobarbaz).

  • -c, --combinations
    Генерировать все перестановки каждого подмножества (до --max-combine) (например, foo,bar,baz → foo, bar, baz, foobar, foobaz, barfoo, …).

  • --max-combine <N> (по умолчанию: 2)
    Максимальное количество исходных ключевых слов для объединения в одну базовую строку.

  • --sep <string> При объединении слов ( или ) помещать эту строку между токенами. По умолчанию пустая строка.

Примеры использования

  1. Без объединения слов (только одиночные слова)

    root@kitploit:~
    ./psudohash.py -w foo,bar,baz -cpa
    # → foo, bar, baz
    
  2. Последовательные объединения (-i, до 2 слов по умолчанию)

    root@kitploit:~
    ./psudohash.py -w foo,bar,baz -i
    # → foo, bar, baz, foobar, foobaz, barbaz
    
  3. Комбинации всех порядков (-c, до 2 слов по умолчанию)

    root@kitploit:~
    ./psudohash.py -w foo,bar,baz -c
    # → foo, bar, baz, foobar, foobaz, barfoo, barbaz, bazfoo, bazbar
    
  4. Изменение разделителя между объединёнными словами

    root@kitploit:~
    ./psudohash.py -w foo,bar,baz -i --sep "_"
    # → foo, bar, baz, foo_bar, foo_baz, bar_baz
    
  5. Фильтрация по длине (--minlen/--maxlen)

    root@kitploit:~
     ./psudohash.py -w apple,banana -i --minlen 10
     # Warning: exact size cannot be determined because of length filters.
     # Example final outputs might include “applebanana” (11 chars), “bananaapple” (11 chars).
    
  6. Объединение до 3 слов (вместо 2 по умолчанию)

Советы по использованию

  1. Совместное использование опций --years и --append-numbering с --numbering-limit ≥ последних двух цифр любого введённого года, скорее всего, приведёт к появлению дублирующихся слов из-за шаблонов мутации, реализованных в инструменте.
  2. Если вы добавляете пользовательские значения дополнения и/или изменяете предопределённые общие значения дополнения в исходном коде, в сочетании с несколькими дополнительными параметрами, существует небольшая вероятность появления дублирующихся слов. psudohash включает средства фильтрации слов, но ради скорости они ограничены.
  3. При использовании --minlen или --maxlen скрипт не может предварительно вычислить точное количество слов; вы увидите предупреждение «exact size cannot be determined» и будет рассчитан размер без этого фильтра, итоговый размер будет меньше.

Физические лица

Что касается людей, я думаю, все мы (в большей или меньшей степени) устанавливали пароли, используя мутацию одного или нескольких слов, которые что-то значат для нас, например, наше имя или имена жены/ребёнка/питомца/группы, добавляя год рождения в конце или, возможно, супербезопасное дополнение вроде «!@#». Ну, угадайте что?

usage_example_png

Будущее

Я собираю информацию о часто используемых шаблонах создания паролей для улучшения возможностей инструмента.

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

-i
-c
  • --minlen <N>
    Отбрасывать любой итоговый пароль короче N символов.

  • --maxlen <N>
    Отбрасывать любой итоговый пароль длиннее N символов.

  • -an, --append-numbering <LEVEL>
    Добавлять нумерованные суффиксы (с дополнением нулями до <LEVEL> цифр) к каждой мутации слова.

  • -nl, --numbering-limit <LIMIT>
    Максимальное число для подсчёта при добавлении номеров (по умолчанию: 50).

  • -y, --years <years>
    Добавлять один или несколько годов к каждой мутации (например, 1990-2000 или 2022,2023).

  • -ap, --append-padding <vals>
    Добавлять пользовательские значения дополнения (через запятую). Должен использоваться с -cpb или -cpa.

  • -cpb, --common-paddings-before
    Добавлять значения из common_padding_values.txt перед каждой мутацией.

  • -cpa, --common-paddings-after
    Добавлять значения из common_padding_values.txt после каждой мутации.

  • -cpo, --custom-paddings-only
    Использовать только предоставленные пользователем дополнения (без значений по умолчанию). Должен использоваться с -ap.

  • -o, --output <file>
    Записать результаты в <file> (по умолчанию: output.txt).

  • -q, --quiet
    Подавлять показ ASCII-баннера при запуске.