Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
SharpDPAPI — SharpDPAPI は、Mimikatz の DPAPI 機能の一部を移植した C# 実装です。 | Kitploit
ツール/GitHubGitHub/ghostpack/sharpdpapi
パスワードクラッキング暗号化/復号化ツール永続化メカニズムエクスプロイトデータ流出ポストエクスプロイトペネトレーションテストレッドチーミング永続化メカニズム 第8位
1.4k249222年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
GitHub
ghostpack/sharpdpapi

SharpDPAPI

SharpDPAPI は、Mimikatz の DPAPI 機能の一部を移植した C# 実装です。

リポジトリを見る

SharpDPAPI


SharpDPAPIは、@gentilkiwi 氏の Mimikatz プロジェクトからのDPAPI機能の一部をC#に移植したものです。

このロジックは私が考案したものではなく、Mimikatzからの単なる移植であり、プロセスをより深く理解し、私たちのワークフローに適合するように運用化するためのものです。

SharpChrome サブプロジェクトは、@gentilkiwi 氏と @djhohnstein 氏の、特に彼の SharpChromeプロジェクト の成果を応用したものです。ただし、このバージョンのSharpChromeでは、ロックレスオープン をサポートする C# SQLライブラリ の別バージョンを使用しています。SharpChromeは、利用するSQLiteライブラリのサイズのために、SharpDPAPI内の別プロジェクトとして構築されています。

Chromeと新しいChromiumベースのEdgeブラウザの両方をSharpChromeでトリアージできます。

SharpChromeはまた、@AArnott氏の BCrypt P/Invokeコード の最小化バージョンをMITライセンスの下で使用しています。

DPAPIに詳しくない場合は、こちらの記事 を参照してください。DPAPIに関する資格情報とVaultの詳細については、Benjamin氏のこのテーマに関するwikiエントリをご確認ください。

@harmj0y がこの移植の主執筆者です。

SharpDPAPIはBSD 3-Clauseライセンスの下で提供されています。

目次

  • SharpDPAPI
    • 目次
    • 背景
      • SharpDPAPI コマンドラインの使用法
      • SharpChrome コマンドラインの使用法
      • 運用上の使用法
        • SharpDPAPI
        • SharpChrome
    • SharpDPAPI コマンド
      • ユーザートリアージ
        • masterkeys
        • credentials
        • vaults
        • rdg
        • keepass
        • certificates
        • triage
      • マシントリアージ
        • machinemasterkeys
        • machinecredentials
        • machinevaults
        • certificates /machine
        • machinetriage
      • その他
        • ps
        • blob
        • backupkey
        • search
        • SCCM
    • SharpChrome コマンド
      • logins
      • cookies
      • statekeys
      • backupkey
    • コンパイル手順
      • 他の.NETバージョンをターゲットにする
      • 補足: PowerShell経由でのSharpDPAPIの実行
        • 補足の補足: PSRemoting経由でのSharpDPAPIの実行

背景

SharpDPAPI コマンドラインの使用法

  __                 _   _       _ ___
 (_  |_   _. ._ ._  | \ |_) /\  |_) |
 __) | | (_| |  |_) |_/ |  /--\ |  _|_
                |
  v1.20.0

ドメインコントローラのDPAPIバックアップキーを取得します。必要に応じてDCと出力ファイルを指定できます。

  SharpDPAPI backupkey [/nowrap] [/server:SERVER.domain] [/file:key.pvk]


*search* コマンドは、レジストリ、ファイル、フォルダ、base64ブロブ内の潜在的なDPAPIブロブを検索します。

    search /type:registry [/path:HKLM\path\to\key] [/showErrors]
    search /type:folder /path:C:\path\to\folder [/maxBytes:<numOfBytes>] [/showErrors]
    search /type:file /path:C:\path\to\file [/maxBytes:<numOfBytes>]
    search /type:base64 [/base:<base64 string>]


マシン/SYSTEMトリアージ:

    machinemasterkeys       -   到達可能なすべてのマシンマスターキーファイルをトリアージします(SYSTEMに昇格してDPAPI_SYSTEM LSAシークレットを取得します)
    machinecredentials      -   'machinemasterkeys'を使用し、その後マシンのCredentialファイルをトリアージします
    machinevaults           -   'machinemasterkeys'を使用し、その後マシンのVaultをトリアージします
    machinetriage           -   'machinecredentials'コマンドと'machinevaults'コマンドを実行します


ユーザートリアージ:

    'masterkeys'コマンドの引数:

        /target:FILE/folder     -   特定のマスターキー、またはマスターキーが入ったフォルダをトリアージします(指定しない場合はローカルマスターキーをトリアージ)
        /pvk:BASE64...          -   base64エンコードされたDPAPIドメイン秘密鍵ファイルを使用して、到達可能なユーザーマスターキーを最初に復号します
        /pvk:key.pvk            -   DPAPIドメイン秘密鍵ファイルを使用して、到達可能なユーザーマスターキーを最初に復号します
        /password:X             -   平文パスワードを使用してターゲットユーザーのマスターキーを復号します(リモートでも動作)
        /ntlm:X                 -   NTLMハッシュを使用してターゲットユーザーのマスターキーを復号します(リモートでも動作)
        /credkey:X              -   DPAPI credkey(ドメインまたはローカルのSHA1)を使用してターゲットユーザーのマスターキーを復号します(リモートでも動作)
        /rpc                    -   ドメインコントローラに依頼してターゲットユーザーのマスターキーを復号します
        /server:SERVER          -   リモートサーバーをトリアージします(管理者アクセスが必要)
        /hashes                 -   ユーザーマスターキーファイルの 'hashes' をJTR/Hashcat形式で出力します(復号は行いません)


    引数(credentials|vaults|rdg|keepass|triage|blob|ps コマンド):

        復号:
            /unprotect          -   'ps'、'rdg'、または'blob'コマンドでCryptUnprotectData()を強制的に使用します
            /pvk:BASE64...      -   base64エンコードされたDPAPIドメイン秘密鍵ファイルを使用して、到達可能なユーザーマスターキーを最初に復号します
            /pvk:key.pvk        -   DPAPIドメイン秘密鍵ファイルを使用して、到達可能なユーザーマスターキーを最初に復号します
            /password:X         -   平文パスワードを使用してターゲットユーザーのマスターキーを復号します(リモートでも動作)
            /ntlm:X             -   NTLMハッシュを使用してターゲットユーザーのマスターキーを復号します(リモートでも動作)
            /credkey:X          -   DPAPI credkey(ドメインまたはローカルのSHA1)を使用してターゲットユーザーのマスターキーを復号します(リモートでも動作)
            /rpc                -   ドメインコントローラに依頼してターゲットユーザーのマスターキーを復号します
            GUID1:SHA1 ...      -   1つ以上のGUID:SHA1マスターキーを使用して復号します
            /mkfile:FILE        -   1つ以上のGUID:SHA1マスターキーが記述されたファイルを使用して復号します

        ターゲット指定:
            /target:FILE/folder -   特定の 'Credentials'、'.rdg|RDCMan.settings'、'blob'、または 'ps' ファイルの場所、または 'Vault' フォルダをトリアージします
            /server:SERVER      -   リモートサーバーをトリアージします(管理者アクセスが必要)
                                    注: /pvk:KEY または /password:X と併用する必要があります
                                    注: 'blob' または 'ps' コマンドには適用できません


証明書トリアージ:

    'certificates'コマンドの引数:
        /showall                                        -   インストール済み証明書に関連するものだけでなく、すべての復号された秘密鍵ファイルを表示します(デフォルト)
        /machine                                        -   証明書トリアージにローカルマシンストアを使用します
        /mkfile | /target                               -   /machineトリアージ用
        [上記ユーザートリアージのすべての復号引数]


注: ほとんどの場合、ユーザーDPAPIシークレットを対象とする場合は *triage* を、SYSTEM DPAPIシークレットを対象とする場合は *machinetriage* を使用してください。
      これらの機能は、自動的に実行可能な他のすべての該当機能をラップします。

SharpChrome コマンドラインの使用法

  __                 _
 (_  |_   _. ._ ._  /  |_  ._ _  ._ _   _
 __) | | (_| |  |_) \_ | | | (_) | | | (/_ 
                |
  v1.9.0


ドメインコントローラのDPAPIバックアップキーを取得します。必要に応じてDCと出力ファイルを指定できます。

  SharpChrome backupkey [/nowrap] [/server:SERVER.domain] [/file:key.pvk]


'cookies'、'logins'、'statekeys' コマンドの共通引数:

    復号:
        /unprotect          -   CryptUnprotectData() を強制的に使用します(非特権実行時のデフォルト)
        /pvk:BASE64...      -   base64エンコードされたDPAPIドメイン秘密鍵ファイルを使用して、到達可能なユーザーマスターキーを最初に復号します
        /pvk:key.pvk        -   DPAPIドメイン秘密鍵ファイルを使用して、到達可能なユーザーマスターキーを最初に復号します
        /password:X         -   平文パスワードを使用してターゲットユーザーのマスターキーを復号します(リモートでも動作)
        /ntlm:X             -   NTLMハッシュを使用してターゲットユーザーのマスターキーを復号します(リモートでも動作)
        /prekey:X           -   DPAPI prekey(ドメインまたはローカルのSHA1)を使用してターゲットユーザーのマスターキーを復号します(リモートでも動作)
        /rpc                -   ドメインコントローラに依頼してターゲットユーザーのマスターキーを復号します
        GUID1:SHA1 ...      -   1つ以上のGUID:SHA1マスターキーを使用して復号します
        /statekey:X         -   復号されたAES状態キー('statekey'コマンドから)
ツールをダウンロード