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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Invoke-TheHash — PowerShell Pass The Hash ユーティリティ | Kitploit
ツール/GitHubGitHub/kevin-robertson/invoke-thehash
パスワード攻撃横移動ポストエクスプロイトネットワークセキュリティペネトレーションテスト認証
GitHubkevin-robertson/invoke-thehash

Invoke-TheHash

PowerShell Pass The Hash ユーティリティ

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Invoke-TheHash

Invoke-TheHashは、Pass the HashのWMIおよびSMBタスクを実行するためのPowerShell関数を含みます。WMIおよびSMB接続は.NET TCPClientを介してアクセスされます。認証は、NTLMハッシュをNTLMv2認証プロトコルに渡すことによって行われます。クライアント側でローカル管理者権限は必要ありません。

必要条件

PowerShell 2.0以上

インポート

Import-Module ./Invoke-TheHash.psd1

または

. ./Invoke-WMIExec.ps1
. ./Invoke-SMBExec.ps1
. ./Invoke-SMBEnum.ps1
. ./Invoke-SMBClient.ps1
. ./Invoke-TheHash.ps1

関数

  • Invoke-WMIExec
  • Invoke-SMBExec
  • Invoke-SMBEnum
  • Invoke-SMBClient
  • Invoke-TheHash

Invoke-WMIExec

  • WMIコマンド実行関数。
パラメーター:
  • Target - ターゲットのホスト名またはIPアドレス。
  • Username - 認証に使用するユーザー名。
  • Domain - 認証に使用するドメイン。ローカルアカウントの場合、またはユーザー名の後に@domainを使用する場合は、このパラメーターは必要ありません。
  • Hash - 認証に使用するNTLMパスワードハッシュ。この関数はLM:NTLM形式またはNTLM形式を受け入れます。
  • Command - ターゲットで実行するコマンド。コマンドが指定されていない場合、この関数はユーザー名とハッシュがターゲット上のWMIにアクセスできるかどうかを確認するだけです。
  • Sleep - デフォルト = 10 ミリ秒: 関数のStart-Sleep値をミリ秒単位で設定します。
例:

Invoke-WMIExec -Target 192.168.100.20 -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Command "command or launcher to execute" -verbose

スクリーンショット:

wmi

Invoke-SMBExec

  • SMB1、SMB2.1(SMB署名の有無にかかわらず)をサポートするSMB (PsExec) コマンド実行関数。
パラメーター:
  • Target - ターゲットのホスト名またはIPアドレス。
  • Username - 認証に使用するユーザー名。
  • Domain - 認証に使用するドメイン。ローカルアカウントの場合、またはユーザー名の後に@domainを使用する場合は、このパラメーターは必要ありません。
  • Hash - 認証に使用するNTLMパスワードハッシュ。この関数はLM:NTLM形式またはNTLM形式を受け入れます。
  • Command - ターゲットで実行するコマンド。コマンドが指定されていない場合、この関数はユーザー名とハッシュがターゲット上のSCMにアクセスできるかどうかを確認するだけです。
  • CommandCOMSPEC - デフォルト = 有効: Commandの前に%COMSPEC% /Cを付加します。
  • Service - デフォルト = 20文字のランダム: ターゲット上で作成および削除するサービスの名前。
  • Sleep - デフォルト = 150 ミリ秒: 関数のStart-Sleep値をミリ秒単位で設定します。
  • Version - デフォルト = Auto: (Auto,1,2.1) SMBバージョンを強制します。デフォルトの動作はSMBバージョンネゴシエーションを実行し、ターゲットがサポートする場合はSMB2.1を使用します。
例:

Invoke-SMBExec -Target 192.168.100.20 -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Command "command or launcher to execute" -verbose

例:

ターゲットのSMB署名要件を確認します。 Invoke-SMBExec -Target 192.168.100.20

スクリーンショット:

smb

Invoke-SMBEnum

  • Invoke-SMBEnumは、SMB署名の有無にかかわらず、SMB2.1を介してユーザー、グループ、NetSession、共有の列挙タスクを実行します。
パラメーター:
  • Target - ターゲットのホスト名またはIPアドレス。
  • Username - 認証に使用するユーザー名。
  • Domain - 認証に使用するドメイン。ローカルアカウントの場合、またはユーザー名の後に@domainを使用する場合は、このパラメーターは必要ありません。
  • Hash - 認証に使用するNTLMパスワードハッシュ。この関数はLM:NTLM形式またはNTLM形式を受け入れます。
  • Action - (All,Group,NetSession,Share,User) デフォルト = Share: 実行する列挙アクション。
  • Group - デフォルト = Administrators: 列挙するグループ。
  • Sleep - デフォルト = 150 ミリ秒: 関数のStart-Sleep値をミリ秒単位で設定します。
  • Version - デフォルト = Auto: (Auto,1,2.1) SMBバージョンを強制します。デフォルトの動作はSMBバージョンネゴシエーションを実行し、ターゲットがサポートする場合はSMB2.1を使用します。なお、署名チェックのみSMB1で動作します。
例:

Invoke-SMBEnum -Target 192.168.100.20 -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -verbose

スクリーンショット:

invoke-smbenum

Invoke-SMBClient

  • SMB2.1およびSMB署名をサポートするSMBクライアント関数。この関数は主に、リモートコマンド実行権限を持たないハッシュで動作するためのSMBファイル共有機能を提供します。この関数はInvoke-WMIExecおよびInvoke-SMBExecで使用するペイロードのステージングにも使用できます。Invoke-SMBClientは.NET TCPClient上に構築されており、Windows SMBクライアントを使用しないことに注意してください。Invoke-SMBClientはWindowsクライアントよりもはるかに低速です。
パラメーター:
  • Username - 認証に使用するユーザー名。
  • Domain - 認証に使用するドメイン。ローカルアカウントの場合、またはユーザー名の後に@domainを使用する場合は、このパラメーターは必要ありません。
  • Hash - 認証に使用するNTLMパスワードハッシュ。この関数はLM:NTLM形式またはNTLM形式を受け入れます。
  • Action - デフォルト = List: (List/Recurse/Delete/Get/Put) 実行するアクション。
      • List: ディレクトリの内容を一覧表示します。
      • Recurse: ディレクトリとすべてのサブディレクトリの内容を一覧表示します。
      • Delete: ファイルを削除します。
      • Get: ファイルをダウンロードします。
      • Put: ファイルをアップロードし、作成日時、アクセス日時、最終書き込み日時をソースファイルに合わせて設定します。
  • Source
      • ListおよびRecurse: ディレクトリのUNCパス。
      • Delete: ファイルのUNCパス。
      • Get: ファイルのUNCパス。
      • Put: アップロードするファイル。完全なパスが指定されていない場合、ファイルは現在のディレクトリにある必要があります。「Modify」スイッチを使用する場合、「Source」はバイト配列である必要があります。
  • Destination
      • ListおよびRecurse: 使用しません。
      • Delete: 使用しません。
      • Get: 使用する場合、値はダウンロードされたファイルの新しいファイル名になります。完全なパスが指定されていない場合、ファイルは現在のディレクトリに作成されます。
      • Put: アップロードされたファイルのUNCパス。ファイル名を指定する必要があります。
  • Modify
      • ListおよびRecurse: 関数はディレクトリ内容からなるオブジェクトを出力します。
      • Delete: 使用しません。
      • Get: 関数はファイルをディスクに書き込む代わりに、ダウンロードされたファイルのバイト配列を出力します。これは小さいファイルでのみ使用し、出力を変数に送信することをお勧めします。
      • Put: バイト配列を新しい宛先ファイルにアップロードします。
  • NoProgress - アップロードおよびダウンロードの進行状況バーの表示を抑制します。
  • Sleep - デフォルト = 100 ミリ秒: 関数のStart-Sleep値をミリ秒単位で設定します。
  • Version - デフォルト = Auto: (Auto,1,2.1) SMBバージョンを強制します。デフォルトの動作はSMBバージョンネゴシエーションを実行し、ターゲットがサポートする場合はSMB2.1を使用します。なお、署名チェックのみSMB1で動作します。
例:

ルート共有ディレクトリの内容を一覧表示します。
Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Source \\server\share -verbose

例:

ルートから始まる共有の内容を再帰的に一覧表示します。
Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Recurse -Source \\server\share

例:

共有サブディレクトリの内容を再帰的に一覧表示し、内容のみを変数に出力して返します。
$directory_contents = Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Recurse -Source \\server\share\subdirectory -Modify

例:

共有上のファイルを削除します。
Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Delete -Source \\server\share\file.txt

例:

共有内のサブディレクトリにあるファイルを削除します。
Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Delete -Source \\server\share\subdirectory\subdirectory\file.txt

例:

共有からファイルをダウンロードします。
Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Get -Source \\server\share\file.txt

例:

共有サブディレクトリ内からファイルをダウンロードし、新しいファイル名を設定します。
Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Get -Source \\server\share\subdirectory\file.txt -Destination file.txt

例:

共有からファイルをディスクではなくバイト配列変数にダウンロードします。
$password_file = Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Get -Source \\server\share\file.txt -Modify

例:

ファイルを共有サブディレクトリにアップロードします。
Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Put -Source file.exe -Destination \\server\share\subdirectory\file.exe

例:

バイト配列変数からファイルを共有にアップロードします。
Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Put -Source $file_byte_array -Destination \\server\share\file.txt -Modify

スクリーンショット:

invoke-smbclient

Invoke-TheHash

  • 複数のターゲットに対してInvoke-TheHash関数を実行するための関数。
パラメーター:
  • Type - 使用するInvoke-TheHash関数を設定します。SMBClient、SMBEnum、SMBExec、またはWMIExecのいずれかに設定します。
  • Target - ターゲットのホスト名、IPアドレス、CIDR表記、またはIP範囲のリスト。
  • TargetExclude - ターゲットリストから除外するホスト名、IPアドレス、CIDR表記、またはIP範囲のリスト。
  • PortCheckDisable - (スイッチ) WMIまたはSMBのポートチェックを無効にします。この関数はまだスレッド化されていないため、ポートチェックは完全な同期TCPClient接続を試行する前にWMIまたはSMBポートが開いていることを確認することで処理を高速化します。
  • PortCheckTimeout - デフォルト = 100: WMIまたはSMBポートチェックの応答なしタイムアウトをミリ秒単位で設定します。
  • Username - 認証に使用するユーザー名。
  • Domain - 認証に使用するドメイン。ローカルアカウントの場合、またはユーザー名の後に@domainを使用する場合は、このパラメーターは必要ありません。
  • Hash - 認証に使用するNTLMパスワードハッシュ。この関数はLM:NTLM形式またはNTLM形式を受け入れます。
  • Command - ターゲットで実行するコマンド。コマンドが指定されていない場合、この関数はユーザー名とハッシュがターゲット上のWMIまたはSCMにアクセスできるかどうかを確認するだけです。
  • CommandCOMSPEC - デフォルト = 有効: SMBExecタイプのみ。Commandの前に%COMSPEC% /Cを付加します。
  • Service - デフォルト = 20文字のランダム: SMBExecタイプのみ。ターゲット上で作成および削除するサービスの名前。
  • SMB1 - (スイッチ) SMB1を強制します。SMBExecタイプのみ。デフォルトの動作はSMBバージョンネゴシエーションを実行し、ターゲットがサポートする場合はSMB2を使用します。
  • Sleep - デフォルト = WMI 10ミリ秒、SMB 150ミリ秒: 関数のStart-Sleep値をミリ秒単位で設定します。
例:

Invoke-TheHash -Type WMIExec -Target 192.168.100.0/24 -TargetExclude 192.168.100.50 -Username Administrator -Hash F6F38B793DB6A94BA04A52F1D3EE92F0

スクリーンショット:

ithsmb

ツールをダウンロード