web-dev-qa-db-ja.com

レジストリ設定EnableLinkedConnectionsは技術レベルで何をしますか?

注:私にとっての基本的な問題は、管理者特権のプログラムを実行するときに私(Win 7管理者ユーザー)が設定したネットワーク共有にアクセスできることです。通常、昇格したプログラムは、昇格していないネットワーク共有にアクセスできません。

Microsoft によると、レジストリ設定EnableLinkedConnectionsは、昇格したプロセスが現在ログインしている(昇格していない)Explorerプロセスのネットワーク共有にアクセスできるようにします。

この説明 は意味があります:

[...]管理者グループのメンバーであり、ログインすると、UACによってアカウントが非特権ユーザーにバストダウンされます。この実行中のコンテキストは、コマンドプロンプトを右クリックして管理者として起動したときに表示されるコンテキストとは完全に異なります。おそらくお気づきでしょうが、一方のコンテキストで接続されたネットワークドライブは、もう一方のコンテキストでは表示されません。 [...]

このフォーラムのスレッド は、この設定によって開かれた脆弱性について尋ねます。 UACプロンプトを無効にすることについて 記事 へのリンクが与えられた回答(または私は理解しています)。

ここでの問題は、Windows 7システムでレジストリ設定EnableLinkedConnectionsdoまたはallowが何であるかということですドメイン環境で実行されていない


編集:私が特に興味を持っていることの1つは、この設定がネットワークドライブ(の可視性)にのみ影響するのか、それとも他の影響があるのか​​ということです。

15
Martin

Windowsへのソースアクセスがないため、憶測ではないことを言うのは困難です。その免責事項はさておき、これを読んで私が収集できたことは次のとおりです。

UACは、ログオン時に2つのセキュリティトークンを作成します。ユーザーの完全なグループメンバーシップを含む昇格されたトークン制限付きトークン「Administrators」グループのメンバーシップが削除されています。各トークンには、ログオンセッションを識別するローカルで一意のID(LUID)が含まれています。これらは2つの別個のログオンセッションです。

Windows 2000 Server SP2以降、マップされたドライブ(オブジェクトマネージャーの名前空間でシンボリックリンクとして表されます)には、それらを作成したトークンのLUIDがタグ付けされています(この動作へのMicrosoftの参照がいくつかあります このKBase記事で) 、そして機能の仕組みについて詳しく知ることができます このブログ投稿 )。機能の要点は、1つのログオンセッションで作成されたマップされたドライブに、別のログオンセッションからアクセスできないことです。

の設定 EnableLinkedConnections 値は、LanmanWorkstationサービスとLSAセキュリティサブシステム(LSASS.EXE)の動作をトリガーし、LSAがユーザーのいずれかのトークンによってマップされたドライブを他のトークンのコンテキストにコピーします。これにより、昇格されたトークンでマップされたドライブが制限付きトークンとその逆に見えるようになります。ドメイン環境と非ドメイン環境に関して、この機能の動作に特殊性はありません。ユーザーが非ドメイン環境で「管理者」アカウントを使用して実行している場合、制限付きトークンと昇格したトークンは、デフォルトで、独立したドライブマッピングを持ちます。

脆弱性に関しては、Microsoftの公式ドキュメントが不足しているようです。 コメント および Microsoft従業員からの応答 は、2007年のUACに関する会話の潜在的な脆弱性について質問しました。答えは、Jon Schwartzからのものです。当時は「UACアーキテクト」と題されていたので、彼の答えには信頼性があると思いがちです。これは、次の質問に対する彼の回答の要点です。「...実際に技術的に何が起こっているのか、またはこれが何らかの種類のUAC抜け穴を開いているかどうかを説明する情報が見つかりません。コメントできますか?」

技術的には、昇格されていないマルウェアがドライブ文字+昇格されたコンテキストへのマッピングを "事前シード"できるため、小さな抜け穴が開きます。環境に合わせて特別に調整されたもので終わらない限り、リスクは低くなります。

個人的には、ドライブマッピングを使用して昇格したトークンを「シード」する場合でも、ユーザーが実際にその「シード」されたドライブマッピングから昇格して実行する必要がある限り、私はこの抜け穴を「悪用」する方法を考えることができません。ただし、私はセキュリティ研究者ではありません。潜在的なエクスプロイトを考え出すために、良い考え方でこれに取り組んでいない可能性があります。

私は使用を避けました EnableLinkedConnections 顧客がWindows NT 4.0の展開を開始したときに始まったトレンドを継続することで、私の顧客サイトでの価値。それは私たちにとって何年もうまく機能しており、Windows 7でも引き続き機能します。

18
Evan Anderson

簡単に言うと、スーパーユーザーの資格情報と通常の資格情報をリンクします。もちろんもっと複雑ですが、基本的には、Windows 7の「管理者」アカウントでさえ管理者ではありませんが、多数の操作を実行するにはLinuxでSudoと同等の操作を行う必要があります。ネットワークドライブをマップする場合、これを行う必要がありますが、ネットワークドライブはスーパーユーザーのみにマップされ、通常のユーザーにはマップされません。このレジストリ設定は、マップされたドライブを目的として、スーパーユーザーの資格情報を標準の資格情報にリンクします。このようにして、両方がスーパーユーザーだけでなく、マップされたドライブにアクセスできます。

1
MaQleod