From 164f4ff1a193aa1ebdfb92e7e20026778e37cab1 Mon Sep 17 00:00:00 2001 From: PrasadBoke Date: Tue, 19 Nov 2024 15:44:03 +0530 Subject: [PATCH 1/5] Update CarbonBlack_DCR.json --- .../VMwareCarbonBlackCloud_ccp/CarbonBlack_DCR.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Solutions/VMware Carbon Black Cloud/Data Connectors/VMwareCarbonBlackCloud_ccp/CarbonBlack_DCR.json b/Solutions/VMware Carbon Black Cloud/Data Connectors/VMwareCarbonBlackCloud_ccp/CarbonBlack_DCR.json index b63df9523f3..0ee790c46ab 100644 --- a/Solutions/VMware Carbon Black Cloud/Data Connectors/VMwareCarbonBlackCloud_ccp/CarbonBlack_DCR.json +++ b/Solutions/VMware Carbon Black Cloud/Data Connectors/VMwareCarbonBlackCloud_ccp/CarbonBlack_DCR.json @@ -1147,7 +1147,7 @@ "destinations": [ "clv2ws1" ], - "transformKql": "source\n | project TimeGenerated = detection_timestamp, Version = version, AlertUrl = alert_url, Id = id, AlertType = type, IsUpdated = is_updated, DetectionTimestamp = detection_timestamp, BackendTimestamp = backend_timestamp, BackendUpdateTimestamp = backend_update_timestamp, FirstEventTimestamp = first_event_timestamp, LastEventTimestamp = last_event_timestamp, Severity = severity, Reason = reason, ThreatId = threat_id, PrimaryEventId = primary_event_id, Workflow = workflow, Determination = determination, AlertNotesPresent = alert_notes_present, PolicyApplied = policy_applied, RunState = run_state, ReasonCode = reason_code, SensorAction = sensor_action, DeviceTargetValue = device_target_value, DevicePolicyId = device_policy_id, DevicePolicy = device_policy, DeviceId = device_id, DeviceName = device_name, DeviceOs = device_os, DeviceOsVersion = device_os_version, DeviceUsername = device_username, DeviceLocation = device_location, DeviceExternalIp = device_external_ip, DeviceInternalIp = device_internal_ip, ReportId = report_id, ReportName = report_name, ReportDescription = report_description, ReportTags = report_tags, ReportLink = report_link, IocId = ioc_id, IocHit = ioc_hit, Watchlists = watchlists, ProcessGuid = process_guid, ProcessPid = process_pid, ProcessName = process_name, ProcessSha256 = process_sha256, ProcessMd5 = process_md5, ProcessReputation = process_reputation, ProcessEffectiveReputation = process_effective_reputation, ProcessCmdline = process_cmdline, ProcessUsername = process_username, ProcessIssuer = process_issuer, ProcessPublisher = process_publisher, ParentGuid = parent_guid, ParentPid = parent_pid, ParentName = parent_name, ParentSha256 = parent_sha256, ParentMd5 = parent_md5, ParentReputation = parent_reputation, ParentEffectiveReputation = parent_effective_reputation, ParentCmdline = parent_cmdline, ParentUsername = parent_username, MdrAlertNotesPresent = mdr_alert_notes_present, MdrAlert = mdr_alert, MlClassificationFinalVerdict = ml_classification_final_verdict, MlClassificationGlobalPrevalence = ml_classification_global_prevalence, MlClassificationOrgPrevalence = ml_classification_org_prevalence", + "transformKql": "source\n | project TimeGenerated = todatetime(detection_timestamp), Version = version, AlertUrl = alert_url, Id = id, AlertType = type, IsUpdated = is_updated, DetectionTimestamp = detection_timestamp, BackendTimestamp = backend_timestamp, BackendUpdateTimestamp = backend_update_timestamp, FirstEventTimestamp = first_event_timestamp, LastEventTimestamp = last_event_timestamp, Severity = severity, Reason = reason, ThreatId = threat_id, PrimaryEventId = primary_event_id, Workflow = workflow, Determination = determination, AlertNotesPresent = alert_notes_present, PolicyApplied = policy_applied, RunState = run_state, ReasonCode = reason_code, SensorAction = sensor_action, DeviceTargetValue = device_target_value, DevicePolicyId = device_policy_id, DevicePolicy = device_policy, DeviceId = device_id, DeviceName = device_name, DeviceOs = device_os, DeviceOsVersion = device_os_version, DeviceUsername = device_username, DeviceLocation = device_location, DeviceExternalIp = device_external_ip, DeviceInternalIp = device_internal_ip, ReportId = report_id, ReportName = report_name, ReportDescription = report_description, ReportTags = report_tags, ReportLink = report_link, IocId = ioc_id, IocHit = ioc_hit, Watchlists = watchlists, ProcessGuid = process_guid, ProcessPid = process_pid, ProcessName = process_name, ProcessSha256 = process_sha256, ProcessMd5 = process_md5, ProcessReputation = process_reputation, ProcessEffectiveReputation = process_effective_reputation, ProcessCmdline = process_cmdline, ProcessUsername = process_username, ProcessIssuer = process_issuer, ProcessPublisher = process_publisher, ParentGuid = parent_guid, ParentPid = parent_pid, ParentName = parent_name, ParentSha256 = parent_sha256, ParentMd5 = parent_md5, ParentReputation = parent_reputation, ParentEffectiveReputation = parent_effective_reputation, ParentCmdline = parent_cmdline, ParentUsername = parent_username, MdrAlertNotesPresent = mdr_alert_notes_present, MdrAlert = mdr_alert, MlClassificationFinalVerdict = ml_classification_final_verdict, MlClassificationGlobalPrevalence = ml_classification_global_prevalence, MlClassificationOrgPrevalence = ml_classification_org_prevalence", "outputStream": "Custom-CarbonBlack_Alerts_CL" }, { @@ -1157,7 +1157,7 @@ "destinations": [ "clv2ws1" ], - "transformKql": "source \n| project TimeGenerated = create_time, DeviceExternalIp = device_external_ip, DeviceId = device_id, DeviceInternalIp = device_internal_ip, DeviceName = device_name, IocHit = ioc_hit, IocId = ioc_id, OrgKey = org_key, ParentCmdline = parent_cmdline, ParentPath = parent_path, ParentPid = parent_pid, ProcessCmdline = process_cmdline, ProcessPath = process_path, ProcessPid = process_pid, ParentUsername = parent_username, ProcessUsername = process_username, ReportId = report_id, ReportName = report_name, Severity = severity, ReportTags = report_tags, Schema = schema, CreateTime = create_time, DeviceOs = device_os, ParentGuid = parent_guid, ParentHash = parent_hash, ParentPublisher = parent_publisher, ParentReputation = parent_reputation, ProcessGuid = process_guid, ProcessHash = process_hash, ProcessPublisher = process_publisher, ProcessReputation = process_reputation, WatchlistsType = type, Watchlists = watchlists", + "transformKql": "source \n| project TimeGenerated = todatetime(create_time), DeviceExternalIp = device_external_ip, DeviceId = device_id, DeviceInternalIp = device_internal_ip, DeviceName = device_name, IocHit = ioc_hit, IocId = ioc_id, OrgKey = org_key, ParentCmdline = parent_cmdline, ParentPath = parent_path, ParentPid = parent_pid, ProcessCmdline = process_cmdline, ProcessPath = process_path, ProcessPid = process_pid, ParentUsername = parent_username, ProcessUsername = process_username, ReportId = report_id, ReportName = report_name, Severity = severity, ReportTags = report_tags, Schema = schema, CreateTime = create_time, DeviceOs = device_os, ParentGuid = parent_guid, ParentHash = parent_hash, ParentPublisher = parent_publisher, ParentReputation = parent_reputation, ProcessGuid = process_guid, ProcessHash = process_hash, ProcessPublisher = process_publisher, ProcessReputation = process_reputation, WatchlistsType = type, Watchlists = watchlists", "outputStream": "Custom-CarbonBlack_Watchlist_CL" }, { @@ -1167,7 +1167,7 @@ "destinations": [ "clv2ws1" ], - "transformKql": "source | extend splitBackendTime = split(backend_timestamp,' ') | extend backendTimeAsDate = todatetime(strcat(splitBackendTime[0],'T',splitBackendTime[1],'Z')) | extend splitDeviceTimestamp = split(device_timestamp,' ') | extend DeviceTimestampAsDate = todatetime(strcat(splitDeviceTimestamp[0],'T',splitDeviceTimestamp[1],'Z'))| extend LogonMethod = case(toint(auth_logon_type) == 2, 'Interactive',toint(auth_logon_type) == 3, 'Network',toint(auth_logon_type) == 4, 'Batch',toint(auth_logon_type) == 5, 'Service',toint(auth_logon_type) == 7, 'Unlock',toint(auth_logon_type) == 8, 'NetworkCleartext',toint(auth_logon_type) == 9, 'NewCredentials',toint(auth_logon_type) == 10, 'RemoteInteractive',toint(auth_logon_type) == 11, 'CachedInteractive','Non-Valid Logon Type') | extend DvcIpAddr = device_external_ip| extend LogonProtocol = case(auth_package == 'NLTM', 'NLTM', 'Kerberos')| extend SplittedGeo = split(auth_remote_location, ',')| extend AdditionalFields = bag_pack('AuthCleartextCredentialsLogon', auth_cleartext_credentials_logon, 'AuthDaemonLogon', auth_daemon_logon, 'AuthElevatedTokenLogon', auth_elevated_token_logon, 'AuthFailureStatus', auth_failure_status, 'AuthFailureSubStatus', auth_failure_sub_status, 'AuthImpersonationLevel', auth_impersonation_level, 'AuthInteractiveLogon', auth_interactive_logon, 'AuthKeyLength', auth_key_length, 'AuthLogonType', auth_logon_type, 'AuthPrivileges', auth_privileges, 'AuthRemoteLogon', auth_remote_logon, 'AuthRestrictedAdminLogon', auth_restricted_admin_logon, 'AuthVirtualAccountLogon', auth_virtual_account_logon, 'DeviceExternalIp', device_external_ip, 'DeviceInternalIp', device_internal_ip, 'DeviceInstalledBy', device_installed_by, 'DeviceLocation', device_location, 'DevicePolicy', device_policy, 'DevicePolicyId', device_policy_id, 'DeviceTargetPriority', device_target_priority, 'FilemodCount', filemod_count, 'ModloadCount', modload_count, 'NetconnCount', netconn_count, 'RegmodCount', regmod_count, 'ScriptloadCount', scriptload_count, 'OrgKey', org_key, 'ParentCmdline', parent_cmdline, 'ParentCmdlineLength', parent_cmdline_length, 'ParentEffectiveReputation', parent_effective_reputation, 'ParentEffectiveReputationSource', parent_effective_reputation_source, 'ParentGuid', parent_guid, 'ParentHash', parent_hash, 'ParentIssuer', parent_issuer, 'ParentPid', parent_pid, 'ParentName', parent_name, 'ParentProductName', parent_product_name, 'ParentPublisher', parent_publisher, 'ParentReputation', parent_reputation, 'ParentUsername', parent_username, 'ProcessCmdline', process_cmdline, 'ProcessCmdlineLength', process_cmdline_length, 'ProcessCompanyName', process_company_name, 'ProcessContainerPid', process_container_pid, 'ProcessDuration', process_duration, 'ProcessEffectiveReputation', process_effective_reputation, 'ProcessEffectiveReputationSource', process_effective_reputation_source, 'ProcessElevated', process_elevated, 'ProcessEndTime', process_end_time, 'ProcessFileDescription', process_file_description, 'ProcessGuid', process_guid, 'ProcessHash', process_hash, 'ProcessIntegrityLevel', process_integrity_level, 'ProcessInternalName', process_internal_name, 'ProcessIssuer', process_issuer, 'ProcessName', process_name, 'ProcessOriginalFilename', process_original_filename, 'ProcessPid', process_pid, 'ProcessPrivileges', process_privileges, 'ProcessPublisher', process_publisher, 'ProcessReputation', process_reputation, 'ProcessSha256', process_sha256, 'ProcessStartTime', process_start_time, 'ProcessUsername', process_username, 'ProcessProductName', process_product_name, 'ProcessProductVersion', process_product_version, 'WindowsEventId', windows_event_id) | project TimeGenerated = backendTimeAsDate,AdditionalFields = AdditionalFields,EventCount = toint(1),EventResult = iff(auth_event_action == 'ACTION_LOGON_FAILED', 'Failure', 'Success'),EventSchema = 'Authentication',EventSchemaVersion = '0.1.3',EventStartTime = backendTimeAsDate,EventEndTime = backendTimeAsDate,EventType = 'Logon',EventOriginalUid = event_id,EventOriginalType = 'auth.event.logonop',EventProductVersion = '2.3',ActorUserId = auth_user_id,ActorUserIdType = 'SID',ActorUsername = auth_username,ActorSessionId = auth_logon_id,ActingAppId = process_pid,ActingAppName = process_name,ActingAppType = 'Process',TargetUserId = auth_user_id,TargetUserIdType = 'SID',TargetUsername = auth_username,TargetSessionId = auth_logon_id,TargetAppId = process_pid,TargetAppName = process_name,TargetAppType = 'Process',TargetHostName = auth_server,TargetDomain = auth_domain_name,TargetDomainType = 'WINDOWS',SrcPortNumber = toint(auth_remote_port),SrcHostname = device_name,SrcDvcId = device_id,SrcDeviceType = 'Computer',SrcDvcOs = device_os,SrcIpAddr= DvcIpAddr,SrcGeoCountry = tostring(SplittedGeo[2]),SrcGeoRegion = tostring(SplittedGeo[1]),SrcGeoCity = tostring(SplittedGeo[0]),LogonMethod = LogonMethod,LogonProtocol = LogonProtocol,DvcOriginalAction = auth_event_action,DvcIpAddr = DvcIpAddr,DvcHostname = device_name,DVC = device_id,DvcId = device_id,DvcOs = device_os | extend ActorUsernameType = case (ActorUsername contains '@' , 'UPN', ActorUsername contains '\\', 'Windows', (ActorUsername has 'CN=' or ActorUsername has 'OU=' or ActorUsername has 'DC='), 'DN', isempty(ActorUsername), '', 'Simple') | extend TargetUsernameType = case (TargetUsername contains '@' , 'UPN', TargetUsername contains '\\', 'Windows', (TargetUsername has 'CN=' or TargetUsername has 'OU=' or TargetUsername has 'DC='), 'DN', isempty(TargetUsername), '', 'Simple') | extend EventProduct = 'Carbon Black Cloud', EventVendor = 'VMWare'", + "transformKql": "source | extend splitBackendTime = split(backend_timestamp,' ') | extend backendTimeAsDate = todatetime(strcat(splitBackendTime[0],'T',splitBackendTime[1],'Z')) | extend splitDeviceTimestamp = split(device_timestamp,' ') | extend DeviceTimestampAsDate = todatetime(strcat(splitDeviceTimestamp[0],'T',splitDeviceTimestamp[1],'Z'))| extend LogonMethod = case(toint(auth_logon_type) == 2, 'Interactive',toint(auth_logon_type) == 3, 'Network',toint(auth_logon_type) == 4, 'Batch',toint(auth_logon_type) == 5, 'Service',toint(auth_logon_type) == 7, 'Unlock',toint(auth_logon_type) == 8, 'NetworkCleartext',toint(auth_logon_type) == 9, 'NewCredentials',toint(auth_logon_type) == 10, 'RemoteInteractive',toint(auth_logon_type) == 11, 'CachedInteractive','Non-Valid Logon Type') | extend DvcIpAddr = device_external_ip| extend LogonProtocol = case(auth_package == 'NLTM', 'NLTM', 'Kerberos')| extend SplittedGeo = split(auth_remote_location, ',')| extend AdditionalFields = bag_pack('AuthCleartextCredentialsLogon', auth_cleartext_credentials_logon, 'AuthDaemonLogon', auth_daemon_logon, 'AuthElevatedTokenLogon', auth_elevated_token_logon, 'AuthFailureStatus', auth_failure_status, 'AuthFailureSubStatus', auth_failure_sub_status, 'AuthImpersonationLevel', auth_impersonation_level, 'AuthInteractiveLogon', auth_interactive_logon, 'AuthKeyLength', auth_key_length, 'AuthLogonType', auth_logon_type, 'AuthPrivileges', auth_privileges, 'AuthRemoteLogon', auth_remote_logon, 'AuthRestrictedAdminLogon', auth_restricted_admin_logon, 'AuthVirtualAccountLogon', auth_virtual_account_logon, 'DeviceExternalIp', device_external_ip, 'DeviceInternalIp', device_internal_ip, 'DeviceInstalledBy', device_installed_by, 'DeviceLocation', device_location, 'DevicePolicy', device_policy, 'DevicePolicyId', device_policy_id, 'DeviceTargetPriority', device_target_priority, 'FilemodCount', filemod_count, 'ModloadCount', modload_count, 'NetconnCount', netconn_count, 'RegmodCount', regmod_count, 'ScriptloadCount', scriptload_count, 'OrgKey', org_key, 'ParentCmdline', parent_cmdline, 'ParentCmdlineLength', parent_cmdline_length, 'ParentEffectiveReputation', parent_effective_reputation, 'ParentEffectiveReputationSource', parent_effective_reputation_source, 'ParentGuid', parent_guid, 'ParentHash', parent_hash, 'ParentIssuer', parent_issuer, 'ParentPid', parent_pid, 'ParentName', parent_name, 'ParentProductName', parent_product_name, 'ParentPublisher', parent_publisher, 'ParentReputation', parent_reputation, 'ParentUsername', parent_username, 'ProcessCmdline', process_cmdline, 'ProcessCmdlineLength', process_cmdline_length, 'ProcessCompanyName', process_company_name, 'ProcessContainerPid', process_container_pid, 'ProcessDuration', process_duration, 'ProcessEffectiveReputation', process_effective_reputation, 'ProcessEffectiveReputationSource', process_effective_reputation_source, 'ProcessElevated', process_elevated, 'ProcessEndTime', process_end_time, 'ProcessFileDescription', process_file_description, 'ProcessGuid', process_guid, 'ProcessHash', process_hash, 'ProcessIntegrityLevel', process_integrity_level, 'ProcessInternalName', process_internal_name, 'ProcessIssuer', process_issuer, 'ProcessName', process_name, 'ProcessOriginalFilename', process_original_filename, 'ProcessPid', process_pid, 'ProcessPrivileges', process_privileges, 'ProcessPublisher', process_publisher, 'ProcessReputation', process_reputation, 'ProcessSha256', process_sha256, 'ProcessStartTime', process_start_time, 'ProcessUsername', process_username, 'ProcessProductName', process_product_name, 'ProcessProductVersion', process_product_version, 'WindowsEventId', windows_event_id) | project TimeGenerated = backendTimeAsDate,AdditionalFields = AdditionalFields,EventCount = toint(1),EventResult = iff(auth_event_action == 'ACTION_LOGON_FAILED', 'Failure', 'Success'),EventSchema = 'Authentication',EventSchemaVersion = '0.1.3',EventStartTime = backendTimeAsDate,EventEndTime = backendTimeAsDate,EventType = 'Logon',EventOriginalUid = event_id,EventOriginalType = 'auth.event.logonop',EventProductVersion = '2.3',ActorUserId = auth_user_id,ActorUserIdType = 'SID',ActorUsername = auth_username,ActorSessionId = auth_logon_id,ActingAppId = process_pid,ActingAppName = process_name,ActingAppType = 'Process',TargetUserId = auth_user_id,TargetUserIdType = 'SID',TargetUsername = auth_username,TargetSessionId = auth_logon_id,TargetAppId = process_pid,TargetAppName = process_name,TargetAppType = 'Process',TargetHostName = auth_server,TargetDomain = auth_domain_name,TargetDomainType = 'WINDOWS',SrcPortNumber = toint(auth_remote_port),SrcHostname = device_name,SrcDvcId = device_id,SrcDeviceType = 'Computer',SrcDvcOs = device_os,SrcIpAddr= DvcIpAddr,SrcGeoCountry = tostring(SplittedGeo[2]),SrcGeoRegion = tostring(SplittedGeo[1]),SrcGeoCity = tostring(SplittedGeo[0]),LogonMethod = LogonMethod,LogonProtocol = LogonProtocol,DvcOriginalAction = auth_event_action,DvcIpAddr = DvcIpAddr,DvcHostname = device_name,DVC = device_id,DvcId = device_id,DvcOs = device_os | extend ActorUsernameType = case (ActorUsername contains '@' , 'UPN', ActorUsername contains '\\\\', 'Windows', (ActorUsername has 'CN=' or ActorUsername has 'OU=' or ActorUsername has 'DC='), 'DN', isempty(ActorUsername), '', 'Simple') | extend TargetUsernameType = case (TargetUsername contains '@' , 'UPN', TargetUsername contains '\\\\', 'Windows', (TargetUsername has 'CN=' or TargetUsername has 'OU=' or TargetUsername has 'DC='), 'DN', isempty(TargetUsername), '', 'Simple') | extend EventProduct = 'Carbon Black Cloud', EventVendor = 'VMWare'", "outputStream": "Microsoft-ASimAuthenticationEventLogs" }, { From 51bacccc73ce0951e799331f77e5bf1dfb1f624f Mon Sep 17 00:00:00 2001 From: PrasadBoke Date: Tue, 19 Nov 2024 15:44:08 +0530 Subject: [PATCH 2/5] Update CarbonBlack_PollingConfig.json --- .../CarbonBlack_PollingConfig.json | 40 ++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/Solutions/VMware Carbon Black Cloud/Data Connectors/VMwareCarbonBlackCloud_ccp/CarbonBlack_PollingConfig.json b/Solutions/VMware Carbon Black Cloud/Data Connectors/VMwareCarbonBlackCloud_ccp/CarbonBlack_PollingConfig.json index 27f8d3b8519..b7f8267065b 100644 --- a/Solutions/VMware Carbon Black Cloud/Data Connectors/VMwareCarbonBlackCloud_ccp/CarbonBlack_PollingConfig.json +++ b/Solutions/VMware Carbon Black Cloud/Data Connectors/VMwareCarbonBlackCloud_ccp/CarbonBlack_PollingConfig.json @@ -5,7 +5,7 @@ "kind": "AmazonWebServicesS3", "properties": { "connectorDefinitionName": "carbonBlackAWSS3", - "dataType": { + "dataTypes": { "logs": { "state": "enabled" } @@ -15,6 +15,44 @@ "dataCollectionEndpoint": "{{dataCollectionEndpoint}}", "dataCollectionRuleImmutableId": "{{dataCollectionRuleImmutableId}}" }, + "auth": { + "type": "OAuth2", + "ClientSecret": "{{clientSecret}}", + "ClientId": "{{clientId}}", + "TokenEndpoint": "https://id.sophos.com/api/v2/oauth2/token", + "tokenEndpointHeaders": { + "Accept": "application/json", + "Content-Type": "application/x-www-form-urlencoded" + }, + "TokenEndpointQueryParameters": {}, + "scope": "token", + "grantType": "client_credentials" + }, + "request": { + "apiEndpoint": "https://api-{{sophosRegion}}.central.sophos.com/siem/v1/alerts", + "rateLimitQPS": 10, + "queryWindowInMin": 5, + "httpMethod": "GET", + "retryCount": 3, + "timeoutInSeconds": 60, + "queryTimeFormat": "UnixTimestamp", + "startTimeAttributeName": "from_date", + "headers": { + "Accept": "application/json", + "X-Tenant-ID": "{{sophosTenantId}}" + } + }, + "paging": { + "pagingType": "NextPageToken", + "nextPageTokenJsonPath": "$.next_cursor", + "hasNextFlagJsonPath": "$.has_more", + "nextPageParaName": "cursor" + }, + "response": { + "eventsJsonPaths": [ + "$.items" + ] + }, "roleArn": "{{roleArn}}", "sqsUrls": [ "{{queueUrl}}" From b78bb97286cd087d4ac02fce9268cec7c32c70c1 Mon Sep 17 00:00:00 2001 From: PrasadBoke Date: Tue, 19 Nov 2024 15:44:19 +0530 Subject: [PATCH 3/5] Solution packaged --- .../Package/3.0.4.zip | Bin 0 -> 61186 bytes .../Package/createUiDefinition.json | 4 +- .../Package/mainTemplate.json | 81 +++++++++--------- 3 files changed, 44 insertions(+), 41 deletions(-) create mode 100644 Solutions/VMware Carbon Black Cloud/Package/3.0.4.zip diff --git a/Solutions/VMware Carbon Black Cloud/Package/3.0.4.zip b/Solutions/VMware Carbon Black Cloud/Package/3.0.4.zip new file mode 100644 index 0000000000000000000000000000000000000000..e9f9d7437ac23b3d900692ae436ea687f63f4a55 GIT binary patch literal 61186 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 Date: Tue, 19 Nov 2024 15:53:18 +0530 Subject: [PATCH 4/5] Update ReleaseNotes.md --- Solutions/VMware Carbon Black Cloud/ReleaseNotes.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Solutions/VMware Carbon Black Cloud/ReleaseNotes.md b/Solutions/VMware Carbon Black Cloud/ReleaseNotes.md index b4bc33b9dd6..c21d2f75395 100644 --- a/Solutions/VMware Carbon Black Cloud/ReleaseNotes.md +++ b/Solutions/VMware Carbon Black Cloud/ReleaseNotes.md @@ -1,5 +1,6 @@ | **Version** | **Date Modified (DD-MM-YYYY)** | **Change History** | |-------------|--------------------------------|-----------------------------------------------------------| +| 3.0.4 | 19-11-2024 | Modified TransformKQL queries of CCP **Data Connector** | | 3.0.3 | 28-10-2024 | Added Sample Queries to the CCP **Data Connector** template | | 3.0.2 | 15-10-2024 | Added new CCP **Data Connector** to the Solution | | 3.0.1 | 17-04-2024 | Added Azure Deploy button for government portal deployments in **Data connectors** | From 894d4cda5bbe9370b27e68156275be774bd7867d Mon Sep 17 00:00:00 2001 From: PrasadBoke Date: Thu, 21 Nov 2024 14:12:25 +0530 Subject: [PATCH 5/5] Update CarbonBlack_PollingConfig.json --- .../CarbonBlack_PollingConfig.json | 38 ------------------- 1 file changed, 38 deletions(-) diff --git a/Solutions/VMware Carbon Black Cloud/Data Connectors/VMwareCarbonBlackCloud_ccp/CarbonBlack_PollingConfig.json b/Solutions/VMware Carbon Black Cloud/Data Connectors/VMwareCarbonBlackCloud_ccp/CarbonBlack_PollingConfig.json index b7f8267065b..5a92d1e206c 100644 --- a/Solutions/VMware Carbon Black Cloud/Data Connectors/VMwareCarbonBlackCloud_ccp/CarbonBlack_PollingConfig.json +++ b/Solutions/VMware Carbon Black Cloud/Data Connectors/VMwareCarbonBlackCloud_ccp/CarbonBlack_PollingConfig.json @@ -15,44 +15,6 @@ "dataCollectionEndpoint": "{{dataCollectionEndpoint}}", "dataCollectionRuleImmutableId": "{{dataCollectionRuleImmutableId}}" }, - "auth": { - "type": "OAuth2", - "ClientSecret": "{{clientSecret}}", - "ClientId": "{{clientId}}", - "TokenEndpoint": "https://id.sophos.com/api/v2/oauth2/token", - "tokenEndpointHeaders": { - "Accept": "application/json", - "Content-Type": "application/x-www-form-urlencoded" - }, - "TokenEndpointQueryParameters": {}, - "scope": "token", - "grantType": "client_credentials" - }, - "request": { - "apiEndpoint": "https://api-{{sophosRegion}}.central.sophos.com/siem/v1/alerts", - "rateLimitQPS": 10, - "queryWindowInMin": 5, - "httpMethod": "GET", - "retryCount": 3, - "timeoutInSeconds": 60, - "queryTimeFormat": "UnixTimestamp", - "startTimeAttributeName": "from_date", - "headers": { - "Accept": "application/json", - "X-Tenant-ID": "{{sophosTenantId}}" - } - }, - "paging": { - "pagingType": "NextPageToken", - "nextPageTokenJsonPath": "$.next_cursor", - "hasNextFlagJsonPath": "$.has_more", - "nextPageParaName": "cursor" - }, - "response": { - "eventsJsonPaths": [ - "$.items" - ] - }, "roleArn": "{{roleArn}}", "sqsUrls": [ "{{queueUrl}}"