GRR 신속 대응을 Google SecOps와 통합

이 문서에서는 GRR Rapid Response를 Google Security Operations (Google SecOps)와 통합하고 구성하는 방법을 설명합니다.

통합 버전: 8.0

통합 매개변수

GRR 신속 대응 통합에는 다음 매개변수가 필요합니다.

매개변수 설명
API Root

필수 항목입니다.

서버 URL입니다.

기본값은 https://IP_ADDRESS:8000입니다.

Username

필수 항목입니다.

GRR 신속 대응 서버 사용자 이름입니다.

Password

필수 항목입니다.

GRR 신속 대응 서버 비밀번호입니다.

Verify SSL

(선택사항)

선택하면 통합에서 GRR 신속 대응 서버에 연결할 때 SSL 인증서를 검증합니다.

기본적으로 선택되지 않습니다.

Google SecOps에서 통합을 구성하는 방법에 대한 안내는 통합 구성을 참고하세요.

필요한 경우 이후 단계에서 변경할 수 있습니다. 통합 인스턴스를 구성한 후 플레이북에서 사용할 수 있습니다. 여러 인스턴스를 구성하고 지원하는 방법에 관한 자세한 내용은 여러 인스턴스 지원을 참고하세요.

작업

작업에 대한 자세한 내용은 내 Workdesk에서 대기 중인 작업에 응답수동 작업 실행을 참고하세요.

클라이언트 세부정보 가져오기

클라이언트 세부정보 가져오기 작업을 사용하여 클라이언트 전체 세부정보를 가져옵니다.

이 작업은 Google SecOps 항목에서 실행되지 않습니다.

작업 입력

Get Client Details 작업에는 다음 매개변수가 필요합니다.

매개변수 설명
Client ID

필수 항목입니다.

클라이언트의 ID입니다. 이 매개변수는 여러 값을 쉼표로 구분된 문자열로 허용합니다.

작업 출력

Get Client Details 작업은 다음 출력을 제공합니다.

작업 출력 유형 가용성
케이스 월 연결 사용할 수 없음
케이스 월 링크 사용할 수 없음
케이스 월 테이블 사용 가능
보강 테이블 사용할 수 없음
JSON 결과 사용 가능
출력 메시지 사용 가능
스크립트 결과 사용 가능
케이스 월 테이블

Get Client Details(클라이언트 세부정보 가져오기) 작업을 통해 다음 표를 생성할 수 있습니다.

테이블 이름: GRR Clients Details

표 열:

  • 클라이언트 ID
  • 호스트
  • OS 버전
  • 라벨
  • 메모리 크기
  • 클라이언트 버전
  • 최초 발생
  • 최근 조회
  • OS 설치 날짜
JSON 결과

다음 예는 Get Client Details(클라이언트 세부정보 가져오기) 작업을 사용할 때 수신되는 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

Get Hunt Details(헌팅 세부정보 가져오기)

Get Hunt Details(조사 세부정보 가져오기) 작업을 사용하여 조사 세부정보를 가져옵니다.

이 작업은 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 버전
  • 최초 발생
  • 클라이언트 버전
  • 라벨
  • 마지막 체크인
  • 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

조사 목록

List Hunts 작업을 사용하여 사용 가능한 모든 헌트에 관한 정보를 가져옵니다.

이 작업은 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

작업 입력

실행된 흐름 나열 작업에는 다음 매개변수가 필요합니다.

매개변수 설명
Offset

(선택사항)

흐름을 검색할 시작점 (오프셋)입니다.

Max Results To Return

(선택사항)

각 응답에서 반환할 최대 흐름 수입니다.

기본값은 5입니다.

작업 출력

실행된 흐름 나열 작업은 다음 출력을 제공합니다.

작업 출력 유형 가용성
케이스 월 연결 사용할 수 없음
케이스 월 링크 사용할 수 없음
케이스 월 테이블 사용 가능
보강 테이블 사용할 수 없음
JSON 결과 사용 가능
출력 메시지 사용 가능
스크립트 결과 사용 가능
케이스 월 테이블

실행된 흐름 나열 작업을 사용하면 다음 표를 생성할 수 있습니다.

표 이름: GRR 출시 흐름

표 열:

  • 흐름 이름
  • 흐름 ID
  • 상태
  • 생성 시간
  • 마지막 활성
  • 크리에이터
JSON 결과

다음은 실행된 흐름 나열 작업을 사용할 때 수신되는 JSON 결과 출력을 보여주는 예시입니다.

{
    "Creator": "admin",
    "NestedFlow": [],
    "LastActiveAt": 1535900632278975,
    "Args": {
        "ARGUMENTS"
    },
    "State": "TERMINATED",
    "StartedAt": 1535900542745106,
    "Flow_ID": "FLOW_ID",
    "Flow_Name": "FLOW_NAME"
}
출력 메시지

실행된 흐름 나열 작업은 다음 출력 메시지를 반환할 수 있습니다.

출력 메시지 메시지 설명

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

작업이 실패했습니다.

서버, 입력 매개변수 또는 사용자 인증 정보에 대한 연결을 확인합니다.

스크립트 결과

다음 표에는 실행된 흐름 목록 작업을 사용할 때 스크립트 결과 출력 값이 나와 있습니다.

스크립트 결과 이름
is_success True 또는 False

Ping 작업을 사용하여 GRR 신속 대응과의 연결을 테스트합니다.

이 작업은 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

사냥 시작

조사 시작 작업을 사용하여 새로 만든 조사를 시작합니다. 기본적으로 GRR 신속 대응은 모든 새 추적에 PAUSED 상태를 할당합니다.

GRR 신속 대응은 클라이언트 한도에 도달한 모든 추적을 PAUSED 상태로 설정합니다. 클라이언트 한도를 삭제한 후 조사 시작 작업을 사용하여 일시중지된 조사를 다시 시작할 수 있습니다.

이 작업은 Google SecOps 항목에서 실행되지 않습니다.

작업 입력

조사 시작 작업에는 다음 매개변수가 필요합니다.

매개변수 설명
Hunt ID

필수 항목입니다.

시작할 추적의 ID입니다. 이 매개변수는 여러 값을 쉼표로 구분된 문자열로 허용합니다.

작업 출력

조사 시작 작업은 다음 출력을 제공합니다.

작업 출력 유형 가용성
케이스 월 연결 사용할 수 없음
케이스 월 링크 사용할 수 없음
케이스 월 테이블 사용할 수 없음
보강 테이블 사용할 수 없음
JSON 결과 사용 가능
출력 메시지 사용 가능
스크립트 결과 사용 가능
JSON 결과

다음 예는 조사 시작 작업을 사용할 때 수신되는 JSON 결과 출력을 보여줍니다.

[{ "Hunt_ID": "HUNT_ID", "State": STARTED}]
출력 메시지

조사 시작 작업은 다음 출력 메시지를 반환할 수 있습니다.

출력 메시지 메시지 설명

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

작업이 실패했습니다.

서버, 입력 매개변수 또는 사용자 인증 정보에 대한 연결을 확인합니다.

추적 중지

추적 중지 작업을 사용하여 새 클라이언트가 예약하지 못하도록 하고 상태가 변경되는 순간에 현재 흐름을 중단합니다.

추적을 중지한 후에는 다시 시작할 수 없습니다. 이 작업은 진행 중인 모든 현재 결과를 삭제하며 이미 보고된 결과에는 영향을 미치지 않습니다.

이 작업은 Google SecOps 항목에서 실행되지 않습니다.

작업 입력

Stop A Hunt 작업에는 다음 매개변수가 필요합니다.

매개변수 설명
Hunt ID

필수 항목입니다.

중지할 추적의 ID입니다. 이 매개변수는 여러 값을 쉼표로 구분된 문자열로 허용합니다.

작업 출력

조사 중지 작업은 다음 출력을 제공합니다.

작업 출력 유형 가용성
케이스 월 연결 사용할 수 없음
케이스 월 링크 사용할 수 없음
케이스 월 테이블 사용할 수 없음
보강 테이블 사용할 수 없음
JSON 결과 사용 가능
출력 메시지 사용 가능
스크립트 결과 사용 가능
JSON 결과

다음 예는 조사 중지 작업을 사용할 때 수신되는 JSON 결과 출력을 보여줍니다.

[{ "Hunt_ID": "HUNT_ID", "State": STOPPED}]
출력 메시지

조사 중지 작업은 다음 출력 메시지를 반환할 수 있습니다.

출력 메시지 메시지 설명

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

작업이 실패했습니다.

서버, 입력 매개변수 또는 사용자 인증 정보에 대한 연결을 확인합니다.

스크립트 결과

다음 표에는 조사 중지 작업을 사용할 때 스크립트 결과 출력 값이 나와 있습니다.

스크립트 결과 이름
is_success True 또는 False

도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가로부터 답변을 받으세요.