# 内部起点テストを始める {#quickstart}

## 前提条件 {#prerequisites}

内部起点テストを始めるには、以下が必要です。

- [AIペネトレーションテスト機能](/docs/ja/t/assessment/features/pentest/index.md)が利用可能
- テスト対象に到達できる端末に、接続用プログラム `takumigateway` がインストール済み（[インストール](/docs/ja/t/assessment/features/pentest/gateway/installation.md)を参照）
- その端末から外向きの通信（HTTPS、ポート 443）が可能

## ステップ 1: ゲートウェイを登録する {#register-gateway}

Shisho Cloud コンソールのサイドバーから **診断** を開き、**ペネトレーションテスト** タブで **ゲートウェイの設定** をクリックします。**ゲートウェイ** の画面で **ゲートウェイを追加** をクリックし、任意の名前を入力して登録してください。

登録すると、以下のダイアログに接続トークンを含む **起動コマンド** が表示されます。

![ゲートウェイの登録完了ダイアログ](/docs/ja/_md-assets/58b3e3441f-gateway-register_ja.png)

**ホストのOS** で端末の OS を選んでから、起動コマンドをコピーしてください。Takumi に[デスクトップ操作](#desktop-control)も許可する場合は、コピーする前に **デスクトップ操作も有効にする** をオンにします。この項目は、macOS または Windows を選んだときに表示されます。

:::warning
接続トークンは一度しか表示されません。ダイアログを閉じる前に起動コマンドをコピーし、第三者に共有しないでください。
:::

## ステップ 2: 接続用プログラムを起動する {#run-gateway}

デスクトップ操作を有効にした場合は、起動する前に[OS ごとの準備](#desktop-control)を済ませてください。

ゲートウェイとして使う端末で、コピーした起動コマンドを実行します。Linux と macOS では以下の形式です。

```sh
APP_POLLER_TOKEN=<TOKEN> ./takumigateway --poll-server=<URL>
```

新しいバージョンがある場合は、接続前に更新して再起動することがあります。詳しくは[自動更新](/docs/ja/t/assessment/features/pentest/gateway/installation.md#updates)をご覧ください。

接続用プログラムは起動バナーを表示して待機状態に入ります。

```
  ┏━┓ TAKUMI GATEWAY   <version>
  ┃▶┃ authorized command execution for your Takumi security assessment
  ┗━┛ (linux/amd64)

  ✓ Command execution   OK - Takumi can run commands on THIS host

  │ 12:34:56  ○ connected — waiting for commands
```

接続すると、コンソールのゲートウェイ一覧でステータスが **オンライン** に変わります。

![ゲートウェイの一覧](/docs/ja/_md-assets/a23a140d13-gateway-list_ja.png)

:::info
テストが完了するまで、接続用プログラムを起動したままにしてください。
:::

:::warning
コマンドには認証情報が含まれる場合があるため、接続用プログラムは初期設定ではコマンドのログをファイルに書き込みません。`--log-file` を指定すると、受け取ったコマンドを終了コードや所要時間とともに記録します。コマンドの出力は記録されません。
:::

## ステップ 3: ペネトレーションテストを開始する {#start-test}

コンソールでゲートウェイが **オンライン** と表示されたら、ペネトレーションテストを作成します。作成手順は、これまでとほとんど変わりません。攻撃対象と目的に加えて、以下のように **内部ネットワークゲートウェイ** の欄で、ステップ 1 で登録したゲートウェイを選択します。

![内部ネットワークゲートウェイの選択](/docs/ja/_md-assets/3fce274901-gateway-select_ja.png)

選択できるのは、オンラインかつほかのテストで使用されていないゲートウェイのみです。

テスト中、Takumi はその端末を経由して、内部ネットワーク上のシステムにもアクセスできるようになります。

テストが完了したあとは、接続用プログラムを停止しても、そのままにしておいてもかまいません。ゲートウェイは削除するか接続期限が切れるまで登録されたままなので、次回以降のテストでも選択できます。

## デスクトップ操作を有効にする {#desktop-control}

起点の端末が Windows または macOS の場合は、コマンドの実行に加えて、デスクトップ操作も有効にできます。有効にすると、Takumi は画面を読み取り、端末にサインインしているユーザーと同じようにマウスやキーボードでアプリケーションを操作します。コマンドでは操作できないアプリケーションを経由する攻撃パスも検証できます。Linux はコマンドの実行のみに対応しています。

:::warning
テスト中は、端末にサインインし、画面のロックを解除したままにしてください。画面がロックされている間は、デスクトップを操作できません。自動ロックは無効にしておくことをおすすめします。
:::

[ステップ 1](#register-gateway) で **デスクトップ操作も有効にする** をオンにしたうえで、OS ごとに以下の準備をしてください。

### macOS {#desktop-control-macos}

接続用プログラムには、アクセシビリティと画面収録の権限が必要です。権限がない場合、接続用プログラムは Takumi に接続せずに終了します。起動コマンドを実行する前に、以下のコマンドで権限を求めるダイアログを表示してください。

```sh
./takumigateway --macos-desktop-request-permissions
```

このコマンドは、ダイアログを表示して終了します。続けて **システム設定** > **プライバシーとセキュリティ** を開き、ダイアログで示されたアプリに **アクセシビリティ** と **画面収録** を許可します。許可したら、ターミナルを開き直してから起動コマンドを実行してください。

### Windows {#desktop-control-windows}

サインイン済みのデスクトップから、接続用プログラムを起動してください。リモートデスクトップを切断したあとや、Windows サービスや SSH セッションから起動した場合は、デスクトップを操作できません。

## ゲートウェイを管理する {#manage-gateway}

ゲートウェイの接続期限は、登録から 7 日間です。残りが 24 時間を切ると、そのゲートウェイを使ったペネトレーションテストを開始できなくなります。事前にコンソールから延長しておいてください。

**接続期限を延長** を実行すると、接続期限がその時点から 7 日後まで延びます。接続トークンは変わらないため、実行中の接続用プログラムを再起動する必要はありません。期限切れになった場合も、24 時間以内であれば延長によって復旧できます。

不要になったゲートウェイは **削除** できます。削除すると、端末上で実行中の接続用プログラムは自動で終了します。ペネトレーションテストで使用中のゲートウェイは削除できません。
