Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
pypykatz — 純粋なPythonによるMimikatz実装 | Kitploit
ツール/GitHubGitHub/skelsec/pypykatz
パスワードクラッキング暗号化/復号化ツールメモリフォレンジックポストエクスプロイトデジタルフォレンジックペネトレーションテスト認証
GitHubskelsec/pypykatz

pypykatz

純粋なPythonによるMimikatz実装

リポジトリを見る
3.3k4294ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Supported Python versions Twitter

🚩 スポンサー

このプロジェクトが気に入ったら、ブラウザで動作するフルペンテストスイート OctoPwn のライセンス購入をご検討ください。
新しいビルドやリリースの通知やその他の情報については、Discord にご参加ください。

pypykatz

純粋なPythonで実装されたMimikatz。少なくともその一部は :)
python>=3.6 をサポートするすべてのOSで動作します。 pypy_card

🚩 ブラウザで動作

このプロジェクトは、多くの他のペンテスターツールとともに、OctoPwnの力でブラウザ上で動作します!
コミュニティ版は OctoPwn - Live でご確認ください。

WIKI

バージョン0.1.1以降、コマンドラインが少し変更されました。ご安心ください。素晴らしい WIKI をご用意しています。

インストール

pip を使用するか、github からクローンしてインストールします。
インストーラは pypykatz 実行可能ファイルを Python の Scripts ディレクトリに作成します。そこから実行できます。PATH が通っているはずです。
注意: github の master バージョンは、新しいバージョン用の適切なブランチを作成するのが面倒なため、失敗する可能性があります。ただし、安定版のブランチは作成するようにします。

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

機能

一般

プラットフォーム非依存 - すべてのコマンドには、該当する場合、「live」バージョンと通常バージョンがあります。「live」バージョンは現在のシステムを使用し、Windows でのみ動作します。通常のコマンドはプラットフォーム非依存です。
プロジェクトのライブラリとして使用できます。

LSASS 処理

LSASS プロセスに隠されたシークレットを解析できます。これは mimikatz の sekurlsa:: に似ていますが、コマンドが異なります。
主な違いは、すべての解析ロジックがデータソースから分離されているため、新しいリーダーオブジェクトを定義すれば、基本的にどこからでも LSASS の解析を実行できることです。

現在サポートされているデータソース:

  1. live - LSASS プロセスのメモリを直接読み取ります
  2. minidump - LSASS プロセスをダンプして作成されたミニダンプファイルを処理します
  3. rekall (volatility フォーク) - rekall が解析できる基本的にすべての Windows メモリダンプを処理します
  4. pcileech - サポートされていません
  5. remote - これは別のプロジェクトです。後日公開予定 :)
  6. あなたのプロジェクトはここに 本当に、統合は非常に簡単です。

レジストリ処理

レジストリハイブを解析して、NT や LM ハッシュ、ドメインキャッシュ資格情報 (DCC/DCC2)、LSA シークレットなどの保存された資格情報を取得します。

現在サポートされているデータソース:

  1. live - ライブレジストリを解析するための2つのテクニックがあります。1つ目はメモリ内でディスクに触れず、2つ目はハイブをダンプしてオフラインパーサーで解析します
  2. offline (ハイブファイル)
  3. あなたのプロジェクトはここに 本当に、統合は非常に簡単です。

DPAPI 機能 - MASTERKEY/BLOB/VAULT/CREDENTIAL

DPAPI は多くの種類のローカルシークレットの保護者です。現在、マスターキー、dpapi blob、資格情報ファイル、ボールトファイルの復号をサポートしています。
これらのほとんどに関するドキュメントが不足しているため、結果は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 ベースのメモリ解析を使用する方法は2つあります。

pypykatz rekall コマンドを使用する場合

解析するメモリファイルを指定する必要があります。

rekall コマンドラインを使用する場合

重要なお知らせ:

  1. これから rekall をインストールする場合、注意してください: 仮想環境内で実行する必要があり、同じ仮想環境内に pypykatz をインストールする必要があります!
  2. rekall コマンドラインは、メモリから取得したすべての情報を表示するのに適していません。out_file および kerberos_dir コマンドスイッチを使用してください!

pypykatz の plugins フォルダに pypykatz_rekall.py という名前の rekall プラグインファイルがあります。
これを rekall の plugins/windows フォルダにコピーし、pypykatz.py にリネームする必要があります。
その後、同じフォルダにある __init__.py ファイルを編集し、末尾に次の行を追加します: from rekall.plugins.windows import pypykatz
すべてがうまくいけば、rekall コマンドラインから直接 pypykatz コマンドを使用できます。

ヘルプ募集

このプロジェクトを安定版リリースにするために協力したい場合、lsass.exe プロセスのミニダンプを次のリンクに送ってください: https://nx5494.your-storageshare.de/s/SJteWj3PPbg8jBA 重要: ご自身のマシンの lsass プロセスのダンプは送らないでください!!! ハッシュやパスワードを含むあなたのシークレットを見ることができてしまいます! 仮想テストシステムなど、誰かに資格情報を見られても構わないマシンからのダンプファイルを送ってください。(kerberos が設定されたテストドメインシステムがあれば、それが最適です)
また、スパムはご遠慮ください...

なぜこれらのダンプファイルが必要なのか?

Python で mimikatz を作成するには、ネイティブコンパイラを使用した場合に自然に得られるビルドインのパーサーの助けなしに、無数の異なる構造体の構造定義を作成する必要があります(元のコードを確認してください)。問題は、たとえ1バイトのアライメントずれでも、これらの構造体の解析がエラーになることです。主な問題は32ビットと64ビットのアライメントに関するもので、32ビット Windows 版の lsass ダンプも歓迎します!

まとめ

コードを検証し、すべてが正常に動作するまでパーサーに必要な変更を加えるためのデータが必要です。
実際のファイルなしでは、この GitHub ページに issue を送っても全く役に立ちません。また、GitHub は40〜300MBのファイル添付を好みません。

前提条件

私の大きな Python プロジェクトのほとんどは、最大限の移植性を目指しており、必要な場合にのみサードパーティのパッケージを使用しています。
現時点では、さらに3つのパッケージが使用されており、この状態を維持するつもりです。

Python>=3.6
minidump
minikerberos
asn1crypto

謝辞

Benjamin DELPY @gentilkiwi 氏、Mimikatz に対して
Francesco Picasso 氏、volatility 用 mimikatz.py プラグイン に対して
Alberto Solino (@agsolino) 氏、impacket に対して

暗号

Richard Moore 氏、AES モジュール に対して
Todd Whiteman 氏、DES モジュール に対して

ユーティリティ

David Buxton 氏、タイムスタンプ変換スクリプトに対して

ツールをダウンロード