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 8df6dd6a3..38bea746d 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
@@ -1,30 +1,30 @@
-# Electron Desktop Apps
+# Electron デスクトップアプリ
{{#include ../../../banners/hacktricks-training.md}}
-## Introduction
+## はじめに
-Electronは、ローカルバックエンド(**NodeJS**)とフロントエンド(**Chromium**)を組み合わせていますが、最新のブラウザのセキュリティメカニズムのいくつかが欠けています。
+Electron はローカルのバックエンド(**NodeJS**)とフロントエンド(**Chromium**)を組み合わせていますが、最新のブラウザが備えるいくつかのセキュリティ機構を欠いています。
-通常、Electronアプリのコードは`.asar`アプリケーション内にあります。コードを取得するには、抽出する必要があります:
+通常、Electron アプリのコードは `.asar` アーカイブの中にあることが多く、コードを取得するには抽出する必要があります:
```bash
npx asar extract app.asar destfolder #Extract everything
npx asar extract-file app.asar main.js #Extract just a file
```
-Electronアプリのソースコード内の`packet.json`には、セキュリティ設定が行われている`main.js`ファイルが指定されています。
+Electronアプリのソースコードでは、`packet.json`内にセキュリティ設定が行われている`main.js`ファイルが指定されているのを見つけることができます。
```json
{
"name": "standard-notes",
"main": "./app/index.js",
```
-Electronには2つのプロセスタイプがあります:
+Electronには2つのプロセスタイプがあります:
-- メインプロセス(NodeJSへの完全なアクセス権を持つ)
-- レンダラープロセス(セキュリティ上の理由からNodeJSへのアクセスが制限されるべき)
+- Main Process (NodeJSへの完全なアクセス権を持つ)
+- Renderer Process (セキュリティ上の理由からNodeJSへのアクセスは制限されるべき)
.png>)
-**レンダラープロセス**は、ファイルを読み込むブラウザウィンドウになります:
+A **renderer process** は、ファイルを読み込むブラウザウィンドウになります:
```javascript
const { BrowserWindow } = require("electron")
let win = new BrowserWindow()
@@ -32,20 +32,20 @@ let win = new BrowserWindow()
//Open Renderer Process
win.loadURL(`file://path/to/index.html`)
```
-**renderer process**の設定は、main.jsファイル内の**main process**で**構成**できます。いくつかの設定は、**設定が正しく構成されている**場合、ElectronアプリケーションがRCEやその他の脆弱性を持つのを**防ぐ**ことができます。
+**レンダラープロセス**の設定は、main.js ファイル内の**メインプロセス**で**構成**できます。いくつかの設定は、**Electron アプリケーションが RCE を受けるのを防ぐ**などの脆弱性を防げるもので、**設定が正しく構成されている**場合に有効です。
-Electronアプリケーションは、Node APIを介して**デバイスにアクセス**することができますが、それを防ぐように構成することもできます:
+Electron アプリケーションは Node APIs を介して**デバイスにアクセスできる**可能性がありますが、それを防ぐように構成できます:
-- **`nodeIntegration`** - デフォルトでは`off`です。オンの場合、renderer processからNode機能にアクセスできます。
-- **`contextIsolation`** - デフォルトでは`on`です。オフの場合、mainとrendererプロセスは隔離されません。
-- **`preload`** - デフォルトでは空です。
-- [**`sandbox`**](https://docs.w3cub.com/electron/api/sandbox-option) - デフォルトではオフです。NodeJSが実行できるアクションを制限します。
-- WorkersにおけるNode Integration
-- **`nodeIntegrationInSubframes`** - デフォルトでは`off`です。
-- **`nodeIntegration`**が**有効**になっている場合、これはElectronアプリケーション内のiframeで**読み込まれたウェブページ**で**Node.js APIs**を使用することを許可します。
-- **`nodeIntegration`**が**無効**になっている場合、preloadsはiframe内で読み込まれます。
+- **`nodeIntegration`** - is `off` by default. If on, allows to access node features from the renderer process.
+- **`contextIsolation`** - is `on` by default. If off, main and renderer processes aren't isolated.
+- **`preload`** - empty by default.
+- [**`sandbox`**](https://docs.w3cub.com/electron/api/sandbox-option) - is off by default. It will restrict the actions NodeJS can perform.
+- Node Integration in Workers
+- **`nodeIntegrationInSubframes`**- is `off` by default.
+- If **`nodeIntegration`** is **有効**, this would allow the use of **Node.js APIs** in web pages that are **iframe に読み込まれた** within an Electron application.
+- If **`nodeIntegration`** is **無効**, then preloads will load in the iframe
-構成の例:
+Example of configuration:
```javascript
const mainWindowOptions = {
title: "Discord",
@@ -71,7 +71,7 @@ spellcheck: true,
},
}
```
-いくつかの **RCEペイロード** は [here](https://7as.es/electron/nodeIntegration_rce.txt) から:
+以下は [here](https://7as.es/electron/nodeIntegration_rce.txt) からのいくつかの **RCE payloads**:
```html
Example Payloads (Windows):
src="x"
onerror="alert(require('child_process').execSync('uname -a').toString());" />
```
-### トラフィックのキャプチャ
+### トラフィックをキャプチャ
-start-main構成を変更し、次のようなプロキシの使用を追加します:
+start-main の設定を変更し、次のような proxy の使用を追加します:
```javascript
"start-main": "electron ./dist/main/main.js --proxy-server=127.0.0.1:8080 --ignore-certificateerrors",
```
## Electron Local Code Injection
-Electronアプリをローカルで実行できる場合、任意のJavaScriptコードを実行させることが可能です。方法を確認してください:
+もしローカルで Electron App を実行できるなら、任意の javascript コードを実行させることが可能な場合があります。詳しくは次を確認してください:
{{#ref}}
../../../macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-electron-applications-injection.md
@@ -111,7 +111,7 @@ Electronアプリをローカルで実行できる場合、任意のJavaScript
## RCE: XSS + nodeIntegration
-**nodeIntegration**が**on**に設定されている場合、ウェブページのJavaScriptは`require()`を呼び出すだけでNode.jsの機能を簡単に使用できます。例えば、Windowsでcalcアプリケーションを実行する方法は次の通りです:
+If the **nodeIntegration** is set to **on**, a web page's JavaScript can use Node.js features easily just by calling the `require()`. For example, the way to execute the calc application on Windows is:
```html