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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
lil-pwny — Pythonを使用したActive Directoryパスワードの高速オフライン監査。 | Kitploit
ツール/GitHubGitHub/papermtn/lil-pwny
パスワードクラッキング脆弱性分析認証
GitHubpapermtn/lil-pwny

lil-pwny

Pythonを使用したActive Directoryパスワードの高速オフライン監査。

リポジトリを見る
167242年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

Lil Pwny

Python 2.7 and 3 compatible PyPI version License: MIT

Python を使用した Active Directory パスワードの高速オフライン監査。

Lil Pwny について

Lil Pwny は、Active Directory から取得したユーザーパスワードの NTLM ハッシュを、Have I Been Pwned から既知の侵害済みパスワードとオフラインで照合する Python アプリケーションです。結果は JSON 形式で出力され、ユーザー名、一致したハッシュ(難読化可能)、HIBP でそのパスワードが確認された回数が含まれます。

Lil Pwny の詳細は私のブログをご覧ください。

機能

  • カスタムパスワード監査: 独自のカスタムパスワードリストを用意し、AD ユーザーをチェックできます。これにより、組織に関連するパスワード(ユーザーが使用していると疑われるもの)を確認できます。
    • 検索する平文パスワードを記述した .txt ファイルを渡すと、それらが NTLM ハッシュ化され、AD ハッシュと HIBP ハッシュの両方と比較されます。
  • 重複検出: 同じパスワードを使用しているアカウントのリストを返します。管理アカウントと標準アカウントで同じパスワードを使用しているユーザーを見つけるのに便利です。
  • ユーザー名をパスワードとして使用: ユーザー名またはそのバリエーションをパスワードとして使用しているユーザーを検出します。
  • 難読化出力: 出力内のハッシュを難読化します。ライブのユーザー NTLM ハッシュを扱いたくない場合に使用します。

カスタムパスワードリストの拡張

Lil Pwny は、カスタムパスワードリストに一般的なバリエーションを追加する機能を提供します。これには以下が含まれます。

  • 一般的な「リークスピーク」置換を含むパスワード(例:P@ssw0rd)
  • 大文字バージョン、および先頭文字を大文字にしたもの(例:PASSWORD、Password)
  • 一般的な特殊文字が追加または先頭に付加されたパスワード(例:password!、!password)
  • 最小長を満たすために一般的な英数字、特殊文字、または自分自身の繰り返しでパディングされたパスワード(例:password123!、!passwordabc、passwordpassword)
    • カスタムリスト拡張オプションを選択する際に、Lil Pwny に希望する最小パスワード長を指定します。
  • 1950年から今日から10年後までの日付が追加されたパスワード(例:password1950、password2034)

100 個の平文パスワードのカスタムリストから、49848660 のバリエーションが生成されます。

パスワード内のユーザー名

Lil Pwny は、ユーザー名のバリエーションをパスワードとして使用しているユーザーを検出します。

ユーザー名を以下の形式に変換します。

  • すべて大文字
  • すべて小文字
  • ドット "." を削除
  • camelCase(例:johnSmith)
  • PascalCase(例:JohnSmith)

これらは NTLM ハッシュに変換され、AD ハッシュと照合されます。

リソース

このアプリケーションは Python のマルチプロセッシングを最大限に活用するように開発されており、コンシューマーレベルのハードウェアで可能な限り高速に動作することを目指しています。

マルチプロセッシングを使用するため、利用可能なコア数が多いほど Lil Pwny は高速に動作します。少数の論理コアでも非常に良好な結果が得られています。

  • 約 8500 の AD アカウントと 613,584,246 の HIBP ハッシュを使用したテスト環境:
    • 6 論理コア - 0:05:57.640813
    • 12 論理コア - 0:04:28.579201

出力

Lil Pwny は結果を標準出力(stdout)または JSON で出力します。

または JSON:

root@kitploit:~
{"localtime": "2021-00-00 00:00:00,000", "level": "NOTIFY", "source": "Lil Pwny", "match_type": "hibp", "detection_data": {"username": "RICKON.STARK", "hash": "32ED87BDB5FDC5E9CBA88547376818D4", "matches_in_hibp": "24230577", "obfuscated": "True"}}

Lil Pwny の JSON 出力をファイルにリダイレクトできます。

root@kitploit:~
lil-pwny -ad ... > lil-pwny-results.json 

この JSON 形式のログは、SIEM やその他のログ分析ツールに簡単に取り込むことができ、自動解決アクションのために他のスクリプトやプラットフォームに渡すこともできます。

インストール

pip でインストール

root@kitploit:~
pip install lil-pwny

使い方

lil-pwny はグローバルコマンドとしてインストールされます。以下のように使用します。

root@kitploit:~
usage: lil-pwny [-h] -hibp HIBP [-v] [-c CUSTOM] [-custom-enhance CUSTOM_ENHANCE] -ad AD_HASHES [-d] [-output {file,stdout,json}] [-o] [--verbose]

Fast offline auditing of Active Directory passwords using Python

options:
  -h, --help            show this help message and exit
  -hibp HIBP, --hibp HIBP
                        The .txt file containing HIBP NTLM hashes
  -v, --version         show program's version number and exit
  -c CUSTOM, --custom CUSTOM
                        .txt file containing additional custom passwords to check for
  -custom-enhance CUSTOM_ENHANCE, --custom-enhance CUSTOM_ENHANCE
                        generate an enhanced custom password list based on the provided custom password list. Must be used with -c/--custom flag. The enhanced list will stored in memory and not
                        written to disk. Provide the minimum length of the passwords you want. Default is 8
  -ad AD_HASHES, --ad-hashes AD_HASHES
                        The .txt file containing NTLM hashes from AD users
  -d, --duplicates      Output a list of duplicate password users
  -output {file,stdout,json}, --output {file,stdout,json}
                        Where to send results
  -o, --obfuscate       Obfuscate hashes from discovered matches by hashing with a random salt
  --verbose             Turn on verbose logging

使用例:

root@kitploit:~
lil-pwny -hibp ~/hibp_hashes.txt -ad ~/ad_user_hashes.txt -c ~/custom_passwords.txt -output stdout -do

入力ファイルの準備

ステップ 1: IFM AD データベースダンプを取得する

ドメインコントローラーで ntdsutil を使用して AD ドメインの IFM ダンプを生成します。昇格した PowerShell ウィンドウで以下を実行します。

root@kitploit:~
ntdsutil
activate instance ntds
ifm
create full **output path**

ステップ 2: この出力から NTLM ハッシュを抽出する

AD IFM データから NTLM ハッシュを抽出するには、PowerShell モジュール DSInternals が必要です。

インストール後、IFM データ内の SYSTEM ハイブを使用して usernme:hash 形式のハッシュを抽出し、ad_ntlm_hashes.txt ファイルに保存します。

root@kitploit:~
$bootKey = Get-BootKey -SystemHivePath '.\registry\SYSTEM'
Get-ADDBAccount -All -DBPath '.\Active Directory\ntds.dit' -BootKey $bootKey | Format-Custom -View HashcatNT | Out-File ad_ntlm_hashes.txt -Encoding ASCII

ステップ 3: 最新の HIBP ハッシュファイルをダウンロードする

ファイルは、.net ユーティリティ こちら から HIBP API を使用してダウンロードできます。

オプションステップ: 不要な AD アカウントをフィルタリングする

scripts ディレクトリの PowerShell スクリプトを使用すると、処理前に IFM 出力から不要なアカウントを削除できます。対象は次のとおりです。

  • 無効なアカウント
  • コンピュータアカウント

リソース

  • ntdsutil & IFM
ツールをダウンロード