Google Rapid Response (GRR)

統合バージョン: 5.0

ユースケース

  1. ジョーがおかしな点を見つけた、彼のマシンをチェックする
  2. 分析用に 25 台のマシンをフォレンジックに取得
  3. このマシンが不正使用された場合の通知

Chronicle SOAR で Google Rapid Response(GRR)の統合を構成する

Chronicle SOAR で統合を構成する方法の詳細については、統合を構成するをご覧ください。

統合のパラメータ

次のパラメータを使用して統合を構成します。

パラメータの表示名 タイプ デフォルト値 必須 Description
API ルート 文字列 https://<IP>:8000 ポートを含むサーバー URL。
ユーザー名 文字列 なし GRR サーバーのユーザー名。
パスワード パスワード なし GRR 接続のパスワード。
SSL を確認 チェックボックス オフ いいえ 有効になっている場合は、GRR サーバーへの接続用の SSL 証明書を確認します。

アクション

Ping

説明

[Chronicle Marketplace] タブの統合構成ページで提供されているパラメータを使用して、GRR への接続をテストします。

パラメータ

なし

実行

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

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション
is_success is_success=False
is_success is_success=True
ケースウォール
結果のタイプ 値 / 説明 種類
出力メッセージ*

アクションが失敗したり、ハンドブックの実行が停止したりすることはありません。
成功した場合: 「指定された接続パラメータを使用して GRR サーバーに正常に接続されました」と出力されます。

アクションが失敗し、ハンドブックの実行が停止します: (認証情報が間違っている、インターネット接続がないなど)
成功しなかった場合: 次のように出力されます。「GRR サーバーへの接続に失敗しました。エラーは {0}」.format(exception.stacktrace)

一般

クライアントの一覧表示

説明

クライアントを検索して操作を開始します。

パラメータ

パラメータの表示名 タイプ デフォルト値 必須 Description
オフセット 文字列 なし いいえ 検出されたクライアントの開始オフセットを指定します。
返される結果の最大数 文字列 5 いいえ レスポンスで返すクライアントの数を指定します。

実行

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

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション
is_success is_success=False
is_success is_success=True
JSON の結果
[{
    "Client_ID": "C.d5d864717e679364",
    "Agent_Info":{
       "Client_Name": "grr",
       "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": []
   }]
ケースウォール
結果のタイプ 値 / 説明 種類
出力メッセージ*

アクションが失敗したり、ハンドブックの実行が停止したりすることはありません。

成功した場合: 「GRR で利用可能なクライアントを一覧表示しました」と出力されます。

何も見つからない(利用可能なクライアントがない)場合: 出力: 「GRR で利用可能なクライアントはありません」

アクションが失敗し、ハンドブックの実行が停止します。

認証情報が誤っている、サーバーへの接続がないなどの致命的なエラーの場合、その他: 次のように出力されます。「アクション「クライアントの一覧表示」の実行エラー。理由: {0}」.format(error.Stacktrace)

一般
CSV

テーブル名: GRR クライアント

テーブル列:

クライアント ID

ホスト

OS のバージョン

初回検知

クライアントのバージョン

ラベル

前回のチェックイン

OS のインストール日

一般

クライアントの詳細の取得

説明

クライアントの完全な詳細情報を取得します。

パラメータ

パラメータの表示名 タイプ デフォルト値 必須 Description
クライアント ID 文字列 なし クライアントの ID。カンマ区切り

実行

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

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション
is_success is_success=False
is_success is_success=True
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": "EC2EDE26-BB13-B80C-1915-DC53118B923F",
                "system_manufacturer": "Xen",
                "bios_release_date": "08/24/2006",
                "bios_version": "4.2.amazon",
                "serial_number": "ec2ede26-bb13-b80c-1915-dc53118b923f",
                "bios_revision": "4.2"
            },
            "LastClock": 1535907460060247,
            "Interfaces": [
                {
                    "ifname": "lo",
                    "addresses": [
                        {
                            "packed_bytes": "fwAAAQ==",
                            "address_type": "INET"
                        },
                        {
                            "packed_bytes": "AAAAAAAAAAAAAAAAAAAAAQ==",
                            "address_type": "INET6"
                        }
                    ],
                    "mac_address": "AAAAAAAA"
                },
                {
                    "ifname": "eth0",
                    "addresses": [
                        {
                            "packed_bytes": "rB8sWw==",
                            "address_type": "INET"
                        },
                        {
                            "packed_bytes": "/oAAAAAAAAAE1kv//h5yfg==",
                            "address_type": "INET6"
                        }
                    ],
                    "mac_address": "BtZLHnJ+"
                }
            ],
            "OS": {
                "kernel": "4.4.0-1065-aws",
                "install_date": 1534280169000000,
                "system": "Linux",
                "fqdn": "ip-172-31-44-91.eu-central-1.compute.internal",
                "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": "C.d824a5afc0ee6a46"
        }
]
ケースウォール
結果のタイプ 値 / 説明 種類
出力メッセージ*

アクションが失敗したり、ハンドブックの実行が停止したりすることはありません。

  • 成功した場合: (f「{client_ids_list} のクライアントの詳細を取得しました」)と出力されます
  • 1 つ以上のクライアント ID が無効な場合: 次のように出力されます。(f「指定されたクライアントの詳細を取得できませんでした。{client_ids list} は存在しません」)


アクションが失敗し、ハンドブックの実行が停止されました:

  • 認証情報が誤っている、サーバーへの接続がないなど、致命的なエラーの場合、その他:

    次のように出力されます。「アクション「クライアントの詳細を取得」の実行エラー。理由: {1}」.format( error.Stacktrace)

一般
CSV

テーブル名: GRR のクライアントの詳細

テーブル列:

クライアント ID

ホスト

OS のバージョン

ラベル

メモリ容量

クライアントのバージョン

初回検知

最終検知

OS のインストール日

一般

リリースされたフローの一覧表示

説明

指定したクライアントでリリースされたフローを一覧表示します。

パラメータ

パラメータの表示名 タイプ デフォルト値 必須 Description
オフセット 文字列 なし いいえ 見つかったフローの開始オフセットを指定する
返される結果の最大数 文字列 5 いいえ レスポンスで返されるフローの数を指定します。

実行

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

  • IP アドレス
  • ホスト名

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション
is_success is_success=False
is_success is_success=True
JSON の結果
 {
            "Creator": "admin",
            "NestedFlow": [],
            "LastActiveAt": 1535900632278975,
            "Args": {
               Flat dict of runner_args - only values
            },
            "State": "TERMINATED",
            "StartedAt": 1535900542745106,
            "Flow_ID": "B4E564CC",
            "Flow_Name": "AnalyzeClientMemory"
        }
ケースウォール
結果のタイプ 値 / 説明 種類
出力メッセージ*

アクションが失敗したり、ハンドブックの実行が停止したりすることはありません。

  • 成功した場合: (f「{client_id} クライアントでリリースされたフローが一覧表示されました」)と出力されます
  • エンティティがない場合: 次のように出力されます。(f「フローを一覧表示できませんでした。エンティティが見つかりませんでした。」)
  • 1 つ成功し、1 つ失敗した場合 - is_sucess=True msg: 「{エンティティ ID} のエンティティでリリースされたフローが正常に一覧表示されました」「{エンティティ ID} のエンティティのフローを一覧表示できませんでした」
  • エンティティ(IP とホスト名)がない場合: 次のように出力されます。(f「フローを一覧表示できませんでした。現在のスコープに IP またはホストのエンティティが見つかりませんでした」)

アクションが失敗し、ハンドブックの実行が停止します。

  • 認証情報が誤っている、サーバーへの接続がないなどの致命的なエラーの場合、その他: 次のように出力されます。「{0} クライアントに対するアクション「リリースされたフローの一覧表示」の実行エラー。理由: {1}」.format(client_id, error.Stacktrace)
一般
CSV

表名: GRR がリリースしたフロー

テーブル列:

フロー名
フロー ID
状態
作成時刻
前回のアクティブ
作成者

一般

ハントの一覧表示

説明

利用可能なすべてのハントを取得します。

パラメータ

パラメータの表示名 タイプ デフォルト値 必須 Description
作成者 文字列 なし いいえ 指定したユーザーが作成したハントを返します。
オフセット 文字列 なし いいえ 検出されたハントの開始オフセットを指定する
返される結果の最大数 文字列 5 いいえ レスポンスで返されるハントの数を指定します。

実行

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

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション
is_success is_success=False
is_success is_success=True
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": "86C0ADF9",
         }
]
ケースウォール
結果のタイプ 値 / 説明 種類
出力メッセージ*

アクションが失敗したり、ハンドブックの実行が停止したりすることはありません。

  • 成功した場合: 次のように出力されます。(f「ハントを正常に一覧表示しました」)
  • 作成者が無効な場合: 次のように出力されます。(f「指定された作成者のハントを一覧表示できませんでした。{作成者} は存在しません」)is_success=false
  • 作成者は有効だが、オフセットが高いため結果がない場合: 次のように出力されます。(f「指定された作成者のハントを一覧表示できませんでした。オフセット値を確認してください。」

アクションが失敗し、ハンドブックの実行が停止します。

  • 認証情報が誤っている、サーバーへの接続がないなどの致命的なエラーの場合、その他: 次のように出力されます。「アクション「ハントの一覧表示」の実行エラー。理由: {0}」.format(error.Stacktrace)
一般
CSV

テーブル名: ハント

テーブル列:

ハント ID

ステータス

作成時刻

開始時刻

所要時間

クライアントの上限

有効期限

作成者

説明

一般

ハントの詳細の取得

説明

ハントの詳細を取得します。

パラメータ

パラメータの表示名 タイプ デフォルト値 必須 Description
ハント ID 文字列 なし 取得するハントの ID。カンマ区切り

実行

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

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション
is_success is_success=False
is_success is_success=True
JSON の結果
[
        {
            "Name": "GenericHunt",
            "Expires": 1537063517000000,
            "Description": "ziv test",
            "Creator": "admin",
            "IsRobot": false,
            "Status": "PAUSED",
            "Hunt_ID": "3E9D4606",
            "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": " "
        }
]
ケースウォール
結果のタイプ 値 / 説明 種類
出力メッセージ*

アクションが失敗したり、ハンドブックの実行が停止したりすることはありません。

  • 成功した場合: (f「{hunt_id} ハントの詳細を正常に取得しました。)と出力されます。
  • 1 つ以上のハント ID が無効な場合: 次のように出力されます。(f「指定されたハントの詳細を取得できませんでした。{hunt_ids list} は存在しません」)

アクションが失敗し、ハンドブックの実行が停止します。

  • 認証情報が誤っている、サーバーへの接続がないなど、致命的なエラーの場合、その他:

    次のように出力されます。「{0} ハントに対するアクション「ハントの詳細を取得する」の実行エラー。理由: {1}」.format(hunt_ids, error.Stacktrace)

一般
リンク

リンクの構造は次のとおりです:

{api_root}/#/hunts/{hunt_id}

一般

ハントを停止する

説明

ハントを停止すると、新しいクライアントがスケジュールされるのを防ぎ、次に状態が変更されたときに進行中のフローを中断できます。これはハード ストップであるため、進行中の結果は失われますが、すでに報告されている結果には影響しません。一度停止したハントを再開する方法はありません。

パラメータ

パラメータの表示名 タイプ デフォルト値 必須 Description
ハント ID 文字列 なし 停止するハントの ID。カンマ区切り

実行

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

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション
is_success is_success=False
is_success is_success=True
JSON の結果
[{ "Hunt_ID": "5C1D041C", "State": STOPPED}]
ケースウォール
結果のタイプ 値 / 説明 種類
出力メッセージ*

アクションが失敗したり、ハンドブックの実行が停止したりすることはありません。

  • 成功の場合: (有効なハント ID とハントの現在の状態が開始済みまたは一時停止)- 次のように出力されます。(f「{hunt_id list} ハントを停止しました」)
  • 1 つ以上のハント ID が無効な場合: 次のように出力されます。(f「次のハントを停止できませんでした。GRR で {hunt_ids list} が見つかりませんでした」)
  • 1 つ以上のハントが開始済みまたは一時停止の状態でない場合 - 次のように出力されます。(f「{hunt_ids list} のハントを停止できませんでした。ハントは開始済みまたは一時停止の状態からのみ停止できます。」)
  • 注: 少なくとも 1 つのハントが停止した場合は、IS_SUCCESS を true に設定する必要があります。

アクションが失敗し、ハンドブックの実行が停止します。

  • 認証情報が誤っている、サーバーへの接続がないなどの致命的なエラーの場合は、その他:: 出力 - 「{0} ハントに対するアクション「ハントを停止する」の実行エラー。理由: {1}」.format(hunt_ids, error.Stacktrace)
一般

ハントの開始

説明

これを使用して、新しく作成したハントを開始します。新しいハントは一時停止状態で作成されるため、実行するにはこの処理を行う必要があります。クライアント上限に達したハントも一時停止に設定されます。クライアント上限を削除した後に、これを使用して再起動します。

パラメータ

パラメータの表示名 タイプ デフォルト値 必須 Description
ハント ID 文字列 なし 開始するハントの ID。カンマ区切り

実行

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

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション
is_success is_success=False
is_success is_success=True
JSON の結果
[{ "Hunt_ID": "5C1D041C", "State": STARTED}]
ケースウォール
結果のタイプ 値 / 説明 種類
出力メッセージ*

アクションが失敗したり、ハンドブックの実行が停止したりすることはありません。

  • 成功した場合: (有効なハント ID とハントの現在の状態が一時停止)- 次のように出力されます。(f「{hunt_id list} のハントを正常に開始しました」)
  • 1 つ以上のハント ID が無効な場合: 次のように出力されます。(f「次のハントを開始できませんでした。GRR で {hunt_ids list} が見つかりませんでした」)
  • 1 つ以上のハントが一時停止状態でない場合 - 次のように出力されます。(f「{hunt_ids list} ハントを停止できませんでした。ハントは一時停止状態からのみ開始できます。」)
  • 注: 少なくとも 1 つのハントが開始された場合は、IS_SUCCESS を true に設定する必要があります。

アクションが失敗し、ハンドブックの実行が停止します。

  • 認証情報が誤っている、サーバーへの接続がないなどの致命的なエラーの場合、その他: 次のように出力されます。{0} ハントに対するアクション「ハントを開始する」の実行エラー。理由: {1}」.format(hunt_ids, error.Stacktrace)
一般