GRR Rapid Response を Google SecOps と統合する

このドキュメントでは、GRR Rapid Response を Google Security Operations(Google SecOps)と構成して統合する方法について説明します。

統合バージョン: 8.0

統合のパラメータ

GRR Rapid Response の統合には、次のパラメータが必要です。

パラメータ 説明
API Root

必須。

サーバーの URL。

デフォルト値は https://IP_ADDRESS:8000 です。

Username

必須。

GRR Rapid Response サーバーのユーザー名。

Password

必須。

GRR Rapid Response サーバーのパスワード。

Verify SSL

省略可。

選択すると、統合によって GRR Rapid Response サーバーに接続するときに SSL 証明書が検証されます。

デフォルトでは選択されていません。

Google SecOps で統合を構成する手順については、統合を構成するをご覧ください。

必要に応じて、後の段階で変更できます。統合インスタンスを構成すると、ハンドブックで使用できるようになります。複数のインスタンスの構成とサポートの方法については、複数のインスタンスのサポートをご覧ください。

操作

アクションの詳細については、 デスクから保留中のアクションに対応する手動アクションを実行するをご覧ください。

クライアントの詳細を取得する

クライアントの詳細を取得するには、[クライアントの詳細を取得] アクションを使用します。

このアクションは Google SecOps エンティティに対して実行されません。

アクション入力

[Get Client Details] アクションには、次のパラメータが必要です。

パラメータ 説明
Client ID

必須。

クライアントの ID。このパラメータは、カンマ区切りの文字列として複数の値を受け入れます。

アクションの出力

[Get Client Details] アクションは、次の出力を提供します。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用可能
拡充テーブル 利用不可
JSON の結果 利用可能
出力メッセージ 利用可能
スクリプトの結果 利用可能
ケースウォール テーブル

[Get Client Details] アクションでは、次の表を生成できます。

テーブル名: GRR Clients Details

テーブルの列:

  • クライアント ID
  • ホスト
  • OS バージョン
  • ラベル
  • メモリサイズ
  • クライアントのバージョン
  • 初回検出
  • 最終確認日
  • OS のインストール日
JSON の結果

次の例は、[クライアントの詳細を取得] アクションを使用したときに受信した JSON 結果の出力を示しています。

[
        {
            "HardwareInfo": {
                "system_product_name": "HVM domU",
                "bios_rom_size": "64 kB",
                "bios_vendor": "Xen",
                "system_sku_number": "Not Specified",
                "system_family": "Not Specified",
                "system_uuid": "UUID",
                "system_manufacturer": "Xen",
                "bios_release_date": "08/24/2006",
                "bios_version": "4.2.amazon",
                "serial_number": "UUID",
                "bios_revision": "4.2"
            },
            "LastClock": 1535907460060247,
            "Interfaces": [
                {
                    "ifname": "lo",
                    "addresses": [
                        {
                            "packed_bytes": "fwAAAQ==",
                            "address_type": "INET"
                        },
                        {
                            "packed_bytes": "AAAAAAAAAAAAAAAAAAAAAQ==",
                            "address_type": "INET6"
                        }
                    ],
                    "mac_address": "MAC_ADDRESS"
                },
                {
                    "ifname": "eth0",
                    "addresses": [
                        {
                            "packed_bytes": "rB8sWw==",
                            "address_type": "INET"
                        },
                        {
                            "packed_bytes": "/oAAAAAAAAAE1kv//h5yfg==",
                            "address_type": "INET6"
                        }
                    ],
                    "mac_address": "MAC_ADDRESS"
                }
            ],
            "OS": {
                "kernel": "4.4.0-1065-aws",
                "install_date": 1534280169000000,
                "system": "Linux",
                "fqdn": "ip-192-0-2-91.example",
                "machine": "x86_64",
                "version": "16.4",
                "release": "Ubuntu"
            },
            "AgentInfo": {
                "client_name": "grr",
                "client_description": "grr linux amd64",
                "client_version": 3232,
                "build_time": "2018-06-28 09:37:57"
            },
            "Labels": [],
            "LastBootedAt": 1535292604000000,
            "FirstSeenAt": 1535293827970976,
            "User": [],
            "Volumes": [
                {
                    "total_allocation_units": 50808745,
                    "bytes_per_sector": 4096,
                    "sectors_per_allocation_unit": 1,
                    "unixvolume": {
                        "mount_point": "/"
                    },
                    "actual_available_allocation_units": 50027766
                }
            ],
            "LastCrashAt": null,
            "LastSeenAt": 1535907460075229,
            "ID": "CLIENT_ID"
        }
]
出力メッセージ

[Get Client Details] アクションは、次の出力メッセージを返すことができます。

出力メッセージ メッセージの説明

Successfully fetched details for the following clients: CLIENT_ID_LIST.

Could not fetch details for the specified clients. CLIENT_ID does not exist.

アクションが成功しました。
Error executing action "Get Client Details". Reason: ERROR_REASON

操作に失敗しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

スクリプトの結果

次の表に、クライアントの詳細を取得アクションを使用する場合のスクリプト結果出力の値を示します。

スクリプトの結果名
is_success True または False

ハンティングの詳細を取得する

ハントの詳細を取得するアクションを使用して、ハントの詳細を取得します。

このアクションは Google SecOps エンティティに対して実行されません。

アクション入力

[Get Hunt Details] アクションには、次のパラメータが必要です。

パラメータ 説明
Hunt ID

必須。

取得するハントの ID。このパラメータは、カンマ区切りの文字列として複数の値を受け入れます。

アクションの出力

[Get Hunt Details] アクションは、次の出力を提供します。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用可能
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用可能
出力メッセージ 利用可能
スクリプトの結果 利用可能

[Get Hunt Details] アクションでは、次のリンクを生成できます。

API_ROOT/#/hunts/HUNT_ID

JSON の結果

次の例は、Get Hunt Details アクションを使用した場合に受信される JSON 結果の出力を示しています。

[
        {
            "Name": "ExampleHunt",
            "Expires": 1537063517000000,
            "Description": "test",
            "Creator": "admin",
            "IsRobot": false,
            "Status": "PAUSED",
            "Hunt_ID": "HUNT_ID",
            "Created": 1535853917657925,
            "Start_Time": 1535853917657925,
            "Duration": "2w",
            "Expiration time": " ",
            "Crash_limit": 100,
            "Client_limit": 100,
            "Client_rate (clients/min)": "20.5",
            "Client_Queued": "20.5",
            "Client_Scheduled": "20.5",
            "Client_Outstanding": "20.5",
            "Client_Completed": "20.5",
            "Client_with Results": "20.5",
            "Results": "20.5",
            "Total_CPU_Time_Used": "20.5",
            "Total_Network_Traffic": "20.5",
            "Flow_Name": "KeepAlive",
            "Flow_Arguments": "20.5",
            "Client_Rule_Set": " "
        }
]
出力メッセージ

[Get Hunt Details] アクションは、次の出力メッセージを返すことがあります。

出力メッセージ メッセージの説明

Successfully fetched details for the HUNT_ID hunt.

Could not fetch details for the specified hunts. HUNT_ID does not exist.

アクションが成功しました。
Error executing action "Get Hunt Details". Reason: ERROR_REASON

操作に失敗しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

スクリプトの結果

次の表に、Get Hunt Details アクションを使用した場合のスクリプト結果出力の値を示します。

スクリプトの結果名
is_success True または False

クライアントの一覧表示

クライアントを一覧表示アクションを使用して、クライアントを検索して操作します。

このアクションは Google SecOps エンティティに対して実行されません。

アクション入力

[クライアントを一覧表示] アクションには、次のパラメータが必要です。

パラメータ 説明
Offset

省略可。

クライアントの検索を開始するオフセット。

Max Results To Return

省略可。

各レスポンスで返されるクライアントの最大数。

デフォルト値は 5 です。

アクションの出力

[クライアントを一覧表示] アクションは、次の出力を提供します。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用可能
拡充テーブル 利用不可
JSON の結果 利用可能
出力メッセージ 利用可能
スクリプトの結果 利用可能
ケースウォール テーブル

クライアントを一覧表示アクションは、次の表を生成できます。

テーブル名: GRR Clients

テーブルの列:

  • クライアント ID
  • ホスト
  • OS バージョン
  • 初回検出
  • クライアントのバージョン
  • ラベル
  • Last Check In
  • OS のインストール日
JSON の結果

次の例は、クライアントのリスト アクションを使用したときに受信した JSON 結果の出力です。

[{
    "Client_ID": "CLIENT_ID",
    "Agent_Info":{
       "Client_Name": "example",
       "Client_Version": 3420}
    "OS_Info":{
       "System": "Linux",
       "Release": "Ubuntu",
       "Architecture": "x86_64",
       "Installation_Time": "2020-04-09 13:44:17 UTC",
       "Kernel": "4.15.0-96-generic",
       "Version": "18.04"}
    "Client_Last_Booted_At": "",
    "Client_First_Seen_At": "2020-09-25 14:26:38 UTC",
    "Client_Last_Seen": "2020-11-19 10:12:52 UTC",
    "Client_Last_Clock": "2020-11-19 10:12:52 UTC",
    "Memory_Size": "985.6MiB",
    "Client_Labels": []
   }]
出力メッセージ

クライアントを一覧表示アクションは、次の出力メッセージを返すことがあります。

出力メッセージ メッセージの説明

Successfully listed available clients in GRR.

No clients are available in GRR.

アクションが成功しました。
Error executing action "List Clients". Reason: ERROR_REASON

操作に失敗しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

スクリプトの結果

次の表に、クライアントを一覧表示アクションを使用する場合のスクリプト結果出力の値を示します。

スクリプトの結果名
is_success True または False

ハントの一覧表示

リスト検索アクションを使用して、使用可能なすべての検索に関する情報を取得します。

このアクションは Google SecOps エンティティに対して実行されません。

アクション入力

[List Hunts] アクションには、次のパラメータが必要です。

パラメータ 説明
Creator

省略可。

ハントを作成したユーザー。

Offset

省略可。

ハントの検索を開始する開始点(オフセット)。

Max Results To Return

省略可。

各レスポンスで返されるハントの最大数。

デフォルト値は 5 です。

アクションの出力

[List Hunts] アクションは、次の出力を提供します。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用可能
拡充テーブル 利用不可
JSON の結果 利用可能
出力メッセージ 利用可能
スクリプトの結果 利用可能
ケースウォール テーブル

[List Hunts] アクションでは、次の表を生成できます。

テーブル名: Hunts

テーブルの列:

  • Hunt ID
  • ステータス
  • 作成時間
  • 開始時刻
  • 期間
  • クライアントの上限
  • 有効期限
  • 作成者
  • 説明
JSON の結果

次の例は、List Hunts アクションを使用した場合に受信する JSON 結果の出力を示しています。

[
    {
        "Hunt_Description": "Interrogate run by cron to keep host info fresh.",
        "Creator": "GRRCron",
        "Is_Robot": false,
        "State": "STARTED",
        "Creation Time": "1605690387510082",
        "Start Time (initial)": "1605690387678448",
        "Start Time (last)": "1605690387678448",
        "Duration": " ",
        "Client Limit": 0,
        "Expiration Time": " ",
        "Hunt_ID": "HUNT_ID",
    }
]
出力メッセージ

[List Hunts] アクションは、次の出力メッセージを返すことができます。

出力メッセージ メッセージの説明

Successfully listed hunts.

Could not list hunts for the specified creator. CREATOR_ID< does not exist.

Could not list hunts for the specified creator. Please check the Offset value.

アクションが成功しました。
Error executing action "List Hunts". Reason: ERROR_REASON

操作に失敗しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

スクリプトの結果

次の表に、List Hunts アクションを使用する場合のスクリプト結果出力の値を示します。

スクリプトの結果名
is_success True または False

起動されたフローの一覧表示

フローの起動を一覧表示アクションを使用して、指定したクライアントで起動されたフローを一覧表示します。

このアクションは、次の Google SecOps エンティティに対して実行されます。

  • IP Address
  • Hostname

アクション入力

[List Launched Flows] アクションには、次のパラメータが必要です。

パラメータ 説明
Offset

省略可。

フローの検索を開始する開始点(オフセット)。

Max Results To Return

省略可。

各レスポンスで返されるフローの最大数。

デフォルト値は 5 です。

アクションの出力

[List Launched Flows] アクションは、次の出力を提供します。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用可能
拡充テーブル 利用不可
JSON の結果 利用可能
出力メッセージ 利用可能
スクリプトの結果 利用可能
ケースウォール テーブル

[List Launched Flows] アクションでは、次の表を生成できます。

テーブル名: GRR Launch Flows

テーブルの列:

  • フロー名
  • フロー ID
  • 都道府県
  • 作成時間
  • 最終アクティビティ
  • 作成者
JSON の結果

次の例は、List Launched Flows アクションを使用した場合に受信される JSON 結果の出力を示しています。

{
    "Creator": "admin",
    "NestedFlow": [],
    "LastActiveAt": 1535900632278975,
    "Args": {
        "ARGUMENTS"
    },
    "State": "TERMINATED",
    "StartedAt": 1535900542745106,
    "Flow_ID": "FLOW_ID",
    "Flow_Name": "FLOW_NAME"
}
出力メッセージ

[List Launched Flows] アクションは、次の出力メッセージを返すことができます。

出力メッセージ メッセージの説明

Successfully listed flows launched on CLIENT_ID client.

Could not list flows. No entities were found.

Could not list flows. IPs or Hosts entities were not found in current scope.

Could not list flows on the following entities: ENTITY_ID.

アクションが成功しました。
Error executing action "List Launched Flows". Reason: ERROR_REASON

操作に失敗しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

スクリプトの結果

次の表に、[List Launched Flows] アクションを使用する場合のスクリプト結果出力の値を示します。

スクリプトの結果名
is_success True または False

Ping

Ping アクションを使用して、GRR Rapid Response への接続をテストします。

このアクションは Google SecOps エンティティに対して実行されません。

アクション入力

なし

アクションの出力

[Ping] アクションでは、次の出力が提供されます。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用不可
出力メッセージ 利用可能
スクリプトの結果 利用可能
出力メッセージ

Ping アクションは、次の出力メッセージを返すことができます。

出力メッセージ メッセージの説明
Successfully connected to the GRR server with the provided connection parameters! アクションが成功しました。
Failed to connect to the GRR server! Error is ERROR_REASON

操作に失敗しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

スクリプトの結果

次の表に、Ping アクションを使用した場合のスクリプト結果出力の値を示します。

スクリプトの結果名
is_success True または False

ハントを開始する

[Start A Hunt] アクションを使用して、新しく作成したハンティングを開始します。デフォルトでは、GRR Rapid Response はすべての新しいハントに PAUSED 状態を割り当てます。

GRR Rapid Response は、クライアントの上限に達したすべてのハントを PAUSED 状態に設定します。クライアントの上限を削除すると、[Start A Hunt] アクションを使用して、一時停止したハントを再開できます。

このアクションは Google SecOps エンティティに対して実行されません。

アクション入力

[Start A Hunt] アクションには、次のパラメータが必要です。

パラメータ 説明
Hunt ID

必須。

開始するハントの ID。このパラメータは、カンマ区切りの文字列として複数の値を受け入れます。

アクションの出力

[Start A Hunt] アクションは次の出力を提供します。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用可能
出力メッセージ 利用可能
スクリプトの結果 利用可能
JSON の結果

次の例は、[Start A Hunt] アクションを使用したときに受信した JSON 結果の出力です。

[{ "Hunt_ID": "HUNT_ID", "State": STARTED}]
出力メッセージ

[Start A Hunt] アクションは、次の出力メッセージを返すことがあります。

出力メッセージ メッセージの説明

Successfully started the following hunts: HUNT_ID_LIST.

Could not start the following hunts. HUNT_ID_LIST could not be found in GRR.

Could not stop the following hunts: HUNT_ID_LIST. Hunt can only be started from PAUSED state.

アクションが成功しました。
Error executing action "Start A Hunt". Reason: ERROR_REASON

操作に失敗しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

ハントを停止する

Stop A Hunt アクションを使用して、新しいクライアントがスケジュールを設定するのを防ぎ、状態が変化した時点で現在のフローを中断します。

ハントを停止すると、再開することはできません。この操作を行うと、進行中の現在の結果がすべて削除されます。すでに報告されている結果には影響しません。

このアクションは Google SecOps エンティティに対して実行されません。

アクション入力

[Stop A Hunt] アクションには、次のパラメータが必要です。

パラメータ 説明
Hunt ID

必須。

停止するハントの ID。このパラメータは、カンマ区切りの文字列として複数の値を受け入れます。

アクションの出力

[Stop A Hunt] アクションは、次の出力を提供します。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用可能
出力メッセージ 利用可能
スクリプトの結果 利用可能
JSON の結果

次の例は、[ハントを停止] アクションを使用したときに受信した JSON 結果の出力を示しています。

[{ "Hunt_ID": "HUNT_ID", "State": STOPPED}]
出力メッセージ

[Stop A Hunt] アクションは、次の出力メッセージを返すことがあります。

出力メッセージ メッセージの説明

Successfully stopped the following hunts: HUNT_ID_LIST.

Could not stop the following hunts. HUNT_ID_LIST could not be found in GRR.

Could not stop the following hunts: HUNT_ID_LIST. Hunt can only be stopped from STARTED or PAUSED states.

アクションが成功しました。
Error executing action "Stop A Hunt". Reason: ERROR_REASON

操作に失敗しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

スクリプトの結果

次の表に、[Stop A Hunt] アクションを使用した場合のスクリプト結果出力の値を示します。

スクリプトの結果名
is_success True または False

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。