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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
PowerSploit — PowerSploit - PowerShell ポストエクスプロイテーションフレームワーク | Kitploit
ツール/GitHubGitHub/powershellmafia/powersploit
特権昇格偵察ペイロード生成永続化メカニズム横移動シェルコードポストエクスプロイトペネトレーションテストArchived
GitHubpowershellmafia/powersploit

PowerSploit

PowerSploit - PowerShell ポストエクスプロイテーションフレームワーク

リポジトリを見る
13.1k4.7k6年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

このプロジェクトはサポートされなくなりました

PowerSploitは、評価のすべてのフェーズでペネトレーションテスターを支援するために使用できるMicrosoft PowerShellモジュールのコレクションです。PowerSploitは、以下のモジュールとスクリプトで構成されています:

CodeExecution

ターゲットマシン上でコードを実行します。

Invoke-DllInjection

DLLを指定したプロセスIDに注入します。

Invoke-ReflectivePEInjection

Windows PEファイル(DLL/EXE)をPowerShellプロセスにリフレクティブにロードするか、DLLをリモートプロセスにリフレクティブに注入します。

Invoke-Shellcode

シェルコードを指定したプロセスIDに注入するか、PowerShell内でローカルに注入します。

Invoke-WmiCommand

ターゲットコンピュータ上でPowerShell ScriptBlockを実行し、WMIをC2チャネルとして使用してフォーマットされた出力を返します。

ScriptModification

スクリプトを修正・準備して、侵害されたマシン上で実行できるようにします。

Out-EncodedCommand

PowerShellペイロードスクリプトを圧縮、Base64エンコードし、コマンドライン出力を生成します。

Out-CompressedDll

圧縮、Base64エンコードし、マネージドDLLをメモリに読み込むためのコードを出力します。

Out-EncryptedScript

テキストファイルやスクリプトを暗号化します。

Remove-Comment

スクリプトからコメントや余分な空白を削除します。

Persistence

PowerShellスクリプトに永続化機能を追加します。

New-UserPersistenceOption

Add-Persistence関数のユーザーレベルの永続化オプションを構成します。

New-ElevatedPersistenceOption

Add-Persistence関数の昇格済み永続化オプションを構成します。

Add-Persistence

スクリプトに永続化機能を追加します。

Install-SSP

セキュリティサポートプロバイダ(SSP)DLLをインストールします。

Get-SecurityPackages

ロードされているすべてのセキュリティパッケージ(SSP)を列挙します。

AntivirusBypass

AVはPowerShellに敵いません!

Find-AVSignature

「class101」のDSplitと同じ方法を使用して、単一バイトのAVシグネチャを特定します。

Exfiltration

あなたのデータはすべて私のものです!

Invoke-TokenManipulation

利用可能なログオントークンを一覧表示します。他のユーザーのログオントークンを使用してプロセスを作成し、現在のスレッドでログオントークンを偽装します。

Invoke-CredentialInjection

クリアテキストの資格情報でログオンを作成し、疑わしいイベントID 4648(明示的な資格情報ログオン)をトリガーしません。

Invoke-NinjaCopy

NTFSパーティション上のボリュームを生で読み取り、NTFS構造を解析してファイルをコピーします。

Invoke-Mimikatz

PowerShellを使用してMimikatz 2.0をメモリにリフレクティブにロードします。ディスクに何も書き込まずに資格情報をダンプするために使用できます。Mimikatzが提供するすべての機能に使用できます。

Get-Keystrokes

押されたキー、時刻、アクティブウィンドウを記録します。

Get-GPPPassword

グループポリシー基本設定を通じてプッシュされたアカウントのプレーンテキストパスワードやその他の情報を取得します。

Get-GPPAutologon

グループポリシー基本設定を通じてプッシュされた場合、registry.xmlから自動ログオンのユーザー名とパスワードを取得します。

Get-TimedScreenshot

定期的にスクリーンショットを撮り、フォルダに保存する関数です。

New-VolumeShadowCopy

新しいボリュームシャドウコピーを作成します。

Get-VolumeShadowCopy

すべてのローカルボリュームシャドウコピーのデバイスパスを一覧表示します。

Mount-VolumeShadowCopy

ボリュームシャドウコピーをマウントします。

Remove-VolumeShadowCopy

ボリュームシャドウコピーを削除します。

Get-VaultCredential

クリアテキストのWeb資格情報を含むWindows Vault資格情報オブジェクトを表示します。

Out-Minidump

プロセスのフルメモリミニダンプを生成します。

Get-MicrophoneAudio

システムマイクからオーディオを録音し、ディスクに保存します。

Mayhem

PowerShellで一般的な混乱を引き起こします。

Set-MasterBootRecord

マスターブートレコードを任意のメッセージで上書きする概念実証コードです。

Set-CriticalProcess

PowerShellを終了するとマシンをブルースクリーンにします。

Privesc

ターゲット上での権限昇格を支援するツール。

PowerUp

一般的な特権昇格のチェックと、いくつかの武器化ベクトルをまとめたものです。

Recon

ペネトレーションテストの偵察段階を支援するツール。

Invoke-Portscan

通常のソケットを使用して、nmapに(かなり)大まかに基づいたシンプルなポートスキャンを行います。

Get-HttpStatus

辞書ファイルが提供された場合、指定されたパスに対するHTTPステータスコードと完全なURLを返します。

Invoke-ReverseDnsLookup

IPアドレス範囲をスキャンしてDNS PTRレコードを探します。

PowerView

PowerViewは、ネットワークおよびWindowsドメインの列挙と悪用を実行する一連の関数です。

Recon\Dictionaries

ペネトレーションテストの偵察段階を支援するために使用される辞書のコレクション。辞書は以下のソースから取得されました。

  • admin.txt - http://cirt.net/nikto2/
  • generic.txt - http://sourceforge.net/projects/yokoso/files/yokoso-0.1/
  • sharepoint.txt - http://www.stachliu.com/resources/tools/sharepoint-hacking-diggity-project/

ライセンス

PowerSploitプロジェクトおよびすべての個別のスクリプトは、特に明記されていない限り、BSD 3-Clauseライセンスの下にあります。

使い方

各スクリプトのコメントベースのヘルプを参照して、詳細な使用方法を確認してください。

このモジュールをインストールするには、PowerSploitフォルダ全体をモジュールディレクトリの1つに配置します。デフォルトのPowerShellモジュールパスは、$Env:PSModulePath環境変数にリストされています。

デフォルトのユーザー単位のモジュールパスは:"$Env:HomeDrive$Env:HOMEPATH\Documents\WindowsPowerShell\Modules" デフォルトのコンピュータレベルのモジュールパスは:"$Env:windir\System32\WindowsPowerShell\v1.0\Modules"

モジュールを使用するには、Import-Module PowerSploitと入力します。

インポートされたコマンドを確認するには、Get-Command -Module PowerSploitと入力します。

PowerShell v3を実行していて、インターネットからダウンロードしたスクリプトを実行してもよいかという厄介な警告を削除したい場合は、PowerSploitをモジュールパスに配置した後、次のワンライナーを実行します: $Env:PSModulePath.Split(';') | % { if ( Test-Path (Join-Path $_ PowerSploit) ) {Get-ChildItem $_ -Recurse | Unblock-File} }

各コマンドのヘルプについては、Get-Helpが便利です。

注意:このモジュールに含まれるツールはすべて個別に実行できるように設計されています。モジュールに含めることで、移植性が向上します。

コントリビューションルール

コントリビューションを募集しています!PowerSploitに素晴らしいアイデアがあれば、ぜひ追加したいです。新しい追加には以下が必要です:

  • スクリプトはスタイルガイドに従っている必要があります。ガイドラインの例外には、明示的で正当な理由が必要です。
  • モジュールマニフェストを更新して、追加される新しい関数を反映する必要があります。
  • 関数の簡単な説明をこのREADME.mdに追加する必要があります。
  • Pesterテストはすべての新しい関数に付属する必要があります。例についてはTestsフォルダを参照してください。少なくとも、期待される/予期しない入出力をテストし、関数が望ましい機能を示すことを確認するテストを求めています。プルリクエストを送信する前に、関数がすべてのテストに合格していることを確認してください(できれば複数のOSで)。よろしくお願いします!

スクリプトスタイルガイド

PowerSploitへのすべてのコントリビューターおよび将来のコントリビューターへ、スクリプト/モジュールを作成する際はこのスタイルガイドに従ってください。

  • Write-Hostは絶対に避けてください。PowerShell関数/コマンドレットはコマンドラインユーティリティではありません!Write-Hostを使用するコードを含むプルリクエストは考慮されません。代わりにカスタムオブジェクトを出力する必要があります。カスタムオブジェクトの作成方法の詳細については、以下の記事を読んでください:

    • http://blogs.technet.com/b/heyscriptingguy/archive/2011/05/19/create-custom-objects-in-your-powershell-script.aspx
    • http://technet.microsoft.com/en-us/library/ff730946.aspx
  • 関連するデバッグ情報を画面に表示したい場合は、Write-Verboseを使用してください。ユーザーはいつでも -Verbose を追加できます。

  • すべてのスクリプトに説明的なコメントベースのヘルプを常に提供してください。また、あなたの名前とBSD 3-Clauseライセンスを含めるようにしてください(BSDライセンスの適用を妨げる特別な状況がない限り)。

  • すべての関数が適切なPowerShellの動詞-名詞の規則に従っていることを確認してください。Get-Verbを使用して、PowerShellで使用されるデフォルトの動詞を一覧表示します。サポートされている動詞の例外は、ケースバイケースで検討されます。

  • 変数名は大文字にし、できるだけ説明的にすることを推奨します。

  • コードの間に論理的なスペースを入れてください。コードをインデントして読みやすくしてください。

  • コードを繰り返している場合は、関数を作成してください。

  • 予想されるすべてのエラーをキャッチし、意味のある出力を提供してください。スクリプトの実行を停止すべきエラーがある場合は、'Throw'を使用してください。実行を停止する必要のないエラーがある場合は、Write-Errorを使用してください。

  • Win32 APIとインターフェースするスクリプトを作成する場合、Add-TypeでC#をインラインでコンパイルしないようにしてください。可能であればPSReflectモジュールを使用してください。

  • ハードコードされたパスは使用しないでください。スクリプトはすぐに使えるようにすべきです。コードを変更する必要があるのは、ユーザーが望む場合のみです。

  • PowerShell v2との互換性が強く望まれます。

  • 位置パラメータを使用し、意味がある場合はパラメータを必須にしてください。例えば、以下のようなものが望ましいです:

    • [Parameter(Position = 0, Mandatory = $True)]
  • パイプライン入力を受け取る場合を除き、エイリアスは使用しないでください。特定のエイリアスに慣れていない人にとって、コードが読みにくくなります。

  • コマンドが長くなりすぎないようにしてください。例えば、パイプラインは改行に適した場所です。

  • インラインコメントを使いすぎないでください。コードの特定の側面が読者にとって混乱を招く可能性がある場合にのみ使用してください。

  • 不要な/無関係な出力を抑制するためにOut-Nullを使用する代わりに、不要な出力を$nullに保存してください。これによりわずかなパフォーマンス向上が得られます。

ツールをダウンロード

意味がある場合は、パラメータにデフォルト値を使用してください。理想的には、パラメータを必要とせずに動作するスクリプトを目指してください。

  • スクリプトが複雑なカスタムオブジェクトを作成する場合は、オブジェクトの出力を適切にフォーマットするps1xmlファイルを含めてください。