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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2024-44193 — iTunesを通じたWindowsハッキング  - ローカル権限昇格 0-day | Kitploit
ツール/GitHubGitHub/mbog14/cve-2024-44193
特権昇格脆弱性分析エクスプロイト論文と研究学習と教育バイナリエクスプロイト
GitHubmbog14/cve-2024-44193

CVE-2024-44193

iTunesを通じたWindowsハッキング  - ローカル権限昇格 0-day

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

人気

すべて見る →

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

すべてのツールを探索

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

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

iTunesを通じたWindowsハッキング  - ローカル権限昇格の0-day

CVE-2024–44193の紹介

これは、iTunesバージョン12.13.2.3におけるローカル権限昇格(Local Privilege Escalation)エクスプロイトであるCVE-2024–44193に関するライトアップです。

これは2024年9月12日にAppleによって修正されました。 Appleのセキュリティアドバイザリへのリンク: Appleのセキュリティアドバイザリ

iTunesバージョン12.13.2.3は、Apple Device Discovery Serviceをインストールします: C:\Program Files\Common Files\Apple\Mobile Device Support\AppleMobileDeviceService.exe これはローカル権限昇格エクスプロイトに対して脆弱です。

TL;DR

またしても出来の悪い、おそらく長すぎるライトアップなど気にしないという方々への敬意と理解を込めて、短いバージョンを以下に示します:

この脆弱性は、C:\ProgramData\Apple\* パスにおけるユーザー権限の管理が不十分であるために発生します。 これにより、ローカルグループ「Users」のメンバーがそのパス内に任意のファイルを書き込むことができます。AppleMobileDeviceService.exe サービスが再起動されると(これは非特権ユーザーでもトリガーできます)、任意のフォルダ/ファイル削除プリミティブを仕掛けて、SYSTEM権限でシステム上で任意のコード実行を獲得することが可能になります。

ツール:

警告! 平凡なツール解説が続きます。

すでにこれらのツールに精通している場合は、このセクションをスキップしてください。

  • Oplock

SetOpLock

Oplockツールは、Windowsで「opportunistic lock」(オポチュニスティック・ロック)を使用するためのツールです。このツールを使用すると、特定の要件が満たされるまでファイルをロックしてプロセスを「停止」させることができます。ただし、エクスプロイトペイロードを実行するための十分な時間を稼ぐなど、悪意のある目的でプロセスを「停止」するためにも使用できます。

  • FolderContentsDeleteToFolderDelete

FilesystemEoPs

FolderContentsDeleteToFolderDeleteツールは、ファイルを含むフォルダを自動的に作成することで機能します。その後、ファイルにoplockが設定され、プロセスが停止されます。プロセスが停止すると、ファイルはフォルダから移動されます。その後、フォルダは削除され、ターゲット先へのNTFSジャンクションとして再作成されます。 oplockがキャンセルされ、プロセスが続行すると、ファイル/フォルダの削除は新しく作成されたNTFSジャンクションをターゲット先まで辿り、実行を続行する前にそのファイルを削除します。

  • FolderOrFileDeleteToSystem

FilesystemEoPs

このツールはおそらくZero Day Initiativeによって説明されるのが最良なので、彼らからの説明へのリンクをここに示します:

任意のファイル削除を悪用して権限を昇格させる方法とその他の優れたトリック

実際のライトアップ

脆弱なサービス AppleMobileDeviceService.exe の紹介

iTunesがインストールされると、SYSTEM権限で実行されるサービス AppleMobileDeviceService.exe もインストールされます。 Windows Sysinternalsのプロセスモニター(Procmon)を使用してそのサービスを調査したところ、すぐにいくつかの憂慮すべき動作に気付きました。

そのサービスは、C:\ProgramData\Apple\Lockdown\* パス内のすべてのファイルを再帰的に調べ、そこに属さないすべてのフォルダとファイルを削除します。

ローカルテストでは、ProcessHacker2を使用してサービスを強制的に再起動し、プログラムの動作を検査しました。 観察された動作は、SYSTEMとして実行されるサービスがディレクトリとその中のすべてのサブディレクトリをクエリし、その後 Delete On Close オプションを有効にして CreateFile 操作を実行するというものでした。つまり、SYSTEMサービスが C:\ProgramData\Apple\Lockdown\* パスをクエリし、そのディレクトリ内のサブフォルダとファイルを再帰的にクエリして削除するということです。

代替テキスト

パス C:\ProgramData\Apple\* における問題のあるユーザー権限

Windows Sysinternals https://learn.microsoft.com/en-us/sysinternals/ の accesschk64.exe を使用して、特定のフォルダへのアクセス権を確認できます。 ローカルグループ「Users」のメンバーは C:\ProgramData\Apple\Lockdown\ フォルダ内に書き込み権限を持っており、これにより低権限ユーザーがそのフォルダ内に任意のファイルを書き込むことができます。

代替テキスト

任意のファイル/フォルダ削除プリミティブ

Lockdownパス内に任意のファイルを書き込むことができ、サービスが再起動されるとSYSTEMプロセスがそれらを削除するため、任意のファイル/フォルダ削除プリミティブを作成することが可能でした。 これを説明するために、Lockdownフォルダ内に2つのサブフォルダを作成します。 サブフォルダa、およびサブフォルダa内のサブフォルダb。 これは次のようになります: C:\ProgramData\Apple\Lockdown\a\b

サブフォルダ a 内には aa.txt というテキストファイルがあり、サブフォルダ b 内には bb.txt というテキストファイルがあります。

C:\ProgramData\Apple\Lockdown\a\aa.txt

C:\ProgramData\Apple\Lockdown\a\b\bb.txt

代替テキスト

上のスクリーンショットでわかるように、aa.txt に対して「CreateFile」操作が「Delete On Close」オプション付きで実行され、それが削除されています。

SYSTEMプロセスが aa.txt および bb.txt に対して Delete On Close オプション付きの CreateFile 操作を実行すると、SYSTEMプロセス AppleMobileDeviceService.exe がそれらのファイルを削除します。 これで、Lockdownフォルダ内に任意のファイルを作成して削除することが可能になり、次の巧妙なトリックにつながります。

NTFSジャンクション

Windowsでは、NTFSジャンクションを使用してフォルダを別の場所に向けることができます。ある意味では、これはLinuxのシンボリックリンクに似ています。 これを説明するために、C:\ProgramData\Apple\Lockdown フォルダ内にデスクトップ上のフォルダを指すNTFSジャンクション(シンボリックリンク)を作成することができます。 これは、PowerShellで New-Item -Type Junction -Path whatever -Target "C:\Users\user\Desktop\AAyes" を使用するか、ZDIが提供するツールセットを使用して自分で実現できます:

FilesystemEoPs

次のコマンドを実行して、Lockdownフォルダ内のNTFSジャンクションをデスクトップ上の「Target」にポイントさせます。

root@kitploit:~
.\FolderContentsDeleteToFolderDelete.exe /target "C:\Users\user\Desktop\AAyes" /initial "C:\ProgramData\Apple\Lockdown"

サービスが再起動されると、新しく作成されたNTFSジャンクションはデスクトップ上にある AAyes を指します。 サービスはSYSTEMとして Delete On Close オプション付きで CreateFile 操作を実行するため、ファイルは削除されます。 この操作はSYSTEM権限で実行されるため、任意のフォルダまたはファイル削除プリミティブが得られ、ホスト上でSYSTEMとしてコード実行を獲得できることを意味します。

代替テキスト

注意:

ファイル名/フォルダ名の制限により、FolderContentsDeleteToFolderDeleteプロジェクトに特定のソースコード編集を加える必要がありました。削除が行われるためには、ファイル名/フォルダ名が非常に短くなければなりませんでした。この理由は不明であり、短い名前で問題が確実に解決されたため、調査は行われていません。

FolderContentsDeleteToFolderDeleteのソースコード編集:

root@kitploit:~
const wchar_t folder2path[] = L"C:\\d";
const wchar_t exploitFileName[] = L"e.txt";

// It was required to shorten the two consstants: “folder2path” and “exploitFileName”
// They where changed to: L"C:\\d" and L"e.txt" because it seemed that file and folder name length had a meaningful impact on exploit functionality.

[...]

// We also needed to edit the “folder1path” value to L”c” in order to shorten it.
folder1path += L"c";

エクスプロイトの仮説

サービスはジャンクション(シンボリックリンク)を再帰的に辿るため、NTFSジャンクションを辿る脆弱なAppleサービスを使用して、システム上のファイルをSYSTEMとして任意に削除できる可能性があるというのが仮説でした。この脆弱なサービスは、非特権ユーザーがWindows GUIを使用して(「アプリ -> インストール済みアプリ -> Apple Mobile Device Support -> 変更 -> 修復」のトリックを使用して)サービスを再起動できるという便利な機能を備えているため、任意のタイミングでエクスプロイトをトリガーできます。サービスが再起動されるとNTFSジャンクションを辿り、確認されたプログラムの動作に従って、ユーザーが指し示すことを選択したファイルまたはフォルダを削除します。

言い換えれば、サービスが削除するファイルまたはフォルダを決定するのはユーザーです。 SYSTEMとして実行されるため、システム上の ほぼ すべてのファイルを削除できます(TrustedInstaller権限を必要とするファイルは除く)。

つまり、次のことを行う一連のイベントを慎重に作成できます:

  1. oplockを準備して、エクスプロイトの手順を準備するのに都合の良いタイミングでプロセスを停止させます
  2. サービスを再起動すると、oplockがトリガーされプロセスが停止します
  3. FolderOrFileDeleteToSystem.exeを使用してMSIロールバックのトリックを準備します
  4. FolderContentsDeleteToFolderDelete.exeを使用して、ファイル削除プリミティブがMSIロールバックのトリックで準備されたConfig.MSIを指すようにNTFSジャンクションを準備します
  5. oplockを解放します

概念実証(Proof of Concept)

この概念実証は5つのステップで構成されています。

  1. C:\ProgramData\Apple\Lockdown\ にOplockを設定します
root@kitploit:~
.\SetOpLock.exe C:\ProgramData\Apple\Lockdown\
代替テキスト
  1. サービス再起動をトリガーします アプリ -> インストール済みアプリ -> Apple Mobile Device Support -> 変更 -> 修復

  2. MSIロールバックのトリックを準備します

root@kitploit:~
.\FolderOrFileDeleteToSystem.exe
  1. Windowsジャンクション(シンボリックリンク)ステップを準備して、サービスの任意フォルダ/ファイル削除プリミティブをMSIインストーラーにポイントさせます
root@kitploit:~
.\FolderContentsDeleteToFolderDelete.exe /target 'C:\Config.Msi' /initial "C:\ProgramData\Apple\Lockdown"
  1. Oplockを解放します

ステップ5でOplockが解放されると、FolderContentsDeleteToFolderDeleteプロセスを監視して、NTFSジャンクションが辿られ、C:\ にあるConfig.MSIが正しく削除されたことを確認します。次に、FolderOrFileDeletionToSystem.exeプロセスを監視して、レースコンディションに勝ち、変更されたロールバックスクリプトを含む「悪意のある」Config.MSIフォルダが書き込まれることを確認します。すべてがうまくいけば、CTRL+ALT+DELETEを押して、右下隅のユーザー補助(アクセシビリティ)メニューを開き、スクリーンキーボードを開きます。悪意のあるロールバックスクリプトを使用してC:\Program Files\Common Files\microsoft shared\ink\HID.DLL にある HID.DLL を上書きしたため、SYSTEMとしてCMDシェルがポップアップ表示され、エクスプロイトが完了します。 代替テキスト

FolderContentsDeleteToFolderDelete.exeの実行と監視

代替テキスト

FolderOrFileDeleteToSystem.exeの実行と監視

代替テキスト

SYSTEMシェルをポップアップ表示

ツールをダウンロード