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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
UsoDllLoader — Windows - Update Session Orchestrator サービスを使用した特権ファイル書き込みの武器化 | Kitploit
ツール/GitHubGitHub/itm4n/usodllloader
特権昇格ペイロード生成エクスプロイトペネトレーションテストArchived
GitHubitm4n/usodllloader

UsoDllLoader

Windows - Update Session Orchestrator サービスを使用した特権ファイル書き込みの武器化

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

人気

すべて見る →

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

すべてのツールを探索

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

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

UsoDllLoader

⚠️ 2020-06-06 更新: このトリックは、Windows 10 Insider Preview の最新ビルドでは動作しなくなりました。つまり、Windows 10 の主流バージョンではまだ動作しますが、数か月以内に修正されることが予想されます。

説明

このPoCは、Windows上で 特権ファイル書き込みの脆弱性 を悪用するために使用できる テクニック を示しています。これは、James Forshaw(別名 @tiraniddo)が見つけたDiagHub DLL読み込みの「エクスプロイト」に代わる手段を提供します。この手法は、Microsoftによってビルド1903以降で修正されました。

TL;DR

Windows 10以降、Microsoftは Update Session Orchestrator サービスを導入しました。通常のユーザーとして、COMを使用してこのサービスと対話し、「更新スキャン」の開始(つまり利用可能な更新があるか確認)や、保留中の更新のダウンロード開始などを行うことができます。この目的のために、usoclient.exe と呼ばれる文書化されていない組み込みツールさえ存在します。

攻撃者の観点から見ると、このサービスは NT AUTHORITY\System として実行され、更新セッションが作成されるたびに、存在しないDLL(windowscoredeviceinfo.dll)を読み込もうとするため興味深いものです。

つまり、Windows またはサードパーティソフトウェアに特権ファイル書き込みの脆弱性を見つけた場合、独自の windowscoredeviceinfo.dll を C:\Windows\System32\ にコピーし、その後USOサービスに読み込ませることで、NT AUTHORITY\System として任意のコードを実行できる可能性があります。

詳細情報:
Part 1 - https://itm4n.github.io/usodllloader-part1/
Part 2 - https://itm4n.github.io/usodllloader-part2/

PoCのビルド

内容

このソリューションは2つのプロジェクトで構成されています: WindowsCoreDeviceInfo と UsoDllLoader。

  • WindowsCoreDeviceInfo

QueryDeviceInformation() 関数が呼び出されたときに、ポート1337(localhostのみ)でバインドシェルを起動するPoC DLLを提供します。これはUSOワーカーが使用する関数の名前です。

  • UsoDllLoader (オプション)

usoclient.exe の簡略化版です。通常のユーザーとして実行し、USOサービスと対話して windowscoredeviceinfo.dll を読み込ませることができます。その後、バインドシェルへの接続を試みます。エラーが発生した場合は、「既知の問題」セクションを参照してください。

ソリューションのビルド

ソリューションは既に設定済みなので、コンパイルは簡単です。Visual Studio 2019 を使用しています。古いバージョンでは動作しない可能性があります。

  1. Release 構成と x64 アーキテクチャを選択します。
  2. ソリューションをビルドします。
  3. 出力: DLL .\x64\Release\WindowsCoreDeviceInfo.dll とローダー .\x64\Release\UsoDllLoader.exe。

テスト

使用方法1 - UsoDllLoader

テスト目的で、次の手順を実行できます:

  1. 管理者として、WindowsCoreDeviceInfo.dll を C:\Windows\System32\ にコピーします。
  2. ローダーを通常のユーザーとして使用します。
  3. うまくいけば、NT AUTHORITY\SYSTEM としてシェルを取得できます。

使用方法2 - UsoClient

UsoDllLoader.exe が失敗した場合は、上記を 手動で 実行できます。

  1. 管理者として、WindowsCoreDeviceInfo.dll を C:\Windows\System32\ にコピーします。
  2. 通常のユーザーとしてコマンド usoclient StartInteractiveScan を使用します。このコマンドからはフィードバックが得られないことに注意してください。
  3. Windows用のnetcatをダウンロードし、コマンド nc.exe 127.0.0.1 1337 を使用してバインドシェルに接続します。

既知の問題

  • 保留中の更新

この方法は、1つ以上の更新プログラムのインストールが待機中の場合、または更新プログラムがインストール中の場合に失敗する可能性があります。

  • RPCエラー

Windowsのバージョンによっては、UsoDllLoader.exe が さまざまなエラーコードで失敗する 可能性があります。これらの問題についてはあまり調査していません。その理由は、これは利便性のために開発したPoCに過ぎないからです。最も重要なのはDLLであって、ローダーではありません。詳細は「使用方法2」を参照してください。

ツールをダウンロード