From 7063ae051abb8ed6b89270b951babb94850a2624 Mon Sep 17 00:00:00 2001 From: 0x10F8 <43986556+0x10F8@users.noreply.github.com> Date: Tue, 30 Apr 2024 15:17:04 +0100 Subject: [PATCH 1/4] Update AWS_FailedBruteForceS3Bucket.yaml Query changed to find failed attempts as described. Existing query looked for successful S3 GetObject events - as this was looking for isempty(ErrorCode) and isempty(ErrorMessage) - however to look for fails this should be surrounded by a not(). --- .../Hunting Queries/AWS_FailedBruteForceS3Bucket.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Solutions/Amazon Web Services/Hunting Queries/AWS_FailedBruteForceS3Bucket.yaml b/Solutions/Amazon Web Services/Hunting Queries/AWS_FailedBruteForceS3Bucket.yaml index 833339bc61a..0c2cc03f5eb 100644 --- a/Solutions/Amazon Web Services/Hunting Queries/AWS_FailedBruteForceS3Bucket.yaml +++ b/Solutions/Amazon Web Services/Hunting Queries/AWS_FailedBruteForceS3Bucket.yaml @@ -13,7 +13,7 @@ relevantTechniques: - T1619 query: | AWSCloudTrail - | where EventName == "GetObject" and isempty(ErrorCode) and isempty(ErrorMessage) + | where EventName == "GetObject" and not(isempty(ErrorCode) and isempty(ErrorMessage)) | where UserIdentityAccountId == "ANONYMOUS_PRINCIPAL" or UserIdentityAccessKeyId <> RecipientAccountId | extend bucketName = tostring(parse_json(RequestParameters).bucketName), keyName = tostring(parse_json(RequestParameters).key) | summarize arg_max(TimeGenerated, *), failed_attempts = dcount(keyName) by UserIdentityAccountId, SourceIpAddress, bucketName @@ -28,4 +28,4 @@ entityMappings: - entityType: IP fieldMappings: - identifier: Address - columnName: IPCustomEntity \ No newline at end of file + columnName: IPCustomEntity From cb5a8eaeaa97e67456372f2df24c2bd550174279 Mon Sep 17 00:00:00 2001 From: PrasadBoke Date: Wed, 8 May 2024 19:13:55 +0530 Subject: [PATCH 2/4] Solution packaged --- .../Amazon Web Services/Package/3.0.3.zip | Bin 0 -> 66772 bytes .../Package/createUiDefinition.json | 9 +- .../Package/mainTemplate.json | 1856 ++++++++--------- 3 files changed, 936 insertions(+), 929 deletions(-) create mode 100644 Solutions/Amazon Web Services/Package/3.0.3.zip diff --git a/Solutions/Amazon Web Services/Package/3.0.3.zip b/Solutions/Amazon Web Services/Package/3.0.3.zip new file mode 100644 index 0000000000000000000000000000000000000000..eb80156ef2530b1b1e6a4bf36e24c8df5d211366 GIT binary patch literal 66772 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

H-{0``qKAz3GZH{?$1tyQwKe9{SUG9 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 diff --git a/Solutions/Amazon Web Services/Package/createUiDefinition.json b/Solutions/Amazon Web Services/Package/createUiDefinition.json index e53678ba59c..dada45f0859 100644 --- a/Solutions/Amazon Web Services/Package/createUiDefinition.json +++ b/Solutions/Amazon Web Services/Package/createUiDefinition.json @@ -63,13 +63,6 @@ "text": "This Solution installs the data connector for Amazon Web Services. You can get Amazon Web Services custom log data in your Microsoft Sentinel workspace. After installing the solution, configure and enable this data connector by following guidance in Manage solution view." } }, - { - "name": "dataconnectors2-text", - "type": "Microsoft.Common.TextBlock", - "options": { - "text": "This Solution installs the data connector for Amazon Web Services. You can get Amazon Web Services custom log data in your Microsoft Sentinel workspace. After installing the solution, configure and enable this data connector by following guidance in Manage solution view." - } - }, { "name": "dataconnectors-link2", "type": "Microsoft.Common.TextBlock", @@ -187,7 +180,7 @@ "name": "analytic2-text", "type": "Microsoft.Common.TextBlock", "options": { - "text": "Amazon Virtual Private Cloud (Amazon VPC) lets you provision a logically isolated section of the AWS Cloud where you can launch AWS resources\nin a virtual network that you define.\nThis identifies changes to Amazon VPC (Virtual Private Cloud) settings such as new ACL entries,routes, routetable or Gateways.\nMore information: https://medium.com/@GorillaStack/the-most-important-aws-cloudtrail-security-events-to-track-a5b9873f8255 \nand AWS VPC API Docs: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/OperationList-query-vpc.html" + "text": "Amazon Virtual Private Cloud (Amazon VPC) lets you provision a logically isolated section of the AWS Cloud where you can launch AWS resources in a virtual network that you define.\nThis identifies changes to Amazon VPC (Virtual Private Cloud) settings such as new ACL entries,routes, routetable or Gateways.\nMore information: https://medium.com/@GorillaStack/the-most-important-aws-cloudtrail-security-events-to-track-a5b9873f8255 \nand AWS VPC API Docs: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/OperationList-query-vpc.html" } } ] @@ -229,7 +222,7 @@ "name": "analytic5-text", "type": "Microsoft.Common.TextBlock", "options": { - "text": "Multi-Factor Authentication (MFA) helps you to prevent credential compromise. This alert identifies logins to the AWS Management Console without MFA.\nYou can limit this detection to trigger for adminsitrative accounts if you do not have MFA enabled on all accounts.\nThis is done by looking at the eventName ConsoleLogin and if the AdditionalEventData field indicates MFA was NOT used\nand the ResponseElements field indicates NOT a Failure. Thereby indicating that a non-MFA login was successful." + "text": "Multi-Factor Authentication (MFA) helps you to prevent credential compromise. This alert identifies logins to the AWS Management Console without MFA.\nYou can limit this detection to trigger for adminsitrative accounts if you do not have MFA enabled on all accounts.\nThis is done by looking at the eventName ConsoleLogin and if the AdditionalEventData field indicates MFA was NOT used and the ResponseElements field indicates NOT a Failure. Thereby indicating that a non-MFA login was successful." } } ] @@ -299,7 +292,7 @@ "name": "analytic10-text", "type": "Microsoft.Common.TextBlock", "options": { - "text": "Multi-Factor Authentication (MFA) helps you to prevent credential compromise. This alert identifies logins to the AWS Management Console without MFA.\nYou can limit this detection to trigger for administrative accounts if you do not have MFA enabled on all accounts.\nThis is done by looking at the eventName ConsoleLogin and if the AdditionalEventData field indicates MFA was NOT used\nand the ResponseElements field indicates NOT a Failure. Thereby indicating that a non-MFA login was successful." + "text": "Multi-Factor Authentication (MFA) helps you to prevent credential compromise. This alert identifies logins to the AWS Management Console without MFA.\nYou can limit this detection to trigger for administrative accounts if you do not have MFA enabled on all accounts.\nThis is done by looking at the eventName ConsoleLogin and if the AdditionalEventData field indicates MFA was NOT used and the ResponseElements field indicates NOT a Failure. Thereby indicating that a non-MFA login was successful." } } ] diff --git a/Solutions/Amazon Web Services/Package/mainTemplate.json b/Solutions/Amazon Web Services/Package/mainTemplate.json index a96c6c92bad..df0b1b7b912 100644 --- a/Solutions/Amazon Web Services/Package/mainTemplate.json +++ b/Solutions/Amazon Web Services/Package/mainTemplate.json @@ -89,11 +89,11 @@ "_analyticRulecontentProductId1": "[concat(take(variables('_solutionId'),50),'-','ar','-', uniqueString(concat(variables('_solutionId'),'-','AnalyticsRule','-','8c2ef238-67a0-497d-b1dd-5c8a0f533e25','-', '1.0.3')))]" }, "analyticRuleObject2": { - "analyticRuleVersion2": "1.0.4", + "analyticRuleVersion2": "1.0.5", "_analyticRulecontentId2": "65360bb0-8986-4ade-a89d-af3cf44d28aa", "analyticRuleId2": "[resourceId('Microsoft.SecurityInsights/AlertRuleTemplates', '65360bb0-8986-4ade-a89d-af3cf44d28aa')]", "analyticRuleTemplateSpecName2": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',concat(parameters('workspace'),'-ar-',uniquestring('65360bb0-8986-4ade-a89d-af3cf44d28aa')))]", - "_analyticRulecontentProductId2": "[concat(take(variables('_solutionId'),50),'-','ar','-', uniqueString(concat(variables('_solutionId'),'-','AnalyticsRule','-','65360bb0-8986-4ade-a89d-af3cf44d28aa','-', '1.0.4')))]" + "_analyticRulecontentProductId2": "[concat(take(variables('_solutionId'),50),'-','ar','-', uniqueString(concat(variables('_solutionId'),'-','AnalyticsRule','-','65360bb0-8986-4ade-a89d-af3cf44d28aa','-', '1.0.5')))]" }, "analyticRuleObject3": { "analyticRuleVersion3": "1.0.3", @@ -110,11 +110,11 @@ "_analyticRulecontentProductId4": "[concat(take(variables('_solutionId'),50),'-','ar','-', uniqueString(concat(variables('_solutionId'),'-','AnalyticsRule','-','093fe75e-44f1-4d3e-94dc-6d258a6dd2d2','-', '1.0.0')))]" }, "analyticRuleObject5": { - "analyticRuleVersion5": "1.0.4", + "analyticRuleVersion5": "1.0.5", "_analyticRulecontentId5": "d25b1998-a592-4bc5-8a3a-92b39eedb1bc", "analyticRuleId5": "[resourceId('Microsoft.SecurityInsights/AlertRuleTemplates', 'd25b1998-a592-4bc5-8a3a-92b39eedb1bc')]", "analyticRuleTemplateSpecName5": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',concat(parameters('workspace'),'-ar-',uniquestring('d25b1998-a592-4bc5-8a3a-92b39eedb1bc')))]", - "_analyticRulecontentProductId5": "[concat(take(variables('_solutionId'),50),'-','ar','-', uniqueString(concat(variables('_solutionId'),'-','AnalyticsRule','-','d25b1998-a592-4bc5-8a3a-92b39eedb1bc','-', '1.0.4')))]" + "_analyticRulecontentProductId5": "[concat(take(variables('_solutionId'),50),'-','ar','-', uniqueString(concat(variables('_solutionId'),'-','AnalyticsRule','-','d25b1998-a592-4bc5-8a3a-92b39eedb1bc','-', '1.0.5')))]" }, "analyticRuleObject6": { "analyticRuleVersion6": "1.0.3", @@ -145,11 +145,11 @@ "_analyticRulecontentProductId9": "[concat(take(variables('_solutionId'),50),'-','ar','-', uniqueString(concat(variables('_solutionId'),'-','AnalyticsRule','-','c7bfadd4-34a6-4fa5-82f8-3691a32261e8','-', '1.0.3')))]" }, "analyticRuleObject10": { - "analyticRuleVersion10": "1.0.2", + "analyticRuleVersion10": "1.0.3", "_analyticRulecontentId10": "0ee2aafb-4500-4e36-bcb1-e90eec2f0b9b", "analyticRuleId10": "[resourceId('Microsoft.SecurityInsights/AlertRuleTemplates', '0ee2aafb-4500-4e36-bcb1-e90eec2f0b9b')]", "analyticRuleTemplateSpecName10": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',concat(parameters('workspace'),'-ar-',uniquestring('0ee2aafb-4500-4e36-bcb1-e90eec2f0b9b')))]", - "_analyticRulecontentProductId10": "[concat(take(variables('_solutionId'),50),'-','ar','-', uniqueString(concat(variables('_solutionId'),'-','AnalyticsRule','-','0ee2aafb-4500-4e36-bcb1-e90eec2f0b9b','-', '1.0.2')))]" + "_analyticRulecontentProductId10": "[concat(take(variables('_solutionId'),50),'-','ar','-', uniqueString(concat(variables('_solutionId'),'-','AnalyticsRule','-','0ee2aafb-4500-4e36-bcb1-e90eec2f0b9b','-', '1.0.3')))]" }, "analyticRuleObject11": { "analyticRuleVersion11": "1.0.6", @@ -1475,16 +1475,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -1492,8 +1492,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -1565,7 +1565,7 @@ "kind": "Scheduled", "location": "[parameters('workspace-location')]", "properties": { - "description": "Amazon Virtual Private Cloud (Amazon VPC) lets you provision a logically isolated section of the AWS Cloud where you can launch AWS resources\nin a virtual network that you define.\nThis identifies changes to Amazon VPC (Virtual Private Cloud) settings such as new ACL entries,routes, routetable or Gateways.\nMore information: https://medium.com/@GorillaStack/the-most-important-aws-cloudtrail-security-events-to-track-a5b9873f8255 \nand AWS VPC API Docs: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/OperationList-query-vpc.html", + "description": "Amazon Virtual Private Cloud (Amazon VPC) lets you provision a logically isolated section of the AWS Cloud where you can launch AWS resources in a virtual network that you define.\nThis identifies changes to Amazon VPC (Virtual Private Cloud) settings such as new ACL entries,routes, routetable or Gateways.\nMore information: https://medium.com/@GorillaStack/the-most-important-aws-cloudtrail-security-events-to-track-a5b9873f8255 \nand AWS VPC API Docs: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/OperationList-query-vpc.html", "displayName": "Changes to Amazon VPC settings", "enabled": false, "query": "let EventNameList = dynamic([\"CreateNetworkAclEntry\",\"CreateRoute\",\"CreateRouteTable\",\"CreateInternetGateway\",\"CreateNatGateway\"]);\nAWSCloudTrail\n| where EventName in~ (EventNameList)\n| extend UserIdentityArn = iif(isempty(UserIdentityArn), tostring(parse_json(Resources)[0].ARN), UserIdentityArn)\n| extend UserName = tostring(split(UserIdentityArn, '/')[-1])\n| extend AccountName = case( UserIdentityPrincipalid == \"Anonymous\", \"Anonymous\", isempty(UserIdentityUserName), UserName, UserIdentityUserName)\n| extend AccountName = iif(AccountName contains \"@\", tostring(split(AccountName, '@', 0)[0]), AccountName),\n AccountUPNSuffix = iif(AccountName contains \"@\", tostring(split(AccountName, '@', 1)[0]), \"\")\n| summarize StartTimeUtc = min(TimeGenerated), EndTimeUtc = max(TimeGenerated) by EventName, EventTypeName, RecipientAccountId, AccountName, AccountUPNSuffix, UserIdentityAccountId, UserIdentityPrincipalid, UserAgent,\nUserIdentityUserName, SessionMfaAuthenticated, SourceIpAddress, AWSRegion, EventSource, AdditionalEventData, ResponseElements\n| extend timestamp = StartTimeUtc\n", @@ -1603,16 +1603,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -1620,8 +1620,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -1726,16 +1726,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -1743,8 +1743,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -1856,16 +1856,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -1873,8 +1873,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -1946,7 +1946,7 @@ "kind": "Scheduled", "location": "[parameters('workspace-location')]", "properties": { - "description": "Multi-Factor Authentication (MFA) helps you to prevent credential compromise. This alert identifies logins to the AWS Management Console without MFA.\nYou can limit this detection to trigger for adminsitrative accounts if you do not have MFA enabled on all accounts.\nThis is done by looking at the eventName ConsoleLogin and if the AdditionalEventData field indicates MFA was NOT used\nand the ResponseElements field indicates NOT a Failure. Thereby indicating that a non-MFA login was successful.", + "description": "Multi-Factor Authentication (MFA) helps you to prevent credential compromise. This alert identifies logins to the AWS Management Console without MFA.\nYou can limit this detection to trigger for adminsitrative accounts if you do not have MFA enabled on all accounts.\nThis is done by looking at the eventName ConsoleLogin and if the AdditionalEventData field indicates MFA was NOT used and the ResponseElements field indicates NOT a Failure. Thereby indicating that a non-MFA login was successful.", "displayName": "Login to AWS Management Console without MFA", "enabled": false, "query": "AWSCloudTrail\n| where EventName =~ \"ConsoleLogin\"\n| extend MFAUsed = tostring(parse_json(AdditionalEventData).MFAUsed), LoginResult = tostring(parse_json(ResponseElements).ConsoleLogin), indexId = indexof(tostring(UserIdentityPrincipalid),\":\")\n| where MFAUsed !~ \"Yes\" and LoginResult !~ \"Failure\"\n| where SessionIssuerUserName !contains \"AWSReservedSSO\"\n| extend UserIdentityArn = iif(isempty(UserIdentityArn), tostring(parse_json(Resources)[0].ARN), UserIdentityArn)\n| extend UserName = tostring(split(UserIdentityArn, '/')[-1])\n| extend AccountName = case( UserIdentityPrincipalid == \"Anonymous\", \"Anonymous\", isempty(UserIdentityUserName), UserName, UserIdentityUserName)\n| extend AccountName = iif(AccountName contains \"@\", tostring(split(AccountName, '@', 0)[0]), AccountName),\n AccountUPNSuffix = iif(AccountName contains \"@\", tostring(split(AccountName, '@', 1)[0]), \"\")\n| summarize StartTimeUtc = min(TimeGenerated), EndTimeUtc = max(TimeGenerated) by EventName, EventTypeName, LoginResult, MFAUsed, RecipientAccountId, AccountName, AccountUPNSuffix, UserIdentityAccountId, UserIdentityPrincipalid, UserAgent,\nUserIdentityUserName, SessionMfaAuthenticated, SourceIpAddress, AWSRegion, indexId\n| extend timestamp = StartTimeUtc\n", @@ -1985,16 +1985,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -2002,8 +2002,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -2111,16 +2111,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -2128,8 +2128,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -2234,16 +2234,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -2251,8 +2251,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -2360,16 +2360,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -2377,8 +2377,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -2486,16 +2486,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -2503,8 +2503,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -2576,7 +2576,7 @@ "kind": "NRT", "location": "[parameters('workspace-location')]", "properties": { - "description": "Multi-Factor Authentication (MFA) helps you to prevent credential compromise. This alert identifies logins to the AWS Management Console without MFA.\nYou can limit this detection to trigger for administrative accounts if you do not have MFA enabled on all accounts.\nThis is done by looking at the eventName ConsoleLogin and if the AdditionalEventData field indicates MFA was NOT used\nand the ResponseElements field indicates NOT a Failure. Thereby indicating that a non-MFA login was successful.", + "description": "Multi-Factor Authentication (MFA) helps you to prevent credential compromise. This alert identifies logins to the AWS Management Console without MFA.\nYou can limit this detection to trigger for administrative accounts if you do not have MFA enabled on all accounts.\nThis is done by looking at the eventName ConsoleLogin and if the AdditionalEventData field indicates MFA was NOT used and the ResponseElements field indicates NOT a Failure. Thereby indicating that a non-MFA login was successful.", "displayName": "NRT Login to AWS Management Console without MFA", "enabled": false, "query": "AWSCloudTrail\n| where EventName =~ \"ConsoleLogin\"\n| extend MFAUsed = tostring(parse_json(AdditionalEventData).MFAUsed), LoginResult = tostring(parse_json(ResponseElements).ConsoleLogin)\n| where MFAUsed !~ \"Yes\" and LoginResult !~ \"Failure\"\n| where SessionIssuerUserName !contains \"AWSReservedSSO\"\n| extend UserIdentityArn = iif(isempty(UserIdentityArn), tostring(parse_json(Resources)[0].ARN), UserIdentityArn)\n| extend UserName = tostring(split(UserIdentityArn, '/')[-1])\n| extend AccountName = case( UserIdentityPrincipalid == \"Anonymous\", \"Anonymous\", isempty(UserIdentityUserName), UserName, UserIdentityUserName)\n| extend AccountName = iif(AccountName contains \"@\", tostring(split(AccountName, '@', 0)[0]), AccountName),\n AccountUPNSuffix = iif(AccountName contains \"@\", tostring(split(AccountName, '@', 1)[0]), \"\")\n| summarize StartTimeUtc = min(TimeGenerated), EndTimeUtc = max(TimeGenerated) by EventName, EventTypeName, LoginResult, MFAUsed, RecipientAccountId, AccountName, AccountUPNSuffix, UserIdentityAccountId, UserIdentityPrincipalid, UserAgent,\n UserIdentityUserName, SessionMfaAuthenticated, SourceIpAddress, AWSRegion\n", @@ -2611,16 +2611,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -2628,8 +2628,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -2725,16 +2725,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "UPNSuffix" + "columnName": "UPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "ObjectGuid", - "columnName": "RemoteAWSAccountId" + "columnName": "RemoteAWSAccountId", + "identifier": "ObjectGuid" } ], "entityType": "Account" @@ -2742,8 +2742,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "RemoteIpAddress" + "columnName": "RemoteIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -2751,8 +2751,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "LocalIpAddress" + "columnName": "LocalIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -2760,8 +2760,8 @@ { "fieldMappings": [ { - "identifier": "Url", - "columnName": "FindingLink" + "columnName": "FindingLink", + "identifier": "Url" } ], "entityType": "URL" @@ -2769,15 +2769,15 @@ ], "customDetails": { "ResourceTypeAffected": "ResourceTypeAffected", - "DetectionMechanism": "DetectionMechanism", - "ThreatFamilyName": "ThreatFamilyName", + "Artifact": "Artifact", "ThreatPurpose": "ThreatPurpose", - "Artifact": "Artifact" + "ThreatFamilyName": "ThreatFamilyName", + "DetectionMechanism": "DetectionMechanism" }, "alertDetailsOverride": { + "alertTacticsColumnName": "ThreatPurpose", "alertDescriptionFormat": "{{Description}}", "alertDisplayNameFormat": "{{Title}}", - "alertTacticsColumnName": "ThreatPurpose", "alertSeverityColumnName": "Severity" } } @@ -2876,16 +2876,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -2893,8 +2893,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -2996,16 +2996,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -3013,8 +3013,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -3116,16 +3116,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -3133,8 +3133,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -3236,16 +3236,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -3253,8 +3253,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -3356,16 +3356,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -3373,8 +3373,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -3476,16 +3476,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -3493,8 +3493,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -3596,16 +3596,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -3613,8 +3613,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -3716,16 +3716,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -3733,8 +3733,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -3836,16 +3836,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -3853,8 +3853,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -3956,16 +3956,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -3973,8 +3973,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -4076,16 +4076,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -4093,8 +4093,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -4196,16 +4196,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -4213,8 +4213,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -4316,16 +4316,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -4333,8 +4333,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -4436,16 +4436,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -4453,8 +4453,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -4556,16 +4556,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -4573,8 +4573,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -4676,16 +4676,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -4693,8 +4693,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -4796,16 +4796,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -4813,8 +4813,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -4913,16 +4913,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -4930,8 +4930,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -5033,16 +5033,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -5050,8 +5050,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -5153,16 +5153,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -5170,8 +5170,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -5273,16 +5273,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -5290,8 +5290,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -5393,16 +5393,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -5410,8 +5410,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -5513,16 +5513,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -5530,8 +5530,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -5633,16 +5633,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -5650,8 +5650,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -5753,16 +5753,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -5770,8 +5770,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -5873,16 +5873,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -5890,8 +5890,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -5993,16 +5993,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -6010,8 +6010,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -6113,16 +6113,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -6130,8 +6130,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -6233,16 +6233,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -6250,8 +6250,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -6353,16 +6353,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -6370,8 +6370,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -6473,16 +6473,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -6490,8 +6490,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -6593,16 +6593,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -6610,8 +6610,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -6713,16 +6713,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -6730,8 +6730,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -6833,16 +6833,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -6850,8 +6850,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -6953,16 +6953,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -6970,8 +6970,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -7073,16 +7073,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -7090,8 +7090,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -7193,16 +7193,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -7210,8 +7210,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -7313,16 +7313,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -7330,8 +7330,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -7433,16 +7433,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -7450,8 +7450,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -7553,16 +7553,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -7570,8 +7570,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -7673,16 +7673,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -7690,8 +7690,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -7793,16 +7793,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -7810,8 +7810,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -7913,16 +7913,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -7930,8 +7930,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -8033,16 +8033,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -8050,8 +8050,8 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" @@ -8164,25 +8164,25 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" } ], "customDetails": { - "SuspiciousCommand": "commands", "AWSUserIp": "SourceIpAddress", - "AWSUser": "UserIdentityUserName" + "AWSUser": "UserIdentityUserName", + "SuspiciousCommand": "commands" } } }, @@ -8280,16 +8280,16 @@ { "fieldMappings": [ { - "identifier": "Name", - "columnName": "AccountName" + "columnName": "AccountName", + "identifier": "Name" }, { - "identifier": "UPNSuffix", - "columnName": "AccountUPNSuffix" + "columnName": "AccountUPNSuffix", + "identifier": "UPNSuffix" }, { - "identifier": "CloudAppAccountId", - "columnName": "RecipientAccountId" + "columnName": "RecipientAccountId", + "identifier": "CloudAppAccountId" } ], "entityType": "Account" @@ -8297,17 +8297,17 @@ { "fieldMappings": [ { - "identifier": "Address", - "columnName": "SourceIpAddress" + "columnName": "SourceIpAddress", + "identifier": "Address" } ], "entityType": "IP" } ], "customDetails": { - "SourceIpAddress": "SourceIpAddress", + "AWSUser": "UserIdentityArn", "UserAgent": "UserAgent", - "AWSUser": "UserIdentityArn" + "SourceIpAddress": "SourceIpAddress" } } }, From 451aa79be0049c2b39ee441044360e9953042ac5 Mon Sep 17 00:00:00 2001 From: PrasadBoke Date: Mon, 27 May 2024 18:37:35 +0530 Subject: [PATCH 4/4] Update ReleaseNotes.md --- Solutions/Amazon Web Services/ReleaseNotes.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Solutions/Amazon Web Services/ReleaseNotes.md b/Solutions/Amazon Web Services/ReleaseNotes.md index 93a89e34f54..2232f4ed0d6 100644 --- a/Solutions/Amazon Web Services/ReleaseNotes.md +++ b/Solutions/Amazon Web Services/ReleaseNotes.md @@ -1,5 +1,6 @@ | **Version** | **Date Modified (DD-MM-YYYY)** | **Change History** | |-------------|--------------------------------|---------------------------------------------| +| 3.0.3 | 27-05-2024 | Updated **Hunting Query** AWS_FailedBruteForceS3Bucket.yaml | | 3.0.2 | 05-04-2024 | Updated awsS3 **Data connector**, added new Data Type CloudWatch | | 3.0.1 | 22-12-2023 | Added new **Analytic Rule** (AWS Config Service Resource Deletion Attempts) | | 3.0.0 | 04-12-2023 | Updated **Analytical Rule** AWS_GuardDuty_template with entity mappings | \ No newline at end of file

H-{0``qKAz3GZH{?$1tyQwKe9{SUG9 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 literal 0 HcmV?d00001 diff --git a/Solutions/Amazon Web Services/Package/createUiDefinition.json b/Solutions/Amazon Web Services/Package/createUiDefinition.json index e9ca4148d66..e53678ba59c 100644 --- a/Solutions/Amazon Web Services/Package/createUiDefinition.json +++ b/Solutions/Amazon Web Services/Package/createUiDefinition.json @@ -6,7 +6,7 @@ "config": { "isWizard": false, "basics": { - "description": "\n\n**Note:** Please refer to the following before installing the solution: \n\n• Review the solution [Release Notes](https://github.com/Azure/Azure-Sentinel/tree/master/Solutions/Amazon%20Web%20Services/ReleaseNotes.md)\n\n • There may be [known issues](https://aka.ms/sentinelsolutionsknownissues) pertaining to this Solution, please refer to them before installing.\n\nThe Amazon Web Services solution for Microsoft Sentinel allows you to enable Security monitoring of AWS services by allowing ingestion of logs from the AWS CloudTrail platform, VPC Flow Logs, AWS GuardDuty and AWS CloudWatch.\n\n**Data Connectors:** 2, **Workbooks:** 2, **Analytic Rules:** 57, **Hunting Queries:** 36\n\n[Learn more about Microsoft Sentinel](https://aka.ms/azuresentinel) | [Learn more about Solutions](https://aka.ms/azuresentinelsolutionsdoc)", + "description": "\n\n**Note:** Please refer to the following before installing the solution: \n\n• Review the solution [Release Notes](https://github.com/Azure/Azure-Sentinel/tree/master/Solutions/Amazon%20Web%20Services/ReleaseNotes.md)\n\n • There may be [known issues](https://aka.ms/sentinelsolutionsknownissues) pertaining to this Solution, please refer to them before installing.\n\nThe Amazon Web Services solution for Microsoft Sentinel allows you to enable Security monitoring of AWS services by allowing ingestion of logs from the AWS CloudTrail platform, VPC Flow Logs, AWS GuardDuty and AWS CloudWatch. \n\n**Data Connectors:** 2, **Workbooks:** 2, **Analytic Rules:** 57, **Hunting Queries:** 36\n\n[Learn more about Microsoft Sentinel](https://aka.ms/azuresentinel) | [Learn more about Solutions](https://aka.ms/azuresentinelsolutionsdoc)", "subscription": { "resourceProviders": [ "Microsoft.OperationsManagement/solutions", @@ -63,6 +63,13 @@ "text": "This Solution installs the data connector for Amazon Web Services. You can get Amazon Web Services custom log data in your Microsoft Sentinel workspace. After installing the solution, configure and enable this data connector by following guidance in Manage solution view." } }, + { + "name": "dataconnectors2-text", + "type": "Microsoft.Common.TextBlock", + "options": { + "text": "This Solution installs the data connector for Amazon Web Services. You can get Amazon Web Services custom log data in your Microsoft Sentinel workspace. After installing the solution, configure and enable this data connector by following guidance in Manage solution view." + } + }, { "name": "dataconnectors-link2", "type": "Microsoft.Common.TextBlock", diff --git a/Solutions/Amazon Web Services/Package/mainTemplate.json b/Solutions/Amazon Web Services/Package/mainTemplate.json index c76d0f6c6ed..a96c6c92bad 100644 --- a/Solutions/Amazon Web Services/Package/mainTemplate.json +++ b/Solutions/Amazon Web Services/Package/mainTemplate.json @@ -47,7 +47,7 @@ }, "variables": { "_solutionName": "Amazon Web Services", - "_solutionVersion": "3.0.2", + "_solutionVersion": "3.0.3", "solutionId": "azuresentinel.azure-sentinel-solution-amazonwebservices", "_solutionId": "[variables('solutionId')]", "uiConfigId1": "AWS", @@ -672,7 +672,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "Amazon Web Services data connector with template version 3.0.2", + "description": "Amazon Web Services data connector with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('dataConnectorVersion1')]", @@ -829,7 +829,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "Amazon Web Services data connector with template version 3.0.2", + "description": "Amazon Web Services data connector with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('dataConnectorVersion2')]", @@ -1251,7 +1251,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AmazonWebServicesNetworkActivities Workbook with template version 3.0.2", + "description": "AmazonWebServicesNetworkActivities Workbook with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('workbookVersion1')]", @@ -1338,7 +1338,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AmazonWebServicesUserActivities Workbook with template version 3.0.2", + "description": "AmazonWebServicesUserActivities Workbook with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('workbookVersion2')]", @@ -1425,7 +1425,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_ChangeToRDSDatabase_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_ChangeToRDSDatabase_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject1').analyticRuleVersion1]", @@ -1453,16 +1453,16 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] }, { + "connectorId": "AWSS3", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWSS3" + ] } ], "tactics": [ @@ -1473,30 +1473,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -1551,7 +1551,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_ChangeToVPC_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_ChangeToVPC_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject2').analyticRuleVersion2]", @@ -1579,16 +1579,16 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] }, { + "connectorId": "AWSS3", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWSS3" + ] } ], "tactics": [ @@ -1601,30 +1601,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -1679,7 +1679,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_ClearStopChangeTrailLogs_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_ClearStopChangeTrailLogs_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject3').analyticRuleVersion3]", @@ -1707,16 +1707,16 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] }, { + "connectorId": "AWSS3", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWSS3" + ] } ], "tactics": [ @@ -1724,30 +1724,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -1802,7 +1802,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_ConfigServiceResourceDeletion_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_ConfigServiceResourceDeletion_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject4').analyticRuleVersion4]", @@ -1830,16 +1830,16 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] }, { + "connectorId": "AWSS3", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWSS3" + ] } ], "tactics": [ @@ -1854,30 +1854,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -1932,7 +1932,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_ConsoleLogonWithoutMFA_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_ConsoleLogonWithoutMFA_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject5').analyticRuleVersion5]", @@ -1960,16 +1960,16 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] }, { + "connectorId": "AWSS3", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWSS3" + ] } ], "tactics": [ @@ -1983,30 +1983,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -2061,7 +2061,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_CredentialHijack_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_CredentialHijack_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject6').analyticRuleVersion6]", @@ -2089,16 +2089,16 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] }, { + "connectorId": "AWSS3", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWSS3" + ] } ], "tactics": [ @@ -2109,30 +2109,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -2187,7 +2187,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_FullAdminPolicyAttachedToRolesUsersGroups_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_FullAdminPolicyAttachedToRolesUsersGroups_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject7').analyticRuleVersion7]", @@ -2215,16 +2215,16 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] }, { + "connectorId": "AWSS3", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWSS3" + ] } ], "tactics": [ @@ -2232,30 +2232,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -2310,7 +2310,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_IngressEgressSecurityGroupChange_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_IngressEgressSecurityGroupChange_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject8').analyticRuleVersion8]", @@ -2338,16 +2338,16 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] }, { + "connectorId": "AWSS3", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWSS3" + ] } ], "tactics": [ @@ -2358,30 +2358,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -2436,7 +2436,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_LoadBalancerSecGroupChange_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_LoadBalancerSecGroupChange_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject9').analyticRuleVersion9]", @@ -2464,16 +2464,16 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] }, { + "connectorId": "AWSS3", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWSS3" + ] } ], "tactics": [ @@ -2484,30 +2484,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -2562,7 +2562,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "NRT_AWS_ConsoleLogonWithoutMFA_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "NRT_AWS_ConsoleLogonWithoutMFA_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject10').analyticRuleVersion10]", @@ -2586,16 +2586,16 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] }, { + "connectorId": "AWSS3", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWSS3" + ] } ], "tactics": [ @@ -2609,30 +2609,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -2687,7 +2687,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_GuardDuty_template_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_GuardDuty_template_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject11').analyticRuleVersion11]", @@ -2715,70 +2715,70 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWSS3", "dataTypes": [ "AWSGuardDuty" - ], - "connectorId": "AWSS3" + ] } ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "UPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "UPNSuffix" }, { - "columnName": "RemoteAWSAccountId", - "identifier": "ObjectGuid" + "identifier": "ObjectGuid", + "columnName": "RemoteAWSAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "RemoteIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "RemoteIpAddress" } - ] + ], + "entityType": "IP" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "LocalIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "LocalIpAddress" } - ] + ], + "entityType": "IP" }, { - "entityType": "URL", "fieldMappings": [ { - "columnName": "FindingLink", - "identifier": "Url" + "identifier": "Url", + "columnName": "FindingLink" } - ] + ], + "entityType": "URL" } ], "customDetails": { + "ResourceTypeAffected": "ResourceTypeAffected", + "DetectionMechanism": "DetectionMechanism", "ThreatFamilyName": "ThreatFamilyName", - "Artifact": "Artifact", "ThreatPurpose": "ThreatPurpose", - "ResourceTypeAffected": "ResourceTypeAffected", - "DetectionMechanism": "DetectionMechanism" + "Artifact": "Artifact" }, "alertDetailsOverride": { - "alertTacticsColumnName": "ThreatPurpose", "alertDescriptionFormat": "{{Description}}", - "alertSeverityColumnName": "Severity", - "alertDisplayNameFormat": "{{Title}}" + "alertDisplayNameFormat": "{{Title}}", + "alertTacticsColumnName": "ThreatPurpose", + "alertSeverityColumnName": "Severity" } } }, @@ -2832,7 +2832,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_ECRContainerHigh_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_ECRContainerHigh_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject12').analyticRuleVersion12]", @@ -2860,10 +2860,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -2874,30 +2874,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -2952,7 +2952,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_SuspiciousCommandEC2_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_SuspiciousCommandEC2_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject13').analyticRuleVersion13]", @@ -2980,10 +2980,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -2994,30 +2994,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -3072,7 +3072,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_APIfromTor_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_APIfromTor_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject14').analyticRuleVersion14]", @@ -3100,10 +3100,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -3114,30 +3114,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -3192,7 +3192,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_GuardDutyDisabled_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_GuardDutyDisabled_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject15').analyticRuleVersion15]", @@ -3220,10 +3220,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -3234,30 +3234,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -3312,7 +3312,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_CreatedCloudFormationPolicytoPrivilegeEscalation_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_CreatedCloudFormationPolicytoPrivilegeEscalation_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject16').analyticRuleVersion16]", @@ -3340,10 +3340,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -3354,30 +3354,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -3432,7 +3432,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_CreatedCRUDDyanmoDBPolicytoPrivilegeEscalation_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_CreatedCRUDDyanmoDBPolicytoPrivilegeEscalation_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject17').analyticRuleVersion17]", @@ -3460,10 +3460,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -3474,30 +3474,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -3552,7 +3552,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_CreatedCRUDIAMtoPrivilegeEscalation_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_CreatedCRUDIAMtoPrivilegeEscalation_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject18').analyticRuleVersion18]", @@ -3580,10 +3580,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -3594,30 +3594,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -3672,7 +3672,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_CreatedCRUDKMSPolicytoPrivilegeEscalation_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_CreatedCRUDKMSPolicytoPrivilegeEscalation_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject19').analyticRuleVersion19]", @@ -3700,10 +3700,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -3714,30 +3714,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -3792,7 +3792,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_CreatedCRUDS3PolicytoPrivilegeEscalation_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_CreatedCRUDS3PolicytoPrivilegeEscalation_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject20').analyticRuleVersion20]", @@ -3820,10 +3820,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -3834,30 +3834,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -3912,7 +3912,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_CreatedCURDLambdaPolicytoPrivilegEscalation_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_CreatedCURDLambdaPolicytoPrivilegEscalation_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject21').analyticRuleVersion21]", @@ -3940,10 +3940,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -3954,30 +3954,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -4032,7 +4032,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_CreatedDataPipelinePolicytoPrivilegeEscalation_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_CreatedDataPipelinePolicytoPrivilegeEscalation_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject22').analyticRuleVersion22]", @@ -4060,10 +4060,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -4074,30 +4074,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -4152,7 +4152,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_CreatedEC2PolicytoPrivilegeEscalation_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_CreatedEC2PolicytoPrivilegeEscalation_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject23').analyticRuleVersion23]", @@ -4180,10 +4180,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -4194,30 +4194,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -4272,7 +4272,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_CreatedGluePolicytoPrivilegeEscalation_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_CreatedGluePolicytoPrivilegeEscalation_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject24').analyticRuleVersion24]", @@ -4300,10 +4300,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -4314,30 +4314,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -4392,7 +4392,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_CreatedLambdaPolicytoPrivilegeEscalation_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_CreatedLambdaPolicytoPrivilegeEscalation_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject25').analyticRuleVersion25]", @@ -4420,10 +4420,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -4434,30 +4434,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -4512,7 +4512,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_CreatedSSMPolicytoPrivilegeEscalation_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_CreatedSSMPolicytoPrivilegeEscalation_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject26').analyticRuleVersion26]", @@ -4540,10 +4540,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -4554,30 +4554,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -4632,7 +4632,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_CreationofEncryptKeysWithoutMFA_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_CreationofEncryptKeysWithoutMFA_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject27').analyticRuleVersion27]", @@ -4660,10 +4660,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -4674,30 +4674,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -4752,7 +4752,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_ECRImageScanningDisabled_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_ECRImageScanningDisabled_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject28').analyticRuleVersion28]", @@ -4780,10 +4780,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -4794,30 +4794,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -4872,7 +4872,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_LogTampering_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_LogTampering_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject29').analyticRuleVersion29]", @@ -4900,10 +4900,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -4911,30 +4911,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -4989,7 +4989,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_NetworkACLOpenToAllPorts_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_NetworkACLOpenToAllPorts_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject30').analyticRuleVersion30]", @@ -5017,10 +5017,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -5031,30 +5031,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -5109,7 +5109,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_OverlyPermessiveKMS_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_OverlyPermessiveKMS_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject31').analyticRuleVersion31]", @@ -5137,10 +5137,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -5151,30 +5151,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -5229,7 +5229,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_PrivilegeEscalationAdministratorAccessManagedPolicy_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_PrivilegeEscalationAdministratorAccessManagedPolicy_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject32').analyticRuleVersion32]", @@ -5257,10 +5257,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -5271,30 +5271,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -5349,7 +5349,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_PrivilegeEscalationAdminManagedPolicy_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_PrivilegeEscalationAdminManagedPolicy_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject33').analyticRuleVersion33]", @@ -5377,10 +5377,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -5391,30 +5391,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -5469,7 +5469,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_PrivilegeEscalationFullAccessManagedPolicy_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_PrivilegeEscalationFullAccessManagedPolicy_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject34').analyticRuleVersion34]", @@ -5497,10 +5497,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -5511,30 +5511,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -5589,7 +5589,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_PrivilegeEscalationViaCloudFormationPolicy_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_PrivilegeEscalationViaCloudFormationPolicy_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject35').analyticRuleVersion35]", @@ -5617,10 +5617,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -5631,30 +5631,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -5709,7 +5709,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_PrivilegeEscalationviaCRUDDynamoDB_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_PrivilegeEscalationviaCRUDDynamoDB_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject36').analyticRuleVersion36]", @@ -5737,10 +5737,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -5751,30 +5751,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -5829,7 +5829,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_PrivilegeEscalationViaCRUDIAMPolicy_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_PrivilegeEscalationViaCRUDIAMPolicy_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject37').analyticRuleVersion37]", @@ -5857,10 +5857,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -5871,30 +5871,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -5949,7 +5949,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_PrivilegeEscalationViaCRUDKMSPolicy_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_PrivilegeEscalationViaCRUDKMSPolicy_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject38').analyticRuleVersion38]", @@ -5977,10 +5977,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -5991,30 +5991,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -6069,7 +6069,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_PrivilegeEscalationViaCRUDLambdaPolicy_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_PrivilegeEscalationViaCRUDLambdaPolicy_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject39').analyticRuleVersion39]", @@ -6097,10 +6097,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -6111,30 +6111,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -6189,7 +6189,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_PrivilegeEscalationViaCRUDS3Policy_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_PrivilegeEscalationViaCRUDS3Policy_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject40').analyticRuleVersion40]", @@ -6217,10 +6217,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -6231,30 +6231,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -6309,7 +6309,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_PrivilegeEscalationViaDataPipeline_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_PrivilegeEscalationViaDataPipeline_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject41').analyticRuleVersion41]", @@ -6337,10 +6337,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -6351,30 +6351,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -6429,7 +6429,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_PrivilegeEscalationViaEC2Policy_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_PrivilegeEscalationViaEC2Policy_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject42').analyticRuleVersion42]", @@ -6457,10 +6457,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -6471,30 +6471,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -6549,7 +6549,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_PrivilegeEscalationViaGluePolicy_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_PrivilegeEscalationViaGluePolicy_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject43').analyticRuleVersion43]", @@ -6577,10 +6577,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -6591,30 +6591,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -6669,7 +6669,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_PrivilegeEscalationViaLambdaPolicy_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_PrivilegeEscalationViaLambdaPolicy_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject44').analyticRuleVersion44]", @@ -6697,10 +6697,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -6711,30 +6711,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -6789,7 +6789,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_PrivilegeEscalationViaSSM_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_PrivilegeEscalationViaSSM_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject45').analyticRuleVersion45]", @@ -6817,10 +6817,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -6831,30 +6831,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -6909,7 +6909,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_RDSInstancePubliclyExposed_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_RDSInstancePubliclyExposed_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject46').analyticRuleVersion46]", @@ -6937,10 +6937,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -6951,30 +6951,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -7029,7 +7029,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_S3BruteForce_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_S3BruteForce_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject47').analyticRuleVersion47]", @@ -7057,10 +7057,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -7071,30 +7071,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -7149,7 +7149,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_S3BucketAccessPointExposed_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_S3BucketAccessPointExposed_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject48').analyticRuleVersion48]", @@ -7177,10 +7177,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -7191,30 +7191,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -7269,7 +7269,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_S3BucketExposedviaACL_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_S3BucketExposedviaACL_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject49').analyticRuleVersion49]", @@ -7297,10 +7297,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -7311,30 +7311,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -7389,7 +7389,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_S3BucketExposedviaPolicy_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_S3BucketExposedviaPolicy_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject50').analyticRuleVersion50]", @@ -7417,10 +7417,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -7431,30 +7431,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -7509,7 +7509,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_S3ObjectPubliclyExposed_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_S3ObjectPubliclyExposed_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject51').analyticRuleVersion51]", @@ -7537,10 +7537,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -7551,30 +7551,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -7629,7 +7629,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_S3Ransomware_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_S3Ransomware_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject52').analyticRuleVersion52]", @@ -7657,10 +7657,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -7671,30 +7671,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -7749,7 +7749,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_SAMLUpdateIdentity_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_SAMLUpdateIdentity_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject53').analyticRuleVersion53]", @@ -7777,10 +7777,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -7791,30 +7791,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -7869,7 +7869,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_SetDefaulyPolicyVersion_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_SetDefaulyPolicyVersion_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject54').analyticRuleVersion54]", @@ -7897,10 +7897,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -7911,30 +7911,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -7989,7 +7989,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_SSMPubliclyExposed_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "AWS_SSMPubliclyExposed_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject55').analyticRuleVersion55]", @@ -8017,10 +8017,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -8031,30 +8031,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ] } @@ -8109,7 +8109,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "SuspiciousAWSCLICommandExecution_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "SuspiciousAWSCLICommandExecution_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject56').analyticRuleVersion56]", @@ -8137,10 +8137,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -8162,21 +8162,21 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" } ], "customDetails": { @@ -8236,7 +8236,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "SuspiciousAWSEC2ComputeResourceDeployments_AnalyticalRules Analytics Rule with template version 3.0.2", + "description": "SuspiciousAWSEC2ComputeResourceDeployments_AnalyticalRules Analytics Rule with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('analyticRuleObject57').analyticRuleVersion57]", @@ -8264,10 +8264,10 @@ "status": "Available", "requiredDataConnectors": [ { + "connectorId": "AWS", "dataTypes": [ "AWSCloudTrail" - ], - "connectorId": "AWS" + ] } ], "tactics": [ @@ -8278,30 +8278,30 @@ ], "entityMappings": [ { - "entityType": "Account", "fieldMappings": [ { - "columnName": "AccountName", - "identifier": "Name" + "identifier": "Name", + "columnName": "AccountName" }, { - "columnName": "AccountUPNSuffix", - "identifier": "UPNSuffix" + "identifier": "UPNSuffix", + "columnName": "AccountUPNSuffix" }, { - "columnName": "RecipientAccountId", - "identifier": "CloudAppAccountId" + "identifier": "CloudAppAccountId", + "columnName": "RecipientAccountId" } - ] + ], + "entityType": "Account" }, { - "entityType": "IP", "fieldMappings": [ { - "columnName": "SourceIpAddress", - "identifier": "Address" + "identifier": "Address", + "columnName": "SourceIpAddress" } - ] + ], + "entityType": "IP" } ], "customDetails": { @@ -8361,7 +8361,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_IAM_PolicyChange_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_IAM_PolicyChange_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject1').huntingQueryVersion1]", @@ -8445,7 +8445,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_IAM_PrivilegeEscalationbyAttachment_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_IAM_PrivilegeEscalationbyAttachment_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject2').huntingQueryVersion2]", @@ -8529,7 +8529,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_PrivilegedRoleAttachedToInstance_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_PrivilegedRoleAttachedToInstance_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject3').huntingQueryVersion3]", @@ -8613,7 +8613,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_SuspiciousCredentialTokenAccessOfValid_IAM_Roles_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_SuspiciousCredentialTokenAccessOfValid_IAM_Roles_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject4').huntingQueryVersion4]", @@ -8697,7 +8697,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_Unused_UnsupportedCloudRegions_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_Unused_UnsupportedCloudRegions_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject5').huntingQueryVersion5]", @@ -8781,7 +8781,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_EC2_WithoutKeyPair_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_EC2_WithoutKeyPair_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject6').huntingQueryVersion6]", @@ -8865,7 +8865,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_AssumeRoleBruteForce_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_AssumeRoleBruteForce_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject7').huntingQueryVersion7]", @@ -8949,7 +8949,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_BucketVersioningSuspended_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_BucketVersioningSuspended_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject8').huntingQueryVersion8]", @@ -9033,7 +9033,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_CreateAccessKey_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_CreateAccessKey_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject9').huntingQueryVersion9]", @@ -9117,7 +9117,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_CreateLoginProfile_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_CreateLoginProfile_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject10').huntingQueryVersion10]", @@ -9201,7 +9201,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_ECRContainerLow_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_ECRContainerLow_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject11').huntingQueryVersion11]", @@ -9285,7 +9285,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_ECRContainerMedium_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_ECRContainerMedium_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject12').huntingQueryVersion12]", @@ -9369,7 +9369,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_ExcessiveExecutionofDiscoveryEvents_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_ExcessiveExecutionofDiscoveryEvents_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject13').huntingQueryVersion13]", @@ -9453,7 +9453,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_FailedBruteForceS3Bucket_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_FailedBruteForceS3Bucket_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject14').huntingQueryVersion14]", @@ -9469,7 +9469,7 @@ "eTag": "*", "displayName": "Failed brute force on S3 bucket", "category": "Hunting Queries", - "query": "AWSCloudTrail\n| where EventName == \"GetObject\" and isempty(ErrorCode) and isempty(ErrorMessage)\n| where UserIdentityAccountId == \"ANONYMOUS_PRINCIPAL\" or UserIdentityAccessKeyId <> RecipientAccountId\n| extend bucketName = tostring(parse_json(RequestParameters).bucketName), keyName = tostring(parse_json(RequestParameters).key)\n| summarize arg_max(TimeGenerated, *), failed_attempts = dcount(keyName) by UserIdentityAccountId, SourceIpAddress, bucketName\n| where failed_attempts > 20\n| extend UserIdentityUserName = iff(isnotempty(UserIdentityUserName), UserIdentityUserName, tostring(split(UserIdentityArn,'/')[-1]))\n| extend timestamp = TimeGenerated, IPCustomEntity = SourceIpAddress, AccountCustomEntity = UserIdentityUserName, bucketName\n", + "query": "AWSCloudTrail\n| where EventName == \"GetObject\" and not(isempty(ErrorCode) and isempty(ErrorMessage))\n| where UserIdentityAccountId == \"ANONYMOUS_PRINCIPAL\" or UserIdentityAccessKeyId <> RecipientAccountId\n| extend bucketName = tostring(parse_json(RequestParameters).bucketName), keyName = tostring(parse_json(RequestParameters).key)\n| summarize arg_max(TimeGenerated, *), failed_attempts = dcount(keyName) by UserIdentityAccountId, SourceIpAddress, bucketName\n| where failed_attempts > 20\n| extend UserIdentityUserName = iff(isnotempty(UserIdentityUserName), UserIdentityUserName, tostring(split(UserIdentityArn,'/')[-1]))\n| extend timestamp = TimeGenerated, IPCustomEntity = SourceIpAddress, AccountCustomEntity = UserIdentityUserName, bucketName\n", "version": 2, "tags": [ { @@ -9537,7 +9537,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_FailedBruteForceWithoutMFA_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_FailedBruteForceWithoutMFA_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject15').huntingQueryVersion15]", @@ -9621,7 +9621,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_IAMAccsesDeniedDiscoveryEvents_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_IAMAccsesDeniedDiscoveryEvents_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject16').huntingQueryVersion16]", @@ -9705,7 +9705,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_IAMUserGroupChanges_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_IAMUserGroupChanges_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject17').huntingQueryVersion17]", @@ -9789,7 +9789,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_LambdaFunctionThrottled_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_LambdaFunctionThrottled_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject18').huntingQueryVersion18]", @@ -9873,7 +9873,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_LambdaLayerImportedExternalAccount_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_LambdaLayerImportedExternalAccount_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject19').huntingQueryVersion19]", @@ -9957,7 +9957,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_LambdaUpdateFunctionCode_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_LambdaUpdateFunctionCode_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject20').huntingQueryVersion20]", @@ -10041,7 +10041,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_LoginProfileUpdated_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_LoginProfileUpdated_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject21').huntingQueryVersion21]", @@ -10125,7 +10125,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_ModificationofRouteTableAttributes_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_ModificationofRouteTableAttributes_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject22').huntingQueryVersion22]", @@ -10209,7 +10209,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_ModificationofSubnetAttributes_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_ModificationofSubnetAttributes_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject23').huntingQueryVersion23]", @@ -10293,7 +10293,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_ModificationofVPCAttributes_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_ModificationofVPCAttributes_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject24').huntingQueryVersion24]", @@ -10377,7 +10377,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_NetworkACLDeleted_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_NetworkACLDeleted_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject25').huntingQueryVersion25]", @@ -10461,7 +10461,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_NewRootAccessKey_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_NewRootAccessKey_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject26').huntingQueryVersion26]", @@ -10545,7 +10545,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_PolicywithExcessivePermissions_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_PolicywithExcessivePermissions_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject27').huntingQueryVersion27]", @@ -10629,7 +10629,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_RDSMasterPasswordChanged_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_RDSMasterPasswordChanged_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject28').huntingQueryVersion28]", @@ -10713,7 +10713,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_RiskyRoleName_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_RiskyRoleName_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject29').huntingQueryVersion29]", @@ -10797,7 +10797,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_S3BucketDeleted_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_S3BucketDeleted_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject30').huntingQueryVersion30]", @@ -10881,7 +10881,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_S3BucketEncryptionModified_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_S3BucketEncryptionModified_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject31').huntingQueryVersion31]", @@ -10965,7 +10965,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_STStoEC2_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_STStoEC2_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject32').huntingQueryVersion32]", @@ -11049,7 +11049,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_STStoECS_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_STStoECS_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject33').huntingQueryVersion33]", @@ -11133,7 +11133,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_STStoGlue_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_STStoGlue_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject34').huntingQueryVersion34]", @@ -11217,7 +11217,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_STStoKWN_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_STStoKWN_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject35').huntingQueryVersion35]", @@ -11301,7 +11301,7 @@ "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" ], "properties": { - "description": "AWS_STStoLambda_HuntingQueries Hunting Query with template version 3.0.2", + "description": "AWS_STStoLambda_HuntingQueries Hunting Query with template version 3.0.3", "mainTemplate": { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "[variables('huntingQueryObject36').huntingQueryVersion36]", @@ -11381,7 +11381,7 @@ "apiVersion": "2023-04-01-preview", "location": "[parameters('workspace-location')]", "properties": { - "version": "3.0.2", + "version": "3.0.3", "kind": "Solution", "contentSchemaVersion": "3.0.0", "displayName": "Amazon Web Services", From e7394a61838abe75da083acc23b928355d140353 Mon Sep 17 00:00:00 2001 From: PrasadBoke Date: Mon, 27 May 2024 18:12:54 +0530 Subject: [PATCH 3/4] Solution packaged --- .../Amazon Web Services/Package/3.0.3.zip | Bin 66772 -> 65764 bytes .../Package/createUiDefinition.json | 13 +- .../Package/mainTemplate.json | 950 +++++++++--------- 3 files changed, 478 insertions(+), 485 deletions(-) diff --git a/Solutions/Amazon Web Services/Package/3.0.3.zip b/Solutions/Amazon Web Services/Package/3.0.3.zip index eb80156ef2530b1b1e6a4bf36e24c8df5d211366..4b20b22652d5227c0b200465f05fab755054f25b 100644 GIT binary patch literal 65764 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 SZ{LCeeuIIl9MB^a)c*lcBD1vs literal 66772 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