GRR Rapid Response を Google SecOps と統合する
このドキュメントでは、GRR Rapid Response を Google Security Operations(Google SecOps)と構成して統合する方法について説明します。
統合バージョン: 8.0
統合のパラメータ
GRR Rapid Response の統合には、次のパラメータが必要です。
パラメータ | 説明 |
---|---|
API Root |
必須。 サーバーの URL。 デフォルト値は |
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] アクションは、次の出力メッセージを返すことができます。
出力メッセージ | メッセージの説明 |
---|---|
|
アクションが成功しました。 |
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] アクションは、次の出力メッセージを返すことがあります。
出力メッセージ | メッセージの説明 |
---|---|
|
アクションが成功しました。 |
Error executing action "Get Hunt Details". Reason: ERROR_REASON |
操作に失敗しました。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
スクリプトの結果
次の表に、Get Hunt Details アクションを使用した場合のスクリプト結果出力の値を示します。
スクリプトの結果名 | 値 |
---|---|
is_success |
True または False |
クライアントの一覧表示
クライアントを一覧表示アクションを使用して、クライアントを検索して操作します。
このアクションは Google SecOps エンティティに対して実行されません。
アクション入力
[クライアントを一覧表示] アクションには、次のパラメータが必要です。
パラメータ | 説明 |
---|---|
Offset |
省略可。 クライアントの検索を開始するオフセット。 |
Max Results To Return |
省略可。 各レスポンスで返されるクライアントの最大数。 デフォルト値は |
アクションの出力
[クライアントを一覧表示] アクションは、次の出力を提供します。
アクションの出力タイプ | 対象 |
---|---|
ケースウォールのアタッチメント | 利用不可 |
ケースウォールのリンク | 利用不可 |
ケースウォール テーブル | 利用可能 |
拡充テーブル | 利用不可 |
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": []
}]
出力メッセージ
クライアントを一覧表示アクションは、次の出力メッセージを返すことがあります。
出力メッセージ | メッセージの説明 |
---|---|
|
アクションが成功しました。 |
Error executing action "List Clients". Reason: ERROR_REASON |
操作に失敗しました。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
スクリプトの結果
次の表に、クライアントを一覧表示アクションを使用する場合のスクリプト結果出力の値を示します。
スクリプトの結果名 | 値 |
---|---|
is_success |
True または False |
ハントの一覧表示
リスト検索アクションを使用して、使用可能なすべての検索に関する情報を取得します。
このアクションは Google SecOps エンティティに対して実行されません。
アクション入力
[List Hunts] アクションには、次のパラメータが必要です。
パラメータ | 説明 |
---|---|
Creator |
省略可。 ハントを作成したユーザー。 |
Offset |
省略可。 ハントの検索を開始する開始点(オフセット)。 |
Max Results To Return |
省略可。 各レスポンスで返されるハントの最大数。 デフォルト値は |
アクションの出力
[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] アクションは、次の出力メッセージを返すことができます。
出力メッセージ | メッセージの説明 |
---|---|
|
アクションが成功しました。 |
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 |
省略可。 各レスポンスで返されるフローの最大数。 デフォルト値は |
アクションの出力
[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] アクションは、次の出力メッセージを返すことができます。
出力メッセージ | メッセージの説明 |
---|---|
|
アクションが成功しました。 |
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] アクションは、次の出力メッセージを返すことがあります。
出力メッセージ | メッセージの説明 |
---|---|
|
アクションが成功しました。 |
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] アクションは、次の出力メッセージを返すことがあります。
出力メッセージ | メッセージの説明 |
---|---|
|
アクションが成功しました。 |
Error executing action "Stop A Hunt". Reason: ERROR_REASON |
操作に失敗しました。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
スクリプトの結果
次の表に、[Stop A Hunt] アクションを使用した場合のスクリプト結果出力の値を示します。
スクリプトの結果名 | 値 |
---|---|
is_success |
True または False |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。