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

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

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

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

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

Категории

Все категории
Loading categories
pypykatz — Реализация Mimikatz на чистом Python | Kitploit
Инструменты/GitHubGitHub/skelsec/pypykatz
Взлом паролейИнструменты шифрования/дешифрованияКриминалистика памятиПост-эксплуатацияЦифровая криминалистикаТестирование на ПроникновениеАутентификация
GitHubskelsec/pypykatz

pypykatz

Реализация Mimikatz на чистом Python

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

Популярное

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

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

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

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

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

Supported Python versions Twitter

🚩 Спонсоры

Если вам нравится этот проект, рассмотрите возможность приобретения лицензий OctoPwn, нашего полного набора для пентеста, который работает в вашем браузере!
Для уведомлений о новых сборках/релизах и другой информации присоединяйтесь к нашему Discord

pypykatz

Реализация Mimikatz на чистом Python. По крайней мере, её часть :)
Работает на всех ОС, поддерживающих Python>=3.6 pypy_card

🚩 Работает в браузере

Этот проект, наряду со многими другими инструментами для пентеста, работает в браузере с помощью OctoPwn!
Посмотрите общедоступную версию на OctoPwn - Live

WIKI

Начиная с версии 0.1.1 командная строка немного изменилась. Не волнуйтесь, у меня есть отличная вики для вас.

Установка

Установите его через pip или клонируя из github.
Установщик создаст исполняемый файл pypykatz в каталоге Scripts Python. Вы можете запускать его оттуда, он должен быть в вашем PATH.
Имейте в виду, что версия master на github может не работать, потому что мне лень создавать правильную ветку для новых версий. Тем не менее, я постараюсь создать ветку стабильной версии.

Через PIP

root@kitploit:~
pip3 install pypykatz

Через Github

Установите предварительные требования

root@kitploit:~
pip3 install minidump minikerberos aiowinreg msldap winacl

Клонируйте этот репозиторий

root@kitploit:~
git clone https://github.com/skelsec/pypykatz.git
cd pypykatz

Установите его

root@kitploit:~
python3 setup.py install

Возможности

Общие

Независимо от платформы – все команды имеют «живую» и обычную версию, где это применимо. «Живая» версия использует текущую систему и работает только на Windows. Обычные команды не зависят от платформы.
Может использоваться как библиотека для ваших проектов.

Обработка LSASS

Может анализировать секреты, скрытые в процессе LSASS. Это похоже на sekurlsa:: от mimikatz, но с другими командами.
Главное отличие в том, что вся логика парсинга отделена от источника данных, поэтому если вы определите новый объект чтения, вы сможете выполнять парсинг LSASS откуда угодно.

В настоящее время поддерживаемые источники данных:

  1. live – читает память процесса LSASS напрямую
  2. minidump – обрабатывает файл минидампа, созданный дампом процесса LSASS
  3. rekall (форк volatility) – обрабатывает практически любые дампы памяти Windows, которые может распарсить rekall
  4. pcileech – больше не поддерживается
  5. remote – это другой проект. TBD :)
  6. `ваш проект здесь» – серьёзно, его очень просто интегрировать.

Обработка реестра

Анализирует кусты реестра для получения сохранённых учётных данных, таких как хэши NT и LM, кэшированные учётные данные домена (DCC/DCC2) и секреты LSA.

В настоящее время поддерживаемые источники данных:

  1. live – имеет два метода парсинга живого реестра. Первый – в памяти, без обращения к диску, второй – дамп кустов и их парсинг с помощью офлайн-парсера
  2. офлайн (файлы кустов)
  3. `ваш проект здесь» – серьёзно, его очень просто интегрировать.

Функции DPAPI – MASTERKEY/BLOB/VAULT/CREDENTIAL

DPAPI является защитником локальных секретов многих видов. В настоящее время проект поддерживает расшифровку мастер-ключей, dpapi-блобов, файлов учётных данных, файлов хранилищ.
Результаты не на 100% корректны, так как по большинству этих вещей не так много документации. PR всегда приветствуется!

В настоящее время поддерживаемые источники данных:

  1. live – получает мастер-ключи напрямую из LSASS –ИЛИ– ключи пользователя/машины из живого реестра и расшифровывает файл мастер-ключа.
  2. файлы кустов (офлайн) – получает ключи пользователя/машины из файлов кустов и расшифровывает файл мастер-ключа
  3. валидные учётные данные (офлайн) – может расшифровать файлы мастер-ключей, позволяя вам ввести правильный SID и пароль.
  4. пожалуйста, не интегрируйте эту часть в свой проект, она в бета-версии

Имитация пользователей

Может запускать новый процесс от имени любого пользователя, который имеет запущенный процесс на машине.
Может назначить любой доступный токен по вашему выбору вашему потоку
На самом деле это просто базовая вещь. Причина в том, что мне надоело постоянно использовать psexec для получения системной оболочки от администратора...

Прочие вещи

Да... смотрите код. Там есть комментарии и прочее...

Параметры команды Rekall

Переопределение временной метки

Причина существования этого параметра: чтобы выбрать правильную структуру для парсинга, нам нужна информация о временной метке файла msv dll. К сожалению, Rekall не всегда имеет эту информацию по какой-то причине, поэтому парсинг может быть неудачным.
Если парсинг не удаётся, это может решить проблему.

Параметр: -t
Значения: 0 или 1
Пример:

root@kitploit:~
pypykatz.py rekall <файл_дампа_памяти> -t 0

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

Есть два способа использования парсинга памяти на основе rekall.

Через команду pypykatz rekall

Вам нужно будет указать файл памяти для парсинга.

Через командную строку rekall

ВАЖНЫЕ ЗАМЕЧАНИЯ:

  1. Если вы только сейчас решили установить rekall, обратите внимание: его ОБЯЗАТЕЛЬНО нужно запускать в virtualenv, и вам нужно будет установить pypykatz в том же virtualenv!
  2. Командная строка rekall не подходит для отображения всей информации, полученной из памяти, вам следует использовать переключатели команд out_file и kerberos_dir!

Вы можете найти файл плагина rekall с именем pypykatz_rekall.py в папке plugins pypykatz.
Вам нужно скопировать его в папку rekall plugins/windows и переименовать в pypykatz.py.
После этого измените файл __init__.py, находящийся в той же папке, и добавьте следующую строку в конец: from rekall.plugins.windows import pypykatz
Если всё в порядке, вы можете использовать команду pypykatz непосредственно из командной строки rekall.

ТРЕБУЕТСЯ ПОМОЩЬ

Если вы хотите помочь мне довести этот проект до стабильного релиза, вы можете отправить минидампы процесса lsass.exe по следующей ссылке: https://nx5494.your-storageshare.de/s/SJteWj3PPbg8jBA
ВАЖНО: пожалуйста, НЕ отправляйте дампы собственного процесса lsass!!! Я смогу увидеть ваши секреты, включая хэши/пароли! Отправляйте файлы дампов с машин, таких как виртуальные тестовые системы, на которых вам не важно, что кто-то увидит учётные данные. (если у вас есть тестовая доменная система с настроенным kerberos, это было бы лучше всего)
Также я был бы признателен, если бы вы не спамили меня...

Зачем мне нужны эти файлы дампов?

Для создания mimikatz на Python нужно создать определения структур для огромного количества различных структур (проверьте исходный код) без помощи встроенного парсера, который вы бы естественно получили при использовании нативного компилятора. Проблема в том, что даже смещение на один байт приведёт к ошибке при парсинге этих структур. Проблема в основном связана с выравниванием 32-64, поэтому дампы lsass 32-битной версии Windows также приветствуются!

Резюме

Мне нужны данные, на которых я могу проверить код и внести необходимые изменения в парсеры, пока всё не заработает нормально.
Отправка проблем на этой странице github не поможет вообще без самого файла, а github не принимает вложения размером 40-300 Мб.

Предварительные требования

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

Python>=3.6
minidump
minikerberos
asn1crypto

Благодарности

Benjamin DELPY @gentilkiwi за Mimikatz
Francesco Picasso за плагин mimikatz.py для volatility
Alberto Solino (@agsolino) за impacket

Криптография

Richard Moore за модуль AES
Todd Whiteman за модуль DES

Утилиты

David Buxton за скрипт преобразования временных меток

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