From 2f41c81a327a1507a4f309935e9047dfd0d0d930 Mon Sep 17 00:00:00 2001 From: Translator Date: Tue, 7 Jan 2025 18:43:46 +0000 Subject: [PATCH] Translated ['src/network-services-pentesting/pentesting-web/electron-des --- .../electron-desktop-apps/README.md | 50 ++++++++++++------- 1 file changed, 31 insertions(+), 19 deletions(-) diff --git a/src/network-services-pentesting/pentesting-web/electron-desktop-apps/README.md b/src/network-services-pentesting/pentesting-web/electron-desktop-apps/README.md index 58dc74668..e96a4ccd9 100644 --- a/src/network-services-pentesting/pentesting-web/electron-desktop-apps/README.md +++ b/src/network-services-pentesting/pentesting-web/electron-desktop-apps/README.md @@ -32,7 +32,7 @@ let win = new BrowserWindow() //Open Renderer Process win.loadURL(`file://path/to/index.html`) ``` -**renderer process**の設定は、main.jsファイル内の**main process**で**設定**できます。いくつかの設定は、**設定が正しく構成されている**場合、ElectronアプリケーションがRCEやその他の脆弱性を持つのを**防ぐ**ことができます。 +**renderer process**の設定は、main.jsファイル内の**main process**で**設定**できます。いくつかの設定は、**設定が正しく構成されていれば**、ElectronアプリケーションがRCEやその他の脆弱性を持つのを**防ぐ**ことができます。 Electronアプリケーションは、Node APIを介して**デバイスにアクセス**することができますが、それを防ぐように構成することもできます: @@ -101,7 +101,7 @@ start-main構成を変更し、次のようなプロキシの使用を追加し ```javascript "start-main": "electron ./dist/main/main.js --proxy-server=127.0.0.1:8080 --ignore-certificateerrors", ``` -## Electron Local Code Injection +## Electronローカルコードインジェクション Electronアプリをローカルで実行できる場合、任意のJavaScriptコードを実行させることが可能です。方法は以下を確認してください: @@ -157,7 +157,7 @@ _**contextIsolation**_ は、**ウェブページのスクリプトとJavaScript コンテキストが分離されていない場合、攻撃者は以下のことができます: 1. **レンダラーで任意のJavaScriptを実行**(XSSまたは外部サイトへのナビゲーション) -2. **プリロードまたはElectron内部コードで使用される組み込みメソッドを上書き**して独自の関数にする +2. プリロードまたはElectron内部コードで使用される**組み込みメソッドを上書き**して独自の関数にする 3. **上書きされた関数の使用をトリガー** 4. RCE? @@ -177,15 +177,15 @@ electron-contextisolation-rce-via-ipc.md ### クリックイベントのバイパス -リンクをクリックする際に制限が適用されている場合、通常の左クリックの代わりに**ミドルクリック**を行うことでそれをバイパスできるかもしれません。 +リンクをクリックしたときに制限が適用されている場合、通常の左クリックの代わりに**ミドルクリックを行うことでそれをバイパスできるかもしれません**。 ```javascript window.addEventListener('click', (e) => { ``` ## RCE via shell.openExternal -この例に関する詳細は、[https://shabarkin.medium.com/1-click-rce-in-electron-applications-79b52e1fe8b8](https://shabarkin.medium.com/1-click-rce-in-electron-applications-79b52e1fe8b8) と [https://benjamin-altpeter.de/shell-openexternal-dangers/](https://benjamin-altpeter.de/shell-openexternal-dangers/) を確認してください。 +この例に関する詳細は[https://shabarkin.medium.com/1-click-rce-in-electron-applications-79b52e1fe8b8](https://shabarkin.medium.com/1-click-rce-in-electron-applications-79b52e1fe8b8)および[https://benjamin-altpeter.de/shell-openexternal-dangers/](https://benjamin-altpeter.de/shell-openexternal-dangers/)を確認してください。 -Electronデスクトップアプリケーションを展開する際には、`nodeIntegration` と `contextIsolation` の設定が正しいことを確認することが重要です。**クライアント側のリモートコード実行 (RCE)** がプリロードスクリプトやメインプロセスからのElectronのネイティブコードをターゲットにする場合、これらの設定が整っていれば効果的に防止されることが確立されています。 +Electronデスクトップアプリケーションを展開する際には、`nodeIntegration`と`contextIsolation`の設定が正しいことを確認することが重要です。**クライアント側のリモートコード実行(RCE)**がプリロードスクリプトやメインプロセスからのElectronのネイティブコードをターゲットにする場合、これらの設定が整っていれば効果的に防止されることが確立されています。 ユーザーがリンクと対話したり新しいウィンドウを開いたりすると、特定のイベントリスナーがトリガーされ、アプリケーションのセキュリティと機能にとって重要です: ```javascript @@ -262,7 +262,7 @@ webContents.on("will-navigate", function (event, url) {} // o ``` **`openInternally`**への呼び出しは、**リンク**がプラットフォームに属するリンクであるため、**デスクトップウィンドウ**で**開かれる**か、**ブラウザで3rdパーティリソース**として**開かれる**かを決定します。 -関数で使用される**regex**が**バイパスに対して脆弱**な場合(例えば、**サブドメインのドットをエスケープしていない**場合)、攻撃者はXSSを悪用して、攻撃者のインフラストラクチャに位置する**新しいウィンドウを開き**、ユーザーに**認証情報を要求**することができます。 +関数で使用される**regex**が**バイパスに対して脆弱**な場合(例えば、**サブドメインのドットをエスケープしていない**場合)、攻撃者はXSSを悪用して、攻撃者のインフラストラクチャに位置する**新しいウィンドウを開き**、ユーザーに**資格情報を要求する**ことができます。 ```html