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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
PowerSploit — PowerSploit - A PowerShell Post-Exploitation Framework | Kitploit
ツール/GitHubGitHub/zerodaylab/powersploit
Penetration Testing FrameworksPrivilege EscalationReconnaissanceExploit FrameworksPersistence MechanismsIDS/IPS EvasionData ExfiltrationCommand and ControlRed TeamingPayload Development
GitHubzerodaylab/powersploit
239294年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

PowerSploit

PowerSploit - A PowerShell Post-Exploitation Framework

リポジトリを見る

PowerView.ps1 に、私が普段手動で行っているいくつかの機能を追加するためにフォークしました。

このプロジェクトはもはやサポートされていません

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

CodeExecution

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

Invoke-DllInjection

任意のプロセス ID に DLL を注入します。

Invoke-ReflectivePEInjection

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

Invoke-Shellcode

任意のプロセス ID、またはローカルの PowerShell 内にシェルコードを注入します。

Invoke-WmiCommand

対象コンピュータ上で PowerShell ScriptBlock を実行し、WMI を C2 チャネルとして使用して、その整形された出力を返します。

ScriptModification

侵害されたマシン上で実行するために、スクリプトを変更または準備します。

Out-EncodedCommand

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

Out-CompressedDll

マネージド DLL をメモリにロードするための生成コードを圧縮し、Base-64 エンコードして出力します。

Out-EncryptedScript

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

Remove-Comment

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

Persistence

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

New-UserPersistenceOption

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

New-ElevatedPersistenceOption

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

Add-Persistence

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

Install-SSP

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

Get-SecurityPackages

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

AntivirusBypass

PowerShell の前では AV も無力です!

Find-AVSignature

"class101" の DSplit と同じ方法を利用して、1 バイトの AV シグネチャを特定します。

Exfiltration

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

Invoke-TokenManipulation

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

Invoke-CredentialInjection

疑わしいイベント ID 4648 (明示的な資格情報ログオン) をトリガーせずに、平文の資格情報を使用してログオンを作成します。

Invoke-NinjaCopy

NTFS でパーティション分割されたボリュームから、生のボリュームを読み取って NTFS 構造を解析することでファイルをコピーします。

Invoke-Mimikatz

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

Get-Keystrokes

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

Get-GPPPassword

グループポリシー基本設定 (Group Policy Preferences) を通じて配布されたアカウントの平文パスワードとその他の情報を取得します。

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 フォルダー全体をいずれかのモジュールディレクトリに配置します。既定の 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 の適切な動詞-名詞の規則に従っていることを確認してください。PowerShell で使用される既定の動詞を一覧表示するには、Get-Verb を使用します。サポート対象の動詞の例外は、ケースバイケースで検討されます。

  • 変数名は大文字で始め、可能な限り説明的な名前にすることを好みます。

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

  • コードの繰り返しが多いと感じたら、関数を書いてください。

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

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

  • ハードコードされたパスを使用しないでください。スクリプトはすぐにそのまま使用できるものであるべきです。誰も、望まない限りコードを変更する必要はありません。

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

  • 位置指定パラメータを使用し、意味がある場合はパラメータを必須にしてください。たとえば、次のようなものを想定しています:

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

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

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

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

  • 意味がある場合は、パラメータに既定値を使用してください。理想的には、パラメータを一切必要とせずに動作するスクリプトが望ましいです。

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

ツールをダウンロード