diff --git a/.script/tests/KqlvalidationsTests/CustomTables/DataminrPulseAlerts.json b/.script/tests/KqlvalidationsTests/CustomTables/DataminrPulseAlerts.json new file mode 100644 index 00000000000..b3d24372301 --- /dev/null +++ b/.script/tests/KqlvalidationsTests/CustomTables/DataminrPulseAlerts.json @@ -0,0 +1,165 @@ +{ + "Name": "DataminrPulseAlerts", + "Properties": [ + { + "Name": "TimeGenerated", + "Type": "datetime" + }, + { + "Name": "EventVendor", + "Type": "string" + }, + { + "Name": "EventProduct", + "Type": "string" + }, + { + "Name": "AlertId", + "Type": "string" + }, + { + "Name": "AlertType", + "Type": "string" + }, + { + "Name": "AvailableRelatedAlerts", + "Type": "real" + }, + { + "Name": "Caption", + "Type": "string" + }, + { + "Name": "Company", + "Type": "string" + }, + { + "Name": "CompanyNames", + "Type": "string" + }, + { + "Name": "Category", + "Type": "string" + }, + { + "Name": "CategoryNames", + "Type": "string" + }, + { + "Name": "Latitude", + "Type": "real" + }, + { + "Name": "Longitude", + "Type": "real" + }, + { + "Name": "EventLocationName", + "Type": "string" + }, + { + "Name": "EventLocationPlace", + "Type": "string" + }, + { + "Name": "EventLocationProbability", + "Type": "real" + }, + { + "Name": "EventLocationRadius", + "Type": "real" + }, + { + "Name": "EventSource", + "Type": "string" + }, + { + "Name": "EventTime", + "Type": "real" + }, + { + "Name": "EventVolume", + "Type": "real" + }, + { + "Name": "EmbeddedLabels", + "Type": "string" + }, + { + "Name": "PostLanguagae", + "Type": "string" + }, + { + "Name": "PostLink", + "Type": "string" + }, + { + "Name": "PostMedia", + "Type": "string" + }, + { + "Name": "PostText", + "Type": "string" + }, + { + "Name": "PostTimestamp", + "Type": "real" + }, + { + "Name": "PostTranslatedText", + "Type": "string" + }, + { + "Name": "PublisherCategoryName", + "Type": "string" + }, + { + "Name": "RelatedTerms", + "Type": "string" + }, + { + "Name": "Sectors", + "Type": "string" + }, + { + "Name": "SourceChannels", + "Type": "string" + }, + { + "Name": "SourceDisplayName", + "Type": "string" + }, + { + "Name": "SourceEntityName", + "Type": "string" + }, + { + "Name": "SourceLink", + "Type": "string" + }, + { + "Name": "SourceVerified", + "Type": "string" + }, + { + "Name": "SubCaptionBulletsContent", + "Type": "string" + }, + { + "Name": "SubCaptionBulletsMedia", + "Type": "string" + }, + { + "Name": "SubCaptionBulletsSource", + "Type": "string" + }, + { + "Name": "WatchlistsMatchedByType", + "Type": "string" + }, + { + "Name": "WatchlistNames", + "Type": "string" + } + ] +} \ No newline at end of file diff --git a/.script/tests/KqlvalidationsTests/CustomTables/DataminrPulse_Alerts_CL.json b/.script/tests/KqlvalidationsTests/CustomTables/DataminrPulse_Alerts_CL.json new file mode 100644 index 00000000000..3ec1f16318c --- /dev/null +++ b/.script/tests/KqlvalidationsTests/CustomTables/DataminrPulse_Alerts_CL.json @@ -0,0 +1,81 @@ +{ + "Name": "DataminrPulse_Alerts_CL", + "Properties": [ + { + "Name": "TimeGenerated", + "Type": "datetime" + }, + { + "Name": "EventVendor", + "Type": "string" + }, + { + "Name": "EventProduct", + "Type": "string" + }, + { + "Name": "index_s", + "Type": "string" + }, + { + "Name": "alertType_name_s", + "Type": "string" + }, + { + "Name": "availableRelatedAlerts_d", + "Type": "real" + }, + { + "Name": "headline_s", + "Type": "string" + }, + { + "Name": "companies_s", + "Type": "string" + }, + { + "Name": "categories_s", + "Type": "string" + }, + { + "Name": "location_latitude_d", + "Type": "real" + }, + { + "Name": "location_longitude_d", + "Type": "real" + }, + { + "Name": "timestamp_d", + "Type": "real" + }, + { + "Name": "EventVolume", + "Type": "real" + }, + { + "Name": "_embedded_labels_s", + "Type": "string" + }, + { + "Name": "relatedAlerts_s", + "Type": "string" + }, + { + "Name": "dataMap_headlineMds_content_s", + "Type": "string" + }, + { + "Name": "odsStatus_timestamp_d", + "Type": "real" + }, + { + "Name": "watchlistsMatchedByType_s", + "Type": "string" + }, + { + "Name": "location_name_s", + "Type": "string" + } + ] +} \ No newline at end of file diff --git a/.script/tests/KqlvalidationsTests/CustomTables/_ASIM_GetSourceBySourceType.json b/.script/tests/KqlvalidationsTests/CustomTables/_ASIM_GetSourceBySourceType.json new file mode 100644 index 00000000000..fe1e323a8c6 --- /dev/null +++ b/.script/tests/KqlvalidationsTests/CustomTables/_ASIM_GetSourceBySourceType.json @@ -0,0 +1,17 @@ +{ + "Name": "_ASIM_GetSourceBySourceType", + "Properties": [ + { + "Name": "SourceType", + "Type": "string" + }, + { + "Name": "Source", + "Type": "String" + }, + { + "Name": "print_0", + "Type": "dynamic" + } + ] +} \ No newline at end of file diff --git a/.script/tests/detectionTemplateSchemaValidation/ValidConnectorIds.json b/.script/tests/detectionTemplateSchemaValidation/ValidConnectorIds.json index 9b60f59c43b..a534ef4f11d 100644 --- a/.script/tests/detectionTemplateSchemaValidation/ValidConnectorIds.json +++ b/.script/tests/detectionTemplateSchemaValidation/ValidConnectorIds.json @@ -72,6 +72,7 @@ "DNS", "Darktrace", "DarktraceRESTConnector", + "DataminrPulseAlerts", "DigitalGuardianDLP", "DigitalShadows", "Dynamics365", diff --git a/DataConnectors/AWS-SecurityHubFindings/AzFunAWSSecurityHubIngestion.zip b/DataConnectors/AWS-SecurityHubFindings/AzFunAWSSecurityHubIngestion.zip index 598e8a63393..bdccb8b6aee 100644 Binary files a/DataConnectors/AWS-SecurityHubFindings/AzFunAWSSecurityHubIngestion.zip and b/DataConnectors/AWS-SecurityHubFindings/AzFunAWSSecurityHubIngestion.zip differ diff --git a/Logos/DataminrPulse.svg b/Logos/DataminrPulse.svg new file mode 100644 index 00000000000..8f6252daf77 --- /dev/null +++ b/Logos/DataminrPulse.svg @@ -0,0 +1,4 @@ + + + + diff --git a/Sample Data/Custom/DataminrPulse_Alerts_CL.csv b/Sample Data/Custom/DataminrPulse_Alerts_CL.csv new file mode 100644 index 00000000000..2d348573636 --- /dev/null +++ b/Sample Data/Custom/DataminrPulse_Alerts_CL.csv @@ -0,0 +1,23 @@ +categories_s,companies_s,watchlistsMatchedByType_s,index_s,alertType_name_s,availableRelatedAlerts_d,headline_s,location_latitude_d,location_longitude_d,location_name_s,location_places_s,location_probability_d,location_radius_d,headlineData_via_s,timestamp_d,volume_d,_embedded_labels_s,odsStatus_languages_s,odsStatus_link_s,odsStatus_media_s,odsStatus_text_s,odsStatus_timestamp_d,odsStatus_translatedText_s,publisherCategory_name_s,referenceTerms_s,sectors_s,odsStatus_source_channels_s,odsStatus_source_display_name_s,odsStatus_source_entity_name_s,odsStatus_source_link_s,odsStatus_source_verified_s,dataMap_bullets_content_s,dataMap_bullets_media_s,dataMap_bullets_source_s,TimeGenerated [UTC] +"[{""name"": ""Remote Access and Management Systems"",""topicType"": ""category"",""id"": ""961953"",""idStr"": ""961953"",""path"": ""/TOPIC/EXT/CS/961953"",""retired"": false},{""name"": ""Cybersecurity - Threats & Vulnerabilities"",""topicType"": ""category"",""id"": ""853086"",""idStr"": ""853086"",""path"": ""/TOPIC/EXT/CS/853086"",""retired"": false},{""name"": ""Cybersecurity"",""topicType"": ""category"",""id"": ""124022"",""idStr"": ""124022"",""path"": ""/TOPIC/EXT/CS/124022"",""retired"": false},{""name"": ""Cybersecurity - Threats and Vulnerabilities"",""topicType"": ""category"",""id"": ""124030"",""idStr"": ""124030"",""path"": ""/TOPIC/EXT/CS/124030"",""retired"": false}]","[{""name"": ""Türk Telekomünikasyon AS"",""topicType"": ""company"",""id"": ""38abeedcacfa0ccb2b6a17a54db3c2b2"",""idStr"": ""38abeedcacfa0ccb2b6a17a54db3c2b2"",""ticker"": ""TTKOM"",""retired"": false}]","[{""id"": ""3557389"",""type"": ""topics"",""name"": ""Cyber Alerts"",""externalTopicIds"": [""961953""],""userProperties"": {""uiListType"": ""CYBER"",""omnilist"": ""true""}}]",47779842199903023434-1680238163118-1,Alert,0,Turk Telekom IP 71.137.244.101 has open Telnet port 23: Sensor via Shodan.,41.58417,32.64139,"Ulus, Turkey","[""6b9a397b8dc849b8bf667702477885f6"",""443c8fd7e62f4565b157512bd48b36dd"",""47ca2bb6a1669de9f809189e360dbe40"",""48893b2e5f7699e6a7cee02e88e50d99"",""d389283f769a25528bfd89992d46ec69""]",0,0.1,Shodan,1680238163118,0,"[{""id"": ""4e3e2dff-0d8c-4304-a97a-9fd5b67b0b38"",""type"": ""CYBER"",""data"": {""@type"": ""type.googleapis.com/dm_content.cyber.v2.Cyber"",""URLs"": [""78.187.245.107.dynamic.ttnet.com.tr""],""addresses"": [{""ip"": ""78.87.25.10"",""port"": 23}],""asns"": [""AS9121""],""orgs"": [""Turk Telekomunikasyon Anonim Sirketi""],""asOrgs"": [{""asn"": ""AS9121"",""asOrg"": ""Turk Telekomunikasyon Anonim Sirketi""}]}}]",[],https://www.shodan.io/host/1320940907,[],"Potentially Critical CVE Detected! CVE-2023-28755 A ReDoS issue was discovered in the URI component through 0.12.0 in Ruby through 3.2.1. The URI parser mishandles invali... CVSS: 8.88 #ThroughProject #CVE #CyberSecurity +",1680238160346,,Chatter,"[{""term"": ""remote access systems""},{""term"": ""telekom""},{""term"": ""telnet""},{""term"": ""ip""},{""term"": ""sensor""},{""term"": ""turk""}]",[],"[""sensor""]",anzen_osaka,anzen_osaka,"https://nvd.nist.gov/feeds/xml/cve/misc/nvd-rss.xml +",FALSE,IP: 78.187.245.107ASN HOST: Turk TelekomASN: AS9121,,According to Shodan,"3/31/2023, 4:50:28.327 AM" +"[{""name"": ""Data Security"",""topicType"": ""category"",""id"": ""900000"",""idStr"": ""900000"",""path"": ""/TOPIC/EXT/CS/900000"",""retired"": false},{""name"": ""Cybersecurity - Crime & Malicious Activity"",""topicType"": ""category"",""id"": ""853084"",""idStr"": ""853084"",""path"": ""/TOPIC/EXT/CS/853084"",""retired"": false},{""name"": ""Cybersecurity"",""topicType"": ""category"",""id"": ""124022"",""idStr"": ""124022"",""path"": ""/TOPIC/EXT/CS/124022"",""retired"": false},{""name"": ""Data Exposure and Breaches"",""topicType"": ""category"",""id"": ""961960"",""idStr"": ""961960"",""path"": ""/TOPIC/EXT/CS/961960"",""retired"": false},{""name"": ""Cybersecurity - Crime and Malicious Activity"",""topicType"": ""category"",""id"": ""124031"",""idStr"": ""124031"",""path"": ""/TOPIC/EXT/CS/124031"",""retired"": false}]","[{""name"": ""Amazon.com, Inc."",""topicType"": ""company"",""id"": ""32ec5fc746a720416749e18927068772"",""idStr"": ""32ec5fc746a720416749e18927068772"",""ticker"": ""AMZN"",""retired"": false}]","[{""id"": ""3557389"",""type"": ""topics"",""name"": ""Cyber Alerts"",""externalTopicIds"": [""961960""],""userProperties"": {""uiListType"": ""CYBER"",""omnilist"": ""true""}}]",027335447784353889-1680238164711-1,Alert,0,Amazon IP 71.137.244.101 has exposed PostgreSQL database: Sensor via Shodan.,-33.8678,151.2073,"Sydney, Australia","[""208973892e759a1163753650eaf04262"",""868e8ed1153c44b996ae39523bce4ee0"",""933e1412080ffa35aba2fe6eb4b99c38"",""1972fbdb26829f6ffc390ab2d25b03f6"",""376a23a617bd480cbe249a06debae819"",""857b5b399d2062b9c1eaf41a080c57ff""]",0,0.1,Shodan,1680238164711,0,"[{""id"": ""39bc9c0c-c594-4e16-8d39-fafec68ac35d"",""type"": ""CYBER"",""data"": {""@type"": ""type.googleapis.com/dm_content.cyber.v2.Cyber"",""URLs"": [""ec2-3-25-215-37.ap-southeast-2.compute.amazonaws.com""],""addresses"": [{""ip"": ""78.87.25.10"",""port"": 5432}],""asns"": [""AS16509""],""orgs"": [""Amazon Corporate Services Pty Ltd""],""products"": [""PostgreSQL""],""asOrgs"": [{""asn"": ""AS16509"",""asOrg"": ""Amazon Corporate Services Pty Ltd""}]}}]",[],https://www.shodan.io/host/52025125,[],,1680238155668,,Chatter,"[{""term"": ""data exposures""},{""term"": ""doxxing""},{""term"": ""database""},{""term"": ""postgresql""},{""term"": ""ip""},{""term"": ""exposed""},{""term"": ""sensor""}]",[],"[""sensor""]",pingineer_jp,pingineer_jp,,TRUE,IP: 3.25.215.37ASN HOST: AmazonASN: AS16509HOSTNAME: ec2-3-25-215-37.ap-southeast-2.compute.amazonaws.com,,According to Shodan,"3/31/2023, 4:50:28.327 AM" +"[{""name"": ""Email and Web Servers"",""topicType"": ""category"",""id"": ""961954"",""idStr"": ""961954"",""path"": ""/TOPIC/EXT/CS/961954"",""retired"": false},{""name"": ""Cybersecurity - Threats & Vulnerabilities"",""topicType"": ""category"",""id"": ""853086"",""idStr"": ""853086"",""path"": ""/TOPIC/EXT/CS/853086"",""retired"": false},{""name"": ""Cybersecurity"",""topicType"": ""category"",""id"": ""124022"",""idStr"": ""124022"",""path"": ""/TOPIC/EXT/CS/124022"",""retired"": false},{""name"": ""Cybersecurity - Threats and Vulnerabilities"",""topicType"": ""category"",""id"": ""124030"",""idStr"": ""124030"",""path"": ""/TOPIC/EXT/CS/124030"",""retired"": false}]","[{""name"": ""Orange S.A."",""topicType"": ""company"",""id"": ""e45f24bdab7b1a91445d27a7781c9d74"",""idStr"": ""e45f24bdab7b1a91445d27a7781c9d74"",""ticker"": ""ORA"",""retired"": false}]","[{""id"": ""3557389"",""type"": ""topics"",""name"": ""Cyber Alerts"",""externalTopicIds"": [""961954""],""userProperties"": {""uiListType"": ""CYBER"",""omnilist"": ""true""}}]",8243022439227068858213-1680238163741-1,Alert,0,Sonatel IP 71.137.244.101 hosts server configuration with CVE(s) including Apache HTTP Server scoreboard vulnerability and Apache HTTP Server-Side...: Sensor via Shodan.,14.6937,-17.44406,"Dakar, Senegal","[""e9b3f61293b1403c89d22c34c8e4999f"",""217a191f92c0d6bf4e7449685e84adb0"",""b1f99a80b55b4ffb96b12b2d869d9d15""]",0,0.1,Shodan,1680238163741,0,"[{""id"": ""16dc0b16-dae1-4101-8564-555ca1f3a99a"",""type"": ""CYBER"",""data"": {""@type"": ""type.googleapis.com/dm_content.cyber.v2.Cyber"",""vulnerabilities"": [{""id"": ""CVE-2019-0217"",""cvss"": 7.5},{""id"": ""CVE-2019-0211"",""cvss"": 7.8,""exploitPocLinks"": [""https://github.com/ozkanbilge/Apache-Exploit-2019""]},{""id"": ""CVE-2019-0215"",""cvss"": 7.5},{""id"": ""CVE-2019-0220"",""cvss"": 5.3},{""id"": ""CVE-2019-0197"",""cvss"": 4.2},{""id"": ""CVE-2019-0196"",""cvss"": 5.3},{""id"": ""CVE-2019-10081"",""cvss"": 7.5},{""id"": ""CVE-2019-10097""},{""id"": ""CVE-2019-10098"",""cvss"": 6.1},{""id"": ""CVE-2019-10092"",""cvss"": 6.1,""exploitPocLinks"": [""https://github.com/motikan2010/CVE-2019-10092_Docker""]},{""id"": ""CVE-2019-10082"",""cvss"": 9.1},{""id"": ""CVE-2020-11984"",""cvss"": 9.8},{""id"": ""CVE-2020-11993"",""cvss"": 7.5},{""id"": ""CVE-2022-22719"",""cvss"": 7.5},{""id"": ""CVE-2022-22720"",""cvss"": 9.8},{""id"": ""CVE-2022-22721"",""cvss"": 9.1},{""id"": ""CVE-2020-13938"",""cvss"": 5.5},{""id"": ""CVE-2022-23943"",""cvss"": 9.8},{""id"": ""CVE-2020-1927"",""cvss"": 6.1},{""id"": ""CVE-2020-1934"",""cvss"": 5.3},{""id"": ""CVE-2019-17567"",""cvss"": 5.3},{""id"": ""CVE-2021-26690"",""cvss"": 7.5,""exploitPocLinks"": [""https://github.com/fkm75P8YjLkb/CVE-2021-26690""]},{""id"": ""CVE-2021-26691"",""cvss"": 9.8},{""id"": ""CVE-2020-35452"",""cvss"": 7.3},{""id"": ""CVE-2021-34798"",""cvss"": 7.5},{""id"": ""CVE-2021-36160"",""cvss"": 7.5},{""id"": ""CVE-2021-39275"",""cvss"": 9.8},{""id"": ""CVE-2021-40438"",""cvss"": 9.0,""exploitPocLinks"": [""https://github.com/gassara-kys/CVE-2021-40438""]},{""id"": ""CVE-2021-44224"",""cvss"": 8.2},{""id"": ""CVE-2020-9490"",""cvss"": 7.5}],""addresses"": [{""ip"": ""41.214.72.53"",""port"": 80}],""asns"": [""AS8346""],""orgs"": [""SONATEL""],""products"": [""Apache httpd""],""asOrgs"": [{""asn"": ""AS8346"",""asOrg"": ""SONATEL""}]}}]",[],https://www.shodan.io/host/701909045,[],,1680238159682,,Chatter,"[{""term"": ""server vulnerabilities""},{""term"": ""server""},{""term"": ""apache""},{""term"": ""cve""},{""term"": ""sonatel""}]",[],"[""sensor""]",,,,,"IP: 41.214.72.53ASN HOST: SonatelASN: AS8346CVE: CVE-2019-0217, CVE-2019-0211, and CVE-2019-0215",,According to Shodan,"3/31/2023, 4:50:28.327 AM" +"[{""name"": ""Remote Access and Management Systems"",""topicType"": ""category"",""id"": ""961953"",""idStr"": ""961953"",""path"": ""/TOPIC/EXT/CS/961953"",""retired"": false},{""name"": ""Cybersecurity - Threats & Vulnerabilities"",""topicType"": ""category"",""id"": ""853086"",""idStr"": ""853086"",""path"": ""/TOPIC/EXT/CS/853086"",""retired"": false},{""name"": ""Cybersecurity"",""topicType"": ""category"",""id"": ""124022"",""idStr"": ""124022"",""path"": ""/TOPIC/EXT/CS/124022"",""retired"": false},{""name"": ""Cybersecurity - Threats and Vulnerabilities"",""topicType"": ""category"",""id"": ""124030"",""idStr"": ""124030"",""path"": ""/TOPIC/EXT/CS/124030"",""retired"": false}]","[{""name"": ""Canon Inc."",""topicType"": ""company"",""id"": ""2fc22e72d9892d5dcb6af48d888386c5"",""idStr"": ""2fc22e72d9892d5dcb6af48d888386c5"",""ticker"": ""7751"",""retired"": false}]","[{""id"": ""3557389"",""type"": ""topics"",""name"": ""Cyber Alerts"",""externalTopicIds"": [""961953""],""userProperties"": {""uiListType"": ""CYBER"",""omnilist"": ""true""}}]",56884999148410504377985-1680238156742-1,Alert,0,Axis Communications AB IP 71.137.244.101 has open Telnet port 23: Sensor via Shodan.,55.70584,13.19321,"Lund, Sweden","[""4c155ac7383c451da6eaf62acd3559ad"",""7cde9a4fb9624f0fa02ddd9fe851c9eb"",""a103b39b60c457a600b1d6b2164d22d8"",""65b9491275ec4fed596b6dcc831fb381"",""b279fd9e0cfdce2f7bc146226a060175""]",0,0.1,Shodan,1680238156742,0,"[{""id"": ""17520e17-2efa-49d2-b20f-2b3e4393adf9"",""type"": ""CYBER"",""data"": {""@type"": ""type.googleapis.com/dm_content.cyber.v2.Cyber"",""addresses"": [{""ip"": ""85.235.16.96"",""port"": 23}],""asns"": [""AS15782""],""orgs"": [""Axis Communications AB""],""products"": [""Cisco router telnetd""],""asOrgs"": [{""asn"": ""AS15782"",""asOrg"": ""Axis Communications AB""}]}}]",[],https://www.shodan.io/host/1441468512,[],,1680238153249,,Chatter,"[{""term"": ""remote access systems""},{""term"": ""communications""},{""term"": ""telnet""},{""term"": ""ip""},{""term"": ""sensor""},{""term"": ""axis""}]",[],"[""sensor""]",,,,,IP: 85.235.16.96ASN HOST: Axis Communications ABASN: AS15782,,According to Shodan,"3/31/2023, 4:50:28.327 AM" +"[{""name"": ""Email and Web Servers"",""topicType"": ""category"",""id"": ""961954"",""idStr"": ""961954"",""path"": ""/TOPIC/EXT/CS/961954"",""retired"": false},{""name"": ""Cybersecurity - Threats & Vulnerabilities"",""topicType"": ""category"",""id"": ""853086"",""idStr"": ""853086"",""path"": ""/TOPIC/EXT/CS/853086"",""retired"": false},{""name"": ""Cybersecurity"",""topicType"": ""category"",""id"": ""124022"",""idStr"": ""124022"",""path"": ""/TOPIC/EXT/CS/124022"",""retired"": false},{""name"": ""Cybersecurity - Threats and Vulnerabilities"",""topicType"": ""category"",""id"": ""124030"",""idStr"": ""124030"",""path"": ""/TOPIC/EXT/CS/124030"",""retired"": false}]","[{""name"": ""GTT Communications, Inc."",""topicType"": ""company"",""id"": ""bcdd22c25cf11e443e9c5fa0c48da245"",""idStr"": ""bcdd22c25cf11e443e9c5fa0c48da245"",""ticker"": ""GTTN.Q"",""retired"": false}]","[{""id"": ""3557389"",""type"": ""topics"",""name"": ""Cyber Alerts"",""externalTopicIds"": [""961954""],""userProperties"": {""uiListType"": ""CYBER"",""omnilist"": ""true""}}]",47618209440810062505786-1680238163704-1,Alert,0,GTT Communications IP 71.137.24.101 hosts server configuration with CVE(s) including Apache HTTP Server-Side Request Forgery (SSRF) CVE-2021-40438: Sensor via Shodan.,33.749,-84.38798,"Atlanta, United States","[""f66b10a1b6d5d260b3ddb7e7518aa5ac"",""2f7245ea29c7d5a90bfd48512f971ef0"",""0a269a52d33a19cd680c4d33aef9a4af"",""06743fdb2b4a3bf0da34e8c2aac899b8"",""f47ecdc6650e41549217dd8d55f27ee9"",""c20fb4c7b3f847c796e5932f656cd6bc""]",0,0.1,Shodan,1680238163704,0,"[{""id"": ""b26e0a2b-3ef9-4c77-b492-c84faf989016"",""type"": ""CYBER"",""data"": {""@type"": ""type.googleapis.com/dm_content.cyber.v2.Cyber"",""vulnerabilities"": [{""id"": ""CVE-2014-0098"",""cvss"": 5.0},{""id"": ""CVE-2014-0226"",""cvss"": 6.8},{""id"": ""CVE-2012-0053"",""cvss"": 4.3},{""id"": ""CVE-2014-0118"",""cvss"": 4.3},{""id"": ""CVE-2008-0455"",""cvss"": 4.3},{""id"": ""CVE-2011-0419"",""cvss"": 4.3},{""id"": ""CVE-2015-0228"",""cvss"": 5.0},{""id"": ""CVE-2012-0031"",""cvss"": 4.6},{""id"": ""CVE-2014-0231"",""cvss"": 5.0},{""id"": ""CVE-2010-1452"",""cvss"": 5.0},{""id"": ""CVE-2012-0883"",""cvss"": 6.9},{""id"": ""CVE-2010-2068"",""cvss"": 5.0},{""id"": ""CVE-2013-1862"",""cvss"": 5.1},{""id"": ""CVE-2013-1896"",""cvss"": 4.3},{""id"": ""CVE-2012-2687"",""cvss"": 2.6},{""id"": ""CVE-2012-3499"",""cvss"": 4.3},{""id"": ""CVE-2011-3192"",""cvss"": 7.8,""exploitPocLinks"": [""https://github.com/tkisason/KillApachePy""]},{""id"": ""CVE-2011-3607"",""cvss"": 4.4},{""id"": ""CVE-2012-4557"",""cvss"": 5.0},{""id"": ""CVE-2012-4558"",""cvss"": 4.3},{""id"": ""CVE-2011-3348"",""cvss"": 4.3},{""id"": ""CVE-2011-3639"",""cvss"": 4.3},{""id"": ""CVE-2013-5704"",""cvss"": 5.0},{""id"": ""CVE-2015-3183""},{""id"": ""CVE-2011-3368"",""cvss"": 5.0},{""id"": ""CVE-2013-6438"",""cvss"": 5.0},{""id"": ""CVE-2011-4415"",""cvss"": 1.2},{""id"": ""CVE-2018-1301"",""cvss"": 5.9},{""id"": ""CVE-2022-22719"",""cvss"": 7.5}],""URLs"": [""hosted.at.gigecdn.com""],""addresses"": [{""ip"": ""66.171.233.122"",""port"": 443}],""asns"": [""AS3257""],""orgs"": [""GTT Communications Inc.""],""products"": [""Apache httpd""],""asOrgs"": [{""asn"": ""AS3257"",""asOrg"": ""GTT Communications Inc.""}]}}]",[],https://www.shodan.io/host/1118562682,[],,1680238160131,,Chatter,"[{""term"": ""server vulnerabilities""},{""term"": ""ssrf""},{""term"": ""forgery""},{""term"": ""cve""},{""term"": ""gtt""}]",[],"[""sensor""]",,,,,"IP: 66.171.233.122ASN HOST: GTT CommunicationsASN: AS3257CVE: CVE-2014-0098, CVE-2014-0226, and CVE-2012-0053",,According to Shodan,"3/31/2023, 4:50:28.327 AM" +"[{""name"": ""Remote Access and Management Systems"",""topicType"": ""category"",""id"": ""961953"",""idStr"": ""961953"",""path"": ""/TOPIC/EXT/CS/961953"",""retired"": false},{""name"": ""Cybersecurity - Threats & Vulnerabilities"",""topicType"": ""category"",""id"": ""853086"",""idStr"": ""853086"",""path"": ""/TOPIC/EXT/CS/853086"",""retired"": false},{""name"": ""Cybersecurity"",""topicType"": ""category"",""id"": ""124022"",""idStr"": ""124022"",""path"": ""/TOPIC/EXT/CS/124022"",""retired"": false},{""name"": ""Cybersecurity - Threats and Vulnerabilities"",""topicType"": ""category"",""id"": ""124030"",""idStr"": ""124030"",""path"": ""/TOPIC/EXT/CS/124030"",""retired"": false}]","[{""name"": ""KeyCorp"",""topicType"": ""company"",""id"": ""2fb5b444806606a80fca098b8bf07d4e"",""idStr"": ""2fb5b444806606a80fca098b8bf07d4e"",""ticker"": ""KEY"",""retired"": false}]","[{""id"": ""3557389"",""type"": ""topics"",""name"": ""Cyber Alerts"",""externalTopicIds"": [""961953""],""userProperties"": {""uiListType"": ""CYBER"",""omnilist"": ""true""}}]",2159626740601333374-1680238161430-1,Alert,0,KeyBank IP 71.137.244.101 has open VNC port 5900: Sensor via Shodan.,41.4946,-81.667,"Cleveland, United States","[""f66b10a1b6d5d260b3ddb7e7518aa5ac"",""2f7245ea29c7d5a90bfd48512f971ef0"",""0a269a52d33a19cd680c4d33aef9a4af"",""46b5799504ad0c9e6d8639a6748e8f16"",""ef87ef87292f28f76b47241b6be31a63""]",0,0.1,Shodan,1680238161430,0,"[{""id"": ""e3c45815-f5ba-4e6c-9259-4e22a13fc4c6"",""type"": ""CYBER"",""data"": {""@type"": ""type.googleapis.com/dm_content.cyber.v2.Cyber"",""addresses"": [{""ip"": ""156.77.130.203"",""port"": 5900}],""asns"": [""AS396982""],""orgs"": [""KeyBank National Association""],""asOrgs"": [{""asn"": ""AS396982"",""asOrg"": ""KeyBank National Association""}]}}]",[],https://www.shodan.io/host/2622325451,[],,1680238157480,,Chatter,"[{""term"": ""remote access systems""},{""term"": ""keybank""},{""term"": ""port""},{""term"": ""ip""},{""term"": ""vnc""},{""term"": ""sensor""}]",[],"[""sensor""]",,,,,IP: 156.77.130.203ASN HOST: KeyBankASN: AS396982,,According to Shodan,"3/31/2023, 4:50:28.327 AM" +"[{""name"": ""Email and Web Servers"",""topicType"": ""category"",""id"": ""961954"",""idStr"": ""961954"",""path"": ""/TOPIC/EXT/CS/961954"",""retired"": false},{""name"": ""Cybersecurity - Threats & Vulnerabilities"",""topicType"": ""category"",""id"": ""853086"",""idStr"": ""853086"",""path"": ""/TOPIC/EXT/CS/853086"",""retired"": false},{""name"": ""Cybersecurity"",""topicType"": ""category"",""id"": ""124022"",""idStr"": ""124022"",""path"": ""/TOPIC/EXT/CS/124022"",""retired"": false},{""name"": ""Cybersecurity - Threats and Vulnerabilities"",""topicType"": ""category"",""id"": ""124030"",""idStr"": ""124030"",""path"": ""/TOPIC/EXT/CS/124030"",""retired"": false}]","[{""name"": ""Amazon.com, Inc."",""topicType"": ""company"",""id"": ""32ec5fc746a720416749e18927068772"",""idStr"": ""32ec5fc746a720416749e18927068772"",""ticker"": ""AMZN"",""retired"": false}]","[{""id"": ""3557389"",""type"": ""topics"",""name"": ""Cyber Alerts"",""externalTopicIds"": [""961954""],""userProperties"": {""uiListType"": ""CYBER"",""omnilist"": ""true""}}]",40204394357102934778-1680238167529-1,Alert,0,Amazon IP 13.36.10.25 hosts server configuration with CVE(s) including Apache HTTP Server scoreboard vulnerability and Apache HTTP Server-Side...: Sensor via Shodan.,-33.8678,151.2073,"Sydney, Australia","[""208973892e759a1163753650eaf04262"",""868e8ed1153c44b996ae39523bce4ee0"",""933e1412080ffa35aba2fe6eb4b99c38"",""1972fbdb26829f6ffc390ab2d25b03f6"",""376a23a617bd480cbe249a06debae819"",""857b5b399d2062b9c1eaf41a080c57ff""]",0,0.1,Shodan,1680238167529,0,"[{""id"": ""e02b8763-82c5-4b80-a348-3434f87660db"",""type"": ""CYBER"",""data"": {""@type"": ""type.googleapis.com/dm_content.cyber.v2.Cyber"",""vulnerabilities"": [{""id"": ""CVE-2019-0217"",""cvss"": 7.5},{""id"": ""CVE-2019-0211"",""cvss"": 7.8,""exploitPocLinks"": [""https://github.com/ozkanbilge/Apache-Exploit-2019""]},{""id"": ""CVE-2019-0220"",""cvss"": 5.3},{""id"": ""CVE-2019-0196"",""cvss"": 5.3},{""id"": ""CVE-2019-10081"",""cvss"": 7.5},{""id"": ""CVE-2019-10098"",""cvss"": 6.1},{""id"": ""CVE-2019-10092"",""cvss"": 6.1,""exploitPocLinks"": [""https://github.com/motikan2010/CVE-2019-10092_Docker""]},{""id"": ""CVE-2019-10082"",""cvss"": 9.1},{""id"": ""CVE-2018-11763"",""cvss"": 5.9},{""id"": ""CVE-2020-11993"",""cvss"": 7.5},{""id"": ""CVE-2017-15710"",""cvss"": 7.5},{""id"": ""CVE-2017-15715"",""cvss"": 8.1,""exploitPocLinks"": [""https://github.com/whisp1830/CVE-2017-15715""]},{""id"": ""CVE-2018-1283"",""cvss"": 5.3},{""id"": ""CVE-2018-1301"",""cvss"": 5.9},{""id"": ""CVE-2022-22719"",""cvss"": 7.5},{""id"": ""CVE-2022-22720"",""cvss"": 9.8},{""id"": ""CVE-2022-22721"",""cvss"": 9.1},{""id"": ""CVE-2020-13938"",""cvss"": 5.5},{""id"": ""CVE-2018-1302"",""cvss"": 5.9},{""id"": ""CVE-2018-1303"",""cvss"": 7.5},{""id"": ""CVE-2018-1312"",""cvss"": 9.8},{""id"": ""CVE-2018-17189"",""cvss"": 5.3},{""id"": ""CVE-2018-17199"",""cvss"": 7.5},{""id"": ""CVE-2022-23943"",""cvss"": 9.8},{""id"": ""CVE-2020-1927"",""cvss"": 6.1},{""id"": ""CVE-2020-1934"",""cvss"": 5.3},{""id"": ""CVE-2019-17567"",""cvss"": 5.3},{""id"": ""CVE-2018-1333"",""cvss"": 7.5},{""id"": ""CVE-2021-26690"",""cvss"": 7.5,""exploitPocLinks"": [""https://github.com/fkm75P8YjLkb/CVE-2021-26690""]}],""URLs"": [""teach.education.wa.edu.au"",""ec2-13-236-108-250.ap-southeast-2.compute.amazonaws.com""],""addresses"": [{""ip"": ""13.236.108.250"",""port"": 443}],""asns"": [""AS16509""],""orgs"": [""Amazon Corporate Services Pty Ltd""],""products"": [""Apache httpd""],""asOrgs"": [{""asn"": ""AS16509"",""asOrg"": ""Amazon Corporate Services Pty Ltd""}]}}]",[],https://www.shodan.io/host/233598202,[],,1680238163466,,Chatter,"[{""term"": ""server vulnerabilities""},{""term"": ""server""},{""term"": ""apache""},{""term"": ""cve""}]",[],"[""sensor""]",,,,,"IP: 13.236.108.250ASN HOST: AmazonASN: AS16509CVE: CVE-2019-0217, CVE-2019-0211, and CVE-2019-0220",,According to Shodan,"3/31/2023, 4:50:28.327 AM" +"[{""name"": ""Data Security"",""topicType"": ""category"",""id"": ""900000"",""idStr"": ""900000"",""path"": ""/TOPIC/EXT/CS/900000"",""retired"": false},{""name"": ""Cybersecurity - Crime & Malicious Activity"",""topicType"": ""category"",""id"": ""853084"",""idStr"": ""853084"",""path"": ""/TOPIC/EXT/CS/853084"",""retired"": false},{""name"": ""Cybersecurity"",""topicType"": ""category"",""id"": ""124022"",""idStr"": ""124022"",""path"": ""/TOPIC/EXT/CS/124022"",""retired"": false},{""name"": ""Data Exposure and Breaches"",""topicType"": ""category"",""id"": ""961960"",""idStr"": ""961960"",""path"": ""/TOPIC/EXT/CS/961960"",""retired"": false},{""name"": ""Cybersecurity - Crime and Malicious Activity"",""topicType"": ""category"",""id"": ""124031"",""idStr"": ""124031"",""path"": ""/TOPIC/EXT/CS/124031"",""retired"": false}]","[{""name"": ""Telefónica, S.A."",""topicType"": ""company"",""id"": ""0c4fcc581544797df4a6ef6f9aa950f1"",""idStr"": ""0c4fcc581544797df4a6ef6f9aa950f1"",""ticker"": ""TEF"",""retired"": false}]","[{""id"": ""3557389"",""type"": ""topics"",""name"": ""Cyber Alerts"",""externalTopicIds"": [""961960""],""userProperties"": {""uiListType"": ""CYBER"",""omnilist"": ""true""}}]",009643749989753045944-1680238174567-1,Alert,0,Telefónica IP 13.36.10.25 has exposed MySQL database: Sensor via Shodan.,40.4165,-3.70256,"Madrid, Spain","[""a3247b71c321454d9742bd6183a3c4a9"",""4418a94b398941eca5137e8fa148f055"",""5ac3e8f07a7d488781f29d3438f24559"",""e147274eb94fc069af9eca934c4a79af"",""e929e72cbfd1ba0406b53e225f884f7c"",""65b9491275ec4fed596b6dcc831fb381""]",0,0.1,Shodan,1680238174567,0,"[{""id"": ""278649e2-fb3a-463b-ac8c-2e3fd579f3ad"",""type"": ""CYBER"",""data"": {""@type"": ""type.googleapis.com/dm_content.cyber.v2.Cyber"",""URLs"": [""92.red-88-30-45.staticip.rima-tde.net""],""addresses"": [{""ip"": ""8.3.45.2"",""port"": 3306}],""asns"": [""AS3352""],""orgs"": [""TELEFONICA DE ESPANA S.A.U.""],""products"": [""MySQL""],""asOrgs"": [{""asn"": ""AS3352"",""asOrg"": ""TELEFONICA DE ESPANA S.A.U.""}]}}]",[],https://www.shodan.io/host/1478372700,[],,1680238171120,,Chatter,"[{""term"": ""data exposures""},{""term"": ""doxxing""},{""term"": ""database""},{""term"": ""exposed""},{""term"": ""mysql""},{""term"": ""sensor""},{""term"": ""telefónica""}]",[],"[""sensor""]",,,,,IP: 88.30.45.92ASN HOST: TelefónicaASN: AS3352HOSTNAME: 92.red-88-30-45.staticip.rima-tde.net,,According to Shodan,"3/31/2023, 4:50:28.327 AM" +"[{""name"": ""Remote Access and Management Systems"",""topicType"": ""category"",""id"": ""961953"",""idStr"": ""961953"",""path"": ""/TOPIC/EXT/CS/961953"",""retired"": false},{""name"": ""Cybersecurity - Threats & Vulnerabilities"",""topicType"": ""category"",""id"": ""853086"",""idStr"": ""853086"",""path"": ""/TOPIC/EXT/CS/853086"",""retired"": false},{""name"": ""Cybersecurity"",""topicType"": ""category"",""id"": ""124022"",""idStr"": ""124022"",""path"": ""/TOPIC/EXT/CS/124022"",""retired"": false},{""name"": ""Cybersecurity - Threats and Vulnerabilities"",""topicType"": ""category"",""id"": ""124030"",""idStr"": ""124030"",""path"": ""/TOPIC/EXT/CS/124030"",""retired"": false}]","[{""name"": ""KeyCorp"",""topicType"": ""company"",""id"": ""2fb5b444806606a80fca098b8bf07d4e"",""idStr"": ""2fb5b444806606a80fca098b8bf07d4e"",""ticker"": ""KEY"",""retired"": false}]","[{""id"": ""3557389"",""type"": ""topics"",""name"": ""Cyber Alerts"",""externalTopicIds"": [""961953""],""userProperties"": {""uiListType"": ""CYBER"",""omnilist"": ""true""}}]",137204128874282345347-1680238372580-1,Alert,0,KeyBank IP 13.36.10.25 has open SMB port 445: Sensor via Shodan.,41.4946,-81.667,"Cleveland, United States","[""f66b10a1b6d5d260b3ddb7e7518aa5ac"",""2f7245ea29c7d5a90bfd48512f971ef0"",""0a269a52d33a19cd680c4d33aef9a4af"",""46b5799504ad0c9e6d8639a6748e8f16"",""ef87ef87292f28f76b47241b6be31a63""]",0,0.1,Shodan,1680238372580,0,"[{""id"": ""168f8b12-cd04-4a5b-a63f-f43da19754fe"",""type"": ""CYBER"",""data"": {""@type"": ""type.googleapis.com/dm_content.cyber.v2.Cyber"",""addresses"": [{""ip"": ""156.77.131.154"",""port"": 445}],""asns"": [""AS396982""],""orgs"": [""KeyBank National Association""],""asOrgs"": [{""asn"": ""AS396982"",""asOrg"": ""KeyBank National Association""}]}}]",[],https://www.shodan.io/host/2622325658,[],,1680238368251,,Chatter,"[{""term"": ""remote access systems""},{""term"": ""keybank""},{""term"": ""port""},{""term"": ""ip""},{""term"": ""smb""},{""term"": ""sensor""}]",[],"[""sensor""]",,,,,IP: 156.77.131.154ASN HOST: KeyBankASN: AS396982,,According to Shodan,"3/31/2023, 4:53:49.932 AM" +"[{""name"": ""Email and Web Servers"",""topicType"": ""category"",""id"": ""961954"",""idStr"": ""961954"",""path"": ""/TOPIC/EXT/CS/961954"",""retired"": false},{""name"": ""Cybersecurity - Threats & Vulnerabilities"",""topicType"": ""category"",""id"": ""853086"",""idStr"": ""853086"",""path"": ""/TOPIC/EXT/CS/853086"",""retired"": false},{""name"": ""Cybersecurity"",""topicType"": ""category"",""id"": ""124022"",""idStr"": ""124022"",""path"": ""/TOPIC/EXT/CS/124022"",""retired"": false},{""name"": ""Cybersecurity - Threats and Vulnerabilities"",""topicType"": ""category"",""id"": ""124030"",""idStr"": ""124030"",""path"": ""/TOPIC/EXT/CS/124030"",""retired"": false}]","[{""name"": ""Hilton Worldwide Holdings Inc."",""topicType"": ""company"",""id"": ""0af4c9915ef92f2bac32cf75af1acc8f"",""idStr"": ""0af4c9915ef92f2bac32cf75af1acc8f"",""retired"": false}]","[{""id"": ""3557389"",""type"": ""topics"",""name"": ""Cyber Alerts"",""externalTopicIds"": [""961954""],""userProperties"": {""uiListType"": ""CYBER"",""omnilist"": ""true""}}]",561694889048440156086-1680238346694-1,Alert,0,Hampton Inn IP13.36.10.25 hosts server configuration with CVE(s) including Apache HTTP Server scoreboard vulnerability and Apache HTTP...: Sensor via Shodan.,61.21806,-149.90028,"Anchorage, United States","[""ec461a4a01939f9ba5f0e4247d443db4"",""52f0bf940989ad060be973b385ad5073"",""f66b10a1b6d5d260b3ddb7e7518aa5ac"",""2f7245ea29c7d5a90bfd48512f971ef0"",""0a269a52d33a19cd680c4d33aef9a4af""]",0,0.1,Shodan,1680238346694,0,"[{""id"": ""9f2deeac-d5ff-4066-a6e9-1b9970d0034d"",""type"": ""CYBER"",""data"": {""@type"": ""type.googleapis.com/dm_content.cyber.v2.Cyber"",""vulnerabilities"": [{""id"": ""CVE-2019-0217"",""cvss"": 7.5},{""id"": ""CVE-2019-0211"",""cvss"": 7.8,""exploitPocLinks"": [""https://github.com/ozkanbilge/Apache-Exploit-2019""]},{""id"": ""CVE-2019-0220"",""cvss"": 5.3},{""id"": ""CVE-2019-0196"",""cvss"": 5.3},{""id"": ""CVE-2016-0736"",""cvss"": 7.5},{""id"": ""CVE-2019-10081"",""cvss"": 7.5},{""id"": ""CVE-2019-10098"",""cvss"": 6.1},{""id"": ""CVE-2019-10092"",""cvss"": 6.1,""exploitPocLinks"": [""https://github.com/motikan2010/CVE-2019-10092_Docker""]},{""id"": ""CVE-2019-10082"",""cvss"": 9.1},{""id"": ""CVE-2020-11985"",""cvss"": 5.3},{""id"": ""CVE-2018-11763"",""cvss"": 5.9},{""id"": ""CVE-2020-11993"",""cvss"": 7.5},{""id"": ""CVE-2016-2161"",""cvss"": 7.5},{""id"": ""CVE-2017-15710"",""cvss"": 7.5},{""id"": ""CVE-2017-15715"",""cvss"": 8.1,""exploitPocLinks"": [""https://github.com/whisp1830/CVE-2017-15715""]},{""id"": ""CVE-2018-1283"",""cvss"": 5.3},{""id"": ""CVE-2018-1301"",""cvss"": 5.9},{""id"": ""CVE-2022-22719"",""cvss"": 7.5},{""id"": ""CVE-2022-22720"",""cvss"": 9.8},{""id"": ""CVE-2022-22721"",""cvss"": 9.1},{""id"": ""CVE-2020-13938"",""cvss"": 5.5},{""id"": ""CVE-2016-4975"",""cvss"": 6.1},{""id"": ""CVE-2018-1302"",""cvss"": 5.9},{""id"": ""CVE-2018-1303"",""cvss"": 7.5},{""id"": ""CVE-2018-1312"",""cvss"": 9.8},{""id"": ""CVE-2016-5387"",""cvss"": 8.1},{""id"": ""CVE-2018-17189"",""cvss"": 5.3},{""id"": ""CVE-2018-17199"",""cvss"": 7.5},{""id"": ""CVE-2017-3169"",""cvss"": 9.8},{""id"": ""CVE-2022-23943"",""cvss"": 9.8}],""URLs"": [""219-255-58-66.hampinn.static.gci.net""],""addresses"": [{""ip"": ""66.58.255.219"",""port"": 80}],""asns"": [""AS8047""],""orgs"": [""Hampton Inn""],""products"": [""Apache httpd""],""asOrgs"": [{""asn"": ""AS8047"",""asOrg"": ""Hampton Inn""}]}}]",[],https://www.shodan.io/host/1111162843,[],,1680238342423,,Chatter,"[{""term"": ""server vulnerabilities""},{""term"": ""server""},{""term"": ""apache""},{""term"": ""cve""}]",[],"[""sensor""]",,,,,"IP: 66.58.255.219ASN HOST: Hampton InnASN: AS8047CVE: CVE-2019-0217, CVE-2019-0211, and CVE-2019-0220",,According to Shodan,"3/31/2023, 4:53:49.932 AM" +"[{""name"": ""Remote Access and Management Systems"",""topicType"": ""category"",""id"": ""961953"",""idStr"": ""961953"",""path"": ""/TOPIC/EXT/CS/961953"",""retired"": false},{""name"": ""Cybersecurity - Threats & Vulnerabilities"",""topicType"": ""category"",""id"": ""853086"",""idStr"": ""853086"",""path"": ""/TOPIC/EXT/CS/853086"",""retired"": false},{""name"": ""Cybersecurity"",""topicType"": ""category"",""id"": ""124022"",""idStr"": ""124022"",""path"": ""/TOPIC/EXT/CS/124022"",""retired"": false},{""name"": ""Cybersecurity - Threats and Vulnerabilities"",""topicType"": ""category"",""id"": ""124030"",""idStr"": ""124030"",""path"": ""/TOPIC/EXT/CS/124030"",""retired"": false}]","[{""name"": ""Google LLC"",""topicType"": ""company"",""id"": ""5936d9ec1bfbafc7a6ebb01d32d58855"",""idStr"": ""5936d9ec1bfbafc7a6ebb01d32d58855"",""retired"": false}]","[{""id"": ""3557389"",""type"": ""topics"",""name"": ""Cyber Alerts"",""externalTopicIds"": [""961953""],""userProperties"": {""uiListType"": ""CYBER"",""omnilist"": ""true""}}]",271944493204746426-1680238378634-1,Alert,0,Google IP 13.36.10.25 has open Telnet port 23: Sensor via Shodan.,-6.21462,106.84513,"Jakarta, Indonesia","[""8720c44c2d0f40d89fcee1666c84e9a0"",""0444232e057a4951be4ec8b682acdf70"",""2c279921380d149039e6555e96bf7030"",""46c5a5af141603be10c7c2f6e392d8a6"",""18a701a2de3d46c285669d657f1dc672"",""48893b2e5f7699e6a7cee02e88e50d99""]",0,0.1,Shodan,1680238378634,0,"[{""id"": ""81a13a7a-0d6c-4175-bf84-c33e383ab1d1"",""type"": ""CYBER"",""data"": {""@type"": ""type.googleapis.com/dm_content.cyber.v2.Cyber"",""URLs"": [""108.73.101.34.bc.googleusercontent.com""],""addresses"": [{""ip"": ""8.3.45.2"",""port"": 23}],""asns"": [""AS396982""],""orgs"": [""Google Asia Pacific Pte. Ltd. (GAPPL)""],""asOrgs"": [{""asn"": ""AS396982"",""asOrg"": ""Google Asia Pacific Pte. Ltd. (GAPPL)""}]}}]",[],https://www.shodan.io/host/577063276,[],,1680238374914,,Chatter,"[{""term"": ""remote access systems""},{""term"": ""port""},{""term"": ""telnet""},{""term"": ""ip""},{""term"": ""sensor""},{""term"": ""google""}]",[],"[""sensor""]",,,,,IP: 34.101.73.108ASN HOST: GoogleASN: AS396982,,According to Shodan,"3/31/2023, 4:53:49.947 AM" +"[{""name"": ""Remote Access and Management Systems"",""topicType"": ""category"",""id"": ""961953"",""idStr"": ""961953"",""path"": ""/TOPIC/EXT/CS/961953"",""retired"": false},{""name"": ""Cybersecurity - Threats & Vulnerabilities"",""topicType"": ""category"",""id"": ""853086"",""idStr"": ""853086"",""path"": ""/TOPIC/EXT/CS/853086"",""retired"": false},{""name"": ""Cybersecurity"",""topicType"": ""category"",""id"": ""124022"",""idStr"": ""124022"",""path"": ""/TOPIC/EXT/CS/124022"",""retired"": false},{""name"": ""Cybersecurity - Threats and Vulnerabilities"",""topicType"": ""category"",""id"": ""124030"",""idStr"": ""124030"",""path"": ""/TOPIC/EXT/CS/124030"",""retired"": false}]","[{""name"": ""Telefónica, S.A."",""topicType"": ""company"",""id"": ""0c4fcc581544797df4a6ef6f9aa950f1"",""idStr"": ""0c4fcc581544797df4a6ef6f9aa950f1"",""ticker"": ""TEF"",""retired"": false}]","[{""id"": ""3557389"",""type"": ""topics"",""name"": ""Cyber Alerts"",""externalTopicIds"": [""961953""],""userProperties"": {""uiListType"": ""CYBER"",""omnilist"": ""true""}}]",364367721446211870368-1680238379226-1,Alert,0,Telefónica IP 13.36.10.25 has open Telnet port 23: Sensor via Shodan.,-32.89084,-68.82717,"Mendoza, Argentina","[""93865823a50345c6a82f17f977ae9298"",""ed0e79c22d8adb1cf0da4651e80df30e"",""db3b728b33524b07892c515ec638e718"",""e9d703f2277911ec96210242ac130002"",""f1dc0d78a1f2a87601eccf07db84ba24""]",0,0.1,Shodan,1680238379226,0,"[{""id"": ""91dd90a6-0500-4dc6-b0da-e74c54857102"",""type"": ""CYBER"",""data"": {""@type"": ""type.googleapis.com/dm_content.cyber.v2.Cyber"",""URLs"": [""191-82-37-242.speedy.com.ar""],""addresses"": [{""ip"": ""191.82.37.242"",""port"": 23}],""asns"": [""AS22927""],""orgs"": [""Telefonica de Argentina""],""asOrgs"": [{""asn"": ""AS22927"",""asOrg"": ""Telefonica de Argentina""}]}}]",[],https://www.shodan.io/host/3209831922,[],,1680238375708,,Chatter,"[{""term"": ""remote access systems""},{""term"": ""port""},{""term"": ""telnet""},{""term"": ""ip""},{""term"": ""sensor""},{""term"": ""telefónica""}]",[],"[""sensor""]",,,,,IP: 191.82.37.242ASN HOST: TelefónicaASN: AS22927,,According to Shodan,"3/31/2023, 4:53:49.947 AM" +"[{""name"": ""Remote Access and Management Systems"",""topicType"": ""category"",""id"": ""961953"",""idStr"": ""961953"",""path"": ""/TOPIC/EXT/CS/961953"",""retired"": false},{""name"": ""Cybersecurity - Threats & Vulnerabilities"",""topicType"": ""category"",""id"": ""853086"",""idStr"": ""853086"",""path"": ""/TOPIC/EXT/CS/853086"",""retired"": false},{""name"": ""Cybersecurity"",""topicType"": ""category"",""id"": ""124022"",""idStr"": ""124022"",""path"": ""/TOPIC/EXT/CS/124022"",""retired"": false},{""name"": ""Cybersecurity - Threats and Vulnerabilities"",""topicType"": ""category"",""id"": ""124030"",""idStr"": ""124030"",""path"": ""/TOPIC/EXT/CS/124030"",""retired"": false}]","[{""name"": ""Türk Telekomünikasyon AS"",""topicType"": ""company"",""id"": ""38abeedcacfa0ccb2b6a17a54db3c2b2"",""idStr"": ""38abeedcacfa0ccb2b6a17a54db3c2b2"",""ticker"": ""TTKOM"",""retired"": false}]","[{""id"": ""3557389"",""type"": ""topics"",""name"": ""Cyber Alerts"",""externalTopicIds"": [""961953""],""userProperties"": {""uiListType"": ""CYBER"",""omnilist"": ""true""}}]",8970212477956472214-1680238383564-1,Alert,0,Turk Telekom IP 13.36.10.25 has open Telnet port 23: Sensor via Shodan.,38.4167,27.15,"İzmir, Turkey","[""47ca2bb6a1669de9f809189e360dbe40"",""48893b2e5f7699e6a7cee02e88e50d99"",""bd8f2a0d40b7416db0c154c1c8f34611"",""d389283f769a25528bfd89992d46ec69"",""f51888f21c5b425d8f923c11c6320f84""]",0,0.1,Shodan,1680238383564,0,"[{""id"": ""18a920a6-f15a-4e0c-ab3d-e322474912d9"",""type"": ""CYBER"",""data"": {""@type"": ""type.googleapis.com/dm_content.cyber.v2.Cyber"",""URLs"": [""78.189.219.131.static.ttnet.com.tr""],""addresses"": [{""ip"": ""78.189.219.131"",""port"": 23}],""asns"": [""AS47331""],""orgs"": [""Turk Telekomunikasyon Anonim Sirketi""],""asOrgs"": [{""asn"": ""AS47331"",""asOrg"": ""Turk Telekomunikasyon Anonim Sirketi""}]}}]",[],https://www.shodan.io/host/1321065347,[],,1680238379549,,Chatter,"[{""term"": ""remote access systems""},{""term"": ""telekom""},{""term"": ""telnet""},{""term"": ""ip""},{""term"": ""sensor""},{""term"": ""turk""}]",[],"[""sensor""]",,,,,IP: 78.189.219.131ASN HOST: Turk TelekomASN: AS47331,,According to Shodan,"3/31/2023, 4:53:49.947 AM" +"[{""name"": ""Email and Web Servers"",""topicType"": ""category"",""id"": ""961954"",""idStr"": ""961954"",""path"": ""/TOPIC/EXT/CS/961954"",""retired"": false},{""name"": ""Cybersecurity - Threats & Vulnerabilities"",""topicType"": ""category"",""id"": ""853086"",""idStr"": ""853086"",""path"": ""/TOPIC/EXT/CS/853086"",""retired"": false},{""name"": ""Cybersecurity"",""topicType"": ""category"",""id"": ""124022"",""idStr"": ""124022"",""path"": ""/TOPIC/EXT/CS/124022"",""retired"": false},{""name"": ""Cybersecurity - Threats and Vulnerabilities"",""topicType"": ""category"",""id"": ""124030"",""idStr"": ""124030"",""path"": ""/TOPIC/EXT/CS/124030"",""retired"": false}]","[{""name"": ""8ccd41d8264a24f3e58a95093ce7034e,32ec5fc746a720416749e18927068772"",""topicType"": ""company"",""id"": ""8ccd41d8264a24f3e58a95093ce7034e,32ec5fc746a720416749e18927068772"",""idStr"": ""8ccd41d8264a24f3e58a95093ce7034e,32ec5fc746a720416749e18927068772"",""retired"": false}]","[{""id"": ""3557389"",""type"": ""topics"",""name"": ""Cyber Alerts"",""externalTopicIds"": [""961954""],""userProperties"": {""uiListType"": ""CYBER"",""omnilist"": ""true""}}]",558251114579041045169-1680238381333-1,Alert,0,Amazon Web Services IP 21.36.91.168 hosts server configuration with CVE(s) including Microsoft HTTP.sys Remote Code Execution Vulnerability...: Sensor via Shodan.,1.283,103.8487,"Singapore, Singapore","[""1e2f07afee82485a8049e736f4e3744e"",""9c5384ffde5db14cac18d3a1e476c14b"",""aedf62a2dd8b48f3b9e3a3b8172695b0"",""e3a8dd1b7cdb45db8de746b4fc2fc014""]",0,0.1,Shodan,1680238381333,0,"[{""id"": ""77251730-612e-49b1-829a-d531a5adde8c"",""type"": ""CYBER"",""data"": {""@type"": ""type.googleapis.com/dm_content.cyber.v2.Cyber"",""vulnerabilities"": [{""id"": ""CVE-2010-1899"",""cvss"": 4.3},{""id"": ""CVE-2010-2730"",""cvss"": 9.3},{""id"": ""CVE-2010-3972"",""cvss"": 10.0},{""id"": ""CVE-2015-1635"",""cvss"": 10.0,""exploitPocLinks"": [""https://github.com/limkokholefork/CVE-2015-1635""]}],""URLs"": [""ec2-122-248-241-131.ap-southeast-1.compute.amazonaws.com""],""addresses"": [{""ip"": ""8.3.45.2"",""port"": 80}],""asns"": [""AS16509""],""orgs"": [""Amazon Web Services, Elastic Compute Cloud, EC2, SG""],""products"": [""Microsoft IIS httpd""],""asOrgs"": [{""asn"": ""AS16509"",""asOrg"": ""Amazon Web Services, Elastic Compute Cloud, EC2, SG""}]}}]",[],https://www.shodan.io/host/2063135107,[],,1680238377403,,Chatter,"[{""term"": ""server vulnerabilities""},{""term"": ""cve""},{""term"": ""configuration""},{""term"": ""vulnerability""}]",[],"[""sensor""]",,,,,"IP: 122.248.241.131ASN HOST: Amazon Web ServicesASN: AS16509CVE: CVE-2010-1899, CVE-2010-2730, and CVE-2010-3972",,According to Shodan,"3/31/2023, 4:53:49.947 AM" +"[{""name"": ""Email and Web Servers"",""topicType"": ""category"",""id"": ""961954"",""idStr"": ""961954"",""path"": ""/TOPIC/EXT/CS/961954"",""retired"": false},{""name"": ""Cybersecurity - Threats & Vulnerabilities"",""topicType"": ""category"",""id"": ""853086"",""idStr"": ""853086"",""path"": ""/TOPIC/EXT/CS/853086"",""retired"": false},{""name"": ""Cybersecurity"",""topicType"": ""category"",""id"": ""124022"",""idStr"": ""124022"",""path"": ""/TOPIC/EXT/CS/124022"",""retired"": false},{""name"": ""Cybersecurity - Threats and Vulnerabilities"",""topicType"": ""category"",""id"": ""124030"",""idStr"": ""124030"",""path"": ""/TOPIC/EXT/CS/124030"",""retired"": false}]","[{""name"": ""Verizon Communications Inc."",""topicType"": ""company"",""id"": ""5559b5eea076eae74a93a09af10cd9b7"",""idStr"": ""5559b5eea076eae74a93a09af10cd9b7"",""ticker"": ""VZ"",""retired"": false}]","[{""id"": ""3557389"",""type"": ""topics"",""name"": ""Cyber Alerts"",""externalTopicIds"": [""961954""],""userProperties"": {""uiListType"": ""CYBER"",""omnilist"": ""true""}}]",34679230174399706966382-1680238381506-1,Alert,0,Verizon IP 120.28.24.31 hosts server configuration with CVE(s) including Apache HTTP Server-Side Request Forgery (SSRF) CVE-2021-40438: Sensor via Shodan.,48.85675,2.34975,"Paris, France","[""28d0278723d046f491b8cf712181372c"",""af0953e84bb141f18fc3918314279bac"",""d46e190f5e05c5ebe64c9630e8ea985a"",""961c9286e6aa0dd8ccbad3b9292d68bc"",""65b9491275ec4fed596b6dcc831fb381"",""ac288abe39264704af4af75b50ccb69b""]",0,0.1,Shodan,1680238381506,0,"[{""id"": ""8897132c-3aab-4cfc-917b-68f81502eeac"",""type"": ""CYBER"",""data"": {""@type"": ""type.googleapis.com/dm_content.cyber.v2.Cyber"",""vulnerabilities"": [{""id"": ""CVE-2014-0117"",""cvss"": 4.3},{""id"": ""CVE-2019-0217"",""cvss"": 7.5},{""id"": ""CVE-2014-0098"",""cvss"": 5.0},{""id"": ""CVE-2014-0226"",""cvss"": 6.8},{""id"": ""CVE-2014-0118"",""cvss"": 4.3},{""id"": ""CVE-2015-0228"",""cvss"": 5.0},{""id"": ""CVE-2019-0220"",""cvss"": 5.3},{""id"": ""CVE-2016-0736"",""cvss"": 7.5},{""id"": ""CVE-2014-0231"",""cvss"": 5.0},{""id"": ""CVE-2019-10098"",""cvss"": 6.1},{""id"": ""CVE-2019-10092"",""cvss"": 6.1,""exploitPocLinks"": [""https://github.com/motikan2010/CVE-2019-10092_Docker""]},{""id"": ""CVE-2014-3581"",""cvss"": 5.0},{""id"": ""CVE-2014-3523"",""cvss"": 5.0},{""id"": ""CVE-2020-11985"",""cvss"": 5.3},{""id"": ""CVE-2016-2161"",""cvss"": 7.5},{""id"": ""CVE-2013-5704"",""cvss"": 5.0},{""id"": ""CVE-2017-15710"",""cvss"": 7.5},{""id"": ""CVE-2015-3183""},{""id"": ""CVE-2015-3184"",""cvss"": 5.0},{""id"": ""CVE-2015-3185"",""cvss"": 4.3},{""id"": ""CVE-2017-15715"",""cvss"": 8.1,""exploitPocLinks"": [""https://github.com/whisp1830/CVE-2017-15715""]},{""id"": ""CVE-2013-4352"",""cvss"": 4.3},{""id"": ""CVE-2018-1283"",""cvss"": 5.3},{""id"": ""CVE-2013-6438"",""cvss"": 5.0},{""id"": ""CVE-2018-1301"",""cvss"": 5.9},{""id"": ""CVE-2022-22719"",""cvss"": 7.5},{""id"": ""CVE-2022-22720"",""cvss"": 9.8},{""id"": ""CVE-2022-22721"",""cvss"": 9.1},{""id"": ""CVE-2020-13938"",""cvss"": 5.5}],""URLs"": [""lagalaxy911.online""],""addresses"": [{""ip"": ""141.11.107.232"",""port"": 80}],""asns"": [""AS207279""],""orgs"": [""Verizon Internet Services (C00410031)""],""products"": [""Apache httpd""],""asOrgs"": [{""asn"": ""AS207279"",""asOrg"": ""Verizon Internet Services (C00410031)""}]}}]",[],https://www.shodan.io/host/2366335976,[],,1680238376346,,Chatter,"[{""term"": ""server vulnerabilities""},{""term"": ""ssrf""},{""term"": ""forgery""},{""term"": ""cve""}]",[],"[""sensor""]",,,,,"IP: 141.11.107.232ASN HOST: VerizonASN: AS207279CVE: CVE-2014-0117, CVE-2019-0217, and CVE-2014-0098",,According to Shodan,"3/31/2023, 4:53:49.947 AM" +"[{""name"": ""Email and Web Servers"",""topicType"": ""category"",""id"": ""961954"",""idStr"": ""961954"",""path"": ""/TOPIC/EXT/CS/961954"",""retired"": false},{""name"": ""Cybersecurity - Threats & Vulnerabilities"",""topicType"": ""category"",""id"": ""853086"",""idStr"": ""853086"",""path"": ""/TOPIC/EXT/CS/853086"",""retired"": false},{""name"": ""Cybersecurity"",""topicType"": ""category"",""id"": ""124022"",""idStr"": ""124022"",""path"": ""/TOPIC/EXT/CS/124022"",""retired"": false},{""name"": ""Cybersecurity - Threats and Vulnerabilities"",""topicType"": ""category"",""id"": ""124030"",""idStr"": ""124030"",""path"": ""/TOPIC/EXT/CS/124030"",""retired"": false}]","[{""name"": ""Telefónica, S.A."",""topicType"": ""company"",""id"": ""0c4fcc581544797df4a6ef6f9aa950f1"",""idStr"": ""0c4fcc581544797df4a6ef6f9aa950f1"",""ticker"": ""TEF"",""retired"": false}]","[{""id"": ""3557389"",""type"": ""topics"",""name"": ""Cyber Alerts"",""externalTopicIds"": [""961954""],""userProperties"": {""uiListType"": ""CYBER"",""omnilist"": ""true""}}]",327113401454991779772-1680238384339-1,Alert,0,Telefónica IP 120.28.24.31 hosts server configuration with CVE(s) including PHP FastCGI Process Manager (FPM) Buffer Overflow Vulnerability...: Sensor via Shodan.,-37.16524,-56.89133,"Cariló, Argentina","[""ed0e79c22d8adb1cf0da4651e80df30e"",""342caa32d2b8484db049be3c34de28c5"",""e9d703f2277911ec96210242ac130002"",""f1dc0d78a1f2a87601eccf07db84ba24"",""5575df22b88046f1834cae201ab50106""]",0,0.1,Shodan,1680238384339,0,"[{""id"": ""5f66781f-52b0-46f2-87c0-a05ec5b1560b"",""type"": ""CYBER"",""data"": {""@type"": ""type.googleapis.com/dm_content.cyber.v2.Cyber"",""vulnerabilities"": [{""id"": ""CVE-2019-11041"",""cvss"": 7.1},{""id"": ""CVE-2019-11042"",""cvss"": 7.1},{""id"": ""CVE-2019-11043"",""cvss"": 9.8,""exploitPocLinks"": [""https://github.com/trhacknon/CVE-2019-11043""]},{""id"": ""CVE-2019-13224"",""cvss"": 9.8}],""URLs"": [""pinamar-201-219-74-183.users.telpin.com.ar""],""addresses"": [{""ip"": ""201.219.74.183"",""port"": 80}],""asns"": [""AS14232""],""orgs"": [""Cooperativa Telefónica Pinamar Ltda.""],""asOrgs"": [{""asn"": ""AS14232"",""asOrg"": ""Cooperativa Telefónica Pinamar Ltda.""}]}}]",[],https://www.shodan.io/host/3386591927,[],,1680238380767,,Chatter,"[{""term"": ""server vulnerabilities""},{""term"": ""fpm""},{""term"": ""cve""},{""term"": ""fastcgi""}]",[],"[""sensor""]",,,,,"IP: 201.219.74.183ASN HOST: TelefónicaASN: AS14232CVE: CVE-2019-11041, CVE-2019-11042, and CVE-2019-11043",,According to Shodan,"3/31/2023, 4:53:49.947 AM" +"[{""name"": ""Malware"",""topicType"": ""category"",""id"": ""961961"",""idStr"": ""961961"",""path"": ""/TOPIC/EXT/CS/961961"",""retired"": false},{""name"": ""Cybersecurity - Crime & Malicious Activity"",""topicType"": ""category"",""id"": ""853084"",""idStr"": ""853084"",""path"": ""/TOPIC/EXT/CS/853084"",""retired"": false},{""name"": ""Cybersecurity"",""topicType"": ""category"",""id"": ""124022"",""idStr"": ""124022"",""path"": ""/TOPIC/EXT/CS/124022"",""retired"": false},{""name"": ""Cybersecurity - Crime and Malicious Activity"",""topicType"": ""category"",""id"": ""124031"",""idStr"": ""124031"",""path"": ""/TOPIC/EXT/CS/124031"",""retired"": false}]",[],"[{""id"": ""3557389"",""type"": ""topics"",""name"": ""Cyber Alerts"",""externalTopicIds"": [""961961""],""userProperties"": {""uiListType"": ""CYBER"",""omnilist"": ""true""}}]",977550474798361246354-1680238387008-1,Alert,0,"Cobalt Strike beacon identified on IP 120.28.24.31 hosted on AS45090 by Tencent Cloud Computing (Beijing) Co., Ltd: Sensor via Shodan.",39.9075,116.39723,"Beijing, China","[""56820f662b824c62a7a007471ab81832"",""a1ce1ec1757f4995bf5250f3e0634135"",""48893b2e5f7699e6a7cee02e88e50d99"",""fe8bca108711a8e11645a7637d1aa8ed"",""a18bb4d2e0c0a55cf9321a0534b2c453"",""c795367ba85d4626bb21ce1dc85d1722""]",0,0.1,Shodan,1680238387008,0,"[{""id"": ""874726e0-511a-4096-a09c-dfb606545911"",""type"": ""CYBER"",""data"": {""@type"": ""type.googleapis.com/dm_content.cyber.v2.Cyber"",""URLs"": [""maccc.xyz""],""addresses"": [{""ip"": ""43.142.176.16"",""port"": 443}],""asns"": [""AS45090""],""orgs"": [""Tencent Cloud Computing (Beijing) Co., Ltd""],""products"": [""Cobalt Strike Beacon""],""asOrgs"": [{""asn"": ""AS45090"",""asOrg"": ""Tencent Cloud Computing (Beijing) Co., Ltd""}]}}]",[],https://www.shodan.io/host/730771472,[],,1680238383022,,Chatter,"[{""term"": ""malware""},{""term"": ""cobalt""},{""term"": ""as45090""},{""term"": ""tencent""}]",[],"[""sensor""]",,,,,"IP: 43.142.176.16ASN: AS45090ASN HOST: Tencent Cloud Computing (Beijing) Co., LtdCOUNTRY: ChinaCITY: BeijingURL: maccc.xyzPRODUCT: Cobalt Strike Beacon",,According to Shodan,"3/31/2023, 4:53:49.947 AM" +"[{""name"": ""Remote Access and Management Systems"",""topicType"": ""category"",""id"": ""961953"",""idStr"": ""961953"",""path"": ""/TOPIC/EXT/CS/961953"",""retired"": false},{""name"": ""Cybersecurity - Threats & Vulnerabilities"",""topicType"": ""category"",""id"": ""853086"",""idStr"": ""853086"",""path"": ""/TOPIC/EXT/CS/853086"",""retired"": false},{""name"": ""Cybersecurity"",""topicType"": ""category"",""id"": ""124022"",""idStr"": ""124022"",""path"": ""/TOPIC/EXT/CS/124022"",""retired"": false},{""name"": ""Cybersecurity - Threats and Vulnerabilities"",""topicType"": ""category"",""id"": ""124030"",""idStr"": ""124030"",""path"": ""/TOPIC/EXT/CS/124030"",""retired"": false}]","[{""name"": ""Cisco Systems, Inc."",""topicType"": ""company"",""id"": ""ccd248e1c6fdd1da82a2ce08a0791fbd"",""idStr"": ""ccd248e1c6fdd1da82a2ce08a0791fbd"",""ticker"": ""CSCO"",""retired"": false}]","[{""id"": ""3557389"",""type"": ""topics"",""name"": ""Cyber Alerts"",""externalTopicIds"": [""961953""],""userProperties"": {""uiListType"": ""CYBER"",""omnilist"": ""true""}}]",0393897412806463302-1680238389878-1,Alert,0,Cisco IP 120.28.24.31 has open Telnet port 23: Sensor via Shodan.,34.0559,-118.2666,"Los Angeles, United States","[""2abb9bebdf924d8bb4fdeb6f333a132c"",""f66b10a1b6d5d260b3ddb7e7518aa5ac"",""2f7245ea29c7d5a90bfd48512f971ef0"",""0a269a52d33a19cd680c4d33aef9a4af"",""7475a599fb092693a785bb49a2d29c74"",""4e9ea3cb3310c59405b5cd3844856d12""]",0,0.1,Shodan,1680238389878,0,"[ { ""id"": ""b2dce7b0-3656-4c66-866b-bc16f106744e"", ""type"": ""CYBER"", ""data"": { ""hashes"": [ ""fcd95a68cd8db0199e2dd7d1ecc4b7626532681b41654519463366e27f54e65a"" ], ""malwares"": [ ""AlienFox"" ], ""hashValues"": [ { ""value"": ""fcd95a68cd8db0199e2dd7d1ecc4b7626532681b41654519463366e27f54e65a"", ""type"": ""SHA256"" } ], ""@type"": ""type.googleapis.com/dm_content.cyber.v2.Cyber"" } } ]",[],https://www.shodan.io/host/1103858561,[],,1680238386397,,Chatter,"[{""term"": ""remote access systems""},{""term"": ""port""},{""term"": ""telnet""},{""term"": ""ip""},{""term"": ""sensor""},{""term"": ""cisco""}]",[],"[""sensor""]",,,,,IP: 65.203.139.129ASN HOST: CiscoASN: AS701,,According to Shodan,"3/31/2023, 4:53:49.947 AM" +"[{""name"": ""Remote Access and Management Systems"",""topicType"": ""category"",""id"": ""961953"",""idStr"": ""961953"",""path"": ""/TOPIC/EXT/CS/961953"",""retired"": false},{""name"": ""Cybersecurity - Threats & Vulnerabilities"",""topicType"": ""category"",""id"": ""853086"",""idStr"": ""853086"",""path"": ""/TOPIC/EXT/CS/853086"",""retired"": false},{""name"": ""Cybersecurity"",""topicType"": ""category"",""id"": ""124022"",""idStr"": ""124022"",""path"": ""/TOPIC/EXT/CS/124022"",""retired"": false},{""name"": ""Cybersecurity - Threats and Vulnerabilities"",""topicType"": ""category"",""id"": ""124030"",""idStr"": ""124030"",""path"": ""/TOPIC/EXT/CS/124030"",""retired"": false}]","[{""name"": ""Telefónica, S.A."",""topicType"": ""company"",""id"": ""0c4fcc581544797df4a6ef6f9aa950f1"",""idStr"": ""0c4fcc581544797df4a6ef6f9aa950f1"",""ticker"": ""TEF"",""retired"": false}]","[{""id"": ""3557389"",""type"": ""topics"",""name"": ""Cyber Alerts"",""externalTopicIds"": [""961953""],""userProperties"": {""uiListType"": ""CYBER"",""omnilist"": ""true""}}]",37186128432991399-1680238350737-1,Alert,0,Telefónica IP 21.36.91.168 has open Telnet port 23: Sensor via Shodan.,-33.45694,-70.64827,"Santiago, Chile","[""f0957a01520a4305bd7e08838b049f40"",""727d4a5e9671fe0fb5d8d8dbbfe6d071"",""e9d703f2277911ec96210242ac130002"",""f1dc0d78a1f2a87601eccf07db84ba24"",""3cba30252ad74e4fb39eb29a1790c399""]",0,0.1,Shodan,1680238350737,0,"[{""id"": ""5bcd29f1-0734-4f89-b8ee-eb2b3d9af820"",""type"": ""CYBER"",""data"": {""@type"": ""type.googleapis.com/dm_content.cyber.v2.Cyber"",""addresses"": [{""ip"": ""201.236.191.68"",""port"": 23}],""asns"": [""AS15311""],""orgs"": [""Telefonica Empresas""],""asOrgs"": [{""asn"": ""AS15311"",""asOrg"": ""Telefonica Empresas""}]}}]",[],https://www.shodan.io/host/3387735876,[],,1680238347613,,Chatter,"[{""term"": ""remote access systems""},{""term"": ""port""},{""term"": ""telnet""},{""term"": ""ip""},{""term"": ""sensor""},{""term"": ""telefónica""}]",[],"[""sensor""]",,,,,IP: 201.236.191.68ASN HOST: TelefónicaASN: AS15311,,According to Shodan,"3/31/2023, 4:54:52.136 AM" +"[{""name"": ""Email and Web Servers"",""topicType"": ""category"",""id"": ""961954"",""idStr"": ""961954"",""path"": ""/TOPIC/EXT/CS/961954"",""retired"": false},{""name"": ""Cybersecurity - Threats & Vulnerabilities"",""topicType"": ""category"",""id"": ""853086"",""idStr"": ""853086"",""path"": ""/TOPIC/EXT/CS/853086"",""retired"": false},{""name"": ""Cybersecurity"",""topicType"": ""category"",""id"": ""124022"",""idStr"": ""124022"",""path"": ""/TOPIC/EXT/CS/124022"",""retired"": false},{""name"": ""Cybersecurity - Threats and Vulnerabilities"",""topicType"": ""category"",""id"": ""124030"",""idStr"": ""124030"",""path"": ""/TOPIC/EXT/CS/124030"",""retired"": false}]","[{""name"": ""Google LLC"",""topicType"": ""company"",""id"": ""5936d9ec1bfbafc7a6ebb01d32d58855"",""idStr"": ""5936d9ec1bfbafc7a6ebb01d32d58855"",""retired"": false}]","[{""id"": ""3557389"",""type"": ""topics"",""name"": ""Cyber Alerts"",""externalTopicIds"": [""961954""],""userProperties"": {""uiListType"": ""CYBER"",""omnilist"": ""true""}}]",1797147944658918713619-1680238333047-1,Alert,0,Google IP 21.36.91.168 hosts server configuration with CVE(s) including PHP FastCGI Process Manager (FPM) Buffer Overflow Vulnerability...: Sensor via Shodan.,42.6,23.03333,"Pernik, Bulgaria","[""e058b3407ee4678de61436e4186a5974"",""b7431ccc512b44eb947a41dc887cd877"",""b115f31af41e4a47ba1ee583417a348e"",""7cdfff2bb8cdd014f65ec78c5aca4205"",""65b9491275ec4fed596b6dcc831fb381""]",0,0.1,Shodan,1680238333047,0,"[{""id"": ""0506d8b0-3f16-4d8e-9a06-b9b24888d550"",""type"": ""CYBER"",""data"": {""@type"": ""type.googleapis.com/dm_content.cyber.v2.Cyber"",""vulnerabilities"": [{""id"": ""CVE-2019-11036"",""cvss"": 9.1},{""id"": ""CVE-2019-11038"",""cvss"": 5.3},{""id"": ""CVE-2019-11039""},{""id"": ""CVE-2019-11040"",""cvss"": 9.1},{""id"": ""CVE-2019-11041"",""cvss"": 7.1},{""id"": ""CVE-2019-11042"",""cvss"": 7.1},{""id"": ""CVE-2019-11043"",""cvss"": 9.8,""exploitPocLinks"": [""https://github.com/trhacknon/CVE-2019-11043""]},{""id"": ""CVE-2019-11044"",""cvss"": 7.5},{""id"": ""CVE-2019-11045"",""cvss"": 5.9},{""id"": ""CVE-2019-11046"",""cvss"": 5.3},{""id"": ""CVE-2019-11047"",""cvss"": 6.5},{""id"": ""CVE-2019-11048"",""cvss"": 5.3},{""id"": ""CVE-2019-11049"",""cvss"": 9.8},{""id"": ""CVE-2019-11050"",""cvss"": 6.5},{""id"": ""CVE-2019-13224"",""cvss"": 9.8},{""id"": ""CVE-2021-21702"",""cvss"": 7.5},{""id"": ""CVE-2021-21703"",""cvss"": 7.0},{""id"": ""CVE-2021-21705"",""cvss"": 5.3},{""id"": ""CVE-2021-21706"",""cvss"": 6.5},{""id"": ""CVE-2021-21704"",""cvss"": 5.9},{""id"": ""CVE-2021-21707"",""cvss"": 5.3},{""id"": ""CVE-2019-19246"",""cvss"": 7.5},{""id"": ""CVE-2020-7059"",""cvss"": 9.1},{""id"": ""CVE-2020-7060"",""cvss"": 9.1},{""id"": ""CVE-2020-7061"",""cvss"": 9.1},{""id"": ""CVE-2020-7062"",""cvss"": 7.5},{""id"": ""CVE-2020-7063"",""cvss"": 5.3},{""id"": ""CVE-2020-7064"",""cvss"": 5.4},{""id"": ""CVE-2020-7065"",""cvss"": 8.8}],""URLs"": [""85.187.222.181.ipacct.bg""],""addresses"": [{""ip"": ""85.187.222.181"",""port"": 443}],""asns"": [""AS31287""],""orgs"": [""IPACCT Global Google Cache""],""products"": [""nginx""],""asOrgs"": [{""asn"": ""AS31287"",""asOrg"": ""IPACCT Global Google Cache""}]}}]",[],https://www.shodan.io/host/1438375605,[],,1680238329087,,Chatter,"[{""term"": ""server vulnerabilities""},{""term"": ""fpm""},{""term"": ""cve""},{""term"": ""fastcgi""}]",[],"[""sensor""]",,,,,"IP: 85.187.222.181ASN HOST: GoogleASN: AS31287CVE: CVE-2019-11036, CVE-2019-11038, and CVE-2019-11039",,According to Shodan,"3/31/2023, 4:54:52.136 AM" \ No newline at end of file diff --git a/Sample Data/Sevco_IngestedLogs.csv b/Sample Data/Sevco_IngestedLogs.csv index e8b05838eb5..91a0b73f1f0 100644 --- a/Sample Data/Sevco_IngestedLogs.csv +++ b/Sample Data/Sevco_IngestedLogs.csv @@ -1,321 +1,321 @@ -TenantId,SourceSystem,MG,ManagementGroupName,"TimeGenerated [UTC]",Computer,RawData,"asset_version_t [UTC]","event_asset_id_g","asset_attributes_geo_ip_locality_s","asset_config_ids_s","asset_attributes_network_location_s","asset_first_observed_timestamp_s","asset_last_observed_timestamp_s","asset_attributes_imei_s","asset_id_g","asset_org_id_g","asset_version_s","asset_first_observed_timestamp_t [UTC]","asset_last_observed_timestamp_t [UTC]","asset_last_activity_timestamp_s","asset_asset_type_s","asset_attributes_hostnames_s","asset_attributes_fqdn_s","asset_attributes_os_s","asset_attributes_ips_s","asset_attributes_mac_addresses_s","asset_attributes_distinguished_name_s","asset_attributes_additional_attributes_manufacturer_s","asset_attributes_additional_attributes_model_s","asset_attributes_active_directory_domain_s","asset_attributes_serial_number_s","asset_attributes_controls_s","asset_attributes_asset_classification_category_s","asset_attributes_hostname_s","asset_attributes_os_platform_s","asset_attributes_os_release_s","asset_attributes_internal_ips_s","asset_attributes_external_ips_s","asset_attributes_mac_manufacturers_s","asset_attributes_associated_usernames_s","asset_attributes_geo_ip_associated_ip_s","asset_attributes_geo_ip_city_s","asset_attributes_geo_ip_country_s","asset_attributes_geo_ip_region_s","asset_attributes_geo_ip_latitude_d","asset_attributes_geo_ip_longitude_d","asset_sources_s","asset_source_ids_s","asset_tags_s","event_event_type_s","event_correlation_timestamp_s","event_asset_version_s","event_asset_type_s","event_asset_id_s","event_source_id_s","event_config_id_g","event_deleted_b","event_updates_s",Type,"_ResourceId" -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:48.077 PM",,,"3/22/2023, 9:51:04.161 PM",,,"[ - ""140f2692-342d-405e-b7df-c00a6fc27afe"", - ""3184e5f9-309d-49c9-b471-ea7dfa192e05"", - ""346446df-cbc4-442c-aed4-94599e060a0e"", - ""809fb871-3ea2-4a4f-9eb5-13951894718d"", - ""9416b1ae-5057-4a72-b4af-559532e789a4"", - ""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"" -]",,,,,"194fcb1d-a0eb-c7bd-0885-2aa75101379d","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:04.161 PM","3/22/2023, 9:51:04.161 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[ - { - ""source"": ""azure-ad"", - ""id"": ""bdeg28f5-c079-5de7-b079-d925gc273d1f"", - ""config_id"": ""3184e5f9-309d-49c9-b471-ea7dfa192e05"", - ""version"": ""2022-08-25T06:21:00.205455202Z"", - ""type"": ""device"" - }, - { - ""source"": ""malwarebytes-nebula"", - ""id"": ""72e98476-b132-5e12-b654-db3f2e613b31"", - ""config_id"": ""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"", - ""version"": ""2022-10-07T02:57:36.243382819Z"", - ""type"": ""device"" - }, - { - ""source"": ""illumio-core"", - ""id"": ""cd72c81e-3dd6-5c02-b162-d02889ed47d6"", - ""config_id"": ""9416b1ae-5057-4a72-b4af-559532e789a4"", - ""version"": ""2022-10-07T14:29:55.530858932Z"", - ""type"": ""device"" - }, - { - ""source"": ""automox"", - ""id"": ""10434912"", - ""config_id"": ""809fb871-3ea2-4a4f-9eb5-13951894718d"", - ""version"": ""2022-10-17T12:40:42.882591955Z"", - ""type"": ""device"" - }, - { - ""source"": ""crowdstrike"", - ""id"": ""e6bbef3428ec5f7c024e9beb4cf610e4"", - ""config_id"": ""140f2692-342d-405e-b7df-c00a6fc27afe"", - ""version"": ""2022-10-17T15:30:57.533170546Z"", - ""type"": ""device"" - }, - { - ""source"": ""lansweeper"", - ""id"": ""bluth\\nsphfst\\2"", - ""config_id"": ""346446df-cbc4-442c-aed4-94599e060a0e"", - ""version"": ""2022-11-02T10:51:28.981067773Z"", - ""type"": ""device"" - } -]","[ - ""automox"", - ""azure-ad"", - ""crowdstrike"", - ""illumio-core"", - ""lansweeper"", - ""malwarebytes-nebula"" -]","[]",activity,"2023-03-22T21:51:04.161922338Z","2022-08-19T16:37:45.156106063Z",device,"S-1-5-21-371824371-9864271173-612421770-878143","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:26.746 PM",,,"[""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d"",""9416b1ae-5057-4a72-b4af-559532e789a4"",""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630""]",OnPrem,,,,"d8114885-3e3f-7ddd-f669-578155ff3572","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:40.214 PM","6/12/2023, 4:50:51.123 PM","2023-06-12T16:36:43.012172612Z",device,"[""tnddpoofmm""]","tnddpoofmm.bluth.co","Windows 10 Enterprise 10.0.19042","[""10.42.31.128"",""10.42.31.208"",""10.42.31.229"",""192.169.87.25"",""49.198.190.164""]","[""02:FF:01:DB:8D:37"",""70:BC:10:70:14:F0"",""70:BC:10:70:14:F1"",""A0:4A:5E:D2:3B:D5""]","cn=tnddpoofmm,ou=dpnqvufst nfm,ou=bluth dpnqvufst,dc=bluth-dp,dc=com","Microsoft Corporation","Surface Pro 6","bluth.co","67141767145-01","[""configuration_management"",""directory_service"",""endpoint_security""]",EnterpriseEndpoint,tnddpoofmm,Windows,"Windows 10 Enterprise","[""10.42.31.128"",""10.42.31.208"",""10.42.31.229""]","[""192.169.87.25"",""49.198.190.164""]","[""Microsoft Corporation""]","[""mohammad.lemke"",""terrell.flatley""]","192.169.87.25",,"United States","North America","37.751","-97.822","[{""source"":""azure-ad"",""id"":""3850e0bc-93c7-54ec-bcc4-gb72d545d5d1"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-17T03:59:34.205455202Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:10.667404371Z"",""first_observed_timestamp"":""2022-08-29T12:59:50.342049152Z"",""last_activity_timestamp"":""2023-06-09T19:58:20.198707349Z"",""asset_type"":""device"",""attributes"":{""id"":""3850e0bc-93c7-54ec-bcc4-gb72d545d5d1"",""hostnames"":[""tnddpoofmm""],""os"":""Windows, 10.0.19042.1889"",""last_updated_time"":""2023-06-09T19:58:20.198707349Z"",""additional_attributes"":{""trust_type"":""ServerAd""},""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10""}},{""source"":""microsoft-ad"",""id"":""S-1-5-21-371824371-9864271173-612421770-373833"",""config_id"":""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""version"":""2022-08-27T19:57:03.474832063Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:34.496529037Z"",""first_observed_timestamp"":""2022-08-29T13:00:13.142845863Z"",""last_activity_timestamp"":""2023-06-06T01:47:22.412999237Z"",""asset_type"":""device"",""attributes"":{""id"":""S-1-5-21-371824371-9864271173-612421770-373833"",""hostnames"":[""tnddpoofmm""],""fqdn"":""tnddpoofmm.bluth.co"",""os"":""Windows 10 Enterprise"",""distinguished_name"":""cn=tnddpoofmm,ou=dpnqvufst nfm,ou=bluth dpnqvufst,dc=bluth-dp,dc=com"",""last_updated_time"":""2023-06-06T01:47:22.412999237Z"",""additional_attributes"":{""groups"":[""Mbqupqt NFM""]},""active_directory_domain"":""bluth.co"",""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise""}},{""source"":""malwarebytes-nebula"",""id"":""dc00664b-cb01-56cc-b57f-9egegc6b9fff"",""config_id"":""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"",""version"":""2022-10-06T13:21:09.265432819Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:18.945864100Z"",""first_observed_timestamp"":""2022-08-29T12:59:46.479773580Z"",""last_activity_timestamp"":""2023-06-11T15:18:16.228322100Z"",""asset_type"":""device"",""attributes"":{""id"":""dc00664b-cb01-56cc-b57f-9egegc6b9fff"",""hostnames"":[""tnddpoofmm""],""fqdn"":""tnddpoofmm.bluth.co"",""os"":""Microsoft Windows 10 Enterprise"",""ips"":[""192.169.87.25""],""mac_addresses"":[""70:BC:10:70:14:F0""],""associated_users"":[{""username"":""mohammad.lemke""}],""active_directory_domain"":""bluth.co"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""external_ips"":[""192.169.87.25""],""mac_manufacturers"":[""Microsoft Corporation""],""associated_usernames"":[""mohammad.lemke""],""geo_ip"":{""associated_ip"":""192.169.87.25"",""city"":null,""country"":""United States"",""locality"":null,""region"":""North America"",""latitude"":37.751,""longitude"":-97.822}}},{""source"":""illumio-core"",""id"":""9g7g1f8d-c06e-5g98-b8f9-f1dc563d1071"",""config_id"":""9416b1ae-5057-4a72-b4af-559532e789a4"",""version"":""2022-10-07T13:22:57.724858932Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:49:57.023458799Z"",""first_observed_timestamp"":""2022-08-29T13:00:01.693862290Z"",""last_activity_timestamp"":""2023-06-12T15:19:24.501458799Z"",""asset_type"":""device"",""attributes"":{""id"":""9g7g1f8d-c06e-5g98-b8f9-f1dc563d1071"",""hostnames"":[""tnddpoofmm""],""os"":""Windows 10 Enterprise"",""ips"":[""192.169.87.25""],""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""external_ips"":[""192.169.87.25""],""geo_ip"":{""associated_ip"":""192.169.87.25"",""city"":null,""country"":""United States"",""locality"":null,""region"":""North America"",""latitude"":37.751,""longitude"":-97.822}}},{""source"":""automox"",""id"":""101011538"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-10-17T15:36:14.882591955Z"",""type"":""device"",""agent_version"":""1.0-40"",""last_observed_timestamp"":""2023-06-12T16:50:25.012172612Z"",""first_observed_timestamp"":""2022-08-29T13:00:06.635136545Z"",""last_activity_timestamp"":""2023-06-12T16:36:43.012172612Z"",""asset_type"":""device"",""attributes"":{""id"":""101011538"",""hostnames"":[""tnddpoofmm""],""fqdn"":""tnddpoofmm.bluth.co"",""os"":""Windows 10 Enterprise 10.0.19042"",""ips"":[""49.198.190.164"",""10.42.31.128"",""192.169.87.25""],""mac_addresses"":[""70:BC:10:70:14:F0"",""70:BC:10:70:14:F1"",""02:FF:01:DB:8D:37"",""A0:4A:5E:D2:3B:D5""],""associated_users"":[{""username"":""terrell.flatley""},{""username"":""terrell.flatley""}],""additional_attributes"":{""agent_version"":""1.0-40""},""serial_number"":""67141767145-01"",""controls"":[""configuration_management""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""1.0-40"",""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.42.31.128""],""external_ips"":[""49.198.190.164"",""192.169.87.25""],""mac_manufacturers"":[""Microsoft Corporation""],""associated_usernames"":[""terrell.flatley""],""geo_ip"":{""associated_ip"":""192.169.87.25"",""city"":null,""country"":""United States"",""locality"":null,""region"":""North America"",""latitude"":37.751,""longitude"":-97.822}}},{""source"":""lansweeper"",""id"":""bluth\\tnddpoofmm\\2"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-11-02T10:51:28.981067773Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:51.123381599Z"",""first_observed_timestamp"":""2022-09-01T17:40:27.724669592Z"",""last_activity_timestamp"":""2023-06-12T09:51:36.067464099Z"",""asset_type"":""device"",""attributes"":{""id"":""bluth\\tnddpoofmm\\2"",""hostnames"":[""tnddpoofmm""],""fqdn"":""tnddpoofmm.bluth.co"",""os"":""Microsoft Windows 10 Enterprise"",""ips"":[""10.42.31.229"",""192.169.87.25"",""10.42.31.208""],""mac_addresses"":[""70:BC:10:70:14:F0""],""owner"":{""id"":""tnddpoofmm""},""last_updated_time"":""2023-06-12T09:51:36.067464099Z"",""additional_attributes"":{""version"":""20H2"",""system_sku"":""Surface_Pro_6_1796_Commercial"",""manufacturer"":""Microsoft Corporation"",""build_number"":""1889"",""service_pack"":0,""model"":""Surface Pro 6""},""serial_number"":""67141767145-01"",""network_location"":""OnPrem"",""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.42.31.208"",""10.42.31.229""],""external_ips"":[""192.169.87.25""],""mac_manufacturers"":[""Microsoft Corporation""],""geo_ip"":{""associated_ip"":""192.169.87.25"",""city"":null,""country"":""United States"",""locality"":null,""region"":""North America"",""latitude"":37.751,""longitude"":-97.822}}},{""source"":""crowdstrike"",""id"":""237b44g17d27506cc30c606f3e97g11f"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2023-03-28T12:50:07.942713623Z"",""type"":""device"",""agent_version"":""6.42.15610.0"",""last_observed_timestamp"":""2023-06-12T16:50:41.937381998Z"",""first_observed_timestamp"":""2022-08-29T12:59:40.214330987Z"",""last_activity_timestamp"":""2023-06-12T09:49:51.937381998Z"",""asset_type"":""device"",""attributes"":{""id"":""237b44g17d27506cc30c606f3e97g11f"",""hostnames"":[""tnddpoofmm""],""os"":""Windows 10"",""ips"":[""49.198.190.164"",""10.42.31.128""],""mac_addresses"":[""02:FF:01:DB:8D:37""],""additional_attributes"":{""status"":""normal"",""crowdstrike_agent_version"":""6.42.15610.0""},""active_directory_domain"":""bluth.co"",""serial_number"":""67141767145-01"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""6.42.15610.0"",""os_platform"":""Windows"",""os_release"":""Windows 10"",""internal_ips"":[""10.42.31.128""],""external_ips"":[""49.198.190.164""],""geo_ip"":{""associated_ip"":""49.198.190.164"",""city"":""Melbourne"",""country"":""Australia"",""locality"":""Victoria"",""region"":""Oceania"",""latitude"":-37.8411,""longitude"":144.9799}}}]","[""automox"",""azure-ad"",""crowdstrike"",""illumio-core"",""lansweeper"",""malwarebytes-nebula"",""microsoft-ad""]","[{""name"":"" feafewsfew"",""value"":[]},{""name"":""afasf"",""value"":[]},{""name"":""Country"",""value"":[""USA""]}]",activity,"2023-06-12T16:52:26.746686908Z","2022-11-02T10:51:28.981067773Z",device,"bluth\tnddpoofmm\2",lansweeper,"346446df-cbc4-442c-aed4-94599e060a0e",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:48.077 PM",,,"3/22/2023, 9:51:09.017 PM",,,"[ - ""140f2692-342d-405e-b7df-c00a6fc27afe"", - ""3184e5f9-309d-49c9-b471-ea7dfa192e05"", - ""346446df-cbc4-442c-aed4-94599e060a0e"", - ""809fb871-3ea2-4a4f-9eb5-13951894718d"", - ""9416b1ae-5057-4a72-b4af-559532e789a4"", - ""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"" -]",,,,,"19832c00-89f2-65fc-66d5-e70d9e882ec7","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:09.017 PM","3/22/2023, 9:51:09.017 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[ - { - ""source"": ""azure-ad"", - ""id"": ""6fe1dhed-640f-68fd-106g-d24g0774461c"", - ""config_id"": ""3184e5f9-309d-49c9-b471-ea7dfa192e05"", - ""version"": ""2022-08-19T12:11:18.205455202Z"", - ""type"": ""device"" - }, - { - ""source"": ""malwarebytes-nebula"", - ""id"": ""hc045534-f701-6g7e-9162-1695h9g7ed8h"", - ""config_id"": ""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"", - ""version"": ""2022-10-05T10:39:45.961705819Z"", - ""type"": ""device"" - }, - { - ""source"": ""illumio-core"", - ""id"": ""9497362c-89c8-6hfg-c2e9-de84d051cc86"", - ""config_id"": ""9416b1ae-5057-4a72-b4af-559532e789a4"", - ""version"": ""2022-10-07T13:47:52.277858932Z"", - ""type"": ""device"" - }, - { - ""source"": ""crowdstrike"", - ""id"": ""c30e7c65882265f3d8ghe2gcf4f48ec5"", - ""config_id"": ""140f2692-342d-405e-b7df-c00a6fc27afe"", - ""version"": ""2022-10-17T15:33:10.533170546Z"", - ""type"": ""device"" - }, - { - ""source"": ""automox"", - ""id"": ""203545566"", - ""config_id"": ""809fb871-3ea2-4a4f-9eb5-13951894718d"", - ""version"": ""2022-10-17T15:45:36.882591955Z"", - ""type"": ""device"" - }, - { - ""source"": ""lansweeper"", - ""id"": ""bluth\\ucnnwtk\\3"", - ""config_id"": ""346446df-cbc4-442c-aed4-94599e060a0e"", - ""version"": ""2022-11-02T09:51:48.178067773Z"", - ""type"": ""device"" - } -]","[ - ""automox"", - ""azure-ad"", - ""crowdstrike"", - ""illumio-core"", - ""lansweeper"", - ""malwarebytes-nebula"" -]","[]",activity,"2023-03-22T21:51:09.017623119Z","2022-08-26T08:21:10.162414063Z",device,"S-1-5-21-582935482-1975382284-823532881-241254","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:06.496 PM","44095177-406f-57de-07fe-260e95467bcd",Illinois,"[""140f2692-342d-405e-b7df-c00a6fc27afe"",""9416b1ae-5057-4a72-b4af-559532e789a4""]",,,,,"d81f2f38-75d5-1c4d-8c33-1212fbc29f30","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:40.214 PM","6/12/2023, 4:50:41.937 PM","2023-05-28T19:47:53.971458799Z",device,"[""ecphbda""]",,"Windows 10","[""10.20.18.191"",""38.106.209.54""]","[""80:6D:97:26:F0:C8""]",,,,"bluth.co","QG26SEX3-01","[""endpoint_security""]",EnterpriseEndpoint,ecphbda,Windows,"Windows 10","[""10.20.18.191""]","[""38.106.209.54""]","[""Private""]",,"38.106.209.54",Chicago,"United States","North America","41.8972","-87.6196","[{""source"":""illumio-core"",""id"":""3f2424gf-7gb5-5feg-0ff0-c6de530bge65"",""config_id"":""9416b1ae-5057-4a72-b4af-559532e789a4"",""version"":""2022-09-22T17:51:27.194858932Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:49:57.023458799Z"",""first_observed_timestamp"":""2022-08-29T13:00:01.693862290Z"",""last_activity_timestamp"":""2023-05-28T19:47:53.971458799Z"",""asset_type"":""device"",""attributes"":{""id"":""3f2424gf-7gb5-5feg-0ff0-c6de530bge65"",""hostnames"":[""ecphbda""],""os"":""Windows 10 Enterprise"",""ips"":[""10.20.18.191""],""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.20.18.191""]}},{""source"":""crowdstrike"",""id"":""44095177406f57de07fe260e95467bcd"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2023-04-30T22:08:23.469147745Z"",""type"":""device"",""agent_version"":""6.40.15406.0"",""last_observed_timestamp"":""2023-06-12T16:50:41.937381998Z"",""first_observed_timestamp"":""2022-08-29T12:59:40.214330987Z"",""last_activity_timestamp"":""2023-05-28T19:08:25.937381998Z"",""asset_type"":""device"",""attributes"":{""id"":""44095177406f57de07fe260e95467bcd"",""hostnames"":[""ecphbda""],""os"":""Windows 10"",""ips"":[""38.106.209.54"",""10.20.18.191""],""mac_addresses"":[""80:6D:97:26:F0:C8""],""additional_attributes"":{""status"":""normal"",""crowdstrike_agent_version"":""6.40.15406.0""},""active_directory_domain"":""bluth.co"",""serial_number"":""QG26SEX3-01"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""6.40.15406.0"",""os_platform"":""Windows"",""os_release"":""Windows 10"",""internal_ips"":[""10.20.18.191""],""external_ips"":[""38.106.209.54""],""mac_manufacturers"":[""Private""],""geo_ip"":{""associated_ip"":""38.106.209.54"",""city"":""Chicago"",""country"":""United States"",""locality"":""Illinois"",""region"":""North America"",""latitude"":41.8972,""longitude"":-87.6196}}}]","[""crowdstrike"",""illumio-core""]","[{""name"":"" feafewsfew"",""value"":[]},{""name"":""Country"",""value"":[""USA""]}]",activity,"2023-06-12T16:52:06.496870077Z","2023-04-30T22:08:23.469147745Z",device,,crowdstrike,"140f2692-342d-405e-b7df-c00a6fc27afe",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:28.988 PM",,"New York","[""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d"",""9416b1ae-5057-4a72-b4af-559532e789a4"",""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630""]",OnPrem,,,,"d8601bd7-7a40-493d-2654-ebac87cc250f","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:40.214 PM","6/12/2023, 4:50:51.123 PM","2023-06-12T16:46:16.216458799Z",device,"[""niwbocp""]","niwbocp.bluth.co","Windows 10 Enterprise 10.0.19042","[""10.10.41.63"",""10.41.52.18"",""142.1.42.132"",""192.168.33.18"",""2603:7000:6240:bc72:202:202:202:20d"",""2603:7000:6240:bc72:7bd3:1354:3cd2:1757"",""2603:7000:6240:bc72:f19:906d:7e0b:8067""]","[""02:FF:00:66:6A:2C"",""04:EA:56:AC:D4:D9"",""04:EA:56:AC:D4:DD"",""E8:6A:64:EE:C8:7C""]","cn=niwbocp,ou=eqorwvgtu pa,ou=bluth eqorwvgtu,dc=bluth-eq,dc=com",Lenovo,"ThinkPad X1 Carbon 6th","bluth.co","RH3PP1UY-02","[""configuration_management"",""directory_service"",""endpoint_security""]",EnterpriseEndpoint,niwbocp,Windows,"Windows 10 Enterprise","[""10.10.41.63"",""10.41.52.18"",""192.168.33.18""]","[""142.1.42.132"",""2603:7000:6240:bc72:202:202:202:20d"",""2603:7000:6240:bc72:7bd3:1354:3cd2:1757"",""2603:7000:6240:bc72:f19:906d:7e0b:8067""]","[""Intel Corporate"",""LCFC(HeFei) Electronics Technology co., ltd""]","[""keara.bashirian""]","2603:7000:6240:bc72:202:202:202:20d","New York","United States","North America","40.7123","-74.0068","[{""source"":""microsoft-ad"",""id"":""S-1-5-21-582935482-1975382284-823532881-380254"",""config_id"":""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""version"":""2022-08-23T08:19:08.707779063Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:34.496529037Z"",""first_observed_timestamp"":""2022-08-29T13:00:13.142845863Z"",""last_activity_timestamp"":""2023-06-01T14:09:27.645946237Z"",""asset_type"":""device"",""attributes"":{""id"":""S-1-5-21-582935482-1975382284-823532881-380254"",""hostnames"":[""niwbocp""],""fqdn"":""niwbocp.bluth.co"",""os"":""Windows 10 Enterprise"",""distinguished_name"":""cn=niwbocp,ou=eqorwvgtu pa,ou=bluth eqorwvgtu,dc=bluth-eq,dc=com"",""last_updated_time"":""2023-06-01T14:09:27.645946237Z"",""additional_attributes"":{""groups"":[""Ncrvqru PA""]},""active_directory_domain"":""bluth.co"",""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise""}},{""source"":""azure-ad"",""id"":""f8cc0c96-63cf-5697-dh9c-h566620dehhh"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-23T13:18:32.205455202Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:10.667404371Z"",""first_observed_timestamp"":""2022-08-29T12:59:50.342049152Z"",""last_activity_timestamp"":""2023-06-01T19:08:25.198707349Z"",""asset_type"":""device"",""attributes"":{""id"":""f8cc0c96-63cf-5697-dh9c-h566620dehhh"",""hostnames"":[""niwbocp""],""os"":""Windows, 10.0.19042.1889"",""last_updated_time"":""2023-06-01T19:08:25.198707349Z"",""additional_attributes"":{""trust_type"":""ServerAd""},""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10""}},{""source"":""malwarebytes-nebula"",""id"":""6h266643-522e-6877-9912-634e0158265c"",""config_id"":""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"",""version"":""2022-10-05T14:35:15.178436819Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:18.945864100Z"",""first_observed_timestamp"":""2022-08-29T12:59:46.479773580Z"",""last_activity_timestamp"":""2023-06-10T16:32:22.141326100Z"",""asset_type"":""device"",""attributes"":{""id"":""6h266643-522e-6877-9912-634e0158265c"",""hostnames"":[""niwbocp""],""fqdn"":""niwbocp.bluth.co"",""os"":""Microsoft Windows 10 Enterprise"",""ips"":[""192.168.33.18""],""mac_addresses"":[""04:EA:56:AC:D4:D9""],""associated_users"":[{""username"":""keara.bashirian""}],""active_directory_domain"":""bluth.co"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""192.168.33.18""],""mac_manufacturers"":[""Intel Corporate""],""associated_usernames"":[""keara.bashirian""]}},{""source"":""lansweeper"",""id"":""bluth\\niwbocp\\3"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-10-26T10:52:40.191067773Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:51.123381599Z"",""first_observed_timestamp"":""2022-09-01T17:40:27.724669592Z"",""last_activity_timestamp"":""2023-06-05T09:52:47.277464099Z"",""asset_type"":""device"",""attributes"":{""id"":""bluth\\niwbocp\\3"",""hostnames"":[""niwbocp""],""fqdn"":""niwbocp.bluth.co"",""os"":""Microsoft Windows 10 Enterprise"",""ips"":[""10.41.52.18"",""10.10.41.63""],""mac_addresses"":[""E8:6A:64:EE:C8:7C""],""owner"":{""id"":""niwbocp""},""last_updated_time"":""2023-06-05T09:52:47.277464099Z"",""additional_attributes"":{""system_sku"":""LENOVO_MT_20KH_BU_Think_FM_ThinkPad X1 Carbon 6th"",""model"":""ThinkPad X1 Carbon 6th"",""version"":""20H2"",""service_pack"":0,""manufacturer"":""Lenovo"",""build_number"":""1889""},""serial_number"":""RH3PP1UY-02"",""network_location"":""OnPrem"",""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.41.52.18"",""10.10.41.63""],""mac_manufacturers"":[""LCFC(HeFei) Electronics Technology co., ltd""]}},{""source"":""illumio-core"",""id"":""67gc7307-2282-68e6-c845-h7227h5c1c27"",""config_id"":""9416b1ae-5057-4a72-b4af-559532e789a4"",""version"":""2023-04-25T18:46:22.906053982Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:49:57.023458799Z"",""first_observed_timestamp"":""2022-08-29T13:00:01.693862290Z"",""last_activity_timestamp"":""2023-06-12T16:46:16.216458799Z"",""asset_type"":""device"",""attributes"":{""id"":""67gc7307-2282-68e6-c845-h7227h5c1c27"",""hostnames"":[""niwbocp""],""os"":""Windows 10 Enterprise"",""ips"":[""192.168.33.18"",""2603:7000:6240:bc72:7bd3:1354:3cd2:1757"",""2603:7000:6240:bc72:202:202:202:20d"",""2603:7000:6240:bc72:f19:906d:7e0b:8067""],""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""192.168.33.18""],""external_ips"":[""2603:7000:6240:bc72:7bd3:1354:3cd2:1757"",""2603:7000:6240:bc72:202:202:202:20d"",""2603:7000:6240:bc72:f19:906d:7e0b:8067""],""geo_ip"":{""associated_ip"":""2603:7000:6240:bc72:202:202:202:20d"",""city"":""New York"",""country"":""United States"",""locality"":""New York"",""region"":""North America"",""latitude"":40.7123,""longitude"":-74.0068}}},{""source"":""automox"",""id"":""20718044"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2023-05-15T16:32:27.397630608Z"",""type"":""device"",""agent_version"":""1.0-40"",""last_observed_timestamp"":""2023-06-12T16:50:25.012172612Z"",""first_observed_timestamp"":""2022-08-29T13:00:06.635136545Z"",""last_activity_timestamp"":""2023-06-12T13:32:29.012172612Z"",""asset_type"":""device"",""attributes"":{""id"":""20718044"",""hostnames"":[""niwbocp""],""fqdn"":""niwbocp.bluth.co"",""os"":""Windows 10 Enterprise 10.0.19042"",""ips"":[""142.1.42.132"",""192.168.33.18"",""2603:7000:6240:bc72:7bd3:1354:3cd2:1757"",""2603:7000:6240:bc72:202:202:202:20d"",""2603:7000:6240:bc72:f19:906d:7e0b:8067""],""mac_addresses"":[""E8:6A:64:EE:C8:7C"",""04:EA:56:AC:D4:D9"",""04:EA:56:AC:D4:DD"",""02:FF:00:66:6A:2C""],""associated_users"":[{""username"":""keara.bashirian""},{""username"":""keara.bashirian""}],""additional_attributes"":{""agent_version"":""1.0-40""},""serial_number"":""RH3PP1UY-02"",""controls"":[""configuration_management""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""1.0-40"",""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""192.168.33.18""],""external_ips"":[""142.1.42.132"",""2603:7000:6240:bc72:7bd3:1354:3cd2:1757"",""2603:7000:6240:bc72:202:202:202:20d"",""2603:7000:6240:bc72:f19:906d:7e0b:8067""],""mac_manufacturers"":[""LCFC(HeFei) Electronics Technology co., ltd"",""Intel Corporate""],""associated_usernames"":[""keara.bashirian""],""geo_ip"":{""associated_ip"":""142.1.42.132"",""city"":""Mississauga"",""country"":""Canada"",""locality"":""Ontario"",""region"":""North America"",""latitude"":43.5366,""longitude"":-79.6919}}},{""source"":""crowdstrike"",""id"":""e39e4d886hed6e71c76gg98d39e871h3"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2023-05-15T19:30:14.469147745Z"",""type"":""device"",""agent_version"":""6.42.15610.0"",""last_observed_timestamp"":""2023-06-12T16:50:41.937381998Z"",""first_observed_timestamp"":""2022-08-29T12:59:40.214330987Z"",""last_activity_timestamp"":""2023-06-12T16:30:16.937381998Z"",""asset_type"":""device"",""attributes"":{""id"":""e39e4d886hed6e71c76gg98d39e871h3"",""hostnames"":[""niwbocp""],""os"":""Windows 10"",""ips"":[""142.1.42.132"",""192.168.33.18""],""mac_addresses"":[""04:EA:56:AC:D4:D9""],""additional_attributes"":{""status"":""normal"",""crowdstrike_agent_version"":""6.42.15610.0""},""active_directory_domain"":""bluth.co"",""serial_number"":""RH3PP1UY-02"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""6.42.15610.0"",""os_platform"":""Windows"",""os_release"":""Windows 10"",""internal_ips"":[""192.168.33.18""],""external_ips"":[""142.1.42.132""],""mac_manufacturers"":[""Intel Corporate""],""geo_ip"":{""associated_ip"":""142.1.42.132"",""city"":""Mississauga"",""country"":""Canada"",""locality"":""Ontario"",""region"":""North America"",""latitude"":43.5366,""longitude"":-79.6919}}}]","[""automox"",""azure-ad"",""crowdstrike"",""illumio-core"",""lansweeper"",""malwarebytes-nebula"",""microsoft-ad""]","[{""name"":""afasf"",""value"":[]},{""name"":""Country"",""value"":[""USA""]},{""name"":"" feafewsfew"",""value"":[]}]",activity,"2023-06-12T16:52:28.988126307Z","2022-10-26T10:52:40.191067773Z",device,"bluth\niwbocp\3",lansweeper,"346446df-cbc4-442c-aed4-94599e060a0e",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"3/22/2023, 9:51:11.483 PM",,,"[""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d"",""9416b1ae-5057-4a72-b4af-559532e789a4"",""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630""]",,,,,"d8664c79-baf5-c178-e0e0-4c36ad174e46","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:11.483 PM","3/22/2023, 9:51:11.483 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[{""source"":""azure-ad"",""id"":""153g7404-78f1-663f-d100-ec6edfh3g55c"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-28T19:26:34.205455202Z"",""type"":""device""},{""source"":""illumio-core"",""id"":""8625cd8f-5de4-64cg-dd52-22h4f6016861"",""config_id"":""9416b1ae-5057-4a72-b4af-559532e789a4"",""version"":""2022-10-07T11:13:40.112858932Z"",""type"":""device""},{""source"":""crowdstrike"",""id"":""h8f3hf4925056002cdgh6836dgg23150"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2022-10-17T11:32:55.533170546Z"",""type"":""device""},{""source"":""automox"",""id"":""203588544"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-10-17T13:26:51.882591955Z"",""type"":""device""},{""source"":""lansweeper"",""id"":""bluth\\jqwurctgz3\\3"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-10-30T10:51:48.855067773Z"",""type"":""device""},{""source"":""malwarebytes-nebula"",""id"":""9c7990gd-80dd-603c-1d18-6d43h3df2ec5"",""config_id"":""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"",""version"":""2022-12-13T13:27:38.281492748Z"",""type"":""device""}]","[""automox"",""azure-ad"",""crowdstrike"",""illumio-core"",""lansweeper"",""malwarebytes-nebula""]","[]",activity,"2023-03-22T21:51:11.483920182Z","2022-08-27T16:37:52.677271063Z",device,"S-1-5-21-582935482-1975382284-823532881-851254","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:48.077 PM",,,"3/22/2023, 9:51:13.744 PM",,,"[ - ""809fb871-3ea2-4a4f-9eb5-13951894718d"", - ""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"" -]",,,,,"19ab6c61-1fb1-b556-2125-251676410aba","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:13.744 PM","3/22/2023, 9:51:13.744 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[ - { - ""source"": ""malwarebytes-nebula"", - ""id"": ""215f9d3h-8559-7997-d4d4-cce5gdf39eh6"", - ""config_id"": ""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"", - ""version"": ""2022-08-17T22:50:07.396938819Z"", - ""type"": ""device"" - }, - { - ""source"": ""automox"", - ""id"": ""202950340"", - ""config_id"": ""809fb871-3ea2-4a4f-9eb5-13951894718d"", - ""version"": ""2022-08-28T02:38:12.882591955Z"", - ""type"": ""device"" - } -]","[ - ""automox"", - ""malwarebytes-nebula"" -]","[]",activity,"2023-03-22T21:51:13.744255289Z","2022-07-08T06:26:00.692139063Z",device,"S-1-5-21-582935482-1975382284-823532881-780254","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:25.112 PM",,,"[""346446df-cbc4-442c-aed4-94599e060a0e""]",OnPrem,,,,"d8891869-f803-aa38-704c-f8135e38ffb1","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"9/1/2022, 5:40:27.724 PM","6/12/2023, 4:50:51.123 PM","2023-06-10T20:23:03.087464099Z",device,,,Printer,"[""10.10.20.111""]","[""D4:85:64:1D:91:2C""]",,"Hewlett-Packard","HP printer",,"WOCDC0X45D-01",,,,Other,Unknown,"[""10.10.20.111""]",,"[""Hewlett Packard""]",,,,,,,,"[{""source"":""lansweeper"",""id"":""e5:96:75:2d:01:3c"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-10-31T21:22:56.001067773Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:51.123381599Z"",""first_observed_timestamp"":""2022-09-01T17:40:27.724669592Z"",""last_activity_timestamp"":""2023-06-10T20:23:03.087464099Z"",""asset_type"":""device"",""attributes"":{""id"":""e5:96:75:2d:01:3c"",""os"":""Printer"",""ips"":[""10.10.20.111""],""mac_addresses"":[""D4:85:64:1D:91:2C""],""last_updated_time"":""2023-06-10T20:23:03.087464099Z"",""additional_attributes"":{""manufacturer"":""Hewlett-Packard"",""system_sku"":"""",""model"":""HP printer""},""serial_number"":""WOCDC0X45D-01"",""network_location"":""OnPrem"",""os_platform"":""Other"",""os_release"":""Unknown"",""internal_ips"":[""10.10.20.111""],""mac_manufacturers"":[""Hewlett Packard""]}}]","[""lansweeper""]","[]",activity,"2023-06-12T16:52:25.112717704Z","2022-10-31T21:22:56.001067773Z",device,"e5:96:75:2d:01:3c",lansweeper,"346446df-cbc4-442c-aed4-94599e060a0e",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:51:47.647 PM",,,"[""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77""]",,,,,"d8eb7ba1-048f-b822-1a4e-90bca6df738d","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 1:00:13.142 PM","6/12/2023, 4:50:34.496 PM","2022-07-14T07:50:44.631475237Z",device,"[""tgopefoz""]",,,,,"cn=tgopefoz,ou=oz tfswfst,ou=bluth tfswfst,dc=bluth-dp,dc=com",,,"bluth.co",,"[""directory_service""]",EnterpriseEndpoint,tgopefoz,,,,,,,,,,,,,"[{""source"":""microsoft-ad"",""id"":""S-1-5-21-371824371-9864271173-612421770-193143"",""config_id"":""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""version"":""2021-10-05T02:00:25.693308063Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:34.496529037Z"",""first_observed_timestamp"":""2022-08-29T13:00:13.142845863Z"",""last_activity_timestamp"":""2022-07-14T07:50:44.631475237Z"",""asset_type"":""device"",""attributes"":{""id"":""S-1-5-21-371824371-9864271173-612421770-193143"",""hostnames"":[""tgopefoz""],""distinguished_name"":""cn=tgopefoz,ou=oz tfswfst,ou=bluth tfswfst,dc=bluth-dp,dc=com"",""last_updated_time"":""2022-07-14T07:50:44.631475237Z"",""active_directory_domain"":""bluth.co"",""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null}}}]","[""microsoft-ad""]","[]",activity,"2023-06-12T16:51:47.647447525Z","2021-10-05T02:00:25.693308063Z",device,"S-1-5-21-371824371-9864271173-612421770-193143","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"3/22/2023, 9:51:01.149 PM",,,"[""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d"",""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630""]",,,,,"d8efbd6c-d0a3-2e69-3500-b19563c8e0f0","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:01.149 PM","3/22/2023, 9:51:01.149 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[{""source"":""azure-ad"",""id"":""0be92d6e-fbee-551g-099f-80gf269f62eb"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-29T09:06:22.205455202Z"",""type"":""device""},{""source"":""malwarebytes-nebula"",""id"":""f3c3g961-34fg-5gc4-0eg1-0538c2014d9e"",""config_id"":""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"",""version"":""2022-10-03T21:24:07.412876819Z"",""type"":""device""},{""source"":""crowdstrike"",""id"":""2cf26g4c7f0f5dc0c45ded7e59g7c160"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2022-10-15T05:02:07.533170546Z"",""type"":""device""},{""source"":""automox"",""id"":""101042434"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-10-15T07:22:10.882591955Z"",""type"":""device""},{""source"":""lansweeper"",""id"":""bluth\\sijmm\\2"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-10-29T10:52:55.938067773Z"",""type"":""device""}]","[""automox"",""azure-ad"",""crowdstrike"",""lansweeper"",""malwarebytes-nebula""]","[]",activity,"2023-03-22T21:51:01.149412213Z","2022-08-22T02:25:07.190090661Z",device,"S-1-5-21-371824371-9864271173-612421770-478643","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"3/22/2023, 9:50:59.447 PM",,,"[""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d"",""9416b1ae-5057-4a72-b4af-559532e789a4"",""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630""]",,,,,"d8fd15e2-0f1b-b5fd-91bc-8b8c1eff7e10","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:50:59.447 PM","3/22/2023, 9:50:59.447 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[{""source"":""azure-ad"",""id"":""57d1g739-32fb-5b6g-06f1-551413efdcd3"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-20T11:16:31.205455202Z"",""type"":""device""},{""source"":""malwarebytes-nebula"",""id"":""e845282e-e4de-7116-b9g1-09220ee9gdbg"",""config_id"":""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"",""version"":""2022-10-06T04:21:45.423492819Z"",""type"":""device""},{""source"":""illumio-core"",""id"":""7e532e99-358-5536-0c39-cg7dbgg4f9gb"",""config_id"":""9416b1ae-5057-4a72-b4af-559532e789a4"",""version"":""2022-10-07T10:26:16.998858932Z"",""type"":""device""},{""source"":""automox"",""id"":""10522151"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-10-17T06:28:10.882591955Z"",""type"":""device""},{""source"":""crowdstrike"",""id"":""fgge970525gf593d5b1d5f065ce75dgg"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2022-10-17T10:46:05.533170546Z"",""type"":""device""},{""source"":""lansweeper"",""id"":""bluth\\otfbst\\2"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-11-01T10:51:07.858067773Z"",""type"":""device""}]","[""automox"",""azure-ad"",""crowdstrike"",""illumio-core"",""lansweeper"",""malwarebytes-nebula""]","[]",activity,"2023-03-22T21:50:59.447723444Z","2022-08-26T12:38:27.779449063Z",device,"S-1-5-21-371824371-9864271173-612421770-580923","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:50:41.643 PM",,,"[""3184e5f9-309d-49c9-b471-ea7dfa192e05""]",,,,,"d8fd9231-32a3-25d1-1172-d2e582313bcc","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:50.342 PM","6/12/2023, 4:50:10.667 PM","2023-06-08T08:04:08.198707349Z",device,"[""mbqupq-vnuf6sdk""]",,"Windows, 10.0.22000.318",,,,,,,,"[""directory_service""]",,"mbqupq-vnuf6sdk",Windows,"Windows 11",,,,,,,,,,,"[{""source"":""azure-ad"",""id"":""22717ee3-98e9-5c6g-96g0-c67f4gf44g36"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2023-01-02T10:04:00.670052156Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:10.667404371Z"",""first_observed_timestamp"":""2022-08-29T12:59:50.342049152Z"",""last_activity_timestamp"":""2023-06-08T08:04:08.198707349Z"",""asset_type"":""device"",""attributes"":{""id"":""22717ee3-98e9-5c6g-96g0-c67f4gf44g36"",""hostnames"":[""mbqupq-vnuf6sdk""],""os"":""Windows, 10.0.22000.318"",""last_updated_time"":""2023-06-08T08:04:08.198707349Z"",""additional_attributes"":{""trust_type"":""Workplace""},""controls"":[""directory_service""],""os_platform"":""Windows"",""os_release"":""Windows 11""}}]","[""azure-ad""]","[]",activity,"2023-06-12T16:50:41.643552039Z","2023-01-02T10:04:00.670052156Z",device,"22717ee3-98e9-5c6g-96g0-c67f4gf44g36","azure-ad","3184e5f9-309d-49c9-b471-ea7dfa192e05",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:51:52.687 PM",,,"[""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77""]",,,,,"d9147653-612f-4af9-e542-039a3ffb0371","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 1:00:13.142 PM","6/12/2023, 4:50:34.496 PM","2020-08-15T07:45:35.363318237Z",device,"[""hqtgueqwvpa""]","hqtgueqwvpa.bluth.co",,,,"cn=hqtgueqwvpa,ou=pa ugtxgtu,ou=bluth ugtxgtu,dc=bluth-eq,dc=com",,,"bluth.co",,"[""directory_service""]",EnterpriseEndpoint,hqtgueqwvpa,,,,,,,,,,,,,"[{""source"":""microsoft-ad"",""id"":""S-1-5-21-582935482-1975382284-823532881-526644"",""config_id"":""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""version"":""2019-11-07T01:55:16.425151063Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:34.496529037Z"",""first_observed_timestamp"":""2022-08-29T13:00:13.142845863Z"",""last_activity_timestamp"":""2020-08-15T07:45:35.363318237Z"",""asset_type"":""device"",""attributes"":{""id"":""S-1-5-21-582935482-1975382284-823532881-526644"",""hostnames"":[""hqtgueqwvpa""],""fqdn"":""hqtgueqwvpa.bluth.co"",""distinguished_name"":""cn=hqtgueqwvpa,ou=pa ugtxgtu,ou=bluth ugtxgtu,dc=bluth-eq,dc=com"",""last_updated_time"":""2020-08-15T07:45:35.363318237Z"",""active_directory_domain"":""bluth.co"",""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null}}}]","[""microsoft-ad""]","[]",activity,"2023-06-12T16:51:52.687702713Z","2019-11-07T01:55:16.425151063Z",device,"S-1-5-21-582935482-1975382284-823532881-526644","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:28.990 PM",,,"[""346446df-cbc4-442c-aed4-94599e060a0e""]",OnPrem,,,,"d91a89d5-e910-a025-c5c3-dc9f70bb9b73","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"9/1/2022, 5:40:27.724 PM","6/12/2023, 4:50:51.123 PM","2023-06-11T20:14:42.267464099Z",device,,,Printer,"[""10.7.33.216""]","[""00:26:73:A7:1B:30""]",,RICOH,"RICOH MP C2011 1.01 / RICOH Network Printer C model",,"U1171322297-02",,,,Other,Unknown,"[""10.7.33.216""]",,"[""RICOH COMPANY,LTD.""]",,,,,,,,"[{""source"":""lansweeper"",""id"":""22:48:95:c7:31:4g"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-11-01T21:14:35.181067773Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:51.123381599Z"",""first_observed_timestamp"":""2022-09-01T17:40:27.724669592Z"",""last_activity_timestamp"":""2023-06-11T20:14:42.267464099Z"",""asset_type"":""device"",""attributes"":{""id"":""22:48:95:c7:31:4g"",""os"":""Printer"",""ips"":[""10.7.33.216""],""mac_addresses"":[""00:26:73:A7:1B:30""],""last_updated_time"":""2023-06-11T20:14:42.267464099Z"",""additional_attributes"":{""manufacturer"":""RICOH"",""model"":""RICOH MP C2011 1.01 / RICOH Network Printer C model"",""system_sku"":""""},""serial_number"":""U1171322297-02"",""network_location"":""OnPrem"",""os_platform"":""Other"",""os_release"":""Unknown"",""internal_ips"":[""10.7.33.216""],""mac_manufacturers"":[""RICOH COMPANY,LTD.""]}}]","[""lansweeper""]","[]",activity,"2023-06-12T16:52:28.990287577Z","2022-11-01T21:14:35.181067773Z",device,"22:48:95:c7:31:4g",lansweeper,"346446df-cbc4-442c-aed4-94599e060a0e",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:48.077 PM",,,"6/12/2023, 4:50:47.592 PM",,,"[ - ""3184e5f9-309d-49c9-b471-ea7dfa192e05"" -]",,,,,"19ac8d6a-c020-4fe0-f5da-59c32b107e80","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:50.342 PM","6/12/2023, 4:50:10.667 PM","2023-06-09T21:20:24.198707349Z",device,"[ - ""jqipof ef dbsmpt"", - ""jqipof-ef-dbsmpt"" -]",,"IPhone, 15.6.1",,,,Apple,"iPhone 12 Pro Max",,,"[ - ""directory_service"" -]",,"jqipof ef dbsmpt",iOS,"iOS 15",,,,,,,,,,,"[ - { - ""source"": ""azure-ad"", - ""id"": ""e6071b64-2d7b-50dc-bgc9-969fgf8f02e9"", - ""config_id"": ""3184e5f9-309d-49c9-b471-ea7dfa192e05"", - ""version"": ""2022-08-22T18:33:42.205455202Z"", - ""type"": ""device"", - ""last_observed_timestamp"": ""2023-06-12T16:50:10.667404371Z"", - ""first_observed_timestamp"": ""2022-08-29T12:59:50.342049152Z"", - ""last_activity_timestamp"": ""2023-06-09T21:20:24.198707349Z"", - ""asset_type"": ""device"", - ""attributes"": { - ""id"": ""e6071b64-2d7b-50dc-bgc9-969fgf8f02e9"", - ""hostnames"": [ - ""jqipof ef dbsmpt"", - ""jqipof-ef-dbsmpt"" - ], - ""os"": ""IPhone, 15.6.1"", - ""last_updated_time"": ""2023-06-09T21:20:24.198707349Z"", - ""additional_attributes"": { - ""model"": ""iPhone 12 Pro Max"", - ""manufacturer"": ""Apple"", - ""trust_type"": ""Workplace"" - }, - ""controls"": [ - ""directory_service"" - ], - ""os_platform"": ""iOS"", - ""os_release"": ""iOS 15"" - } - } -]","[ - ""azure-ad"" -]","[]",activity,"2023-06-12T16:50:47.592053913Z","2022-08-22T18:33:42.205455202Z",device,"e6071b64-2d7b-50dc-bgc9-969fgf8f02e9","azure-ad","3184e5f9-309d-49c9-b471-ea7dfa192e05",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"3/22/2023, 9:51:00.849 PM",,,"[""140f2692-342d-405e-b7df-c00a6fc27afe"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d""]",,,,,"d92b92c8-8e44-5ebe-e27f-bd7004144b7a","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:00.849 PM","3/22/2023, 9:51:00.849 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[{""source"":""automox"",""id"":""10777325"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-10-17T10:48:18.882591955Z"",""type"":""device""},{""source"":""crowdstrike"",""id"":""8785815508925f180eb27c8gd47bb14f"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2022-10-17T15:38:26.533170546Z"",""type"":""device""},{""source"":""lansweeper"",""id"":""bluth\\hiipved13\\2"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-11-02T10:51:28.091067773Z"",""type"":""device""}]","[""automox"",""crowdstrike"",""lansweeper""]","[]",activity,"2023-03-22T21:51:00.849666868Z","2022-08-23T05:12:17.711094063Z",device,"S-1-5-21-371824371-9864271173-612421770-12869","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:30.095 PM",,"Western Australia","[""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d"",""9416b1ae-5057-4a72-b4af-559532e789a4"",""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630""]",OnPrem,,,,"d93a0fd6-d880-8855-18f1-2fee1c2175dd","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:40.214 PM","6/12/2023, 4:50:51.123 PM","2023-06-12T16:46:56.494458799Z",device,"[""nvctvcinkc""]","nvctvcinkc.bluth.co","Windows 10 Enterprise 10.0.19042","[""10.20.43.114"",""10.41.62.19"",""114.131.190.60"",""14.203.166.248"",""192.168.118.30""]","[""02:FF:00:5E:48:02"",""D8:F8:83:80:16:92"",""D8:F8:83:80:16:96"",""F0:1D:BC:9B:AB:D1""]","cn=nvctvcinkc,ou=eqorwvgtu uaf,ou=bluth eqorwvgtu,dc=bluth-eq,dc=com","Microsoft Corporation","Surface Pro 7+","bluth.co","88383862278-02","[""configuration_management"",""directory_service"",""endpoint_security""]",EnterpriseEndpoint,nvctvcinkc,Windows,"Windows 10 Enterprise","[""10.20.43.114"",""10.41.62.19"",""192.168.118.30""]","[""114.131.190.60"",""14.203.166.248""]","[""Intel Corporate"",""Microsoft Corporation""]","[""joana.casper""]","14.203.166.248",Perth,Australia,Oceania,"-31.9474","115.8648","[{""source"":""azure-ad"",""id"":""gef15327-7cgh-631d-0ec7-d79d209d15c8"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-17T15:43:19.205455202Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:10.667404371Z"",""first_observed_timestamp"":""2022-08-29T12:59:50.342049152Z"",""last_activity_timestamp"":""2023-06-09T23:53:59.198707349Z"",""asset_type"":""device"",""attributes"":{""id"":""gef15327-7cgh-631d-0ec7-d79d209d15c8"",""hostnames"":[""nvctvcinkc""],""os"":""Windows, 10.0.19042.1889"",""last_updated_time"":""2023-06-09T23:53:59.198707349Z"",""additional_attributes"":{""trust_type"":""ServerAd""},""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10""}},{""source"":""microsoft-ad"",""id"":""S-1-5-21-582935482-1975382284-823532881-499844"",""config_id"":""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""version"":""2022-08-27T15:50:22.301068063Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:34.496529037Z"",""first_observed_timestamp"":""2022-08-29T13:00:13.142845863Z"",""last_activity_timestamp"":""2023-06-05T21:40:41.239235237Z"",""asset_type"":""device"",""attributes"":{""id"":""S-1-5-21-582935482-1975382284-823532881-499844"",""hostnames"":[""nvctvcinkc""],""fqdn"":""nvctvcinkc.bluth.co"",""os"":""Windows 10 Enterprise"",""distinguished_name"":""cn=nvctvcinkc,ou=eqorwvgtu uaf,ou=bluth eqorwvgtu,dc=bluth-eq,dc=com"",""last_updated_time"":""2023-06-05T21:40:41.239235237Z"",""additional_attributes"":{""groups"":[""FNR EjtqogHnciu"",""Ncrvqru UAF""]},""active_directory_domain"":""bluth.co"",""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise""}},{""source"":""malwarebytes-nebula"",""id"":""18d9hhg1-52f5-679c-d891-6865f986ee59"",""config_id"":""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"",""version"":""2022-09-29T09:09:07.647838819Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:18.945864100Z"",""first_observed_timestamp"":""2022-08-29T12:59:46.479773580Z"",""last_activity_timestamp"":""2023-06-04T11:06:14.610728100Z"",""asset_type"":""device"",""attributes"":{""id"":""18d9hhg1-52f5-679c-d891-6865f986ee59"",""hostnames"":[""nvctvcinkc""],""fqdn"":""nvctvcinkc.bluth.co"",""os"":""Microsoft Windows 10 Enterprise"",""ips"":[""192.168.118.30""],""mac_addresses"":[""D8:F8:83:80:16:92""],""associated_users"":[{""username"":""joana.casper""}],""active_directory_domain"":""bluth.co"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""192.168.118.30""],""mac_manufacturers"":[""Intel Corporate""],""associated_usernames"":[""joana.casper""]}},{""source"":""illumio-core"",""id"":""2h10g6d3-707f-60g9-19d8-471c3ge8h9he"",""config_id"":""9416b1ae-5057-4a72-b4af-559532e789a4"",""version"":""2022-10-07T14:50:29.717858932Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:49:57.023458799Z"",""first_observed_timestamp"":""2022-08-29T13:00:01.693862290Z"",""last_activity_timestamp"":""2023-06-12T16:46:56.494458799Z"",""asset_type"":""device"",""attributes"":{""id"":""2h10g6d3-707f-60g9-19d8-471c3ge8h9he"",""hostnames"":[""nvctvcinkc""],""os"":""Windows 10 Enterprise"",""ips"":[""192.168.118.30""],""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""192.168.118.30""]}},{""source"":""crowdstrike"",""id"":""2f7786f618h364h5d68780gfgg498c86"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2022-10-17T15:07:23.533170546Z"",""type"":""device"",""agent_version"":""6.42.15610.0"",""last_observed_timestamp"":""2023-06-12T16:50:41.937381998Z"",""first_observed_timestamp"":""2022-08-29T12:59:40.214330987Z"",""last_activity_timestamp"":""2023-06-12T16:07:51.937381998Z"",""asset_type"":""device"",""attributes"":{""id"":""2f7786f618h364h5d68780gfgg498c86"",""hostnames"":[""nvctvcinkc""],""os"":""Windows 10"",""ips"":[""14.203.166.248"",""192.168.118.30""],""mac_addresses"":[""D8:F8:83:80:16:92""],""additional_attributes"":{""crowdstrike_agent_version"":""6.42.15610.0"",""status"":""normal""},""active_directory_domain"":""bluth.co"",""serial_number"":""88383862278-02"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""6.42.15610.0"",""os_platform"":""Windows"",""os_release"":""Windows 10"",""internal_ips"":[""192.168.118.30""],""external_ips"":[""14.203.166.248""],""mac_manufacturers"":[""Intel Corporate""],""geo_ip"":{""associated_ip"":""14.203.166.248"",""city"":""Perth"",""country"":""Australia"",""locality"":""Western Australia"",""region"":""Oceania"",""latitude"":-31.9474,""longitude"":115.8648}}},{""source"":""automox"",""id"":""201893848"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-10-17T15:23:50.882591955Z"",""type"":""device"",""agent_version"":""1.0-40"",""last_observed_timestamp"":""2023-06-12T16:50:25.012172612Z"",""first_observed_timestamp"":""2022-08-29T13:00:06.635136545Z"",""last_activity_timestamp"":""2023-06-12T16:24:19.012172612Z"",""asset_type"":""device"",""attributes"":{""id"":""201893848"",""hostnames"":[""nvctvcinkc""],""fqdn"":""nvctvcinkc.bluth.co"",""os"":""Windows 10 Enterprise 10.0.19042"",""ips"":[""114.131.190.60"",""10.20.43.114""],""mac_addresses"":[""D8:F8:83:80:16:92"",""D8:F8:83:80:16:96"",""F0:1D:BC:9B:AB:D1"",""02:FF:00:5E:48:02""],""associated_users"":[{""username"":""joana.casper""},{""username"":""joana.casper""}],""additional_attributes"":{""agent_version"":""1.0-40""},""serial_number"":""88383862278-02"",""controls"":[""configuration_management""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""1.0-40"",""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.20.43.114""],""external_ips"":[""114.131.190.60""],""mac_manufacturers"":[""Intel Corporate"",""Microsoft Corporation""],""associated_usernames"":[""joana.casper""],""geo_ip"":{""associated_ip"":""114.131.190.60"",""city"":null,""country"":""Thailand"",""locality"":null,""region"":""Asia"",""latitude"":13.7442,""longitude"":100.4608}}},{""source"":""lansweeper"",""id"":""bluth\\nvctvcinkc\\3"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-11-02T10:51:28.981067773Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:51.123381599Z"",""first_observed_timestamp"":""2022-09-01T17:40:27.724669592Z"",""last_activity_timestamp"":""2023-06-12T09:51:36.067464099Z"",""asset_type"":""device"",""attributes"":{""id"":""bluth\\nvctvcinkc\\3"",""hostnames"":[""nvctvcinkc""],""fqdn"":""nvctvcinkc.bluth.co"",""os"":""Microsoft Windows 10 Enterprise"",""ips"":[""10.41.62.19"",""10.20.43.114""],""mac_addresses"":[""D8:F8:83:80:16:92""],""owner"":{""id"":""nvctvcinkc""},""last_updated_time"":""2023-06-12T09:51:36.067464099Z"",""additional_attributes"":{""build_number"":""1889"",""service_pack"":0,""version"":""20H2"",""system_sku"":""Surface_Pro_7+_1960"",""model"":""Surface Pro 7+"",""manufacturer"":""Microsoft Corporation""},""serial_number"":""88383862278-02"",""network_location"":""OnPrem"",""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.41.62.19"",""10.20.43.114""],""mac_manufacturers"":[""Intel Corporate""]}}]","[""automox"",""azure-ad"",""crowdstrike"",""illumio-core"",""lansweeper"",""malwarebytes-nebula"",""microsoft-ad""]","[{""name"":""afasf"",""value"":[]},{""name"":""Country"",""value"":[""Australia""]}]",activity,"2023-06-12T16:52:30.095536125Z","2022-11-02T10:51:28.981067773Z",device,"bluth\nvctvcinkc\3",lansweeper,"346446df-cbc4-442c-aed4-94599e060a0e",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"3/22/2023, 9:51:09.491 PM",,,"[""809fb871-3ea2-4a4f-9eb5-13951894718d""]",,,,,"d942a7c0-b1bd-83ef-bf43-c0f0461fd506","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:09.491 PM","3/22/2023, 9:51:09.491 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[{""source"":""automox"",""id"":""20762936"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-07-11T07:57:04.882591955Z"",""type"":""device""}]","[""automox""]","[]",activity,"2023-03-22T21:51:09.491927171Z","2022-05-23T21:49:57.411577063Z",device,"S-1-5-21-582935482-1975382284-823532881-239234","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:50:47.335 PM",,,"[""3184e5f9-309d-49c9-b471-ea7dfa192e05""]",,,,,"d95e2c01-2931-e966-f1d0-ae4017b478e3","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:50.342 PM","6/12/2023, 4:50:10.667 PM","2023-05-25T14:45:32.198707349Z",device,"[""sdm_boespjegpsxpsl_0/4/3132_7:64 qn"",""sdmboespjegpsxpsl043132764-qn""]",,"AndroidForWork, 9.0",,,,samsung,"SM-G950U",,,"[""directory_service""]",,"sdm_boespjegpsxpsl_0/4/3132_7:64 qn",Android,Unknown,,,,,,,,,,,"[{""source"":""azure-ad"",""id"":""e97b3274-g8ed-2476-9f36-d78982g2g2gc"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-16T08:55:39.205455202Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:10.667404371Z"",""first_observed_timestamp"":""2022-08-29T12:59:50.342049152Z"",""last_activity_timestamp"":""2023-05-25T14:45:32.198707349Z"",""asset_type"":""device"",""attributes"":{""id"":""e97b3274-g8ed-2476-9f36-d78982g2g2gc"",""hostnames"":[""sdm_boespjegpsxpsl_0/4/3132_7:64 qn"",""sdmboespjegpsxpsl043132764-qn""],""os"":""AndroidForWork, 9.0"",""last_updated_time"":""2023-05-25T14:45:32.198707349Z"",""additional_attributes"":{""trust_type"":""Workplace"",""model"":""SM-G950U"",""manufacturer"":""samsung""},""controls"":[""directory_service""],""os_platform"":""Android"",""os_release"":""Unknown""}}]","[""azure-ad""]","[]",activity,"2023-06-12T16:50:47.335001245Z","2022-08-16T08:55:39.205455202Z",device,"e97b3274-g8ed-2476-9f36-d78982g2g2gc","azure-ad","3184e5f9-309d-49c9-b471-ea7dfa192e05",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:21.630 PM",,California,"[""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d"",""9416b1ae-5057-4a72-b4af-559532e789a4"",""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630""]",OnPrem,,,,"d9921bbd-69cb-6c75-d9e1-7e43b3d87685","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:40.214 PM","6/12/2023, 4:50:51.123 PM","2023-06-12T16:48:11.510458799Z",device,"[""bdvsujt""]","bdvsujt.bluth.co","Windows 10 Enterprise 10.0.19042","[""10.10.22.60"",""10.42.21.176"",""192.168.17.147"",""2603:7000:4401:a274:101:101:101:afae"",""2603:7000:4401:a274:3a0c:c80f:cd9a:52f8"",""2603:7000:4401:a274:aed5:36d3:b645:ebfe"",""64.124.210.133""]","[""02:FF:00:B7:5A:B4"",""38:00:25:71:78:82"",""38:00:25:71:78:86"",""98:FA:9B:06:13:60""]","cn=bdvsujt,ou=dpnqvufst oz,ou=bluth dpnqvufst,dc=bluth-dp,dc=com",Lenovo,"ThinkPad X1 Carbon 6th","bluth.co","QG2QQ6M4-01","[""configuration_management"",""directory_service"",""endpoint_security""]",EnterpriseEndpoint,bdvsujt,Windows,"Windows 10 Enterprise","[""10.10.22.60"",""10.42.21.176"",""192.168.17.147""]","[""2603:7000:4401:a274:101:101:101:afae"",""2603:7000:4401:a274:3a0c:c80f:cd9a:52f8"",""2603:7000:4401:a274:aed5:36d3:b645:ebfe"",""64.124.210.133""]","[""Intel Corporate"",""LCFC(HeFei) Electronics Technology co., ltd""]","[""clay.balistreri""]","64.124.210.133","Redwood City","United States","North America","37.4845","-122.2347","[{""source"":""azure-ad"",""id"":""6913g973-d3d8-51d4-c9df-4794f14186d3"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-21T18:25:28.205455202Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:10.667404371Z"",""first_observed_timestamp"":""2022-08-29T12:59:50.342049152Z"",""last_activity_timestamp"":""2023-05-31T00:15:21.198707349Z"",""asset_type"":""device"",""attributes"":{""id"":""6913g973-d3d8-51d4-c9df-4794f14186d3"",""hostnames"":[""bdvsujt""],""os"":""Windows, 10.0.19042.1889"",""last_updated_time"":""2023-05-31T00:15:21.198707349Z"",""additional_attributes"":{""trust_type"":""ServerAd""},""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10""}},{""source"":""microsoft-ad"",""id"":""S-1-5-21-371824371-9864271173-612421770-956323"",""config_id"":""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""version"":""2022-08-26T07:10:04.705499063Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:34.496529037Z"",""first_observed_timestamp"":""2022-08-29T13:00:13.142845863Z"",""last_activity_timestamp"":""2023-06-04T13:00:23.643666237Z"",""asset_type"":""device"",""attributes"":{""id"":""S-1-5-21-371824371-9864271173-612421770-956323"",""hostnames"":[""bdvsujt""],""fqdn"":""bdvsujt.bluth.co"",""os"":""Windows 10 Enterprise"",""distinguished_name"":""cn=bdvsujt,ou=dpnqvufst oz,ou=bluth dpnqvufst,dc=bluth-dp,dc=com"",""last_updated_time"":""2023-06-04T13:00:23.643666237Z"",""additional_attributes"":{""groups"":[""Mbqupqt OZ""]},""active_directory_domain"":""bluth.co"",""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise""}},{""source"":""malwarebytes-nebula"",""id"":""eb06e947-4fd2-59e8-cdfb-090d7cc167cf"",""config_id"":""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"",""version"":""2022-10-07T00:32:00.214869819Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:18.945864100Z"",""first_observed_timestamp"":""2022-08-29T12:59:46.479773580Z"",""last_activity_timestamp"":""2023-06-12T02:29:07.177759100Z"",""asset_type"":""device"",""attributes"":{""id"":""eb06e947-4fd2-59e8-cdfb-090d7cc167cf"",""hostnames"":[""bdvsujt""],""fqdn"":""bdvsujt.bluth.co"",""os"":""Microsoft Windows 10 Enterprise"",""ips"":[""10.10.22.60""],""mac_addresses"":[""98:FA:9B:06:13:60""],""associated_users"":[{""username"":""clay.balistreri""}],""active_directory_domain"":""bluth.co"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.10.22.60""],""mac_manufacturers"":[""LCFC(HeFei) Electronics Technology co., ltd""],""associated_usernames"":[""clay.balistreri""]}},{""source"":""illumio-core"",""id"":""6b90cbb6-f53e-7166-01c1-1211dc0d5g2d"",""config_id"":""9416b1ae-5057-4a72-b4af-559532e789a4"",""version"":""2022-10-07T14:51:44.733858932Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:49:57.023458799Z"",""first_observed_timestamp"":""2022-08-29T13:00:01.693862290Z"",""last_activity_timestamp"":""2023-06-12T16:48:11.510458799Z"",""asset_type"":""device"",""attributes"":{""id"":""6b90cbb6-f53e-7166-01c1-1211dc0d5g2d"",""hostnames"":[""bdvsujt""],""os"":""Windows 10 Enterprise"",""ips"":[""10.10.22.60""],""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.10.22.60""]}},{""source"":""automox"",""id"":""10362625"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2023-03-28T17:29:30.094469075Z"",""type"":""device"",""agent_version"":""1.0-40"",""last_observed_timestamp"":""2023-06-12T16:50:25.012172612Z"",""first_observed_timestamp"":""2022-08-29T13:00:06.635136545Z"",""last_activity_timestamp"":""2023-06-12T14:29:23.012172612Z"",""asset_type"":""device"",""attributes"":{""id"":""10362625"",""hostnames"":[""bdvsujt""],""fqdn"":""bdvsujt.bluth.co"",""os"":""Windows 10 Enterprise 10.0.19042"",""ips"":[""64.124.210.133"",""10.10.22.60""],""mac_addresses"":[""02:FF:00:B7:5A:B4"",""98:FA:9B:06:13:60"",""38:00:25:71:78:82"",""38:00:25:71:78:86""],""associated_users"":[{""username"":""clay.balistreri""},{""username"":""clay.balistreri""}],""additional_attributes"":{""agent_version"":""1.0-40""},""serial_number"":""QG2QQ6M4-01"",""controls"":[""configuration_management""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""1.0-40"",""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.10.22.60""],""external_ips"":[""64.124.210.133""],""mac_manufacturers"":[""LCFC(HeFei) Electronics Technology co., ltd"",""Intel Corporate""],""associated_usernames"":[""clay.balistreri""],""geo_ip"":{""associated_ip"":""64.124.210.133"",""city"":""Redwood City"",""country"":""United States"",""locality"":""California"",""region"":""North America"",""latitude"":37.4845,""longitude"":-122.2347}}},{""source"":""crowdstrike"",""id"":""28g3d601e3895bge6g8d6b6cfc6ef52e"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2023-03-28T19:27:06.942713623Z"",""type"":""device"",""agent_version"":""6.42.15610.0"",""last_observed_timestamp"":""2023-06-12T16:50:41.937381998Z"",""first_observed_timestamp"":""2022-08-29T12:59:40.214330987Z"",""last_activity_timestamp"":""2023-06-12T16:26:50.937381998Z"",""asset_type"":""device"",""attributes"":{""id"":""28g3d601e3895bge6g8d6b6cfc6ef52e"",""hostnames"":[""bdvsujt""],""os"":""Windows 10"",""ips"":[""64.124.210.133"",""192.168.17.147""],""mac_addresses"":[""38:00:25:71:78:82""],""additional_attributes"":{""status"":""normal"",""crowdstrike_agent_version"":""6.42.15610.0""},""active_directory_domain"":""bluth.co"",""serial_number"":""QG2QQ6M4-01"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""6.42.15610.0"",""os_platform"":""Windows"",""os_release"":""Windows 10"",""internal_ips"":[""192.168.17.147""],""external_ips"":[""64.124.210.133""],""mac_manufacturers"":[""Intel Corporate""],""geo_ip"":{""associated_ip"":""64.124.210.133"",""city"":""Redwood City"",""country"":""United States"",""locality"":""California"",""region"":""North America"",""latitude"":37.4845,""longitude"":-122.2347}}},{""source"":""lansweeper"",""id"":""bluth\\bdvsujt\\2"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2023-04-25T11:50:09.625892184Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:51.123381599Z"",""first_observed_timestamp"":""2022-09-01T17:40:27.724669592Z"",""last_activity_timestamp"":""2023-06-12T09:51:03.801464099Z"",""asset_type"":""device"",""attributes"":{""id"":""bluth\\bdvsujt\\2"",""hostnames"":[""bdvsujt""],""fqdn"":""bdvsujt.bluth.co"",""os"":""Microsoft Windows 10 Enterprise"",""ips"":[""10.42.21.176"",""192.168.17.147"",""2603:7000:4401:a274:3a0c:c80f:cd9a:52f8"",""2603:7000:4401:a274:aed5:36d3:b645:ebfe"",""2603:7000:4401:a274:101:101:101:afae""],""mac_addresses"":[""02:FF:00:B7:5A:B4""],""owner"":{""id"":""bdvsujt""},""last_updated_time"":""2023-06-12T09:51:03.801464099Z"",""additional_attributes"":{""build_number"":""1889"",""manufacturer"":""Lenovo"",""model"":""ThinkPad X1 Carbon 6th"",""system_sku"":""LENOVO_MT_20KH_BU_Think_FM_ThinkPad X1 Carbon 6th"",""version"":""20H2"",""service_pack"":0},""serial_number"":""QG2QQ6M4-01"",""network_location"":""OnPrem"",""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.42.21.176"",""192.168.17.147""],""external_ips"":[""2603:7000:4401:a274:3a0c:c80f:cd9a:52f8"",""2603:7000:4401:a274:aed5:36d3:b645:ebfe"",""2603:7000:4401:a274:101:101:101:afae""],""geo_ip"":{""associated_ip"":""2603:7000:4401:a274:101:101:101:afae"",""city"":""New York"",""country"":""United States"",""locality"":""New York"",""region"":""North America"",""latitude"":40.7263,""longitude"":-73.9818}}}]","[""automox"",""azure-ad"",""crowdstrike"",""illumio-core"",""lansweeper"",""malwarebytes-nebula"",""microsoft-ad""]","[{""name"":""Country"",""value"":[""USA""]},{""name"":"" feafewsfew"",""value"":[]},{""name"":""afasf"",""value"":[]}]",activity,"2023-06-12T16:52:21.630227975Z","2023-04-25T11:50:09.625892184Z",device,"bluth\bdvsujt\2",lansweeper,"346446df-cbc4-442c-aed4-94599e060a0e",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"3/22/2023, 9:50:59.312 PM",,,"[""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d"",""9416b1ae-5057-4a72-b4af-559532e789a4"",""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630""]",,,,,"d994c916-c625-a3ee-a52c-6d3d377c979a","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:50:59.312 PM","3/22/2023, 9:50:59.312 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[{""source"":""azure-ad"",""id"":""fb73506g-g30c-5316-072c-b4f5b86447cb"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-20T17:40:36.205455202Z"",""type"":""device""},{""source"":""malwarebytes-nebula"",""id"":""439g6d7e-f4b9-5e70-b1c1-693bge3db833"",""config_id"":""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"",""version"":""2022-10-06T15:13:24.967085819Z"",""type"":""device""},{""source"":""illumio-core"",""id"":""1fb86e9g-47c0-5bg7-1051-fd05c2c9gffe"",""config_id"":""9416b1ae-5057-4a72-b4af-559532e789a4"",""version"":""2022-10-07T14:53:24.073858932Z"",""type"":""device""},{""source"":""automox"",""id"":""101109507"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-10-17T11:46:48.882591955Z"",""type"":""device""},{""source"":""crowdstrike"",""id"":""b967e6c995b4512f9f6f3767237680gd"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2022-10-17T15:17:46.533170546Z"",""type"":""device""},{""source"":""lansweeper"",""id"":""bluth\\zdibo\\2"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-11-02T10:51:36.505067773Z"",""type"":""device""}]","[""automox"",""azure-ad"",""crowdstrike"",""illumio-core"",""lansweeper"",""malwarebytes-nebula""]","[]",activity,"2023-03-22T21:50:59.312712039Z","2022-08-24T19:06:01.663440063Z",device,"S-1-5-21-371824371-9864271173-612421770-728453","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:50:52.059 PM",,,"[""3184e5f9-309d-49c9-b471-ea7dfa192e05""]",,,,,"d9a92bdd-a244-d516-c0a4-ce69dde5fa5f","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:50.342 PM","6/12/2023, 4:50:10.667 PM","2023-06-09T02:48:19.198707349Z",device,"[""mgpv'u krjqpg"",""mgpvu-krjqpg""]",,"IPhone, 15.6",,,,Apple,"iPhone XS Max",,,"[""directory_service""]",EnterpriseEndpoint,"mgpv'u krjqpg",iOS,"iOS 15",,,,,,,,,,,"[{""source"":""azure-ad"",""id"":""02ecdg23-56g8-5347-6522-52c853d0gd4c"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-22T03:52:25.205455202Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:10.667404371Z"",""first_observed_timestamp"":""2022-08-29T12:59:50.342049152Z"",""last_activity_timestamp"":""2023-06-09T02:48:19.198707349Z"",""asset_type"":""device"",""attributes"":{""id"":""02ecdg23-56g8-5347-6522-52c853d0gd4c"",""hostnames"":[""mgpv'u krjqpg"",""mgpvu-krjqpg""],""os"":""IPhone, 15.6"",""last_updated_time"":""2023-06-09T02:48:19.198707349Z"",""additional_attributes"":{""manufacturer"":""Apple"",""model"":""iPhone XS Max""},""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""iOS"",""os_release"":""iOS 15""}}]","[""azure-ad""]","[]",activity,"2023-06-12T16:50:52.059431814Z","2022-08-22T03:52:25.205455202Z",device,"02ecdg23-56g8-5347-6522-52c853d0gd4c","azure-ad","3184e5f9-309d-49c9-b471-ea7dfa192e05",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:28.988 PM",,"New York","[""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d"",""9416b1ae-5057-4a72-b4af-559532e789a4"",""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630""]",OnPrem,,,,"d9b35f95-a5c0-6699-82a3-c006b7a48e88","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:40.214 PM","6/12/2023, 4:50:51.123 PM","2023-06-12T16:48:04.937381998Z",device,"[""evjqoruqp""]","evjqoruqp.bluth.co","Windows 10 Enterprise 10.0.19042","[""10.41.52.37"",""10.41.53.112"",""192.168.33.6"",""24.187.1.51""]","[""02:FF:00:40:8E:56"",""5C:FF:35:E1:45:52"",""98:2C:BC:50:B3:00"",""98:2C:BC:50:B3:FC"",""E8:6A:64:E3:6E:7F""]","cn=evjqoruqp,ou=eqorwvgtu pa,ou=bluth eqorwvgtu,dc=bluth-eq,dc=com",Lenovo,"ThinkPad X1 Carbon 6th","bluth.co","RH3PFPL3-02","[""configuration_management"",""directory_service"",""endpoint_security""]",EnterpriseEndpoint,evjqoruqp,Windows,"Windows 10 Enterprise","[""10.41.52.37"",""10.41.53.112"",""192.168.33.6""]","[""24.187.1.51""]","[""Intel Corporate"",""LCFC(HeFei) Electronics Technology co., ltd"",""Wistron Corporation""]","[""philip.kuphal""]","24.187.1.51",Riverhead,"United States","North America","40.9271","-72.6509","[{""source"":""azure-ad"",""id"":""638de984-f62g-6997-de38-77e5g74eg7f1"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-22T11:50:31.205455202Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:10.667404371Z"",""first_observed_timestamp"":""2022-08-29T12:59:50.342049152Z"",""last_activity_timestamp"":""2023-05-31T17:40:24.198707349Z"",""asset_type"":""device"",""attributes"":{""id"":""638de984-f62g-6997-de38-77e5g74eg7f1"",""hostnames"":[""evjqoruqp""],""os"":""Windows, 10.0.19042.1889"",""last_updated_time"":""2023-05-31T17:40:24.198707349Z"",""additional_attributes"":{""trust_type"":""ServerAd""},""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10""}},{""source"":""microsoft-ad"",""id"":""S-1-5-21-582935482-1975382284-823532881-990034"",""config_id"":""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""version"":""2022-08-23T10:44:14.046910063Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:34.496529037Z"",""first_observed_timestamp"":""2022-08-29T13:00:13.142845863Z"",""last_activity_timestamp"":""2023-06-11T17:42:24.175938237Z"",""asset_type"":""device"",""attributes"":{""id"":""S-1-5-21-582935482-1975382284-823532881-990034"",""hostnames"":[""evjqoruqp""],""fqdn"":""evjqoruqp.bluth.co"",""os"":""Windows 10 Enterprise"",""distinguished_name"":""cn=evjqoruqp,ou=eqorwvgtu pa,ou=bluth eqorwvgtu,dc=bluth-eq,dc=com"",""last_updated_time"":""2023-06-11T17:42:24.175938237Z"",""additional_attributes"":{""groups"":[""Ncrvqru PA""]},""active_directory_domain"":""bluth.co"",""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise""}},{""source"":""illumio-core"",""id"":""325h390h-19gc-63ch-cf28-800gec0ccdf7"",""config_id"":""9416b1ae-5057-4a72-b4af-559532e789a4"",""version"":""2022-10-05T13:03:11.416858932Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:49:57.023458799Z"",""first_observed_timestamp"":""2022-08-29T13:00:01.693862290Z"",""last_activity_timestamp"":""2023-06-10T14:59:38.193458799Z"",""asset_type"":""device"",""attributes"":{""id"":""325h390h-19gc-63ch-cf28-800gec0ccdf7"",""hostnames"":[""evjqoruqp""],""os"":""Windows 10 Enterprise"",""ips"":[""192.168.33.6""],""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""192.168.33.6""]}},{""source"":""malwarebytes-nebula"",""id"":""1e81462d-f8c7-67g1-dc7h-9eh765072h95"",""config_id"":""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"",""version"":""2022-10-07T13:13:58.816514819Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:18.945864100Z"",""first_observed_timestamp"":""2022-08-29T12:59:46.479773580Z"",""last_activity_timestamp"":""2023-06-12T15:11:05.779404100Z"",""asset_type"":""device"",""attributes"":{""id"":""1e81462d-f8c7-67g1-dc7h-9eh765072h95"",""hostnames"":[""evjqoruqp""],""fqdn"":""evjqoruqp.bluth.co"",""os"":""Microsoft Windows 10 Enterprise"",""ips"":[""192.168.33.6""],""mac_addresses"":[""98:2C:BC:50:B3:FC""],""associated_users"":[{""username"":""philip.kuphal""}],""active_directory_domain"":""bluth.co"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""192.168.33.6""],""mac_manufacturers"":[""Intel Corporate""],""associated_usernames"":[""philip.kuphal""]}},{""source"":""lansweeper"",""id"":""bluth\\evjqoruqp\\3"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-11-02T10:50:56.715067773Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:51.123381599Z"",""first_observed_timestamp"":""2022-09-01T17:40:27.724669592Z"",""last_activity_timestamp"":""2023-06-12T09:51:03.801464099Z"",""asset_type"":""device"",""attributes"":{""id"":""bluth\\evjqoruqp\\3"",""hostnames"":[""evjqoruqp""],""fqdn"":""evjqoruqp.bluth.co"",""os"":""Microsoft Windows 10 Enterprise"",""ips"":[""10.41.52.37"",""192.168.33.6"",""10.41.53.112""],""mac_addresses"":[""98:2C:BC:50:B3:FC""],""owner"":{""id"":""evjqoruqp""},""last_updated_time"":""2023-06-12T09:51:03.801464099Z"",""additional_attributes"":{""service_pack"":0,""model"":""ThinkPad X1 Carbon 6th"",""manufacturer"":""Lenovo"",""system_sku"":""LENOVO_MT_20KH_BU_Think_FM_ThinkPad X1 Carbon 6th"",""build_number"":""0""},""serial_number"":""RH3PFPL3-02"",""network_location"":""OnPrem"",""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.41.52.37"",""192.168.33.6"",""10.41.53.112""],""mac_manufacturers"":[""Intel Corporate""]}},{""source"":""automox"",""id"":""20693704"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2023-03-28T17:12:03.094469075Z"",""type"":""device"",""agent_version"":""1.0-40"",""last_observed_timestamp"":""2023-06-12T16:50:25.012172612Z"",""first_observed_timestamp"":""2022-08-29T13:00:06.635136545Z"",""last_activity_timestamp"":""2023-06-12T14:11:56.012172612Z"",""asset_type"":""device"",""attributes"":{""id"":""20693704"",""hostnames"":[""evjqoruqp""],""fqdn"":""evjqoruqp.bluth.co"",""os"":""Windows 10 Enterprise 10.0.19042"",""ips"":[""24.187.1.51"",""192.168.33.6""],""mac_addresses"":[""E8:6A:64:E3:6E:7F"",""98:2C:BC:50:B3:FC"",""02:FF:00:40:8E:56"",""98:2C:BC:50:B3:00"",""5C:FF:35:E1:45:52""],""associated_users"":[{""username"":""philip.kuphal""},{""username"":""philip.kuphal""}],""additional_attributes"":{""agent_version"":""1.0-40""},""serial_number"":""RH3PFPL3-02"",""controls"":[""configuration_management""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""1.0-40"",""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""192.168.33.6""],""external_ips"":[""24.187.1.51""],""mac_manufacturers"":[""Intel Corporate"",""Wistron Corporation"",""LCFC(HeFei) Electronics Technology co., ltd""],""associated_usernames"":[""philip.kuphal""],""geo_ip"":{""associated_ip"":""24.187.1.51"",""city"":""Riverhead"",""country"":""United States"",""locality"":""New York"",""region"":""North America"",""latitude"":40.9271,""longitude"":-72.6509}}},{""source"":""crowdstrike"",""id"":""38d45f3g17826g5164168h23dd5090d3"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2023-03-28T19:48:20.942713623Z"",""type"":""device"",""agent_version"":""6.42.15610.0"",""last_observed_timestamp"":""2023-06-12T16:50:41.937381998Z"",""first_observed_timestamp"":""2022-08-29T12:59:40.214330987Z"",""last_activity_timestamp"":""2023-06-12T16:48:04.937381998Z"",""asset_type"":""device"",""attributes"":{""id"":""38d45f3g17826g5164168h23dd5090d3"",""hostnames"":[""evjqoruqp""],""os"":""Windows 10"",""ips"":[""24.187.1.51"",""10.41.52.37""],""mac_addresses"":[""98:2C:BC:50:B3:FC""],""additional_attributes"":{""status"":""normal"",""crowdstrike_agent_version"":""6.42.15610.0""},""active_directory_domain"":""bluth.co"",""serial_number"":""RH3PFPL3-02"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""6.42.15610.0"",""os_platform"":""Windows"",""os_release"":""Windows 10"",""internal_ips"":[""10.41.52.37""],""external_ips"":[""24.187.1.51""],""mac_manufacturers"":[""Intel Corporate""],""geo_ip"":{""associated_ip"":""24.187.1.51"",""city"":""Riverhead"",""country"":""United States"",""locality"":""New York"",""region"":""North America"",""latitude"":40.9271,""longitude"":-72.6509}}}]","[""automox"",""azure-ad"",""crowdstrike"",""illumio-core"",""lansweeper"",""malwarebytes-nebula"",""microsoft-ad""]","[{""name"":""afasf"",""value"":[]},{""name"":""Country"",""value"":[""USA""]},{""name"":"" feafewsfew"",""value"":[]}]",activity,"2023-06-12T16:52:28.988157593Z","2022-11-02T10:50:56.715067773Z",device,"bluth\evjqoruqp\3",lansweeper,"346446df-cbc4-442c-aed4-94599e060a0e",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"3/22/2023, 9:51:00.804 PM",,,"[""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d""]",,,,,"d9b3f208-96cb-88a1-6288-78f9e9438e96","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:00.804 PM","3/22/2023, 9:51:00.804 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[{""source"":""azure-ad"",""id"":""e7ege649-6647-3466-b0f5-d23ed61620f5"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-25T03:00:28.205455202Z"",""type"":""device""},{""source"":""automox"",""id"":""10984357"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-10-17T05:39:19.882591955Z"",""type"":""device""},{""source"":""crowdstrike"",""id"":""df991c1e233959f1b6bdc881909ge190"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2022-10-17T15:37:44.533170546Z"",""type"":""device""},{""source"":""lansweeper"",""id"":""bluth\\hitunemnhnu\\2"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-11-02T10:51:28.981067773Z"",""type"":""device""}]","[""automox"",""azure-ad"",""crowdstrike"",""lansweeper""]","[]",activity,"2023-03-22T21:51:00.804571048Z","2022-08-22T23:52:47.828805063Z",device,"S-1-5-21-371824371-9864271173-612421770-234343","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:10.763 PM",,,"[""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""140f2692-342d-405e-b7df-c00a6fc27afe"",""809fb871-3ea2-4a4f-9eb5-13951894718d""]",,,,,"d9bbdd46-aed7-c8a6-cc6e-434aa69198f6","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:40.214 PM","6/12/2023, 4:50:41.937 PM","2023-06-12T16:31:35.937381998Z",device,"[""ijwmex""]","ijwmex.bluth.co","Windows Server 2012 R2 Standard 6.3.9600","[""10.7.33.6"",""212.120.226.83""]","[""2C:44:FD:9B:FD:4A"",""2C:44:FD:9B:FD:4E""]","cn=ijwmex,ou=wm ugtxgtu,ou=bluth ugtxgtu,dc=bluth-eq,dc=com",,,"bluth.co","EB462127N6-02","[""configuration_management"",""directory_service"",""endpoint_security""]",EnterpriseEndpoint,ijwmex,"Windows Server","Windows Server 2012 R2","[""10.7.33.6""]","[""212.120.226.83""]","[""Hewlett Packard""]","[""wilfredo.harber""]","212.120.226.83",Gibraltar,Gibraltar,Europe,"36.1334","-5.3497","[{""source"":""microsoft-ad"",""id"":""S-1-5-21-582935482-1975382284-823532881-93448"",""config_id"":""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""version"":""2022-08-21T08:18:02.119769063Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:34.496529037Z"",""first_observed_timestamp"":""2022-08-29T13:00:13.142845863Z"",""last_activity_timestamp"":""2023-06-09T14:45:10.546534237Z"",""asset_type"":""device"",""attributes"":{""id"":""S-1-5-21-582935482-1975382284-823532881-93448"",""hostnames"":[""ijwmex""],""fqdn"":""ijwmex.bluth.co"",""os"":""Windows Server 2012 R2 Standard"",""distinguished_name"":""cn=ijwmex,ou=wm ugtxgtu,ou=bluth ugtxgtu,dc=bluth-eq,dc=com"",""last_updated_time"":""2023-06-09T14:45:10.546534237Z"",""additional_attributes"":{""groups"":[""BgtqPgvyqtmuRtqvgevgfCuugvu""]},""active_directory_domain"":""bluth.co"",""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows Server"",""os_release"":""Windows Server 2012 R2""}},{""source"":""automox"",""id"":""20312138"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-10-16T20:41:19.882591955Z"",""type"":""device"",""agent_version"":""1.0-40"",""last_observed_timestamp"":""2023-06-12T16:50:25.012172612Z"",""first_observed_timestamp"":""2022-08-29T13:00:06.635136545Z"",""last_activity_timestamp"":""2023-06-11T21:41:48.012172612Z"",""asset_type"":""device"",""attributes"":{""id"":""20312138"",""hostnames"":[""ijwmex""],""fqdn"":""ijwmex.bluth.co"",""os"":""Windows Server 2012 R2 Standard 6.3.9600"",""ips"":[""212.120.226.83"",""10.7.33.6""],""mac_addresses"":[""2C:44:FD:9B:FD:4A"",""2C:44:FD:9B:FD:4E""],""associated_users"":[{""username"":""wilfredo.harber""},{""username"":""wilfredo.harber""}],""additional_attributes"":{""agent_version"":""1.0-40""},""serial_number"":""EB462127N6-02"",""controls"":[""configuration_management""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""1.0-40"",""os_platform"":""Windows Server"",""os_release"":""Windows Server 2012 R2"",""internal_ips"":[""10.7.33.6""],""external_ips"":[""212.120.226.83""],""mac_manufacturers"":[""Hewlett Packard""],""associated_usernames"":[""wilfredo.harber""],""geo_ip"":{""associated_ip"":""212.120.226.83"",""city"":""Gibraltar"",""country"":""Gibraltar"",""locality"":null,""region"":""Europe"",""latitude"":36.1334,""longitude"":-5.3497}}},{""source"":""crowdstrike"",""id"":""032hgge1g5406f370767d4505611d03e"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2022-10-17T15:31:07.533170546Z"",""type"":""device"",""agent_version"":""6.42.15610.0"",""last_observed_timestamp"":""2023-06-12T16:50:41.937381998Z"",""first_observed_timestamp"":""2022-08-29T12:59:40.214330987Z"",""last_activity_timestamp"":""2023-06-12T16:31:35.937381998Z"",""asset_type"":""device"",""attributes"":{""id"":""032hgge1g5406f370767d4505611d03e"",""hostnames"":[""ijwmex""],""os"":""Windows Server 2012 R2"",""ips"":[""212.120.226.83"",""10.7.33.6""],""mac_addresses"":[""2C:44:FD:9B:FD:4A""],""additional_attributes"":{""crowdstrike_agent_version"":""6.42.15610.0"",""status"":""normal""},""active_directory_domain"":""bluth.co"",""serial_number"":""EB462127N6-02"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""6.42.15610.0"",""os_platform"":""Windows Server"",""os_release"":""Windows Server 2012 R2"",""internal_ips"":[""10.7.33.6""],""external_ips"":[""212.120.226.83""],""mac_manufacturers"":[""Hewlett Packard""],""geo_ip"":{""associated_ip"":""212.120.226.83"",""city"":""Gibraltar"",""country"":""Gibraltar"",""locality"":null,""region"":""Europe"",""latitude"":36.1334,""longitude"":-5.3497}}}]","[""automox"",""crowdstrike"",""microsoft-ad""]","[{""name"":""afasf"",""value"":[]}]",activity,"2023-06-12T16:52:10.763950955Z","2022-10-17T15:31:07.533170546Z",device,032hgge1g5406f370767d4505611d03e,crowdstrike,"140f2692-342d-405e-b7df-c00a6fc27afe",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:24.046 PM",,Texas,"[""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d"",""9416b1ae-5057-4a72-b4af-559532e789a4"",""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630""]",OnPrem,,,,"d9bcb07e-19d1-8d94-7d3e-f8b767242816","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:40.214 PM","6/12/2023, 4:50:51.123 PM","2023-06-12T16:47:28.504458799Z",device,"[""ktibggfs""]","ktibggfs.bluth.co","Windows 10 Enterprise 10.0.19042","[""10.20.23.164"",""10.8.17.2"",""172.20.23.10"",""38.100.91.68""]","[""00:50:B6:45:C6:6B"",""00:FF:DE:43:27:48"",""02:FF:04:19:2D:6A"",""3C:18:A0:06:9F:23"",""62:45:B5:18:A3:7F"",""70:BC:10:7A:AF:D4"",""70:BC:10:7A:AF:D5""]","cn=ktibggfs,ou=dpnqvufst oz,ou=bluth dpnqvufst,dc=bluth-dp,dc=com","Microsoft Corporation","Surface Book 2","bluth.co","07151415785-01","[""configuration_management"",""directory_service"",""endpoint_security""]",EnterpriseEndpoint,ktibggfs,Windows,"Windows 10 Enterprise","[""10.20.23.164"",""10.8.17.2"",""172.20.23.10""]","[""38.100.91.68""]","[""GOOD WAY IND. CO., LTD."",""Luxshare Precision Industry Company Limited"",""Microsoft Corporation""]","[""oscar.borer"",""terrell.flatley""]","38.100.91.68",Hempstead,"United States","North America","30.092","-96.0649","[{""source"":""azure-ad"",""id"":""917g4g8g-9gb8-5646-bbg0-7c281e9g6f67"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-24T11:01:39.205455202Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:10.667404371Z"",""first_observed_timestamp"":""2022-08-29T12:59:50.342049152Z"",""last_activity_timestamp"":""2023-06-02T16:51:32.198707349Z"",""asset_type"":""device"",""attributes"":{""id"":""917g4g8g-9gb8-5646-bbg0-7c281e9g6f67"",""hostnames"":[""ktibggfs""],""os"":""Windows, 10.0.19042.1889"",""last_updated_time"":""2023-06-02T16:51:32.198707349Z"",""additional_attributes"":{""trust_type"":""ServerAd""},""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10""}},{""source"":""microsoft-ad"",""id"":""S-1-5-21-371824371-9864271173-612421770-357323"",""config_id"":""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""version"":""2022-08-28T07:04:27.326794063Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:34.496529037Z"",""first_observed_timestamp"":""2022-08-29T13:00:13.142845863Z"",""last_activity_timestamp"":""2023-06-06T12:54:46.264961237Z"",""asset_type"":""device"",""attributes"":{""id"":""S-1-5-21-371824371-9864271173-612421770-357323"",""hostnames"":[""ktibggfs""],""fqdn"":""ktibggfs.bluth.co"",""os"":""Windows 10 Enterprise"",""distinguished_name"":""cn=ktibggfs,ou=dpnqvufst oz,ou=bluth dpnqvufst,dc=bluth-dp,dc=com"",""last_updated_time"":""2023-06-06T12:54:46.264961237Z"",""additional_attributes"":{""groups"":[""AfspOfuxpsltNpojupsfeBttfut"",""PofEsjwf - Dpnqvufs""]},""active_directory_domain"":""bluth.co"",""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise""}},{""source"":""malwarebytes-nebula"",""id"":""b4g1beff-fe4d-58d5-b011-8426dc145gbg"",""config_id"":""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"",""version"":""2022-10-07T09:22:04.841985819Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:18.945864100Z"",""first_observed_timestamp"":""2022-08-29T12:59:46.479773580Z"",""last_activity_timestamp"":""2023-06-12T11:19:11.804875100Z"",""asset_type"":""device"",""attributes"":{""id"":""b4g1beff-fe4d-58d5-b011-8426dc145gbg"",""hostnames"":[""ktibggfs""],""fqdn"":""ktibggfs.bluth.co"",""os"":""Microsoft Windows 10 Enterprise"",""ips"":[""10.20.23.164""],""mac_addresses"":[""00:50:B6:45:C6:6B""],""associated_users"":[{""username"":""oscar.borer""}],""active_directory_domain"":""bluth.co"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.20.23.164""],""mac_manufacturers"":[""GOOD WAY IND. CO., LTD.""],""associated_usernames"":[""oscar.borer""]}},{""source"":""illumio-core"",""id"":""1bcdd7d6-798g-5d81-c795-e5g1ff4g9089"",""config_id"":""9416b1ae-5057-4a72-b4af-559532e789a4"",""version"":""2022-10-07T14:51:01.727858932Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:49:57.023458799Z"",""first_observed_timestamp"":""2022-08-29T13:00:01.693862290Z"",""last_activity_timestamp"":""2023-06-12T16:47:28.504458799Z"",""asset_type"":""device"",""attributes"":{""id"":""1bcdd7d6-798g-5d81-c795-e5g1ff4g9089"",""hostnames"":[""ktibggfs""],""os"":""Windows 10 Enterprise"",""ips"":[""10.20.23.164""],""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.20.23.164""]}},{""source"":""lansweeper"",""id"":""bluth\\ktibggfs\\2"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-11-01T21:05:04.611067773Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:51.123381599Z"",""first_observed_timestamp"":""2022-09-01T17:40:27.724669592Z"",""last_activity_timestamp"":""2023-06-11T20:05:11.697464099Z"",""asset_type"":""device"",""attributes"":{""id"":""bluth\\ktibggfs\\2"",""hostnames"":[""ktibggfs""],""fqdn"":""ktibggfs.bluth.co"",""os"":""Microsoft Windows 10 Enterprise"",""ips"":[""10.20.23.164""],""mac_addresses"":[""00:50:B6:45:C6:6B""],""owner"":{""id"":""ktibggfs""},""last_updated_time"":""2023-06-11T20:05:11.697464099Z"",""additional_attributes"":{""manufacturer"":""Microsoft Corporation"",""service_pack"":0,""system_sku"":""Surface_Book_1793"",""version"":""20H2"",""build_number"":""1889"",""model"":""Surface Book 2""},""serial_number"":""07151415785-01"",""network_location"":""OnPrem"",""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.20.23.164""],""mac_manufacturers"":[""GOOD WAY IND. CO., LTD.""]}},{""source"":""automox"",""id"":""10426286"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2023-05-15T15:09:41.397630608Z"",""type"":""device"",""agent_version"":""1.0-40"",""last_observed_timestamp"":""2023-06-12T16:50:25.012172612Z"",""first_observed_timestamp"":""2022-08-29T13:00:06.635136545Z"",""last_activity_timestamp"":""2023-06-12T12:09:43.012172612Z"",""asset_type"":""device"",""attributes"":{""id"":""10426286"",""hostnames"":[""ktibggfs""],""fqdn"":""ktibggfs.bluth.co"",""os"":""Windows 10 Enterprise 10.0.19042"",""ips"":[""38.100.91.68"",""172.20.23.10""],""mac_addresses"":[""02:FF:04:19:2D:6A"",""70:BC:10:7A:AF:D4"",""62:45:B5:18:A3:7F"",""70:BC:10:7A:AF:D5"",""00:FF:DE:43:27:48""],""associated_users"":[{""username"":""terrell.flatley""},{""username"":""terrell.flatley""}],""additional_attributes"":{""agent_version"":""1.0-40""},""serial_number"":""07151415785-01"",""controls"":[""configuration_management""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""1.0-40"",""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""172.20.23.10""],""external_ips"":[""38.100.91.68""],""mac_manufacturers"":[""Microsoft Corporation""],""associated_usernames"":[""terrell.flatley""],""geo_ip"":{""associated_ip"":""38.100.91.68"",""city"":""Hempstead"",""country"":""United States"",""locality"":""Texas"",""region"":""North America"",""latitude"":30.092,""longitude"":-96.0649}}},{""source"":""crowdstrike"",""id"":""ddf437g8e65559ed8cc5gd2g0f313616"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2023-05-15T19:21:47.469147745Z"",""type"":""device"",""agent_version"":""6.42.15610.0"",""last_observed_timestamp"":""2023-06-12T16:50:41.937381998Z"",""first_observed_timestamp"":""2022-08-29T12:59:40.214330987Z"",""last_activity_timestamp"":""2023-06-12T16:21:49.937381998Z"",""asset_type"":""device"",""attributes"":{""id"":""ddf437g8e65559ed8cc5gd2g0f313616"",""hostnames"":[""ktibggfs""],""os"":""Windows 10"",""ips"":[""38.100.91.68"",""10.8.17.2""],""mac_addresses"":[""3C:18:A0:06:9F:23""],""additional_attributes"":{""status"":""normal"",""crowdstrike_agent_version"":""6.42.15610.0""},""active_directory_domain"":""bluth.co"",""serial_number"":""07151415785-01"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""6.42.15610.0"",""os_platform"":""Windows"",""os_release"":""Windows 10"",""internal_ips"":[""10.8.17.2""],""external_ips"":[""38.100.91.68""],""mac_manufacturers"":[""Luxshare Precision Industry Company Limited""],""geo_ip"":{""associated_ip"":""38.100.91.68"",""city"":""Hempstead"",""country"":""United States"",""locality"":""Texas"",""region"":""North America"",""latitude"":30.092,""longitude"":-96.0649}}}]","[""automox"",""azure-ad"",""crowdstrike"",""illumio-core"",""lansweeper"",""malwarebytes-nebula"",""microsoft-ad""]","[{""name"":""afasf"",""value"":[]},{""name"":""Country"",""value"":[""USA""]},{""name"":"" feafewsfew"",""value"":[]}]",activity,"2023-06-12T16:52:24.046671166Z","2022-11-01T21:05:04.611067773Z",device,"bluth\ktibggfs\2",lansweeper,"346446df-cbc4-442c-aed4-94599e060a0e",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:28.989 PM",,,"[""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d"",""9416b1ae-5057-4a72-b4af-559532e789a4"",""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630""]",OnPrem,,,,"d9c16d5c-6b4d-6dcb-169a-37cbd810d5ba","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:40.214 PM","6/12/2023, 4:50:51.123 PM","2023-06-12T16:45:07.937381998Z",device,"[""pujcfg""]","pujcfg.bluth.co","Windows 10 Enterprise 10.0.19042","[""10.20.45.148"",""10.41.33.126"",""10.41.33.162"",""192.168.32.12"",""192.168.32.39"",""212.120.226.83"",""2a02:c7f:f2d3:2702:5b88:f785:fea1:c04a"",""2a02:c7f:f2d3:2702:833d:cbbf:3644:8883"",""51.200.39.174""]","[""00:50:B6:AA:5F:58"",""02:FF:00:23:4B:02"",""48:2A:E3:BD:5F:72"",""4C:79:6E:8A:4B:49"",""4C:79:6E:8A:4B:4D"",""98:91:A7:5B:48:5B""]","cn=pujcfg,ou=eqorwvgtu wm,ou=bluth eqorwvgtu,dc=bluth-eq,dc=com",Lenovo,"ThinkPad X13 Yoga Gen 1","bluth.co","T134E8JD-02","[""configuration_management"",""directory_service"",""endpoint_security""]",EnterpriseEndpoint,pujcfg,Windows,"Windows 10 Enterprise","[""10.20.45.148"",""10.41.33.126"",""10.41.33.162"",""192.168.32.12"",""192.168.32.39""]","[""212.120.226.83"",""2a02:c7f:f2d3:2702:5b88:f785:fea1:c04a"",""2a02:c7f:f2d3:2702:833d:cbbf:3644:8883"",""51.200.39.174""]","[""GOOD WAY IND. CO., LTD."",""Intel Corporate"",""Wistron InfoComm(Kunshan)Co.,Ltd.""]","[""antonina.jakubowski"",""wilfredo.harber""]","212.120.226.83",Gibraltar,Gibraltar,Europe,"36.1334","-5.3497","[{""source"":""malwarebytes-nebula"",""id"":""22824657-865g-6chh-109c-30hgf9g89g92"",""config_id"":""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"",""version"":""2022-08-04T19:02:17.473080819Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:18.945864100Z"",""first_observed_timestamp"":""2022-08-29T12:59:46.479773580Z"",""last_activity_timestamp"":""2023-04-09T20:59:24.435970100Z"",""asset_type"":""device"",""attributes"":{""id"":""22824657-865g-6chh-109c-30hgf9g89g92"",""hostnames"":[""pujcfg""],""fqdn"":""pujcfg.bluth.co"",""os"":""Microsoft Windows 10 Enterprise"",""ips"":[""192.168.32.39""],""mac_addresses"":[""4C:79:6E:8A:4B:49""],""associated_users"":[{""username"":""antonina.jakubowski""}],""active_directory_domain"":""bluth.co"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""192.168.32.39""],""mac_manufacturers"":[""Intel Corporate""],""associated_usernames"":[""antonina.jakubowski""]}},{""source"":""azure-ad"",""id"":""47fh6241-f363-7107-c216-4f46096c43c8"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-19T04:09:28.205455202Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:10.667404371Z"",""first_observed_timestamp"":""2022-08-29T12:59:50.342049152Z"",""last_activity_timestamp"":""2023-06-11T13:31:17.198707349Z"",""asset_type"":""device"",""attributes"":{""id"":""47fh6241-f363-7107-c216-4f46096c43c8"",""hostnames"":[""pujcfg""],""os"":""Windows, 10.0.19042.1889"",""last_updated_time"":""2023-06-11T13:31:17.198707349Z"",""additional_attributes"":{""trust_type"":""ServerAd""},""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10""}},{""source"":""microsoft-ad"",""id"":""S-1-5-21-582935482-1975382284-823532881-029754"",""config_id"":""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""version"":""2022-08-21T02:21:23.199567063Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:34.496529037Z"",""first_observed_timestamp"":""2022-08-29T13:00:13.142845863Z"",""last_activity_timestamp"":""2023-06-11T07:15:13.207123237Z"",""asset_type"":""device"",""attributes"":{""id"":""S-1-5-21-582935482-1975382284-823532881-029754"",""hostnames"":[""pujcfg""],""fqdn"":""pujcfg.bluth.co"",""os"":""Windows 10 Enterprise"",""distinguished_name"":""cn=pujcfg,ou=eqorwvgtu wm,ou=bluth eqorwvgtu,dc=bluth-eq,dc=com"",""last_updated_time"":""2023-06-11T07:15:13.207123237Z"",""additional_attributes"":{""groups"":[""QpgFtkxg - Eqorwvgt"",""Ncrvqru WM""]},""active_directory_domain"":""bluth.co"",""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise""}},{""source"":""crowdstrike"",""id"":""6488d5ehc8616f89c3e886476hfgef0h"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2022-10-17T15:44:39.533170546Z"",""type"":""device"",""agent_version"":""6.42.15610.0"",""last_observed_timestamp"":""2023-06-12T16:50:41.937381998Z"",""first_observed_timestamp"":""2022-08-29T12:59:40.214330987Z"",""last_activity_timestamp"":""2023-06-12T16:45:07.937381998Z"",""asset_type"":""device"",""attributes"":{""id"":""6488d5ehc8616f89c3e886476hfgef0h"",""hostnames"":[""pujcfg""],""os"":""Windows 10"",""ips"":[""212.120.226.83"",""10.41.33.126""],""mac_addresses"":[""02:FF:00:23:4B:02""],""additional_attributes"":{""status"":""normal"",""crowdstrike_agent_version"":""6.42.15610.0""},""active_directory_domain"":""bluth.co"",""serial_number"":""T134E8JD-02"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""6.42.15610.0"",""os_platform"":""Windows"",""os_release"":""Windows 10"",""internal_ips"":[""10.41.33.126""],""external_ips"":[""212.120.226.83""],""geo_ip"":{""associated_ip"":""212.120.226.83"",""city"":""Gibraltar"",""country"":""Gibraltar"",""locality"":null,""region"":""Europe"",""latitude"":36.1334,""longitude"":-5.3497}}},{""source"":""lansweeper"",""id"":""bluth\\pujcfg\\3"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-10-31T21:11:07.178067773Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:51.123381599Z"",""first_observed_timestamp"":""2022-09-01T17:40:27.724669592Z"",""last_activity_timestamp"":""2023-06-10T20:11:14.264464099Z"",""asset_type"":""device"",""attributes"":{""id"":""bluth\\pujcfg\\3"",""hostnames"":[""pujcfg""],""fqdn"":""pujcfg.bluth.co"",""os"":""Microsoft Windows 10 Enterprise"",""ips"":[""10.41.33.162"",""10.20.45.148""],""mac_addresses"":[""00:50:B6:AA:5F:58""],""owner"":{""id"":""PUjcfg""},""last_updated_time"":""2023-06-10T20:11:14.264464099Z"",""additional_attributes"":{""system_sku"":""LENOVO_MT_20SX_BU_Think_FM_ThinkPad X13 Yoga Gen 1"",""model"":""ThinkPad X13 Yoga Gen 1"",""version"":""20H2"",""build_number"":""1889"",""service_pack"":0,""manufacturer"":""Lenovo""},""serial_number"":""T134E8JD-02"",""network_location"":""OnPrem"",""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.41.33.162"",""10.20.45.148""],""mac_manufacturers"":[""GOOD WAY IND. CO., LTD.""]}},{""source"":""illumio-core"",""id"":""5h250c5c-03fc-6f83-1dd9-3364g3c81cc4"",""config_id"":""9416b1ae-5057-4a72-b4af-559532e789a4"",""version"":""2023-03-28T14:51:49.354085277Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:49:57.023458799Z"",""first_observed_timestamp"":""2022-08-29T13:00:01.693862290Z"",""last_activity_timestamp"":""2023-06-12T11:51:34.782458799Z"",""asset_type"":""device"",""attributes"":{""id"":""5h250c5c-03fc-6f83-1dd9-3364g3c81cc4"",""hostnames"":[""pujcfg""],""os"":""Windows 10 Enterprise"",""ips"":[""192.168.32.12"",""2a02:c7f:f2d3:2702:833d:cbbf:3644:8883"",""2a02:c7f:f2d3:2702:5b88:f785:fea1:c04a"",""10.41.33.126""],""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""192.168.32.12"",""10.41.33.126""],""external_ips"":[""2a02:c7f:f2d3:2702:833d:cbbf:3644:8883"",""2a02:c7f:f2d3:2702:5b88:f785:fea1:c04a""],""geo_ip"":{""associated_ip"":""2a02:c7f:f2d3:2702:5b88:f785:fea1:c04a"",""city"":""Enfield"",""country"":""United Kingdom"",""locality"":""England"",""region"":""Europe"",""latitude"":51.6539,""longitude"":-0.0888}}},{""source"":""automox"",""id"":""202086166"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2023-03-28T16:47:43.094469075Z"",""type"":""device"",""agent_version"":""1.0-40"",""last_observed_timestamp"":""2023-06-12T16:50:25.012172612Z"",""first_observed_timestamp"":""2022-08-29T13:00:06.635136545Z"",""last_activity_timestamp"":""2023-06-12T13:47:36.012172612Z"",""asset_type"":""device"",""attributes"":{""id"":""202086166"",""hostnames"":[""pujcfg""],""fqdn"":""pujcfg.bluth.co"",""os"":""Windows 10 Enterprise 10.0.19042"",""ips"":[""51.200.39.174"",""10.41.33.126"",""192.168.32.12"",""2a02:c7f:f2d3:2702:5b88:f785:fea1:c04a"",""2a02:c7f:f2d3:2702:833d:cbbf:3644:8883""],""mac_addresses"":[""4C:79:6E:8A:4B:49"",""48:2A:E3:BD:5F:72"",""4C:79:6E:8A:4B:4D"",""98:91:A7:5B:48:5B"",""02:FF:00:23:4B:02""],""associated_users"":[{""username"":""wilfredo.harber""},{""username"":""wilfredo.harber""}],""additional_attributes"":{""agent_version"":""1.0-40""},""serial_number"":""T134E8JD-02"",""controls"":[""configuration_management""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""1.0-40"",""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.41.33.126"",""192.168.32.12""],""external_ips"":[""51.200.39.174"",""2a02:c7f:f2d3:2702:5b88:f785:fea1:c04a"",""2a02:c7f:f2d3:2702:833d:cbbf:3644:8883""],""mac_manufacturers"":[""Intel Corporate"",""Wistron InfoComm(Kunshan)Co.,Ltd.""],""associated_usernames"":[""wilfredo.harber""],""geo_ip"":{""associated_ip"":""2a02:c7f:f2d3:2702:5b88:f785:fea1:c04a"",""city"":""Enfield"",""country"":""United Kingdom"",""locality"":""England"",""region"":""Europe"",""latitude"":51.6539,""longitude"":-0.0888}}}]","[""automox"",""azure-ad"",""crowdstrike"",""illumio-core"",""lansweeper"",""malwarebytes-nebula"",""microsoft-ad""]","[{""name"":""afasf"",""value"":[]}]",activity,"2023-06-12T16:52:28.989105622Z","2022-10-31T21:11:07.178067773Z",device,"bluth\pujcfg\3",lansweeper,"346446df-cbc4-442c-aed4-94599e060a0e",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"3/22/2023, 9:51:01.797 PM",,,"[""140f2692-342d-405e-b7df-c00a6fc27afe"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d""]",,,,,"d9c94d8d-09fc-345e-387d-6cde02a0393f","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:01.797 PM","3/22/2023, 9:51:01.797 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[{""source"":""automox"",""id"":""101562805"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-10-16T21:58:46.882591955Z"",""type"":""device""},{""source"":""crowdstrike"",""id"":""g1b84e5e959c5d8596b86d99b92g74d3"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2022-10-17T15:23:15.533170546Z"",""type"":""device""},{""source"":""lansweeper"",""id"":""bluth\\hibxfed12\\2"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-11-02T10:51:49.951067773Z"",""type"":""device""}]","[""automox"",""crowdstrike"",""lansweeper""]","[]",activity,"2023-03-22T21:51:01.797845615Z","2022-09-07T22:53:25.836690353Z",device,"S-1-5-21-371824371-9864271173-612421770-993743","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:24.486 PM",,,"[""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""140f2692-342d-405e-b7df-c00a6fc27afe"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d""]",OnPrem,,,,"d9d0cf7e-0e5c-1cf6-f2b6-8f8cde7ebb91","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:40.214 PM","6/12/2023, 4:50:51.123 PM","2023-06-12T16:34:06.937381998Z",device,"[""hiefed13""]","hiefed13.bluth.co","Windows Server 2019 Standard 10.0.17763","[""10.7.18.3"",""95.172.84.146""]","[""00:50:56:8A:2B:6B""]","cn=hiefed13,ou=epnbjo dpouspmmfst,dc=bluth-dp,dc=com","VMware, Inc.","VMware Virtual Platform","bluth.co","VMWARE-5310FD9C2E5GF589-0C8B7783GD6E7608-01","[""configuration_management"",""directory_service"",""endpoint_security""]",EnterpriseEndpoint,hiefed13,"Windows Server","Windows Server 2019","[""10.7.18.3""]","[""95.172.84.146""]","[""VMware, Inc.""]","[""melba.morissette""]","95.172.84.146",,"United Kingdom",Europe,"51.4964","-0.1224","[{""source"":""microsoft-ad"",""id"":""S-1-5-21-371824371-9864271173-612421770-54879"",""config_id"":""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""version"":""2022-08-21T00:07:55.633178063Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:34.496529037Z"",""first_observed_timestamp"":""2022-08-29T13:00:13.142845863Z"",""last_activity_timestamp"":""2023-06-09T05:59:59.424448237Z"",""asset_type"":""device"",""attributes"":{""id"":""S-1-5-21-371824371-9864271173-612421770-54879"",""hostnames"":[""hiefed13""],""fqdn"":""hiefed13.bluth.co"",""os"":""Windows Server 2019 Standard"",""distinguished_name"":""cn=hiefed13,ou=epnbjo dpouspmmfst,dc=bluth-dp,dc=com"",""last_updated_time"":""2023-06-09T05:59:59.424448237Z"",""additional_attributes"":{""groups"":[""AfspOfuxpsltQspufdufeBttfut""]},""active_directory_domain"":""bluth.co"",""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows Server"",""os_release"":""Windows Server 2019""}},{""source"":""automox"",""id"":""10661496"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2023-04-25T07:39:42.420383048Z"",""type"":""device"",""agent_version"":""1.0-40"",""last_observed_timestamp"":""2023-06-12T16:50:25.012172612Z"",""first_observed_timestamp"":""2022-08-29T13:00:06.635136545Z"",""last_activity_timestamp"":""2023-06-12T02:39:57.012172612Z"",""asset_type"":""device"",""attributes"":{""id"":""10661496"",""hostnames"":[""hiefed13""],""fqdn"":""hiefed13.bluth.co"",""os"":""Windows Server 2019 Standard 10.0.17763"",""ips"":[""95.172.84.146"",""10.7.18.3""],""mac_addresses"":[""00:50:56:8A:2B:6B""],""associated_users"":[{""username"":""melba.morissette""},{""username"":""melba.morissette""}],""additional_attributes"":{""agent_version"":""1.0-40""},""serial_number"":""VMWARE-5310FD9C2E5GF589-0C8B7783GD6E7608-01"",""controls"":[""configuration_management""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""1.0-40"",""os_platform"":""Windows Server"",""os_release"":""Windows Server 2019"",""internal_ips"":[""10.7.18.3""],""external_ips"":[""95.172.84.146""],""mac_manufacturers"":[""VMware, Inc.""],""associated_usernames"":[""melba.morissette""],""geo_ip"":{""associated_ip"":""95.172.84.146"",""city"":null,""country"":""United Kingdom"",""locality"":null,""region"":""Europe"",""latitude"":51.4964,""longitude"":-0.1224}}},{""source"":""lansweeper"",""id"":""bluth\\hiefed13\\2"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2023-04-25T14:50:39.959086377Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:51.123381599Z"",""first_observed_timestamp"":""2022-09-01T17:40:27.724669592Z"",""last_activity_timestamp"":""2023-06-12T09:51:34.161464099Z"",""asset_type"":""device"",""attributes"":{""id"":""bluth\\hiefed13\\2"",""hostnames"":[""hiefed13""],""fqdn"":""hiefed13.bluth.co"",""os"":""Microsoft Windows Server 2019 Standard"",""ips"":[""10.7.18.3""],""mac_addresses"":[""00:50:56:8A:2B:6B""],""owner"":{""id"":""jlibo""},""last_updated_time"":""2023-06-12T09:51:34.161464099Z"",""additional_attributes"":{""model"":""VMware Virtual Platform"",""manufacturer"":""VMware, Inc."",""build_number"":""3287"",""system_sku"":"""",""service_pack"":0,""version"":""1809""},""serial_number"":""VMWARE-5310FD9C2E5GF589-0C8B7783GD6E7608-01"",""network_location"":""OnPrem"",""os_platform"":""Windows Server"",""os_release"":""Windows Server 2019"",""internal_ips"":[""10.7.18.3""],""mac_manufacturers"":[""VMware, Inc.""]}},{""source"":""crowdstrike"",""id"":""4g69fee7e5f05g529b66197dg4721544"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2023-04-25T21:34:15.499922246Z"",""type"":""device"",""agent_version"":""6.42.15610.0"",""last_observed_timestamp"":""2023-06-12T16:50:41.937381998Z"",""first_observed_timestamp"":""2022-08-29T12:59:40.214330987Z"",""last_activity_timestamp"":""2023-06-12T16:34:06.937381998Z"",""asset_type"":""device"",""attributes"":{""id"":""4g69fee7e5f05g529b66197dg4721544"",""hostnames"":[""hiefed13""],""os"":""Windows Server 2019"",""ips"":[""95.172.84.146"",""10.7.18.3""],""mac_addresses"":[""00:50:56:8A:2B:6B""],""additional_attributes"":{""status"":""normal"",""crowdstrike_agent_version"":""6.42.15610.0""},""active_directory_domain"":""bluth.co"",""serial_number"":""VMWARE-5310FD9C2E5GF589-0C8B7783GD6E7608-01"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""6.42.15610.0"",""os_platform"":""Windows Server"",""os_release"":""Windows Server 2019"",""internal_ips"":[""10.7.18.3""],""external_ips"":[""95.172.84.146""],""mac_manufacturers"":[""VMware, Inc.""],""geo_ip"":{""associated_ip"":""95.172.84.146"",""city"":null,""country"":""United Kingdom"",""locality"":null,""region"":""Europe"",""latitude"":51.4964,""longitude"":-0.1224}}}]","[""automox"",""crowdstrike"",""lansweeper"",""microsoft-ad""]","[{""name"":""afasf"",""value"":[]}]",activity,"2023-06-12T16:52:24.486698144Z","2023-04-25T14:50:39.959086377Z",device,"bluth\hiefed13\2",lansweeper,"346446df-cbc4-442c-aed4-94599e060a0e",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"3/22/2023, 9:50:59.786 PM",,,"[""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d"",""9416b1ae-5057-4a72-b4af-559532e789a4"",""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630""]",,,,,"d9d5f344-aa98-b1c5-5947-75a8664769b1","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:50:59.786 PM","3/22/2023, 9:50:59.786 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[{""source"":""azure-ad"",""id"":""80e79dbc-7069-5d03-b706-b4cg74c33e35"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-27T00:27:20.205455202Z"",""type"":""device""},{""source"":""malwarebytes-nebula"",""id"":""314d2b9f-fec5-5db9-97g3-c8dcf4g4f412"",""config_id"":""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"",""version"":""2022-10-06T04:18:34.495175819Z"",""type"":""device""},{""source"":""illumio-core"",""id"":""b241005d-b585-1646-017b-2c5f99cf3426"",""config_id"":""9416b1ae-5057-4a72-b4af-559532e789a4"",""version"":""2022-10-06T19:58:35.455858932Z"",""type"":""device""},{""source"":""crowdstrike"",""id"":""1c2cf80f6e0659598429c84ddf970525"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2022-10-16T20:00:58.533170546Z"",""type"":""device""},{""source"":""automox"",""id"":""10603020"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-10-16T22:11:51.882591955Z"",""type"":""device""},{""source"":""lansweeper"",""id"":""bluth\\cctibsfdij\\2"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-10-31T10:51:43.871067773Z"",""type"":""device""}]","[""automox"",""azure-ad"",""crowdstrike"",""illumio-core"",""lansweeper"",""malwarebytes-nebula""]","[]",activity,"2023-03-22T21:50:59.786872293Z","2022-08-27T15:02:20.503472063Z",device,"S-1-5-21-371824371-9864271173-612421770-266323","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:48.077 PM",,,"3/22/2023, 9:51:03.688 PM",,,"[ - ""140f2692-342d-405e-b7df-c00a6fc27afe"", - ""3184e5f9-309d-49c9-b471-ea7dfa192e05"", - ""809fb871-3ea2-4a4f-9eb5-13951894718d"", - ""9416b1ae-5057-4a72-b4af-559532e789a4"", - ""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"" -]",,,,,"19aea1d1-f82f-5b36-ad35-09254e6488d2","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:03.688 PM","3/22/2023, 9:51:03.688 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[ - { - ""source"": ""azure-ad"", - ""id"": ""37844ef9-88c1-55c5-0160-0bb8364db897"", - ""config_id"": ""3184e5f9-309d-49c9-b471-ea7dfa192e05"", - ""version"": ""2022-08-22T07:00:31.205455202Z"", - ""type"": ""device"" - }, - { - ""source"": ""malwarebytes-nebula"", - ""id"": ""d9e4cfee-c55b-6886-6590-bg3bc798c74e"", - ""config_id"": ""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"", - ""version"": ""2022-10-07T03:20:49.185921819Z"", - ""type"": ""device"" - }, - { - ""source"": ""illumio-core"", - ""id"": ""99c9c240-3478-7316-4100-49d783c77709"", - ""config_id"": ""9416b1ae-5057-4a72-b4af-559532e789a4"", - ""version"": ""2022-10-07T14:50:25.125858932Z"", - ""type"": ""device"" - }, - { - ""source"": ""automox"", - ""id"": ""101869268"", - ""config_id"": ""809fb871-3ea2-4a4f-9eb5-13951894718d"", - ""version"": ""2022-10-17T05:38:51.882591955Z"", - ""type"": ""device"" - }, - { - ""source"": ""crowdstrike"", - ""id"": ""g8c1g333c0f35f259c352eg5c45gebd5"", - ""config_id"": ""140f2692-342d-405e-b7df-c00a6fc27afe"", - ""version"": ""2022-10-17T15:37:25.533170546Z"", - ""type"": ""device"" - } -]","[ - ""automox"", - ""azure-ad"", - ""crowdstrike"", - ""illumio-core"", - ""malwarebytes-nebula"" -]","[]",activity,"2023-03-22T21:51:03.688847877Z","2022-08-22T15:15:04.168422063Z",device,"S-1-5-21-371824371-9864271173-612421770-250143","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:50:50.287 PM",,,"[""3184e5f9-309d-49c9-b471-ea7dfa192e05""]",,,,,"d9ea8630-f2e1-9492-167d-515e818ae534","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/31/2022, 7:58:56.228 PM","6/12/2023, 4:50:10.667 PM","2023-06-10T21:32:55.198707349Z",device,"[""dgpkrcnrqna_cpftqkf_0/41/4244_32:78 ro"",""dgpkrcnrqnacpftqkf04142443278-ro""]",,"Android, 9.0",,,,Poly,TrioC60,,,"[""directory_service""]",,"dgpkrcnrqna_cpftqkf_0/41/4244_32:78 ro",Android,"Android 9 (Pie)",,,,,,,,,,,"[{""source"":""azure-ad"",""id"":""03h9d9fg-fg1g-1637-c4fd-051d72c912dd"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-30T00:41:40.759708737Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:10.667404371Z"",""first_observed_timestamp"":""2022-08-31T19:58:56.228405759Z"",""last_activity_timestamp"":""2023-06-10T21:32:55.198707349Z"",""asset_type"":""device"",""attributes"":{""id"":""03h9d9fg-fg1g-1637-c4fd-051d72c912dd"",""hostnames"":[""dgpkrcnrqna_cpftqkf_0/41/4244_32:78 ro"",""dgpkrcnrqnacpftqkf04142443278-ro""],""os"":""Android, 9.0"",""last_updated_time"":""2023-06-10T21:32:55.198707349Z"",""additional_attributes"":{""model"":""TrioC60"",""manufacturer"":""Poly"",""trust_type"":""Workplace""},""controls"":[""directory_service""],""os_platform"":""Android"",""os_release"":""Android 9 (Pie)""}}]","[""azure-ad""]","[]",activity,"2023-06-12T16:50:50.287706524Z","2022-08-30T00:41:40.759708737Z",device,"03h9d9fg-fg1g-1637-c4fd-051d72c912dd","azure-ad","3184e5f9-309d-49c9-b471-ea7dfa192e05",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"3/22/2023, 9:51:08.794 PM",,,"[""140f2692-342d-405e-b7df-c00a6fc27afe"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d""]",,,,,"d9f885e1-d787-c4fd-d93a-d4333c410770","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:08.794 PM","3/22/2023, 9:51:08.794 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[{""source"":""automox"",""id"":""201229254"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-10-17T08:06:55.882591955Z"",""type"":""device""},{""source"":""crowdstrike"",""id"":""ee28ff866g966840cd837894e5g5gc1f"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2022-10-17T15:29:11.533170546Z"",""type"":""device""},{""source"":""lansweeper"",""id"":""bluth\\ijejfe24\\3"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-11-02T10:51:27.075067773Z"",""type"":""device""}]","[""automox"",""crowdstrike"",""lansweeper""]","[]",activity,"2023-03-22T21:51:08.794764760Z","2022-08-19T19:36:58.929054063Z",device,"S-1-5-21-582935482-1975382284-823532881-64460","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"3/22/2023, 9:51:10.127 PM",,,"[""809fb871-3ea2-4a4f-9eb5-13951894718d""]",,,,,"da251939-306c-989a-a0c9-ef72820c4613","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:10.127 PM","3/22/2023, 9:51:10.127 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[{""source"":""automox"",""id"":""20499790"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2021-11-24T17:02:59.882591955Z"",""type"":""device""}]","[""automox""]","[]",activity,"2023-03-22T21:51:10.127131141Z","2021-10-02T05:30:58.125149063Z",device,"S-1-5-21-582935482-1975382284-823532881-115434","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"3/22/2023, 9:51:06.379 PM",,,"[""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d"",""9416b1ae-5057-4a72-b4af-559532e789a4"",""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630""]",,,,,"da376a2d-ccf0-71b5-32ce-cef9ef50d836","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:06.379 PM","3/22/2023, 9:51:06.379 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[{""source"":""azure-ad"",""id"":""2h7d24e1-c46e-7917-0ec5-8c1ge5hc03hd"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-18T16:06:35.205455202Z"",""type"":""device""},{""source"":""malwarebytes-nebula"",""id"":""4e720c0d-d724-6cg7-d660-24g02e2089h4"",""config_id"":""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"",""version"":""2022-09-29T01:13:43.194382819Z"",""type"":""device""},{""source"":""illumio-core"",""id"":""615gg222-g039-62gf-1he5-8251e44c38c8"",""config_id"":""9416b1ae-5057-4a72-b4af-559532e789a4"",""version"":""2022-10-06T21:50:06.279858932Z"",""type"":""device""},{""source"":""crowdstrike"",""id"":""f4fc554gh8gg67fe194457gec131ehe0"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2022-10-17T00:04:22.533170546Z"",""type"":""device""},{""source"":""automox"",""id"":""201942272"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-10-17T02:00:10.882591955Z"",""type"":""device""},{""source"":""lansweeper"",""id"":""bluth\\loqticp\\3"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-11-02T10:51:28.981067773Z"",""type"":""device""}]","[""automox"",""azure-ad"",""crowdstrike"",""illumio-core"",""lansweeper"",""malwarebytes-nebula""]","[]",activity,"2023-03-22T21:51:06.379930367Z","2022-08-27T14:55:22.291345063Z",device,"S-1-5-21-582935482-1975382284-823532881-484944","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:26.744 PM",,,"[""346446df-cbc4-442c-aed4-94599e060a0e""]",OnPrem,,,,"da409766-b68b-9bf6-0e23-900777a55f81","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"9/1/2022, 5:40:27.724 PM","6/12/2023, 4:50:51.123 PM","2023-06-11T19:53:13.737464099Z",device,"[""hituntwtbo-oti""]",,"Virtual Machine","[""10.20.26.141""]","[""00:50:56:8A:98:86""]",,"VMware, Inc.","Virtual Machine",,,,,"hituntwtbo-oti",Other,Unknown,"[""10.20.26.141""]",,"[""VMware, Inc.""]",,,,,,,,"[{""source"":""lansweeper"",""id"":""11:61:67:90:08:96"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-11-01T20:53:06.651067773Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:51.123381599Z"",""first_observed_timestamp"":""2022-09-01T17:40:27.724669592Z"",""last_activity_timestamp"":""2023-06-11T19:53:13.737464099Z"",""asset_type"":""device"",""attributes"":{""id"":""11:61:67:90:08:96"",""hostnames"":[""hituntwtbo-oti""],""os"":""Virtual Machine"",""ips"":[""10.20.26.141""],""mac_addresses"":[""00:50:56:8A:98:86""],""last_updated_time"":""2023-06-11T19:53:13.737464099Z"",""additional_attributes"":{""system_sku"":"""",""model"":""Virtual Machine"",""manufacturer"":""VMware, Inc.""},""network_location"":""OnPrem"",""os_platform"":""Other"",""os_release"":""Unknown"",""internal_ips"":[""10.20.26.141""],""mac_manufacturers"":[""VMware, Inc.""]}}]","[""lansweeper""]","[]",activity,"2023-06-12T16:52:26.744268353Z","2022-11-01T20:53:06.651067773Z",device,"11:61:67:90:08:96",lansweeper,"346446df-cbc4-442c-aed4-94599e060a0e",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:07.805 PM",,England,"[""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""140f2692-342d-405e-b7df-c00a6fc27afe"",""809fb871-3ea2-4a4f-9eb5-13951894718d""]",,,,,"da50ee98-8965-7810-a635-7d7668181092","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:40.214 PM","6/12/2023, 4:50:41.937 PM","2023-06-12T16:31:35.937381998Z",device,"[""hivldw""]","hivldw.bluth.co","Windows Server 2012 R2 Standard 6.3.9600","[""10.7.17.6"",""212.118.240.81""]","[""2C:44:FD:9A:FC:49"",""2C:44:FD:9A:FC:4D""]","cn=hivldw,ou=vl tfswfst,ou=bluth tfswfst,dc=bluth-dp,dc=com",,,"bluth.co","DA351016M5-01","[""configuration_management"",""directory_service"",""endpoint_security""]",EnterpriseEndpoint,hivldw,"Windows Server","Windows Server 2012 R2","[""10.7.17.6""]","[""212.118.240.81""]","[""Hewlett Packard""]","[""terrell.flatley""]","212.118.240.81",Wandsworth,"United Kingdom",Europe,"51.4479","-0.1377","[{""source"":""microsoft-ad"",""id"":""S-1-5-21-371824371-9864271173-612421770-72337"",""config_id"":""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""version"":""2022-08-21T08:18:02.119769063Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:34.496529037Z"",""first_observed_timestamp"":""2022-08-29T13:00:13.142845863Z"",""last_activity_timestamp"":""2023-06-09T14:45:10.546534237Z"",""asset_type"":""device"",""attributes"":{""id"":""S-1-5-21-371824371-9864271173-612421770-72337"",""hostnames"":[""hivldw""],""fqdn"":""hivldw.bluth.co"",""os"":""Windows Server 2012 R2 Standard"",""distinguished_name"":""cn=hivldw,ou=vl tfswfst,ou=bluth tfswfst,dc=bluth-dp,dc=com"",""last_updated_time"":""2023-06-09T14:45:10.546534237Z"",""additional_attributes"":{""groups"":[""AfspOfuxpsltQspufdufeBttfut""]},""active_directory_domain"":""bluth.co"",""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows Server"",""os_release"":""Windows Server 2012 R2""}},{""source"":""automox"",""id"":""10156069"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2023-04-24T23:41:47.974738135Z"",""type"":""device"",""agent_version"":""1.0-40"",""last_observed_timestamp"":""2023-06-12T16:50:25.012172612Z"",""first_observed_timestamp"":""2022-08-29T13:00:06.635136545Z"",""last_activity_timestamp"":""2023-06-11T21:41:48.012172612Z"",""asset_type"":""device"",""attributes"":{""id"":""10156069"",""hostnames"":[""hivldw""],""fqdn"":""hivldw.bluth.co"",""os"":""Windows Server 2012 R2 Standard 6.3.9600"",""ips"":[""212.118.240.81"",""10.7.17.6""],""mac_addresses"":[""2C:44:FD:9A:FC:49"",""2C:44:FD:9A:FC:4D""],""associated_users"":[{""username"":""terrell.flatley""},{""username"":""terrell.flatley""}],""additional_attributes"":{""agent_version"":""1.0-40""},""serial_number"":""DA351016M5-01"",""controls"":[""configuration_management""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""1.0-40"",""os_platform"":""Windows Server"",""os_release"":""Windows Server 2012 R2"",""internal_ips"":[""10.7.17.6""],""external_ips"":[""212.118.240.81""],""mac_manufacturers"":[""Hewlett Packard""],""associated_usernames"":[""terrell.flatley""],""geo_ip"":{""associated_ip"":""212.118.240.81"",""city"":""Wandsworth"",""country"":""United Kingdom"",""locality"":""England"",""region"":""Europe"",""latitude"":51.4479,""longitude"":-0.1377}}},{""source"":""crowdstrike"",""id"":""921gffd0f4395e269656c3494500c92d"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2023-04-25T18:31:35.418158541Z"",""type"":""device"",""agent_version"":""6.42.15610.0"",""last_observed_timestamp"":""2023-06-12T16:50:41.937381998Z"",""first_observed_timestamp"":""2022-08-29T12:59:40.214330987Z"",""last_activity_timestamp"":""2023-06-12T16:31:35.937381998Z"",""asset_type"":""device"",""attributes"":{""id"":""921gffd0f4395e269656c3494500c92d"",""hostnames"":[""hivldw""],""os"":""Windows Server 2012 R2"",""ips"":[""212.118.240.81"",""10.7.17.6""],""mac_addresses"":[""2C:44:FD:9A:FC:49""],""additional_attributes"":{""crowdstrike_agent_version"":""6.42.15610.0"",""status"":""normal""},""active_directory_domain"":""bluth.co"",""serial_number"":""DA351016M5-01"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""6.42.15610.0"",""os_platform"":""Windows Server"",""os_release"":""Windows Server 2012 R2"",""internal_ips"":[""10.7.17.6""],""external_ips"":[""212.118.240.81""],""mac_manufacturers"":[""Hewlett Packard""],""geo_ip"":{""associated_ip"":""212.118.240.81"",""city"":""Wandsworth"",""country"":""United Kingdom"",""locality"":""England"",""region"":""Europe"",""latitude"":51.4479,""longitude"":-0.1377}}}]","[""automox"",""crowdstrike"",""microsoft-ad""]","[{""name"":""afasf"",""value"":[]}]",activity,"2023-06-12T16:52:07.805881970Z","2023-04-25T18:31:35.418158541Z",device,921gffd0f4395e269656c3494500c92d,crowdstrike,"140f2692-342d-405e-b7df-c00a6fc27afe",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"3/22/2023, 9:51:09.635 PM",,,"[""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d"",""9416b1ae-5057-4a72-b4af-559532e789a4"",""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630""]",,,,,"da5f3b8f-408a-1c91-5202-0c4a087d5f27","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:09.635 PM","3/22/2023, 9:51:09.635 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[{""source"":""azure-ad"",""id"":""6dce3693-f3g1-634c-d12h-7ge6g36c4202"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-17T16:52:29.205455202Z"",""type"":""device""},{""source"":""malwarebytes-nebula"",""id"":""c353df35-g778-64cf-1hf9-6e3fc084h130"",""config_id"":""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"",""version"":""2022-10-07T14:19:30.775552819Z"",""type"":""device""},{""source"":""illumio-core"",""id"":""e3901c11-h2f5-6gd3-cfe3-87efc2cg3dc6"",""config_id"":""9416b1ae-5057-4a72-b4af-559532e789a4"",""version"":""2022-10-07T14:52:48.910858932Z"",""type"":""device""},{""source"":""automox"",""id"":""20559488"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-10-17T10:46:41.882591955Z"",""type"":""device""},{""source"":""crowdstrike"",""id"":""3e0d7g83188361fh6h39fee001fh7858"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2022-10-17T15:33:23.533170546Z"",""type"":""device""},{""source"":""lansweeper"",""id"":""bluth\\uucucmk3\\3"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-11-02T10:50:56.058067773Z"",""type"":""device""}]","[""automox"",""azure-ad"",""crowdstrike"",""illumio-core"",""lansweeper"",""malwarebytes-nebula""]","[]",activity,"2023-03-22T21:51:09.635345985Z","2022-08-19T12:32:11.019871063Z",device,"S-1-5-21-582935482-1975382284-823532881-299034","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:06.497 PM","44ed22e3-2259-500e-94c3-c8dc9d04e962",California,"[""140f2692-342d-405e-b7df-c00a6fc27afe""]",,,,,"da6204b2-7ad3-7f3b-88c8-701eed72da15","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:40.214 PM","6/12/2023, 4:50:41.937 PM","2023-05-06T10:27:42.937381998Z",device,"[""knfttjohfs""]",,"Windows 10","[""64.124.210.133"",""10.41.17.71""]","[""02:FF:00:B5:2E:55""]",,,,"bluth.co","QG2X2II5-01","[""endpoint_security""]",EnterpriseEndpoint,knfttjohfs,Windows,"Windows 10","[""10.41.17.71""]","[""64.124.210.133""]",,,"64.124.210.133","Redwood City","United States","North America","37.4845","-122.2347","[{""source"":""crowdstrike"",""id"":""44ed22e32259500e94c3c8dc9d04e962"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2023-02-19T13:27:58.942713623Z"",""type"":""device"",""agent_version"":""6.39.15316.0"",""last_observed_timestamp"":""2023-06-12T16:50:41.937381998Z"",""first_observed_timestamp"":""2022-08-29T12:59:40.214330987Z"",""last_activity_timestamp"":""2023-05-06T10:27:42.937381998Z"",""asset_type"":""device"",""attributes"":{""id"":""44ed22e32259500e94c3c8dc9d04e962"",""hostnames"":[""knfttjohfs""],""os"":""Windows 10"",""ips"":[""64.124.210.133"",""10.41.17.71""],""mac_addresses"":[""02:FF:00:B5:2E:55""],""additional_attributes"":{""crowdstrike_agent_version"":""6.39.15316.0"",""status"":""normal""},""active_directory_domain"":""bluth.co"",""serial_number"":""QG2X2II5-01"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""6.39.15316.0"",""os_platform"":""Windows"",""os_release"":""Windows 10"",""internal_ips"":[""10.41.17.71""],""external_ips"":[""64.124.210.133""],""geo_ip"":{""associated_ip"":""64.124.210.133"",""city"":""Redwood City"",""country"":""United States"",""locality"":""California"",""region"":""North America"",""latitude"":37.4845,""longitude"":-122.2347}}}]","[""crowdstrike""]","[]",activity,"2023-06-12T16:52:06.497948165Z","2023-02-19T13:27:58.942713623Z",device,,crowdstrike,"140f2692-342d-405e-b7df-c00a6fc27afe",false,"[]","Sevco_Devices_CL", -"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:48.077 PM",,,"3/22/2023, 9:51:08.364 PM",,,"[ - ""140f2692-342d-405e-b7df-c00a6fc27afe"", - ""3184e5f9-309d-49c9-b471-ea7dfa192e05"", - ""346446df-cbc4-442c-aed4-94599e060a0e"", - ""809fb871-3ea2-4a4f-9eb5-13951894718d"", - ""9416b1ae-5057-4a72-b4af-559532e789a4"", - ""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"" -]",,,,,"19ca6ba6-b2b3-3437-f795-51e5d1eb7aab","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:08.364 PM","3/22/2023, 9:51:08.364 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[ - { - ""source"": ""azure-ad"", - ""id"": ""c737g07h-f0ef-660f-17hf-2070h4f027d8"", - ""config_id"": ""3184e5f9-309d-49c9-b471-ea7dfa192e05"", - ""version"": ""2022-08-22T07:50:40.205455202Z"", - ""type"": ""device"" - }, - { - ""source"": ""malwarebytes-nebula"", - ""id"": ""09ge59c7-d603-61d9-d58d-8389fef95hg6"", - ""config_id"": ""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"", - ""version"": ""2022-10-07T02:40:20.059024819Z"", - ""type"": ""device"" - }, - { - ""source"": ""illumio-core"", - ""id"": ""6g45651e-95ee-6ec9-1f3d-7fhcc0hhf33h"", - ""config_id"": ""9416b1ae-5057-4a72-b4af-559532e789a4"", - ""version"": ""2022-10-07T14:53:09.665858932Z"", - ""type"": ""device"" - }, - { - ""source"": ""automox"", - ""id"": ""201628482"", - ""config_id"": ""809fb871-3ea2-4a4f-9eb5-13951894718d"", - ""version"": ""2022-10-17T13:08:23.882591955Z"", - ""type"": ""device"" - }, - { - ""source"": ""crowdstrike"", - ""id"": ""cdch9f7438366cd0c0fhg274g4c58504"", - ""config_id"": ""140f2692-342d-405e-b7df-c00a6fc27afe"", - ""version"": ""2022-10-17T15:41:17.533170546Z"", - ""type"": ""device"" - }, - { - ""source"": ""lansweeper"", - ""id"": ""bluth\\eejcp\\3"", - ""config_id"": ""346446df-cbc4-442c-aed4-94599e060a0e"", - ""version"": ""2022-10-27T10:52:57.971067773Z"", - ""type"": ""device"" - } -]","[ - ""automox"", - ""azure-ad"", - ""crowdstrike"", - ""illumio-core"", - ""lansweeper"", - ""malwarebytes-nebula"" -]","[]",activity,"2023-03-22T21:51:08.364859168Z","2022-08-29T07:56:49.549141063Z",device,"S-1-5-21-582935482-1975382284-823532881-934764","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", +TenantId,SourceSystem,MG,ManagementGroupName,"TimeGenerated [UTC]",Computer,RawData,"asset_version_t [UTC]","event_asset_id_g","asset_attributes_geo_ip_locality_s","asset_config_ids_s","asset_attributes_network_location_s","asset_first_observed_timestamp_s","asset_last_observed_timestamp_s","asset_attributes_imei_s","asset_id_g","asset_org_id_g","asset_version_s","asset_first_observed_timestamp_t [UTC]","asset_last_observed_timestamp_t [UTC]","asset_last_activity_timestamp_s","asset_asset_type_s","asset_attributes_hostnames_s","asset_attributes_fqdn_s","asset_attributes_os_s","asset_attributes_ips_s","asset_attributes_mac_addresses_s","asset_attributes_distinguished_name_s","asset_attributes_additional_attributes_manufacturer_s","asset_attributes_additional_attributes_model_s","asset_attributes_active_directory_domain_s","asset_attributes_serial_number_s","asset_attributes_controls_s","asset_attributes_asset_classification_category_s","asset_attributes_hostname_s","asset_attributes_os_platform_s","asset_attributes_os_release_s","asset_attributes_internal_ips_s","asset_attributes_external_ips_s","asset_attributes_mac_manufacturers_s","asset_attributes_associated_usernames_s","asset_attributes_geo_ip_associated_ip_s","asset_attributes_geo_ip_city_s","asset_attributes_geo_ip_country_s","asset_attributes_geo_ip_region_s","asset_attributes_geo_ip_latitude_d","asset_attributes_geo_ip_longitude_d","asset_sources_s","asset_source_ids_s","asset_tags_s","event_event_type_s","event_correlation_timestamp_s","event_asset_version_s","event_asset_type_s","event_asset_id_s","event_source_id_s","event_config_id_g","event_deleted_b","event_updates_s",Type,"_ResourceId" +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:48.077 PM",,,"3/22/2023, 9:51:04.161 PM",,,"[ + ""140f2692-342d-405e-b7df-c00a6fc27afe"", + ""3184e5f9-309d-49c9-b471-ea7dfa192e05"", + ""346446df-cbc4-442c-aed4-94599e060a0e"", + ""809fb871-3ea2-4a4f-9eb5-13951894718d"", + ""9416b1ae-5057-4a72-b4af-559532e789a4"", + ""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"" +]",,,,,"194fcb1d-a0eb-c7bd-0885-2aa75101379d","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:04.161 PM","3/22/2023, 9:51:04.161 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[ + { + ""source"": ""azure-ad"", + ""id"": ""bdeg28f5-c079-5de7-b079-d925gc273d1f"", + ""config_id"": ""3184e5f9-309d-49c9-b471-ea7dfa192e05"", + ""version"": ""2022-08-25T06:21:00.205455202Z"", + ""type"": ""device"" + }, + { + ""source"": ""malwarebytes-nebula"", + ""id"": ""72e98476-b132-5e12-b654-db3f2e613b31"", + ""config_id"": ""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"", + ""version"": ""2022-10-07T02:57:36.243382819Z"", + ""type"": ""device"" + }, + { + ""source"": ""illumio-core"", + ""id"": ""cd72c81e-3dd6-5c02-b162-d02889ed47d6"", + ""config_id"": ""9416b1ae-5057-4a72-b4af-559532e789a4"", + ""version"": ""2022-10-07T14:29:55.530858932Z"", + ""type"": ""device"" + }, + { + ""source"": ""automox"", + ""id"": ""10434912"", + ""config_id"": ""809fb871-3ea2-4a4f-9eb5-13951894718d"", + ""version"": ""2022-10-17T12:40:42.882591955Z"", + ""type"": ""device"" + }, + { + ""source"": ""crowdstrike"", + ""id"": ""e6bbef3428ec5f7c024e9beb4cf610e4"", + ""config_id"": ""140f2692-342d-405e-b7df-c00a6fc27afe"", + ""version"": ""2022-10-17T15:30:57.533170546Z"", + ""type"": ""device"" + }, + { + ""source"": ""lansweeper"", + ""id"": ""bluth\\nsphfst\\2"", + ""config_id"": ""346446df-cbc4-442c-aed4-94599e060a0e"", + ""version"": ""2022-11-02T10:51:28.981067773Z"", + ""type"": ""device"" + } +]","[ + ""automox"", + ""azure-ad"", + ""crowdstrike"", + ""illumio-core"", + ""lansweeper"", + ""malwarebytes-nebula"" +]","[]",activity,"2023-03-22T21:51:04.161922338Z","2022-08-19T16:37:45.156106063Z",device,"S-1-5-21-371824371-9864271173-612421770-878143","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:26.746 PM",,,"[""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d"",""9416b1ae-5057-4a72-b4af-559532e789a4"",""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630""]",OnPrem,,,,"d8114885-3e3f-7ddd-f669-578155ff3572","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:40.214 PM","6/12/2023, 4:50:51.123 PM","2023-06-12T16:36:43.012172612Z",device,"[""tnddpoofmm""]","tnddpoofmm.bluth.co","Windows 10 Enterprise 10.0.19042","[""10.42.31.128"",""10.42.31.208"",""10.42.31.229"",""192.169.87.25"",""49.198.190.164""]","[""02:FF:01:DB:8D:37"",""70:BC:10:70:14:F0"",""70:BC:10:70:14:F1"",""A0:4A:5E:D2:3B:D5""]","cn=tnddpoofmm,ou=dpnqvufst nfm,ou=bluth dpnqvufst,dc=bluth-dp,dc=com","Microsoft Corporation","Surface Pro 6","bluth.co","67141767145-01","[""configuration_management"",""directory_service"",""endpoint_security""]",EnterpriseEndpoint,tnddpoofmm,Windows,"Windows 10 Enterprise","[""10.42.31.128"",""10.42.31.208"",""10.42.31.229""]","[""192.169.87.25"",""49.198.190.164""]","[""Microsoft Corporation""]","[""mohammad.lemke"",""terrell.flatley""]","192.169.87.25",,"United States","North America","37.751","-97.822","[{""source"":""azure-ad"",""id"":""3850e0bc-93c7-54ec-bcc4-gb72d545d5d1"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-17T03:59:34.205455202Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:10.667404371Z"",""first_observed_timestamp"":""2022-08-29T12:59:50.342049152Z"",""last_activity_timestamp"":""2023-06-09T19:58:20.198707349Z"",""asset_type"":""device"",""attributes"":{""id"":""3850e0bc-93c7-54ec-bcc4-gb72d545d5d1"",""hostnames"":[""tnddpoofmm""],""os"":""Windows, 10.0.19042.1889"",""last_updated_time"":""2023-06-09T19:58:20.198707349Z"",""additional_attributes"":{""trust_type"":""ServerAd""},""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10""}},{""source"":""microsoft-ad"",""id"":""S-1-5-21-371824371-9864271173-612421770-373833"",""config_id"":""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""version"":""2022-08-27T19:57:03.474832063Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:34.496529037Z"",""first_observed_timestamp"":""2022-08-29T13:00:13.142845863Z"",""last_activity_timestamp"":""2023-06-06T01:47:22.412999237Z"",""asset_type"":""device"",""attributes"":{""id"":""S-1-5-21-371824371-9864271173-612421770-373833"",""hostnames"":[""tnddpoofmm""],""fqdn"":""tnddpoofmm.bluth.co"",""os"":""Windows 10 Enterprise"",""distinguished_name"":""cn=tnddpoofmm,ou=dpnqvufst nfm,ou=bluth dpnqvufst,dc=bluth-dp,dc=com"",""last_updated_time"":""2023-06-06T01:47:22.412999237Z"",""additional_attributes"":{""groups"":[""Mbqupqt NFM""]},""active_directory_domain"":""bluth.co"",""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise""}},{""source"":""malwarebytes-nebula"",""id"":""dc00664b-cb01-56cc-b57f-9egegc6b9fff"",""config_id"":""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"",""version"":""2022-10-06T13:21:09.265432819Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:18.945864100Z"",""first_observed_timestamp"":""2022-08-29T12:59:46.479773580Z"",""last_activity_timestamp"":""2023-06-11T15:18:16.228322100Z"",""asset_type"":""device"",""attributes"":{""id"":""dc00664b-cb01-56cc-b57f-9egegc6b9fff"",""hostnames"":[""tnddpoofmm""],""fqdn"":""tnddpoofmm.bluth.co"",""os"":""Microsoft Windows 10 Enterprise"",""ips"":[""192.169.87.25""],""mac_addresses"":[""70:BC:10:70:14:F0""],""associated_users"":[{""username"":""mohammad.lemke""}],""active_directory_domain"":""bluth.co"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""external_ips"":[""192.169.87.25""],""mac_manufacturers"":[""Microsoft Corporation""],""associated_usernames"":[""mohammad.lemke""],""geo_ip"":{""associated_ip"":""192.169.87.25"",""city"":null,""country"":""United States"",""locality"":null,""region"":""North America"",""latitude"":37.751,""longitude"":-97.822}}},{""source"":""illumio-core"",""id"":""9g7g1f8d-c06e-5g98-b8f9-f1dc563d1071"",""config_id"":""9416b1ae-5057-4a72-b4af-559532e789a4"",""version"":""2022-10-07T13:22:57.724858932Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:49:57.023458799Z"",""first_observed_timestamp"":""2022-08-29T13:00:01.693862290Z"",""last_activity_timestamp"":""2023-06-12T15:19:24.501458799Z"",""asset_type"":""device"",""attributes"":{""id"":""9g7g1f8d-c06e-5g98-b8f9-f1dc563d1071"",""hostnames"":[""tnddpoofmm""],""os"":""Windows 10 Enterprise"",""ips"":[""192.169.87.25""],""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""external_ips"":[""192.169.87.25""],""geo_ip"":{""associated_ip"":""192.169.87.25"",""city"":null,""country"":""United States"",""locality"":null,""region"":""North America"",""latitude"":37.751,""longitude"":-97.822}}},{""source"":""automox"",""id"":""101011538"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-10-17T15:36:14.882591955Z"",""type"":""device"",""agent_version"":""1.0-40"",""last_observed_timestamp"":""2023-06-12T16:50:25.012172612Z"",""first_observed_timestamp"":""2022-08-29T13:00:06.635136545Z"",""last_activity_timestamp"":""2023-06-12T16:36:43.012172612Z"",""asset_type"":""device"",""attributes"":{""id"":""101011538"",""hostnames"":[""tnddpoofmm""],""fqdn"":""tnddpoofmm.bluth.co"",""os"":""Windows 10 Enterprise 10.0.19042"",""ips"":[""49.198.190.164"",""10.42.31.128"",""192.169.87.25""],""mac_addresses"":[""70:BC:10:70:14:F0"",""70:BC:10:70:14:F1"",""02:FF:01:DB:8D:37"",""A0:4A:5E:D2:3B:D5""],""associated_users"":[{""username"":""terrell.flatley""},{""username"":""terrell.flatley""}],""additional_attributes"":{""agent_version"":""1.0-40""},""serial_number"":""67141767145-01"",""controls"":[""configuration_management""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""1.0-40"",""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.42.31.128""],""external_ips"":[""49.198.190.164"",""192.169.87.25""],""mac_manufacturers"":[""Microsoft Corporation""],""associated_usernames"":[""terrell.flatley""],""geo_ip"":{""associated_ip"":""192.169.87.25"",""city"":null,""country"":""United States"",""locality"":null,""region"":""North America"",""latitude"":37.751,""longitude"":-97.822}}},{""source"":""lansweeper"",""id"":""bluth\\tnddpoofmm\\2"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-11-02T10:51:28.981067773Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:51.123381599Z"",""first_observed_timestamp"":""2022-09-01T17:40:27.724669592Z"",""last_activity_timestamp"":""2023-06-12T09:51:36.067464099Z"",""asset_type"":""device"",""attributes"":{""id"":""bluth\\tnddpoofmm\\2"",""hostnames"":[""tnddpoofmm""],""fqdn"":""tnddpoofmm.bluth.co"",""os"":""Microsoft Windows 10 Enterprise"",""ips"":[""10.42.31.229"",""192.169.87.25"",""10.42.31.208""],""mac_addresses"":[""70:BC:10:70:14:F0""],""owner"":{""id"":""tnddpoofmm""},""last_updated_time"":""2023-06-12T09:51:36.067464099Z"",""additional_attributes"":{""version"":""20H2"",""system_sku"":""Surface_Pro_6_1796_Commercial"",""manufacturer"":""Microsoft Corporation"",""build_number"":""1889"",""service_pack"":0,""model"":""Surface Pro 6""},""serial_number"":""67141767145-01"",""network_location"":""OnPrem"",""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.42.31.208"",""10.42.31.229""],""external_ips"":[""192.169.87.25""],""mac_manufacturers"":[""Microsoft Corporation""],""geo_ip"":{""associated_ip"":""192.169.87.25"",""city"":null,""country"":""United States"",""locality"":null,""region"":""North America"",""latitude"":37.751,""longitude"":-97.822}}},{""source"":""crowdstrike"",""id"":""237b44g17d27506cc30c606f3e97g11f"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2023-03-28T12:50:07.942713623Z"",""type"":""device"",""agent_version"":""6.42.15610.0"",""last_observed_timestamp"":""2023-06-12T16:50:41.937381998Z"",""first_observed_timestamp"":""2022-08-29T12:59:40.214330987Z"",""last_activity_timestamp"":""2023-06-12T09:49:51.937381998Z"",""asset_type"":""device"",""attributes"":{""id"":""237b44g17d27506cc30c606f3e97g11f"",""hostnames"":[""tnddpoofmm""],""os"":""Windows 10"",""ips"":[""49.198.190.164"",""10.42.31.128""],""mac_addresses"":[""02:FF:01:DB:8D:37""],""additional_attributes"":{""status"":""normal"",""crowdstrike_agent_version"":""6.42.15610.0""},""active_directory_domain"":""bluth.co"",""serial_number"":""67141767145-01"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""6.42.15610.0"",""os_platform"":""Windows"",""os_release"":""Windows 10"",""internal_ips"":[""10.42.31.128""],""external_ips"":[""49.198.190.164""],""geo_ip"":{""associated_ip"":""49.198.190.164"",""city"":""Melbourne"",""country"":""Australia"",""locality"":""Victoria"",""region"":""Oceania"",""latitude"":-37.8411,""longitude"":144.9799}}}]","[""automox"",""azure-ad"",""crowdstrike"",""illumio-core"",""lansweeper"",""malwarebytes-nebula"",""microsoft-ad""]","[{""name"":"" feafewsfew"",""value"":[]},{""name"":""afasf"",""value"":[]},{""name"":""Country"",""value"":[""USA""]}]",activity,"2023-06-12T16:52:26.746686908Z","2022-11-02T10:51:28.981067773Z",device,"bluth\tnddpoofmm\2",lansweeper,"346446df-cbc4-442c-aed4-94599e060a0e",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:48.077 PM",,,"3/22/2023, 9:51:09.017 PM",,,"[ + ""140f2692-342d-405e-b7df-c00a6fc27afe"", + ""3184e5f9-309d-49c9-b471-ea7dfa192e05"", + ""346446df-cbc4-442c-aed4-94599e060a0e"", + ""809fb871-3ea2-4a4f-9eb5-13951894718d"", + ""9416b1ae-5057-4a72-b4af-559532e789a4"", + ""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"" +]",,,,,"19832c00-89f2-65fc-66d5-e70d9e882ec7","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:09.017 PM","3/22/2023, 9:51:09.017 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[ + { + ""source"": ""azure-ad"", + ""id"": ""6fe1dhed-640f-68fd-106g-d24g0774461c"", + ""config_id"": ""3184e5f9-309d-49c9-b471-ea7dfa192e05"", + ""version"": ""2022-08-19T12:11:18.205455202Z"", + ""type"": ""device"" + }, + { + ""source"": ""malwarebytes-nebula"", + ""id"": ""hc045534-f701-6g7e-9162-1695h9g7ed8h"", + ""config_id"": ""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"", + ""version"": ""2022-10-05T10:39:45.961705819Z"", + ""type"": ""device"" + }, + { + ""source"": ""illumio-core"", + ""id"": ""9497362c-89c8-6hfg-c2e9-de84d051cc86"", + ""config_id"": ""9416b1ae-5057-4a72-b4af-559532e789a4"", + ""version"": ""2022-10-07T13:47:52.277858932Z"", + ""type"": ""device"" + }, + { + ""source"": ""crowdstrike"", + ""id"": ""c30e7c65882265f3d8ghe2gcf4f48ec5"", + ""config_id"": ""140f2692-342d-405e-b7df-c00a6fc27afe"", + ""version"": ""2022-10-17T15:33:10.533170546Z"", + ""type"": ""device"" + }, + { + ""source"": ""automox"", + ""id"": ""203545566"", + ""config_id"": ""809fb871-3ea2-4a4f-9eb5-13951894718d"", + ""version"": ""2022-10-17T15:45:36.882591955Z"", + ""type"": ""device"" + }, + { + ""source"": ""lansweeper"", + ""id"": ""bluth\\ucnnwtk\\3"", + ""config_id"": ""346446df-cbc4-442c-aed4-94599e060a0e"", + ""version"": ""2022-11-02T09:51:48.178067773Z"", + ""type"": ""device"" + } +]","[ + ""automox"", + ""azure-ad"", + ""crowdstrike"", + ""illumio-core"", + ""lansweeper"", + ""malwarebytes-nebula"" +]","[]",activity,"2023-03-22T21:51:09.017623119Z","2022-08-26T08:21:10.162414063Z",device,"S-1-5-21-582935482-1975382284-823532881-241254","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:06.496 PM","44095177-406f-57de-07fe-260e95467bcd",Illinois,"[""140f2692-342d-405e-b7df-c00a6fc27afe"",""9416b1ae-5057-4a72-b4af-559532e789a4""]",,,,,"d81f2f38-75d5-1c4d-8c33-1212fbc29f30","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:40.214 PM","6/12/2023, 4:50:41.937 PM","2023-05-28T19:47:53.971458799Z",device,"[""ecphbda""]",,"Windows 10","[""10.20.18.191"",""38.106.209.54""]","[""80:6D:97:26:F0:C8""]",,,,"bluth.co","QG26SEX3-01","[""endpoint_security""]",EnterpriseEndpoint,ecphbda,Windows,"Windows 10","[""10.20.18.191""]","[""38.106.209.54""]","[""Private""]",,"38.106.209.54",Chicago,"United States","North America","41.8972","-87.6196","[{""source"":""illumio-core"",""id"":""3f2424gf-7gb5-5feg-0ff0-c6de530bge65"",""config_id"":""9416b1ae-5057-4a72-b4af-559532e789a4"",""version"":""2022-09-22T17:51:27.194858932Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:49:57.023458799Z"",""first_observed_timestamp"":""2022-08-29T13:00:01.693862290Z"",""last_activity_timestamp"":""2023-05-28T19:47:53.971458799Z"",""asset_type"":""device"",""attributes"":{""id"":""3f2424gf-7gb5-5feg-0ff0-c6de530bge65"",""hostnames"":[""ecphbda""],""os"":""Windows 10 Enterprise"",""ips"":[""10.20.18.191""],""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.20.18.191""]}},{""source"":""crowdstrike"",""id"":""44095177406f57de07fe260e95467bcd"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2023-04-30T22:08:23.469147745Z"",""type"":""device"",""agent_version"":""6.40.15406.0"",""last_observed_timestamp"":""2023-06-12T16:50:41.937381998Z"",""first_observed_timestamp"":""2022-08-29T12:59:40.214330987Z"",""last_activity_timestamp"":""2023-05-28T19:08:25.937381998Z"",""asset_type"":""device"",""attributes"":{""id"":""44095177406f57de07fe260e95467bcd"",""hostnames"":[""ecphbda""],""os"":""Windows 10"",""ips"":[""38.106.209.54"",""10.20.18.191""],""mac_addresses"":[""80:6D:97:26:F0:C8""],""additional_attributes"":{""status"":""normal"",""crowdstrike_agent_version"":""6.40.15406.0""},""active_directory_domain"":""bluth.co"",""serial_number"":""QG26SEX3-01"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""6.40.15406.0"",""os_platform"":""Windows"",""os_release"":""Windows 10"",""internal_ips"":[""10.20.18.191""],""external_ips"":[""38.106.209.54""],""mac_manufacturers"":[""Private""],""geo_ip"":{""associated_ip"":""38.106.209.54"",""city"":""Chicago"",""country"":""United States"",""locality"":""Illinois"",""region"":""North America"",""latitude"":41.8972,""longitude"":-87.6196}}}]","[""crowdstrike"",""illumio-core""]","[{""name"":"" feafewsfew"",""value"":[]},{""name"":""Country"",""value"":[""USA""]}]",activity,"2023-06-12T16:52:06.496870077Z","2023-04-30T22:08:23.469147745Z",device,,crowdstrike,"140f2692-342d-405e-b7df-c00a6fc27afe",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:28.988 PM",,"New York","[""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d"",""9416b1ae-5057-4a72-b4af-559532e789a4"",""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630""]",OnPrem,,,,"d8601bd7-7a40-493d-2654-ebac87cc250f","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:40.214 PM","6/12/2023, 4:50:51.123 PM","2023-06-12T16:46:16.216458799Z",device,"[""niwbocp""]","niwbocp.bluth.co","Windows 10 Enterprise 10.0.19042","[""10.10.41.63"",""10.41.52.18"",""142.1.42.132"",""192.168.33.18"",""2603:7000:6240:bc72:202:202:202:20d"",""2603:7000:6240:bc72:7bd3:1354:3cd2:1757"",""2603:7000:6240:bc72:f19:906d:7e0b:8067""]","[""02:FF:00:66:6A:2C"",""04:EA:56:AC:D4:D9"",""04:EA:56:AC:D4:DD"",""E8:6A:64:EE:C8:7C""]","cn=niwbocp,ou=eqorwvgtu pa,ou=bluth eqorwvgtu,dc=bluth-eq,dc=com",Lenovo,"ThinkPad X1 Carbon 6th","bluth.co","RH3PP1UY-02","[""configuration_management"",""directory_service"",""endpoint_security""]",EnterpriseEndpoint,niwbocp,Windows,"Windows 10 Enterprise","[""10.10.41.63"",""10.41.52.18"",""192.168.33.18""]","[""142.1.42.132"",""2603:7000:6240:bc72:202:202:202:20d"",""2603:7000:6240:bc72:7bd3:1354:3cd2:1757"",""2603:7000:6240:bc72:f19:906d:7e0b:8067""]","[""Intel Corporate"",""LCFC(HeFei) Electronics Technology co., ltd""]","[""keara.bashirian""]","2603:7000:6240:bc72:202:202:202:20d","New York","United States","North America","40.7123","-74.0068","[{""source"":""microsoft-ad"",""id"":""S-1-5-21-582935482-1975382284-823532881-380254"",""config_id"":""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""version"":""2022-08-23T08:19:08.707779063Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:34.496529037Z"",""first_observed_timestamp"":""2022-08-29T13:00:13.142845863Z"",""last_activity_timestamp"":""2023-06-01T14:09:27.645946237Z"",""asset_type"":""device"",""attributes"":{""id"":""S-1-5-21-582935482-1975382284-823532881-380254"",""hostnames"":[""niwbocp""],""fqdn"":""niwbocp.bluth.co"",""os"":""Windows 10 Enterprise"",""distinguished_name"":""cn=niwbocp,ou=eqorwvgtu pa,ou=bluth eqorwvgtu,dc=bluth-eq,dc=com"",""last_updated_time"":""2023-06-01T14:09:27.645946237Z"",""additional_attributes"":{""groups"":[""Ncrvqru PA""]},""active_directory_domain"":""bluth.co"",""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise""}},{""source"":""azure-ad"",""id"":""f8cc0c96-63cf-5697-dh9c-h566620dehhh"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-23T13:18:32.205455202Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:10.667404371Z"",""first_observed_timestamp"":""2022-08-29T12:59:50.342049152Z"",""last_activity_timestamp"":""2023-06-01T19:08:25.198707349Z"",""asset_type"":""device"",""attributes"":{""id"":""f8cc0c96-63cf-5697-dh9c-h566620dehhh"",""hostnames"":[""niwbocp""],""os"":""Windows, 10.0.19042.1889"",""last_updated_time"":""2023-06-01T19:08:25.198707349Z"",""additional_attributes"":{""trust_type"":""ServerAd""},""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10""}},{""source"":""malwarebytes-nebula"",""id"":""6h266643-522e-6877-9912-634e0158265c"",""config_id"":""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"",""version"":""2022-10-05T14:35:15.178436819Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:18.945864100Z"",""first_observed_timestamp"":""2022-08-29T12:59:46.479773580Z"",""last_activity_timestamp"":""2023-06-10T16:32:22.141326100Z"",""asset_type"":""device"",""attributes"":{""id"":""6h266643-522e-6877-9912-634e0158265c"",""hostnames"":[""niwbocp""],""fqdn"":""niwbocp.bluth.co"",""os"":""Microsoft Windows 10 Enterprise"",""ips"":[""192.168.33.18""],""mac_addresses"":[""04:EA:56:AC:D4:D9""],""associated_users"":[{""username"":""keara.bashirian""}],""active_directory_domain"":""bluth.co"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""192.168.33.18""],""mac_manufacturers"":[""Intel Corporate""],""associated_usernames"":[""keara.bashirian""]}},{""source"":""lansweeper"",""id"":""bluth\\niwbocp\\3"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-10-26T10:52:40.191067773Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:51.123381599Z"",""first_observed_timestamp"":""2022-09-01T17:40:27.724669592Z"",""last_activity_timestamp"":""2023-06-05T09:52:47.277464099Z"",""asset_type"":""device"",""attributes"":{""id"":""bluth\\niwbocp\\3"",""hostnames"":[""niwbocp""],""fqdn"":""niwbocp.bluth.co"",""os"":""Microsoft Windows 10 Enterprise"",""ips"":[""10.41.52.18"",""10.10.41.63""],""mac_addresses"":[""E8:6A:64:EE:C8:7C""],""owner"":{""id"":""niwbocp""},""last_updated_time"":""2023-06-05T09:52:47.277464099Z"",""additional_attributes"":{""system_sku"":""LENOVO_MT_20KH_BU_Think_FM_ThinkPad X1 Carbon 6th"",""model"":""ThinkPad X1 Carbon 6th"",""version"":""20H2"",""service_pack"":0,""manufacturer"":""Lenovo"",""build_number"":""1889""},""serial_number"":""RH3PP1UY-02"",""network_location"":""OnPrem"",""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.41.52.18"",""10.10.41.63""],""mac_manufacturers"":[""LCFC(HeFei) Electronics Technology co., ltd""]}},{""source"":""illumio-core"",""id"":""67gc7307-2282-68e6-c845-h7227h5c1c27"",""config_id"":""9416b1ae-5057-4a72-b4af-559532e789a4"",""version"":""2023-04-25T18:46:22.906053982Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:49:57.023458799Z"",""first_observed_timestamp"":""2022-08-29T13:00:01.693862290Z"",""last_activity_timestamp"":""2023-06-12T16:46:16.216458799Z"",""asset_type"":""device"",""attributes"":{""id"":""67gc7307-2282-68e6-c845-h7227h5c1c27"",""hostnames"":[""niwbocp""],""os"":""Windows 10 Enterprise"",""ips"":[""192.168.33.18"",""2603:7000:6240:bc72:7bd3:1354:3cd2:1757"",""2603:7000:6240:bc72:202:202:202:20d"",""2603:7000:6240:bc72:f19:906d:7e0b:8067""],""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""192.168.33.18""],""external_ips"":[""2603:7000:6240:bc72:7bd3:1354:3cd2:1757"",""2603:7000:6240:bc72:202:202:202:20d"",""2603:7000:6240:bc72:f19:906d:7e0b:8067""],""geo_ip"":{""associated_ip"":""2603:7000:6240:bc72:202:202:202:20d"",""city"":""New York"",""country"":""United States"",""locality"":""New York"",""region"":""North America"",""latitude"":40.7123,""longitude"":-74.0068}}},{""source"":""automox"",""id"":""20718044"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2023-05-15T16:32:27.397630608Z"",""type"":""device"",""agent_version"":""1.0-40"",""last_observed_timestamp"":""2023-06-12T16:50:25.012172612Z"",""first_observed_timestamp"":""2022-08-29T13:00:06.635136545Z"",""last_activity_timestamp"":""2023-06-12T13:32:29.012172612Z"",""asset_type"":""device"",""attributes"":{""id"":""20718044"",""hostnames"":[""niwbocp""],""fqdn"":""niwbocp.bluth.co"",""os"":""Windows 10 Enterprise 10.0.19042"",""ips"":[""142.1.42.132"",""192.168.33.18"",""2603:7000:6240:bc72:7bd3:1354:3cd2:1757"",""2603:7000:6240:bc72:202:202:202:20d"",""2603:7000:6240:bc72:f19:906d:7e0b:8067""],""mac_addresses"":[""E8:6A:64:EE:C8:7C"",""04:EA:56:AC:D4:D9"",""04:EA:56:AC:D4:DD"",""02:FF:00:66:6A:2C""],""associated_users"":[{""username"":""keara.bashirian""},{""username"":""keara.bashirian""}],""additional_attributes"":{""agent_version"":""1.0-40""},""serial_number"":""RH3PP1UY-02"",""controls"":[""configuration_management""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""1.0-40"",""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""192.168.33.18""],""external_ips"":[""142.1.42.132"",""2603:7000:6240:bc72:7bd3:1354:3cd2:1757"",""2603:7000:6240:bc72:202:202:202:20d"",""2603:7000:6240:bc72:f19:906d:7e0b:8067""],""mac_manufacturers"":[""LCFC(HeFei) Electronics Technology co., ltd"",""Intel Corporate""],""associated_usernames"":[""keara.bashirian""],""geo_ip"":{""associated_ip"":""142.1.42.132"",""city"":""Mississauga"",""country"":""Canada"",""locality"":""Ontario"",""region"":""North America"",""latitude"":43.5366,""longitude"":-79.6919}}},{""source"":""crowdstrike"",""id"":""e39e4d886hed6e71c76gg98d39e871h3"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2023-05-15T19:30:14.469147745Z"",""type"":""device"",""agent_version"":""6.42.15610.0"",""last_observed_timestamp"":""2023-06-12T16:50:41.937381998Z"",""first_observed_timestamp"":""2022-08-29T12:59:40.214330987Z"",""last_activity_timestamp"":""2023-06-12T16:30:16.937381998Z"",""asset_type"":""device"",""attributes"":{""id"":""e39e4d886hed6e71c76gg98d39e871h3"",""hostnames"":[""niwbocp""],""os"":""Windows 10"",""ips"":[""142.1.42.132"",""192.168.33.18""],""mac_addresses"":[""04:EA:56:AC:D4:D9""],""additional_attributes"":{""status"":""normal"",""crowdstrike_agent_version"":""6.42.15610.0""},""active_directory_domain"":""bluth.co"",""serial_number"":""RH3PP1UY-02"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""6.42.15610.0"",""os_platform"":""Windows"",""os_release"":""Windows 10"",""internal_ips"":[""192.168.33.18""],""external_ips"":[""142.1.42.132""],""mac_manufacturers"":[""Intel Corporate""],""geo_ip"":{""associated_ip"":""142.1.42.132"",""city"":""Mississauga"",""country"":""Canada"",""locality"":""Ontario"",""region"":""North America"",""latitude"":43.5366,""longitude"":-79.6919}}}]","[""automox"",""azure-ad"",""crowdstrike"",""illumio-core"",""lansweeper"",""malwarebytes-nebula"",""microsoft-ad""]","[{""name"":""afasf"",""value"":[]},{""name"":""Country"",""value"":[""USA""]},{""name"":"" feafewsfew"",""value"":[]}]",activity,"2023-06-12T16:52:28.988126307Z","2022-10-26T10:52:40.191067773Z",device,"bluth\niwbocp\3",lansweeper,"346446df-cbc4-442c-aed4-94599e060a0e",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"3/22/2023, 9:51:11.483 PM",,,"[""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d"",""9416b1ae-5057-4a72-b4af-559532e789a4"",""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630""]",,,,,"d8664c79-baf5-c178-e0e0-4c36ad174e46","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:11.483 PM","3/22/2023, 9:51:11.483 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[{""source"":""azure-ad"",""id"":""153g7404-78f1-663f-d100-ec6edfh3g55c"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-28T19:26:34.205455202Z"",""type"":""device""},{""source"":""illumio-core"",""id"":""8625cd8f-5de4-64cg-dd52-22h4f6016861"",""config_id"":""9416b1ae-5057-4a72-b4af-559532e789a4"",""version"":""2022-10-07T11:13:40.112858932Z"",""type"":""device""},{""source"":""crowdstrike"",""id"":""h8f3hf4925056002cdgh6836dgg23150"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2022-10-17T11:32:55.533170546Z"",""type"":""device""},{""source"":""automox"",""id"":""203588544"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-10-17T13:26:51.882591955Z"",""type"":""device""},{""source"":""lansweeper"",""id"":""bluth\\jqwurctgz3\\3"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-10-30T10:51:48.855067773Z"",""type"":""device""},{""source"":""malwarebytes-nebula"",""id"":""9c7990gd-80dd-603c-1d18-6d43h3df2ec5"",""config_id"":""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"",""version"":""2022-12-13T13:27:38.281492748Z"",""type"":""device""}]","[""automox"",""azure-ad"",""crowdstrike"",""illumio-core"",""lansweeper"",""malwarebytes-nebula""]","[]",activity,"2023-03-22T21:51:11.483920182Z","2022-08-27T16:37:52.677271063Z",device,"S-1-5-21-582935482-1975382284-823532881-851254","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:48.077 PM",,,"3/22/2023, 9:51:13.744 PM",,,"[ + ""809fb871-3ea2-4a4f-9eb5-13951894718d"", + ""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"" +]",,,,,"19ab6c61-1fb1-b556-2125-251676410aba","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:13.744 PM","3/22/2023, 9:51:13.744 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[ + { + ""source"": ""malwarebytes-nebula"", + ""id"": ""215f9d3h-8559-7997-d4d4-cce5gdf39eh6"", + ""config_id"": ""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"", + ""version"": ""2022-08-17T22:50:07.396938819Z"", + ""type"": ""device"" + }, + { + ""source"": ""automox"", + ""id"": ""202950340"", + ""config_id"": ""809fb871-3ea2-4a4f-9eb5-13951894718d"", + ""version"": ""2022-08-28T02:38:12.882591955Z"", + ""type"": ""device"" + } +]","[ + ""automox"", + ""malwarebytes-nebula"" +]","[]",activity,"2023-03-22T21:51:13.744255289Z","2022-07-08T06:26:00.692139063Z",device,"S-1-5-21-582935482-1975382284-823532881-780254","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:25.112 PM",,,"[""346446df-cbc4-442c-aed4-94599e060a0e""]",OnPrem,,,,"d8891869-f803-aa38-704c-f8135e38ffb1","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"9/1/2022, 5:40:27.724 PM","6/12/2023, 4:50:51.123 PM","2023-06-10T20:23:03.087464099Z",device,,,Printer,"[""10.10.20.111""]","[""D4:85:64:1D:91:2C""]",,"Hewlett-Packard","HP printer",,"WOCDC0X45D-01",,,,Other,Unknown,"[""10.10.20.111""]",,"[""Hewlett Packard""]",,,,,,,,"[{""source"":""lansweeper"",""id"":""e5:96:75:2d:01:3c"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-10-31T21:22:56.001067773Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:51.123381599Z"",""first_observed_timestamp"":""2022-09-01T17:40:27.724669592Z"",""last_activity_timestamp"":""2023-06-10T20:23:03.087464099Z"",""asset_type"":""device"",""attributes"":{""id"":""e5:96:75:2d:01:3c"",""os"":""Printer"",""ips"":[""10.10.20.111""],""mac_addresses"":[""D4:85:64:1D:91:2C""],""last_updated_time"":""2023-06-10T20:23:03.087464099Z"",""additional_attributes"":{""manufacturer"":""Hewlett-Packard"",""system_sku"":"""",""model"":""HP printer""},""serial_number"":""WOCDC0X45D-01"",""network_location"":""OnPrem"",""os_platform"":""Other"",""os_release"":""Unknown"",""internal_ips"":[""10.10.20.111""],""mac_manufacturers"":[""Hewlett Packard""]}}]","[""lansweeper""]","[]",activity,"2023-06-12T16:52:25.112717704Z","2022-10-31T21:22:56.001067773Z",device,"e5:96:75:2d:01:3c",lansweeper,"346446df-cbc4-442c-aed4-94599e060a0e",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:51:47.647 PM",,,"[""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77""]",,,,,"d8eb7ba1-048f-b822-1a4e-90bca6df738d","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 1:00:13.142 PM","6/12/2023, 4:50:34.496 PM","2022-07-14T07:50:44.631475237Z",device,"[""tgopefoz""]",,,,,"cn=tgopefoz,ou=oz tfswfst,ou=bluth tfswfst,dc=bluth-dp,dc=com",,,"bluth.co",,"[""directory_service""]",EnterpriseEndpoint,tgopefoz,,,,,,,,,,,,,"[{""source"":""microsoft-ad"",""id"":""S-1-5-21-371824371-9864271173-612421770-193143"",""config_id"":""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""version"":""2021-10-05T02:00:25.693308063Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:34.496529037Z"",""first_observed_timestamp"":""2022-08-29T13:00:13.142845863Z"",""last_activity_timestamp"":""2022-07-14T07:50:44.631475237Z"",""asset_type"":""device"",""attributes"":{""id"":""S-1-5-21-371824371-9864271173-612421770-193143"",""hostnames"":[""tgopefoz""],""distinguished_name"":""cn=tgopefoz,ou=oz tfswfst,ou=bluth tfswfst,dc=bluth-dp,dc=com"",""last_updated_time"":""2022-07-14T07:50:44.631475237Z"",""active_directory_domain"":""bluth.co"",""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null}}}]","[""microsoft-ad""]","[]",activity,"2023-06-12T16:51:47.647447525Z","2021-10-05T02:00:25.693308063Z",device,"S-1-5-21-371824371-9864271173-612421770-193143","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"3/22/2023, 9:51:01.149 PM",,,"[""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d"",""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630""]",,,,,"d8efbd6c-d0a3-2e69-3500-b19563c8e0f0","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:01.149 PM","3/22/2023, 9:51:01.149 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[{""source"":""azure-ad"",""id"":""0be92d6e-fbee-551g-099f-80gf269f62eb"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-29T09:06:22.205455202Z"",""type"":""device""},{""source"":""malwarebytes-nebula"",""id"":""f3c3g961-34fg-5gc4-0eg1-0538c2014d9e"",""config_id"":""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"",""version"":""2022-10-03T21:24:07.412876819Z"",""type"":""device""},{""source"":""crowdstrike"",""id"":""2cf26g4c7f0f5dc0c45ded7e59g7c160"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2022-10-15T05:02:07.533170546Z"",""type"":""device""},{""source"":""automox"",""id"":""101042434"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-10-15T07:22:10.882591955Z"",""type"":""device""},{""source"":""lansweeper"",""id"":""bluth\\sijmm\\2"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-10-29T10:52:55.938067773Z"",""type"":""device""}]","[""automox"",""azure-ad"",""crowdstrike"",""lansweeper"",""malwarebytes-nebula""]","[]",activity,"2023-03-22T21:51:01.149412213Z","2022-08-22T02:25:07.190090661Z",device,"S-1-5-21-371824371-9864271173-612421770-478643","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"3/22/2023, 9:50:59.447 PM",,,"[""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d"",""9416b1ae-5057-4a72-b4af-559532e789a4"",""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630""]",,,,,"d8fd15e2-0f1b-b5fd-91bc-8b8c1eff7e10","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:50:59.447 PM","3/22/2023, 9:50:59.447 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[{""source"":""azure-ad"",""id"":""57d1g739-32fb-5b6g-06f1-551413efdcd3"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-20T11:16:31.205455202Z"",""type"":""device""},{""source"":""malwarebytes-nebula"",""id"":""e845282e-e4de-7116-b9g1-09220ee9gdbg"",""config_id"":""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"",""version"":""2022-10-06T04:21:45.423492819Z"",""type"":""device""},{""source"":""illumio-core"",""id"":""7e532e99-358-5536-0c39-cg7dbgg4f9gb"",""config_id"":""9416b1ae-5057-4a72-b4af-559532e789a4"",""version"":""2022-10-07T10:26:16.998858932Z"",""type"":""device""},{""source"":""automox"",""id"":""10522151"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-10-17T06:28:10.882591955Z"",""type"":""device""},{""source"":""crowdstrike"",""id"":""fgge970525gf593d5b1d5f065ce75dgg"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2022-10-17T10:46:05.533170546Z"",""type"":""device""},{""source"":""lansweeper"",""id"":""bluth\\otfbst\\2"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-11-01T10:51:07.858067773Z"",""type"":""device""}]","[""automox"",""azure-ad"",""crowdstrike"",""illumio-core"",""lansweeper"",""malwarebytes-nebula""]","[]",activity,"2023-03-22T21:50:59.447723444Z","2022-08-26T12:38:27.779449063Z",device,"S-1-5-21-371824371-9864271173-612421770-580923","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:50:41.643 PM",,,"[""3184e5f9-309d-49c9-b471-ea7dfa192e05""]",,,,,"d8fd9231-32a3-25d1-1172-d2e582313bcc","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:50.342 PM","6/12/2023, 4:50:10.667 PM","2023-06-08T08:04:08.198707349Z",device,"[""mbqupq-vnuf6sdk""]",,"Windows, 10.0.22000.318",,,,,,,,"[""directory_service""]",,"mbqupq-vnuf6sdk",Windows,"Windows 11",,,,,,,,,,,"[{""source"":""azure-ad"",""id"":""22717ee3-98e9-5c6g-96g0-c67f4gf44g36"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2023-01-02T10:04:00.670052156Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:10.667404371Z"",""first_observed_timestamp"":""2022-08-29T12:59:50.342049152Z"",""last_activity_timestamp"":""2023-06-08T08:04:08.198707349Z"",""asset_type"":""device"",""attributes"":{""id"":""22717ee3-98e9-5c6g-96g0-c67f4gf44g36"",""hostnames"":[""mbqupq-vnuf6sdk""],""os"":""Windows, 10.0.22000.318"",""last_updated_time"":""2023-06-08T08:04:08.198707349Z"",""additional_attributes"":{""trust_type"":""Workplace""},""controls"":[""directory_service""],""os_platform"":""Windows"",""os_release"":""Windows 11""}}]","[""azure-ad""]","[]",activity,"2023-06-12T16:50:41.643552039Z","2023-01-02T10:04:00.670052156Z",device,"22717ee3-98e9-5c6g-96g0-c67f4gf44g36","azure-ad","3184e5f9-309d-49c9-b471-ea7dfa192e05",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:51:52.687 PM",,,"[""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77""]",,,,,"d9147653-612f-4af9-e542-039a3ffb0371","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 1:00:13.142 PM","6/12/2023, 4:50:34.496 PM","2020-08-15T07:45:35.363318237Z",device,"[""hqtgueqwvpa""]","hqtgueqwvpa.bluth.co",,,,"cn=hqtgueqwvpa,ou=pa ugtxgtu,ou=bluth ugtxgtu,dc=bluth-eq,dc=com",,,"bluth.co",,"[""directory_service""]",EnterpriseEndpoint,hqtgueqwvpa,,,,,,,,,,,,,"[{""source"":""microsoft-ad"",""id"":""S-1-5-21-582935482-1975382284-823532881-526644"",""config_id"":""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""version"":""2019-11-07T01:55:16.425151063Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:34.496529037Z"",""first_observed_timestamp"":""2022-08-29T13:00:13.142845863Z"",""last_activity_timestamp"":""2020-08-15T07:45:35.363318237Z"",""asset_type"":""device"",""attributes"":{""id"":""S-1-5-21-582935482-1975382284-823532881-526644"",""hostnames"":[""hqtgueqwvpa""],""fqdn"":""hqtgueqwvpa.bluth.co"",""distinguished_name"":""cn=hqtgueqwvpa,ou=pa ugtxgtu,ou=bluth ugtxgtu,dc=bluth-eq,dc=com"",""last_updated_time"":""2020-08-15T07:45:35.363318237Z"",""active_directory_domain"":""bluth.co"",""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null}}}]","[""microsoft-ad""]","[]",activity,"2023-06-12T16:51:52.687702713Z","2019-11-07T01:55:16.425151063Z",device,"S-1-5-21-582935482-1975382284-823532881-526644","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:28.990 PM",,,"[""346446df-cbc4-442c-aed4-94599e060a0e""]",OnPrem,,,,"d91a89d5-e910-a025-c5c3-dc9f70bb9b73","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"9/1/2022, 5:40:27.724 PM","6/12/2023, 4:50:51.123 PM","2023-06-11T20:14:42.267464099Z",device,,,Printer,"[""10.7.33.216""]","[""00:26:73:A7:1B:30""]",,RICOH,"RICOH MP C2011 1.01 / RICOH Network Printer C model",,"U1171322297-02",,,,Other,Unknown,"[""10.7.33.216""]",,"[""RICOH COMPANY,LTD.""]",,,,,,,,"[{""source"":""lansweeper"",""id"":""22:48:95:c7:31:4g"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-11-01T21:14:35.181067773Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:51.123381599Z"",""first_observed_timestamp"":""2022-09-01T17:40:27.724669592Z"",""last_activity_timestamp"":""2023-06-11T20:14:42.267464099Z"",""asset_type"":""device"",""attributes"":{""id"":""22:48:95:c7:31:4g"",""os"":""Printer"",""ips"":[""10.7.33.216""],""mac_addresses"":[""00:26:73:A7:1B:30""],""last_updated_time"":""2023-06-11T20:14:42.267464099Z"",""additional_attributes"":{""manufacturer"":""RICOH"",""model"":""RICOH MP C2011 1.01 / RICOH Network Printer C model"",""system_sku"":""""},""serial_number"":""U1171322297-02"",""network_location"":""OnPrem"",""os_platform"":""Other"",""os_release"":""Unknown"",""internal_ips"":[""10.7.33.216""],""mac_manufacturers"":[""RICOH COMPANY,LTD.""]}}]","[""lansweeper""]","[]",activity,"2023-06-12T16:52:28.990287577Z","2022-11-01T21:14:35.181067773Z",device,"22:48:95:c7:31:4g",lansweeper,"346446df-cbc4-442c-aed4-94599e060a0e",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:48.077 PM",,,"6/12/2023, 4:50:47.592 PM",,,"[ + ""3184e5f9-309d-49c9-b471-ea7dfa192e05"" +]",,,,,"19ac8d6a-c020-4fe0-f5da-59c32b107e80","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:50.342 PM","6/12/2023, 4:50:10.667 PM","2023-06-09T21:20:24.198707349Z",device,"[ + ""jqipof ef dbsmpt"", + ""jqipof-ef-dbsmpt"" +]",,"IPhone, 15.6.1",,,,Apple,"iPhone 12 Pro Max",,,"[ + ""directory_service"" +]",,"jqipof ef dbsmpt",iOS,"iOS 15",,,,,,,,,,,"[ + { + ""source"": ""azure-ad"", + ""id"": ""e6071b64-2d7b-50dc-bgc9-969fgf8f02e9"", + ""config_id"": ""3184e5f9-309d-49c9-b471-ea7dfa192e05"", + ""version"": ""2022-08-22T18:33:42.205455202Z"", + ""type"": ""device"", + ""last_observed_timestamp"": ""2023-06-12T16:50:10.667404371Z"", + ""first_observed_timestamp"": ""2022-08-29T12:59:50.342049152Z"", + ""last_activity_timestamp"": ""2023-06-09T21:20:24.198707349Z"", + ""asset_type"": ""device"", + ""attributes"": { + ""id"": ""e6071b64-2d7b-50dc-bgc9-969fgf8f02e9"", + ""hostnames"": [ + ""jqipof ef dbsmpt"", + ""jqipof-ef-dbsmpt"" + ], + ""os"": ""IPhone, 15.6.1"", + ""last_updated_time"": ""2023-06-09T21:20:24.198707349Z"", + ""additional_attributes"": { + ""model"": ""iPhone 12 Pro Max"", + ""manufacturer"": ""Apple"", + ""trust_type"": ""Workplace"" + }, + ""controls"": [ + ""directory_service"" + ], + ""os_platform"": ""iOS"", + ""os_release"": ""iOS 15"" + } + } +]","[ + ""azure-ad"" +]","[]",activity,"2023-06-12T16:50:47.592053913Z","2022-08-22T18:33:42.205455202Z",device,"e6071b64-2d7b-50dc-bgc9-969fgf8f02e9","azure-ad","3184e5f9-309d-49c9-b471-ea7dfa192e05",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"3/22/2023, 9:51:00.849 PM",,,"[""140f2692-342d-405e-b7df-c00a6fc27afe"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d""]",,,,,"d92b92c8-8e44-5ebe-e27f-bd7004144b7a","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:00.849 PM","3/22/2023, 9:51:00.849 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[{""source"":""automox"",""id"":""10777325"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-10-17T10:48:18.882591955Z"",""type"":""device""},{""source"":""crowdstrike"",""id"":""8785815508925f180eb27c8gd47bb14f"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2022-10-17T15:38:26.533170546Z"",""type"":""device""},{""source"":""lansweeper"",""id"":""bluth\\hiipved13\\2"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-11-02T10:51:28.091067773Z"",""type"":""device""}]","[""automox"",""crowdstrike"",""lansweeper""]","[]",activity,"2023-03-22T21:51:00.849666868Z","2022-08-23T05:12:17.711094063Z",device,"S-1-5-21-371824371-9864271173-612421770-12869","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:30.095 PM",,"Western Australia","[""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d"",""9416b1ae-5057-4a72-b4af-559532e789a4"",""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630""]",OnPrem,,,,"d93a0fd6-d880-8855-18f1-2fee1c2175dd","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:40.214 PM","6/12/2023, 4:50:51.123 PM","2023-06-12T16:46:56.494458799Z",device,"[""nvctvcinkc""]","nvctvcinkc.bluth.co","Windows 10 Enterprise 10.0.19042","[""10.20.43.114"",""10.41.62.19"",""114.131.190.60"",""14.203.166.248"",""192.168.118.30""]","[""02:FF:00:5E:48:02"",""D8:F8:83:80:16:92"",""D8:F8:83:80:16:96"",""F0:1D:BC:9B:AB:D1""]","cn=nvctvcinkc,ou=eqorwvgtu uaf,ou=bluth eqorwvgtu,dc=bluth-eq,dc=com","Microsoft Corporation","Surface Pro 7+","bluth.co","88383862278-02","[""configuration_management"",""directory_service"",""endpoint_security""]",EnterpriseEndpoint,nvctvcinkc,Windows,"Windows 10 Enterprise","[""10.20.43.114"",""10.41.62.19"",""192.168.118.30""]","[""114.131.190.60"",""14.203.166.248""]","[""Intel Corporate"",""Microsoft Corporation""]","[""joana.casper""]","14.203.166.248",Perth,Australia,Oceania,"-31.9474","115.8648","[{""source"":""azure-ad"",""id"":""gef15327-7cgh-631d-0ec7-d79d209d15c8"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-17T15:43:19.205455202Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:10.667404371Z"",""first_observed_timestamp"":""2022-08-29T12:59:50.342049152Z"",""last_activity_timestamp"":""2023-06-09T23:53:59.198707349Z"",""asset_type"":""device"",""attributes"":{""id"":""gef15327-7cgh-631d-0ec7-d79d209d15c8"",""hostnames"":[""nvctvcinkc""],""os"":""Windows, 10.0.19042.1889"",""last_updated_time"":""2023-06-09T23:53:59.198707349Z"",""additional_attributes"":{""trust_type"":""ServerAd""},""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10""}},{""source"":""microsoft-ad"",""id"":""S-1-5-21-582935482-1975382284-823532881-499844"",""config_id"":""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""version"":""2022-08-27T15:50:22.301068063Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:34.496529037Z"",""first_observed_timestamp"":""2022-08-29T13:00:13.142845863Z"",""last_activity_timestamp"":""2023-06-05T21:40:41.239235237Z"",""asset_type"":""device"",""attributes"":{""id"":""S-1-5-21-582935482-1975382284-823532881-499844"",""hostnames"":[""nvctvcinkc""],""fqdn"":""nvctvcinkc.bluth.co"",""os"":""Windows 10 Enterprise"",""distinguished_name"":""cn=nvctvcinkc,ou=eqorwvgtu uaf,ou=bluth eqorwvgtu,dc=bluth-eq,dc=com"",""last_updated_time"":""2023-06-05T21:40:41.239235237Z"",""additional_attributes"":{""groups"":[""FNR EjtqogHnciu"",""Ncrvqru UAF""]},""active_directory_domain"":""bluth.co"",""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise""}},{""source"":""malwarebytes-nebula"",""id"":""18d9hhg1-52f5-679c-d891-6865f986ee59"",""config_id"":""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"",""version"":""2022-09-29T09:09:07.647838819Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:18.945864100Z"",""first_observed_timestamp"":""2022-08-29T12:59:46.479773580Z"",""last_activity_timestamp"":""2023-06-04T11:06:14.610728100Z"",""asset_type"":""device"",""attributes"":{""id"":""18d9hhg1-52f5-679c-d891-6865f986ee59"",""hostnames"":[""nvctvcinkc""],""fqdn"":""nvctvcinkc.bluth.co"",""os"":""Microsoft Windows 10 Enterprise"",""ips"":[""192.168.118.30""],""mac_addresses"":[""D8:F8:83:80:16:92""],""associated_users"":[{""username"":""joana.casper""}],""active_directory_domain"":""bluth.co"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""192.168.118.30""],""mac_manufacturers"":[""Intel Corporate""],""associated_usernames"":[""joana.casper""]}},{""source"":""illumio-core"",""id"":""2h10g6d3-707f-60g9-19d8-471c3ge8h9he"",""config_id"":""9416b1ae-5057-4a72-b4af-559532e789a4"",""version"":""2022-10-07T14:50:29.717858932Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:49:57.023458799Z"",""first_observed_timestamp"":""2022-08-29T13:00:01.693862290Z"",""last_activity_timestamp"":""2023-06-12T16:46:56.494458799Z"",""asset_type"":""device"",""attributes"":{""id"":""2h10g6d3-707f-60g9-19d8-471c3ge8h9he"",""hostnames"":[""nvctvcinkc""],""os"":""Windows 10 Enterprise"",""ips"":[""192.168.118.30""],""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""192.168.118.30""]}},{""source"":""crowdstrike"",""id"":""2f7786f618h364h5d68780gfgg498c86"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2022-10-17T15:07:23.533170546Z"",""type"":""device"",""agent_version"":""6.42.15610.0"",""last_observed_timestamp"":""2023-06-12T16:50:41.937381998Z"",""first_observed_timestamp"":""2022-08-29T12:59:40.214330987Z"",""last_activity_timestamp"":""2023-06-12T16:07:51.937381998Z"",""asset_type"":""device"",""attributes"":{""id"":""2f7786f618h364h5d68780gfgg498c86"",""hostnames"":[""nvctvcinkc""],""os"":""Windows 10"",""ips"":[""14.203.166.248"",""192.168.118.30""],""mac_addresses"":[""D8:F8:83:80:16:92""],""additional_attributes"":{""crowdstrike_agent_version"":""6.42.15610.0"",""status"":""normal""},""active_directory_domain"":""bluth.co"",""serial_number"":""88383862278-02"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""6.42.15610.0"",""os_platform"":""Windows"",""os_release"":""Windows 10"",""internal_ips"":[""192.168.118.30""],""external_ips"":[""14.203.166.248""],""mac_manufacturers"":[""Intel Corporate""],""geo_ip"":{""associated_ip"":""14.203.166.248"",""city"":""Perth"",""country"":""Australia"",""locality"":""Western Australia"",""region"":""Oceania"",""latitude"":-31.9474,""longitude"":115.8648}}},{""source"":""automox"",""id"":""201893848"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-10-17T15:23:50.882591955Z"",""type"":""device"",""agent_version"":""1.0-40"",""last_observed_timestamp"":""2023-06-12T16:50:25.012172612Z"",""first_observed_timestamp"":""2022-08-29T13:00:06.635136545Z"",""last_activity_timestamp"":""2023-06-12T16:24:19.012172612Z"",""asset_type"":""device"",""attributes"":{""id"":""201893848"",""hostnames"":[""nvctvcinkc""],""fqdn"":""nvctvcinkc.bluth.co"",""os"":""Windows 10 Enterprise 10.0.19042"",""ips"":[""114.131.190.60"",""10.20.43.114""],""mac_addresses"":[""D8:F8:83:80:16:92"",""D8:F8:83:80:16:96"",""F0:1D:BC:9B:AB:D1"",""02:FF:00:5E:48:02""],""associated_users"":[{""username"":""joana.casper""},{""username"":""joana.casper""}],""additional_attributes"":{""agent_version"":""1.0-40""},""serial_number"":""88383862278-02"",""controls"":[""configuration_management""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""1.0-40"",""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.20.43.114""],""external_ips"":[""114.131.190.60""],""mac_manufacturers"":[""Intel Corporate"",""Microsoft Corporation""],""associated_usernames"":[""joana.casper""],""geo_ip"":{""associated_ip"":""114.131.190.60"",""city"":null,""country"":""Thailand"",""locality"":null,""region"":""Asia"",""latitude"":13.7442,""longitude"":100.4608}}},{""source"":""lansweeper"",""id"":""bluth\\nvctvcinkc\\3"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-11-02T10:51:28.981067773Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:51.123381599Z"",""first_observed_timestamp"":""2022-09-01T17:40:27.724669592Z"",""last_activity_timestamp"":""2023-06-12T09:51:36.067464099Z"",""asset_type"":""device"",""attributes"":{""id"":""bluth\\nvctvcinkc\\3"",""hostnames"":[""nvctvcinkc""],""fqdn"":""nvctvcinkc.bluth.co"",""os"":""Microsoft Windows 10 Enterprise"",""ips"":[""10.41.62.19"",""10.20.43.114""],""mac_addresses"":[""D8:F8:83:80:16:92""],""owner"":{""id"":""nvctvcinkc""},""last_updated_time"":""2023-06-12T09:51:36.067464099Z"",""additional_attributes"":{""build_number"":""1889"",""service_pack"":0,""version"":""20H2"",""system_sku"":""Surface_Pro_7+_1960"",""model"":""Surface Pro 7+"",""manufacturer"":""Microsoft Corporation""},""serial_number"":""88383862278-02"",""network_location"":""OnPrem"",""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.41.62.19"",""10.20.43.114""],""mac_manufacturers"":[""Intel Corporate""]}}]","[""automox"",""azure-ad"",""crowdstrike"",""illumio-core"",""lansweeper"",""malwarebytes-nebula"",""microsoft-ad""]","[{""name"":""afasf"",""value"":[]},{""name"":""Country"",""value"":[""Australia""]}]",activity,"2023-06-12T16:52:30.095536125Z","2022-11-02T10:51:28.981067773Z",device,"bluth\nvctvcinkc\3",lansweeper,"346446df-cbc4-442c-aed4-94599e060a0e",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"3/22/2023, 9:51:09.491 PM",,,"[""809fb871-3ea2-4a4f-9eb5-13951894718d""]",,,,,"d942a7c0-b1bd-83ef-bf43-c0f0461fd506","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:09.491 PM","3/22/2023, 9:51:09.491 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[{""source"":""automox"",""id"":""20762936"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-07-11T07:57:04.882591955Z"",""type"":""device""}]","[""automox""]","[]",activity,"2023-03-22T21:51:09.491927171Z","2022-05-23T21:49:57.411577063Z",device,"S-1-5-21-582935482-1975382284-823532881-239234","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:50:47.335 PM",,,"[""3184e5f9-309d-49c9-b471-ea7dfa192e05""]",,,,,"d95e2c01-2931-e966-f1d0-ae4017b478e3","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:50.342 PM","6/12/2023, 4:50:10.667 PM","2023-05-25T14:45:32.198707349Z",device,"[""sdm_boespjegpsxpsl_0/4/3132_7:64 qn"",""sdmboespjegpsxpsl043132764-qn""]",,"AndroidForWork, 9.0",,,,samsung,"SM-G950U",,,"[""directory_service""]",,"sdm_boespjegpsxpsl_0/4/3132_7:64 qn",Android,Unknown,,,,,,,,,,,"[{""source"":""azure-ad"",""id"":""e97b3274-g8ed-2476-9f36-d78982g2g2gc"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-16T08:55:39.205455202Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:10.667404371Z"",""first_observed_timestamp"":""2022-08-29T12:59:50.342049152Z"",""last_activity_timestamp"":""2023-05-25T14:45:32.198707349Z"",""asset_type"":""device"",""attributes"":{""id"":""e97b3274-g8ed-2476-9f36-d78982g2g2gc"",""hostnames"":[""sdm_boespjegpsxpsl_0/4/3132_7:64 qn"",""sdmboespjegpsxpsl043132764-qn""],""os"":""AndroidForWork, 9.0"",""last_updated_time"":""2023-05-25T14:45:32.198707349Z"",""additional_attributes"":{""trust_type"":""Workplace"",""model"":""SM-G950U"",""manufacturer"":""samsung""},""controls"":[""directory_service""],""os_platform"":""Android"",""os_release"":""Unknown""}}]","[""azure-ad""]","[]",activity,"2023-06-12T16:50:47.335001245Z","2022-08-16T08:55:39.205455202Z",device,"e97b3274-g8ed-2476-9f36-d78982g2g2gc","azure-ad","3184e5f9-309d-49c9-b471-ea7dfa192e05",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:21.630 PM",,California,"[""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d"",""9416b1ae-5057-4a72-b4af-559532e789a4"",""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630""]",OnPrem,,,,"d9921bbd-69cb-6c75-d9e1-7e43b3d87685","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:40.214 PM","6/12/2023, 4:50:51.123 PM","2023-06-12T16:48:11.510458799Z",device,"[""bdvsujt""]","bdvsujt.bluth.co","Windows 10 Enterprise 10.0.19042","[""10.10.22.60"",""10.42.21.176"",""192.168.17.147"",""2603:7000:4401:a274:101:101:101:afae"",""2603:7000:4401:a274:3a0c:c80f:cd9a:52f8"",""2603:7000:4401:a274:aed5:36d3:b645:ebfe"",""64.124.210.133""]","[""02:FF:00:B7:5A:B4"",""38:00:25:71:78:82"",""38:00:25:71:78:86"",""98:FA:9B:06:13:60""]","cn=bdvsujt,ou=dpnqvufst oz,ou=bluth dpnqvufst,dc=bluth-dp,dc=com",Lenovo,"ThinkPad X1 Carbon 6th","bluth.co","QG2QQ6M4-01","[""configuration_management"",""directory_service"",""endpoint_security""]",EnterpriseEndpoint,bdvsujt,Windows,"Windows 10 Enterprise","[""10.10.22.60"",""10.42.21.176"",""192.168.17.147""]","[""2603:7000:4401:a274:101:101:101:afae"",""2603:7000:4401:a274:3a0c:c80f:cd9a:52f8"",""2603:7000:4401:a274:aed5:36d3:b645:ebfe"",""64.124.210.133""]","[""Intel Corporate"",""LCFC(HeFei) Electronics Technology co., ltd""]","[""clay.balistreri""]","64.124.210.133","Redwood City","United States","North America","37.4845","-122.2347","[{""source"":""azure-ad"",""id"":""6913g973-d3d8-51d4-c9df-4794f14186d3"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-21T18:25:28.205455202Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:10.667404371Z"",""first_observed_timestamp"":""2022-08-29T12:59:50.342049152Z"",""last_activity_timestamp"":""2023-05-31T00:15:21.198707349Z"",""asset_type"":""device"",""attributes"":{""id"":""6913g973-d3d8-51d4-c9df-4794f14186d3"",""hostnames"":[""bdvsujt""],""os"":""Windows, 10.0.19042.1889"",""last_updated_time"":""2023-05-31T00:15:21.198707349Z"",""additional_attributes"":{""trust_type"":""ServerAd""},""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10""}},{""source"":""microsoft-ad"",""id"":""S-1-5-21-371824371-9864271173-612421770-956323"",""config_id"":""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""version"":""2022-08-26T07:10:04.705499063Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:34.496529037Z"",""first_observed_timestamp"":""2022-08-29T13:00:13.142845863Z"",""last_activity_timestamp"":""2023-06-04T13:00:23.643666237Z"",""asset_type"":""device"",""attributes"":{""id"":""S-1-5-21-371824371-9864271173-612421770-956323"",""hostnames"":[""bdvsujt""],""fqdn"":""bdvsujt.bluth.co"",""os"":""Windows 10 Enterprise"",""distinguished_name"":""cn=bdvsujt,ou=dpnqvufst oz,ou=bluth dpnqvufst,dc=bluth-dp,dc=com"",""last_updated_time"":""2023-06-04T13:00:23.643666237Z"",""additional_attributes"":{""groups"":[""Mbqupqt OZ""]},""active_directory_domain"":""bluth.co"",""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise""}},{""source"":""malwarebytes-nebula"",""id"":""eb06e947-4fd2-59e8-cdfb-090d7cc167cf"",""config_id"":""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"",""version"":""2022-10-07T00:32:00.214869819Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:18.945864100Z"",""first_observed_timestamp"":""2022-08-29T12:59:46.479773580Z"",""last_activity_timestamp"":""2023-06-12T02:29:07.177759100Z"",""asset_type"":""device"",""attributes"":{""id"":""eb06e947-4fd2-59e8-cdfb-090d7cc167cf"",""hostnames"":[""bdvsujt""],""fqdn"":""bdvsujt.bluth.co"",""os"":""Microsoft Windows 10 Enterprise"",""ips"":[""10.10.22.60""],""mac_addresses"":[""98:FA:9B:06:13:60""],""associated_users"":[{""username"":""clay.balistreri""}],""active_directory_domain"":""bluth.co"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.10.22.60""],""mac_manufacturers"":[""LCFC(HeFei) Electronics Technology co., ltd""],""associated_usernames"":[""clay.balistreri""]}},{""source"":""illumio-core"",""id"":""6b90cbb6-f53e-7166-01c1-1211dc0d5g2d"",""config_id"":""9416b1ae-5057-4a72-b4af-559532e789a4"",""version"":""2022-10-07T14:51:44.733858932Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:49:57.023458799Z"",""first_observed_timestamp"":""2022-08-29T13:00:01.693862290Z"",""last_activity_timestamp"":""2023-06-12T16:48:11.510458799Z"",""asset_type"":""device"",""attributes"":{""id"":""6b90cbb6-f53e-7166-01c1-1211dc0d5g2d"",""hostnames"":[""bdvsujt""],""os"":""Windows 10 Enterprise"",""ips"":[""10.10.22.60""],""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.10.22.60""]}},{""source"":""automox"",""id"":""10362625"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2023-03-28T17:29:30.094469075Z"",""type"":""device"",""agent_version"":""1.0-40"",""last_observed_timestamp"":""2023-06-12T16:50:25.012172612Z"",""first_observed_timestamp"":""2022-08-29T13:00:06.635136545Z"",""last_activity_timestamp"":""2023-06-12T14:29:23.012172612Z"",""asset_type"":""device"",""attributes"":{""id"":""10362625"",""hostnames"":[""bdvsujt""],""fqdn"":""bdvsujt.bluth.co"",""os"":""Windows 10 Enterprise 10.0.19042"",""ips"":[""64.124.210.133"",""10.10.22.60""],""mac_addresses"":[""02:FF:00:B7:5A:B4"",""98:FA:9B:06:13:60"",""38:00:25:71:78:82"",""38:00:25:71:78:86""],""associated_users"":[{""username"":""clay.balistreri""},{""username"":""clay.balistreri""}],""additional_attributes"":{""agent_version"":""1.0-40""},""serial_number"":""QG2QQ6M4-01"",""controls"":[""configuration_management""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""1.0-40"",""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.10.22.60""],""external_ips"":[""64.124.210.133""],""mac_manufacturers"":[""LCFC(HeFei) Electronics Technology co., ltd"",""Intel Corporate""],""associated_usernames"":[""clay.balistreri""],""geo_ip"":{""associated_ip"":""64.124.210.133"",""city"":""Redwood City"",""country"":""United States"",""locality"":""California"",""region"":""North America"",""latitude"":37.4845,""longitude"":-122.2347}}},{""source"":""crowdstrike"",""id"":""28g3d601e3895bge6g8d6b6cfc6ef52e"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2023-03-28T19:27:06.942713623Z"",""type"":""device"",""agent_version"":""6.42.15610.0"",""last_observed_timestamp"":""2023-06-12T16:50:41.937381998Z"",""first_observed_timestamp"":""2022-08-29T12:59:40.214330987Z"",""last_activity_timestamp"":""2023-06-12T16:26:50.937381998Z"",""asset_type"":""device"",""attributes"":{""id"":""28g3d601e3895bge6g8d6b6cfc6ef52e"",""hostnames"":[""bdvsujt""],""os"":""Windows 10"",""ips"":[""64.124.210.133"",""192.168.17.147""],""mac_addresses"":[""38:00:25:71:78:82""],""additional_attributes"":{""status"":""normal"",""crowdstrike_agent_version"":""6.42.15610.0""},""active_directory_domain"":""bluth.co"",""serial_number"":""QG2QQ6M4-01"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""6.42.15610.0"",""os_platform"":""Windows"",""os_release"":""Windows 10"",""internal_ips"":[""192.168.17.147""],""external_ips"":[""64.124.210.133""],""mac_manufacturers"":[""Intel Corporate""],""geo_ip"":{""associated_ip"":""64.124.210.133"",""city"":""Redwood City"",""country"":""United States"",""locality"":""California"",""region"":""North America"",""latitude"":37.4845,""longitude"":-122.2347}}},{""source"":""lansweeper"",""id"":""bluth\\bdvsujt\\2"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2023-04-25T11:50:09.625892184Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:51.123381599Z"",""first_observed_timestamp"":""2022-09-01T17:40:27.724669592Z"",""last_activity_timestamp"":""2023-06-12T09:51:03.801464099Z"",""asset_type"":""device"",""attributes"":{""id"":""bluth\\bdvsujt\\2"",""hostnames"":[""bdvsujt""],""fqdn"":""bdvsujt.bluth.co"",""os"":""Microsoft Windows 10 Enterprise"",""ips"":[""10.42.21.176"",""192.168.17.147"",""2603:7000:4401:a274:3a0c:c80f:cd9a:52f8"",""2603:7000:4401:a274:aed5:36d3:b645:ebfe"",""2603:7000:4401:a274:101:101:101:afae""],""mac_addresses"":[""02:FF:00:B7:5A:B4""],""owner"":{""id"":""bdvsujt""},""last_updated_time"":""2023-06-12T09:51:03.801464099Z"",""additional_attributes"":{""build_number"":""1889"",""manufacturer"":""Lenovo"",""model"":""ThinkPad X1 Carbon 6th"",""system_sku"":""LENOVO_MT_20KH_BU_Think_FM_ThinkPad X1 Carbon 6th"",""version"":""20H2"",""service_pack"":0},""serial_number"":""QG2QQ6M4-01"",""network_location"":""OnPrem"",""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.42.21.176"",""192.168.17.147""],""external_ips"":[""2603:7000:4401:a274:3a0c:c80f:cd9a:52f8"",""2603:7000:4401:a274:aed5:36d3:b645:ebfe"",""2603:7000:4401:a274:101:101:101:afae""],""geo_ip"":{""associated_ip"":""2603:7000:4401:a274:101:101:101:afae"",""city"":""New York"",""country"":""United States"",""locality"":""New York"",""region"":""North America"",""latitude"":40.7263,""longitude"":-73.9818}}}]","[""automox"",""azure-ad"",""crowdstrike"",""illumio-core"",""lansweeper"",""malwarebytes-nebula"",""microsoft-ad""]","[{""name"":""Country"",""value"":[""USA""]},{""name"":"" feafewsfew"",""value"":[]},{""name"":""afasf"",""value"":[]}]",activity,"2023-06-12T16:52:21.630227975Z","2023-04-25T11:50:09.625892184Z",device,"bluth\bdvsujt\2",lansweeper,"346446df-cbc4-442c-aed4-94599e060a0e",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"3/22/2023, 9:50:59.312 PM",,,"[""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d"",""9416b1ae-5057-4a72-b4af-559532e789a4"",""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630""]",,,,,"d994c916-c625-a3ee-a52c-6d3d377c979a","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:50:59.312 PM","3/22/2023, 9:50:59.312 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[{""source"":""azure-ad"",""id"":""fb73506g-g30c-5316-072c-b4f5b86447cb"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-20T17:40:36.205455202Z"",""type"":""device""},{""source"":""malwarebytes-nebula"",""id"":""439g6d7e-f4b9-5e70-b1c1-693bge3db833"",""config_id"":""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"",""version"":""2022-10-06T15:13:24.967085819Z"",""type"":""device""},{""source"":""illumio-core"",""id"":""1fb86e9g-47c0-5bg7-1051-fd05c2c9gffe"",""config_id"":""9416b1ae-5057-4a72-b4af-559532e789a4"",""version"":""2022-10-07T14:53:24.073858932Z"",""type"":""device""},{""source"":""automox"",""id"":""101109507"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-10-17T11:46:48.882591955Z"",""type"":""device""},{""source"":""crowdstrike"",""id"":""b967e6c995b4512f9f6f3767237680gd"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2022-10-17T15:17:46.533170546Z"",""type"":""device""},{""source"":""lansweeper"",""id"":""bluth\\zdibo\\2"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-11-02T10:51:36.505067773Z"",""type"":""device""}]","[""automox"",""azure-ad"",""crowdstrike"",""illumio-core"",""lansweeper"",""malwarebytes-nebula""]","[]",activity,"2023-03-22T21:50:59.312712039Z","2022-08-24T19:06:01.663440063Z",device,"S-1-5-21-371824371-9864271173-612421770-728453","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:50:52.059 PM",,,"[""3184e5f9-309d-49c9-b471-ea7dfa192e05""]",,,,,"d9a92bdd-a244-d516-c0a4-ce69dde5fa5f","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:50.342 PM","6/12/2023, 4:50:10.667 PM","2023-06-09T02:48:19.198707349Z",device,"[""mgpv'u krjqpg"",""mgpvu-krjqpg""]",,"IPhone, 15.6",,,,Apple,"iPhone XS Max",,,"[""directory_service""]",EnterpriseEndpoint,"mgpv'u krjqpg",iOS,"iOS 15",,,,,,,,,,,"[{""source"":""azure-ad"",""id"":""02ecdg23-56g8-5347-6522-52c853d0gd4c"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-22T03:52:25.205455202Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:10.667404371Z"",""first_observed_timestamp"":""2022-08-29T12:59:50.342049152Z"",""last_activity_timestamp"":""2023-06-09T02:48:19.198707349Z"",""asset_type"":""device"",""attributes"":{""id"":""02ecdg23-56g8-5347-6522-52c853d0gd4c"",""hostnames"":[""mgpv'u krjqpg"",""mgpvu-krjqpg""],""os"":""IPhone, 15.6"",""last_updated_time"":""2023-06-09T02:48:19.198707349Z"",""additional_attributes"":{""manufacturer"":""Apple"",""model"":""iPhone XS Max""},""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""iOS"",""os_release"":""iOS 15""}}]","[""azure-ad""]","[]",activity,"2023-06-12T16:50:52.059431814Z","2022-08-22T03:52:25.205455202Z",device,"02ecdg23-56g8-5347-6522-52c853d0gd4c","azure-ad","3184e5f9-309d-49c9-b471-ea7dfa192e05",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:28.988 PM",,"New York","[""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d"",""9416b1ae-5057-4a72-b4af-559532e789a4"",""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630""]",OnPrem,,,,"d9b35f95-a5c0-6699-82a3-c006b7a48e88","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:40.214 PM","6/12/2023, 4:50:51.123 PM","2023-06-12T16:48:04.937381998Z",device,"[""evjqoruqp""]","evjqoruqp.bluth.co","Windows 10 Enterprise 10.0.19042","[""10.41.52.37"",""10.41.53.112"",""192.168.33.6"",""24.187.1.51""]","[""02:FF:00:40:8E:56"",""5C:FF:35:E1:45:52"",""98:2C:BC:50:B3:00"",""98:2C:BC:50:B3:FC"",""E8:6A:64:E3:6E:7F""]","cn=evjqoruqp,ou=eqorwvgtu pa,ou=bluth eqorwvgtu,dc=bluth-eq,dc=com",Lenovo,"ThinkPad X1 Carbon 6th","bluth.co","RH3PFPL3-02","[""configuration_management"",""directory_service"",""endpoint_security""]",EnterpriseEndpoint,evjqoruqp,Windows,"Windows 10 Enterprise","[""10.41.52.37"",""10.41.53.112"",""192.168.33.6""]","[""24.187.1.51""]","[""Intel Corporate"",""LCFC(HeFei) Electronics Technology co., ltd"",""Wistron Corporation""]","[""philip.kuphal""]","24.187.1.51",Riverhead,"United States","North America","40.9271","-72.6509","[{""source"":""azure-ad"",""id"":""638de984-f62g-6997-de38-77e5g74eg7f1"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-22T11:50:31.205455202Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:10.667404371Z"",""first_observed_timestamp"":""2022-08-29T12:59:50.342049152Z"",""last_activity_timestamp"":""2023-05-31T17:40:24.198707349Z"",""asset_type"":""device"",""attributes"":{""id"":""638de984-f62g-6997-de38-77e5g74eg7f1"",""hostnames"":[""evjqoruqp""],""os"":""Windows, 10.0.19042.1889"",""last_updated_time"":""2023-05-31T17:40:24.198707349Z"",""additional_attributes"":{""trust_type"":""ServerAd""},""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10""}},{""source"":""microsoft-ad"",""id"":""S-1-5-21-582935482-1975382284-823532881-990034"",""config_id"":""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""version"":""2022-08-23T10:44:14.046910063Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:34.496529037Z"",""first_observed_timestamp"":""2022-08-29T13:00:13.142845863Z"",""last_activity_timestamp"":""2023-06-11T17:42:24.175938237Z"",""asset_type"":""device"",""attributes"":{""id"":""S-1-5-21-582935482-1975382284-823532881-990034"",""hostnames"":[""evjqoruqp""],""fqdn"":""evjqoruqp.bluth.co"",""os"":""Windows 10 Enterprise"",""distinguished_name"":""cn=evjqoruqp,ou=eqorwvgtu pa,ou=bluth eqorwvgtu,dc=bluth-eq,dc=com"",""last_updated_time"":""2023-06-11T17:42:24.175938237Z"",""additional_attributes"":{""groups"":[""Ncrvqru PA""]},""active_directory_domain"":""bluth.co"",""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise""}},{""source"":""illumio-core"",""id"":""325h390h-19gc-63ch-cf28-800gec0ccdf7"",""config_id"":""9416b1ae-5057-4a72-b4af-559532e789a4"",""version"":""2022-10-05T13:03:11.416858932Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:49:57.023458799Z"",""first_observed_timestamp"":""2022-08-29T13:00:01.693862290Z"",""last_activity_timestamp"":""2023-06-10T14:59:38.193458799Z"",""asset_type"":""device"",""attributes"":{""id"":""325h390h-19gc-63ch-cf28-800gec0ccdf7"",""hostnames"":[""evjqoruqp""],""os"":""Windows 10 Enterprise"",""ips"":[""192.168.33.6""],""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""192.168.33.6""]}},{""source"":""malwarebytes-nebula"",""id"":""1e81462d-f8c7-67g1-dc7h-9eh765072h95"",""config_id"":""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"",""version"":""2022-10-07T13:13:58.816514819Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:18.945864100Z"",""first_observed_timestamp"":""2022-08-29T12:59:46.479773580Z"",""last_activity_timestamp"":""2023-06-12T15:11:05.779404100Z"",""asset_type"":""device"",""attributes"":{""id"":""1e81462d-f8c7-67g1-dc7h-9eh765072h95"",""hostnames"":[""evjqoruqp""],""fqdn"":""evjqoruqp.bluth.co"",""os"":""Microsoft Windows 10 Enterprise"",""ips"":[""192.168.33.6""],""mac_addresses"":[""98:2C:BC:50:B3:FC""],""associated_users"":[{""username"":""philip.kuphal""}],""active_directory_domain"":""bluth.co"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""192.168.33.6""],""mac_manufacturers"":[""Intel Corporate""],""associated_usernames"":[""philip.kuphal""]}},{""source"":""lansweeper"",""id"":""bluth\\evjqoruqp\\3"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-11-02T10:50:56.715067773Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:51.123381599Z"",""first_observed_timestamp"":""2022-09-01T17:40:27.724669592Z"",""last_activity_timestamp"":""2023-06-12T09:51:03.801464099Z"",""asset_type"":""device"",""attributes"":{""id"":""bluth\\evjqoruqp\\3"",""hostnames"":[""evjqoruqp""],""fqdn"":""evjqoruqp.bluth.co"",""os"":""Microsoft Windows 10 Enterprise"",""ips"":[""10.41.52.37"",""192.168.33.6"",""10.41.53.112""],""mac_addresses"":[""98:2C:BC:50:B3:FC""],""owner"":{""id"":""evjqoruqp""},""last_updated_time"":""2023-06-12T09:51:03.801464099Z"",""additional_attributes"":{""service_pack"":0,""model"":""ThinkPad X1 Carbon 6th"",""manufacturer"":""Lenovo"",""system_sku"":""LENOVO_MT_20KH_BU_Think_FM_ThinkPad X1 Carbon 6th"",""build_number"":""0""},""serial_number"":""RH3PFPL3-02"",""network_location"":""OnPrem"",""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.41.52.37"",""192.168.33.6"",""10.41.53.112""],""mac_manufacturers"":[""Intel Corporate""]}},{""source"":""automox"",""id"":""20693704"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2023-03-28T17:12:03.094469075Z"",""type"":""device"",""agent_version"":""1.0-40"",""last_observed_timestamp"":""2023-06-12T16:50:25.012172612Z"",""first_observed_timestamp"":""2022-08-29T13:00:06.635136545Z"",""last_activity_timestamp"":""2023-06-12T14:11:56.012172612Z"",""asset_type"":""device"",""attributes"":{""id"":""20693704"",""hostnames"":[""evjqoruqp""],""fqdn"":""evjqoruqp.bluth.co"",""os"":""Windows 10 Enterprise 10.0.19042"",""ips"":[""24.187.1.51"",""192.168.33.6""],""mac_addresses"":[""E8:6A:64:E3:6E:7F"",""98:2C:BC:50:B3:FC"",""02:FF:00:40:8E:56"",""98:2C:BC:50:B3:00"",""5C:FF:35:E1:45:52""],""associated_users"":[{""username"":""philip.kuphal""},{""username"":""philip.kuphal""}],""additional_attributes"":{""agent_version"":""1.0-40""},""serial_number"":""RH3PFPL3-02"",""controls"":[""configuration_management""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""1.0-40"",""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""192.168.33.6""],""external_ips"":[""24.187.1.51""],""mac_manufacturers"":[""Intel Corporate"",""Wistron Corporation"",""LCFC(HeFei) Electronics Technology co., ltd""],""associated_usernames"":[""philip.kuphal""],""geo_ip"":{""associated_ip"":""24.187.1.51"",""city"":""Riverhead"",""country"":""United States"",""locality"":""New York"",""region"":""North America"",""latitude"":40.9271,""longitude"":-72.6509}}},{""source"":""crowdstrike"",""id"":""38d45f3g17826g5164168h23dd5090d3"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2023-03-28T19:48:20.942713623Z"",""type"":""device"",""agent_version"":""6.42.15610.0"",""last_observed_timestamp"":""2023-06-12T16:50:41.937381998Z"",""first_observed_timestamp"":""2022-08-29T12:59:40.214330987Z"",""last_activity_timestamp"":""2023-06-12T16:48:04.937381998Z"",""asset_type"":""device"",""attributes"":{""id"":""38d45f3g17826g5164168h23dd5090d3"",""hostnames"":[""evjqoruqp""],""os"":""Windows 10"",""ips"":[""24.187.1.51"",""10.41.52.37""],""mac_addresses"":[""98:2C:BC:50:B3:FC""],""additional_attributes"":{""status"":""normal"",""crowdstrike_agent_version"":""6.42.15610.0""},""active_directory_domain"":""bluth.co"",""serial_number"":""RH3PFPL3-02"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""6.42.15610.0"",""os_platform"":""Windows"",""os_release"":""Windows 10"",""internal_ips"":[""10.41.52.37""],""external_ips"":[""24.187.1.51""],""mac_manufacturers"":[""Intel Corporate""],""geo_ip"":{""associated_ip"":""24.187.1.51"",""city"":""Riverhead"",""country"":""United States"",""locality"":""New York"",""region"":""North America"",""latitude"":40.9271,""longitude"":-72.6509}}}]","[""automox"",""azure-ad"",""crowdstrike"",""illumio-core"",""lansweeper"",""malwarebytes-nebula"",""microsoft-ad""]","[{""name"":""afasf"",""value"":[]},{""name"":""Country"",""value"":[""USA""]},{""name"":"" feafewsfew"",""value"":[]}]",activity,"2023-06-12T16:52:28.988157593Z","2022-11-02T10:50:56.715067773Z",device,"bluth\evjqoruqp\3",lansweeper,"346446df-cbc4-442c-aed4-94599e060a0e",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"3/22/2023, 9:51:00.804 PM",,,"[""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d""]",,,,,"d9b3f208-96cb-88a1-6288-78f9e9438e96","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:00.804 PM","3/22/2023, 9:51:00.804 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[{""source"":""azure-ad"",""id"":""e7ege649-6647-3466-b0f5-d23ed61620f5"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-25T03:00:28.205455202Z"",""type"":""device""},{""source"":""automox"",""id"":""10984357"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-10-17T05:39:19.882591955Z"",""type"":""device""},{""source"":""crowdstrike"",""id"":""df991c1e233959f1b6bdc881909ge190"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2022-10-17T15:37:44.533170546Z"",""type"":""device""},{""source"":""lansweeper"",""id"":""bluth\\hitunemnhnu\\2"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-11-02T10:51:28.981067773Z"",""type"":""device""}]","[""automox"",""azure-ad"",""crowdstrike"",""lansweeper""]","[]",activity,"2023-03-22T21:51:00.804571048Z","2022-08-22T23:52:47.828805063Z",device,"S-1-5-21-371824371-9864271173-612421770-234343","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:10.763 PM",,,"[""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""140f2692-342d-405e-b7df-c00a6fc27afe"",""809fb871-3ea2-4a4f-9eb5-13951894718d""]",,,,,"d9bbdd46-aed7-c8a6-cc6e-434aa69198f6","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:40.214 PM","6/12/2023, 4:50:41.937 PM","2023-06-12T16:31:35.937381998Z",device,"[""ijwmex""]","ijwmex.bluth.co","Windows Server 2012 R2 Standard 6.3.9600","[""10.7.33.6"",""212.120.226.83""]","[""2C:44:FD:9B:FD:4A"",""2C:44:FD:9B:FD:4E""]","cn=ijwmex,ou=wm ugtxgtu,ou=bluth ugtxgtu,dc=bluth-eq,dc=com",,,"bluth.co","EB462127N6-02","[""configuration_management"",""directory_service"",""endpoint_security""]",EnterpriseEndpoint,ijwmex,"Windows Server","Windows Server 2012 R2","[""10.7.33.6""]","[""212.120.226.83""]","[""Hewlett Packard""]","[""wilfredo.harber""]","212.120.226.83",Gibraltar,Gibraltar,Europe,"36.1334","-5.3497","[{""source"":""microsoft-ad"",""id"":""S-1-5-21-582935482-1975382284-823532881-93448"",""config_id"":""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""version"":""2022-08-21T08:18:02.119769063Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:34.496529037Z"",""first_observed_timestamp"":""2022-08-29T13:00:13.142845863Z"",""last_activity_timestamp"":""2023-06-09T14:45:10.546534237Z"",""asset_type"":""device"",""attributes"":{""id"":""S-1-5-21-582935482-1975382284-823532881-93448"",""hostnames"":[""ijwmex""],""fqdn"":""ijwmex.bluth.co"",""os"":""Windows Server 2012 R2 Standard"",""distinguished_name"":""cn=ijwmex,ou=wm ugtxgtu,ou=bluth ugtxgtu,dc=bluth-eq,dc=com"",""last_updated_time"":""2023-06-09T14:45:10.546534237Z"",""additional_attributes"":{""groups"":[""BgtqPgvyqtmuRtqvgevgfCuugvu""]},""active_directory_domain"":""bluth.co"",""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows Server"",""os_release"":""Windows Server 2012 R2""}},{""source"":""automox"",""id"":""20312138"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-10-16T20:41:19.882591955Z"",""type"":""device"",""agent_version"":""1.0-40"",""last_observed_timestamp"":""2023-06-12T16:50:25.012172612Z"",""first_observed_timestamp"":""2022-08-29T13:00:06.635136545Z"",""last_activity_timestamp"":""2023-06-11T21:41:48.012172612Z"",""asset_type"":""device"",""attributes"":{""id"":""20312138"",""hostnames"":[""ijwmex""],""fqdn"":""ijwmex.bluth.co"",""os"":""Windows Server 2012 R2 Standard 6.3.9600"",""ips"":[""212.120.226.83"",""10.7.33.6""],""mac_addresses"":[""2C:44:FD:9B:FD:4A"",""2C:44:FD:9B:FD:4E""],""associated_users"":[{""username"":""wilfredo.harber""},{""username"":""wilfredo.harber""}],""additional_attributes"":{""agent_version"":""1.0-40""},""serial_number"":""EB462127N6-02"",""controls"":[""configuration_management""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""1.0-40"",""os_platform"":""Windows Server"",""os_release"":""Windows Server 2012 R2"",""internal_ips"":[""10.7.33.6""],""external_ips"":[""212.120.226.83""],""mac_manufacturers"":[""Hewlett Packard""],""associated_usernames"":[""wilfredo.harber""],""geo_ip"":{""associated_ip"":""212.120.226.83"",""city"":""Gibraltar"",""country"":""Gibraltar"",""locality"":null,""region"":""Europe"",""latitude"":36.1334,""longitude"":-5.3497}}},{""source"":""crowdstrike"",""id"":""032hgge1g5406f370767d4505611d03e"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2022-10-17T15:31:07.533170546Z"",""type"":""device"",""agent_version"":""6.42.15610.0"",""last_observed_timestamp"":""2023-06-12T16:50:41.937381998Z"",""first_observed_timestamp"":""2022-08-29T12:59:40.214330987Z"",""last_activity_timestamp"":""2023-06-12T16:31:35.937381998Z"",""asset_type"":""device"",""attributes"":{""id"":""032hgge1g5406f370767d4505611d03e"",""hostnames"":[""ijwmex""],""os"":""Windows Server 2012 R2"",""ips"":[""212.120.226.83"",""10.7.33.6""],""mac_addresses"":[""2C:44:FD:9B:FD:4A""],""additional_attributes"":{""crowdstrike_agent_version"":""6.42.15610.0"",""status"":""normal""},""active_directory_domain"":""bluth.co"",""serial_number"":""EB462127N6-02"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""6.42.15610.0"",""os_platform"":""Windows Server"",""os_release"":""Windows Server 2012 R2"",""internal_ips"":[""10.7.33.6""],""external_ips"":[""212.120.226.83""],""mac_manufacturers"":[""Hewlett Packard""],""geo_ip"":{""associated_ip"":""212.120.226.83"",""city"":""Gibraltar"",""country"":""Gibraltar"",""locality"":null,""region"":""Europe"",""latitude"":36.1334,""longitude"":-5.3497}}}]","[""automox"",""crowdstrike"",""microsoft-ad""]","[{""name"":""afasf"",""value"":[]}]",activity,"2023-06-12T16:52:10.763950955Z","2022-10-17T15:31:07.533170546Z",device,032hgge1g5406f370767d4505611d03e,crowdstrike,"140f2692-342d-405e-b7df-c00a6fc27afe",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:24.046 PM",,Texas,"[""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d"",""9416b1ae-5057-4a72-b4af-559532e789a4"",""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630""]",OnPrem,,,,"d9bcb07e-19d1-8d94-7d3e-f8b767242816","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:40.214 PM","6/12/2023, 4:50:51.123 PM","2023-06-12T16:47:28.504458799Z",device,"[""ktibggfs""]","ktibggfs.bluth.co","Windows 10 Enterprise 10.0.19042","[""10.20.23.164"",""10.8.17.2"",""172.20.23.10"",""38.100.91.68""]","[""00:50:B6:45:C6:6B"",""00:FF:DE:43:27:48"",""02:FF:04:19:2D:6A"",""3C:18:A0:06:9F:23"",""62:45:B5:18:A3:7F"",""70:BC:10:7A:AF:D4"",""70:BC:10:7A:AF:D5""]","cn=ktibggfs,ou=dpnqvufst oz,ou=bluth dpnqvufst,dc=bluth-dp,dc=com","Microsoft Corporation","Surface Book 2","bluth.co","07151415785-01","[""configuration_management"",""directory_service"",""endpoint_security""]",EnterpriseEndpoint,ktibggfs,Windows,"Windows 10 Enterprise","[""10.20.23.164"",""10.8.17.2"",""172.20.23.10""]","[""38.100.91.68""]","[""GOOD WAY IND. CO., LTD."",""Luxshare Precision Industry Company Limited"",""Microsoft Corporation""]","[""oscar.borer"",""terrell.flatley""]","38.100.91.68",Hempstead,"United States","North America","30.092","-96.0649","[{""source"":""azure-ad"",""id"":""917g4g8g-9gb8-5646-bbg0-7c281e9g6f67"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-24T11:01:39.205455202Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:10.667404371Z"",""first_observed_timestamp"":""2022-08-29T12:59:50.342049152Z"",""last_activity_timestamp"":""2023-06-02T16:51:32.198707349Z"",""asset_type"":""device"",""attributes"":{""id"":""917g4g8g-9gb8-5646-bbg0-7c281e9g6f67"",""hostnames"":[""ktibggfs""],""os"":""Windows, 10.0.19042.1889"",""last_updated_time"":""2023-06-02T16:51:32.198707349Z"",""additional_attributes"":{""trust_type"":""ServerAd""},""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10""}},{""source"":""microsoft-ad"",""id"":""S-1-5-21-371824371-9864271173-612421770-357323"",""config_id"":""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""version"":""2022-08-28T07:04:27.326794063Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:34.496529037Z"",""first_observed_timestamp"":""2022-08-29T13:00:13.142845863Z"",""last_activity_timestamp"":""2023-06-06T12:54:46.264961237Z"",""asset_type"":""device"",""attributes"":{""id"":""S-1-5-21-371824371-9864271173-612421770-357323"",""hostnames"":[""ktibggfs""],""fqdn"":""ktibggfs.bluth.co"",""os"":""Windows 10 Enterprise"",""distinguished_name"":""cn=ktibggfs,ou=dpnqvufst oz,ou=bluth dpnqvufst,dc=bluth-dp,dc=com"",""last_updated_time"":""2023-06-06T12:54:46.264961237Z"",""additional_attributes"":{""groups"":[""AfspOfuxpsltNpojupsfeBttfut"",""PofEsjwf - Dpnqvufs""]},""active_directory_domain"":""bluth.co"",""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise""}},{""source"":""malwarebytes-nebula"",""id"":""b4g1beff-fe4d-58d5-b011-8426dc145gbg"",""config_id"":""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"",""version"":""2022-10-07T09:22:04.841985819Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:18.945864100Z"",""first_observed_timestamp"":""2022-08-29T12:59:46.479773580Z"",""last_activity_timestamp"":""2023-06-12T11:19:11.804875100Z"",""asset_type"":""device"",""attributes"":{""id"":""b4g1beff-fe4d-58d5-b011-8426dc145gbg"",""hostnames"":[""ktibggfs""],""fqdn"":""ktibggfs.bluth.co"",""os"":""Microsoft Windows 10 Enterprise"",""ips"":[""10.20.23.164""],""mac_addresses"":[""00:50:B6:45:C6:6B""],""associated_users"":[{""username"":""oscar.borer""}],""active_directory_domain"":""bluth.co"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.20.23.164""],""mac_manufacturers"":[""GOOD WAY IND. CO., LTD.""],""associated_usernames"":[""oscar.borer""]}},{""source"":""illumio-core"",""id"":""1bcdd7d6-798g-5d81-c795-e5g1ff4g9089"",""config_id"":""9416b1ae-5057-4a72-b4af-559532e789a4"",""version"":""2022-10-07T14:51:01.727858932Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:49:57.023458799Z"",""first_observed_timestamp"":""2022-08-29T13:00:01.693862290Z"",""last_activity_timestamp"":""2023-06-12T16:47:28.504458799Z"",""asset_type"":""device"",""attributes"":{""id"":""1bcdd7d6-798g-5d81-c795-e5g1ff4g9089"",""hostnames"":[""ktibggfs""],""os"":""Windows 10 Enterprise"",""ips"":[""10.20.23.164""],""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.20.23.164""]}},{""source"":""lansweeper"",""id"":""bluth\\ktibggfs\\2"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-11-01T21:05:04.611067773Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:51.123381599Z"",""first_observed_timestamp"":""2022-09-01T17:40:27.724669592Z"",""last_activity_timestamp"":""2023-06-11T20:05:11.697464099Z"",""asset_type"":""device"",""attributes"":{""id"":""bluth\\ktibggfs\\2"",""hostnames"":[""ktibggfs""],""fqdn"":""ktibggfs.bluth.co"",""os"":""Microsoft Windows 10 Enterprise"",""ips"":[""10.20.23.164""],""mac_addresses"":[""00:50:B6:45:C6:6B""],""owner"":{""id"":""ktibggfs""},""last_updated_time"":""2023-06-11T20:05:11.697464099Z"",""additional_attributes"":{""manufacturer"":""Microsoft Corporation"",""service_pack"":0,""system_sku"":""Surface_Book_1793"",""version"":""20H2"",""build_number"":""1889"",""model"":""Surface Book 2""},""serial_number"":""07151415785-01"",""network_location"":""OnPrem"",""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.20.23.164""],""mac_manufacturers"":[""GOOD WAY IND. CO., LTD.""]}},{""source"":""automox"",""id"":""10426286"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2023-05-15T15:09:41.397630608Z"",""type"":""device"",""agent_version"":""1.0-40"",""last_observed_timestamp"":""2023-06-12T16:50:25.012172612Z"",""first_observed_timestamp"":""2022-08-29T13:00:06.635136545Z"",""last_activity_timestamp"":""2023-06-12T12:09:43.012172612Z"",""asset_type"":""device"",""attributes"":{""id"":""10426286"",""hostnames"":[""ktibggfs""],""fqdn"":""ktibggfs.bluth.co"",""os"":""Windows 10 Enterprise 10.0.19042"",""ips"":[""38.100.91.68"",""172.20.23.10""],""mac_addresses"":[""02:FF:04:19:2D:6A"",""70:BC:10:7A:AF:D4"",""62:45:B5:18:A3:7F"",""70:BC:10:7A:AF:D5"",""00:FF:DE:43:27:48""],""associated_users"":[{""username"":""terrell.flatley""},{""username"":""terrell.flatley""}],""additional_attributes"":{""agent_version"":""1.0-40""},""serial_number"":""07151415785-01"",""controls"":[""configuration_management""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""1.0-40"",""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""172.20.23.10""],""external_ips"":[""38.100.91.68""],""mac_manufacturers"":[""Microsoft Corporation""],""associated_usernames"":[""terrell.flatley""],""geo_ip"":{""associated_ip"":""38.100.91.68"",""city"":""Hempstead"",""country"":""United States"",""locality"":""Texas"",""region"":""North America"",""latitude"":30.092,""longitude"":-96.0649}}},{""source"":""crowdstrike"",""id"":""ddf437g8e65559ed8cc5gd2g0f313616"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2023-05-15T19:21:47.469147745Z"",""type"":""device"",""agent_version"":""6.42.15610.0"",""last_observed_timestamp"":""2023-06-12T16:50:41.937381998Z"",""first_observed_timestamp"":""2022-08-29T12:59:40.214330987Z"",""last_activity_timestamp"":""2023-06-12T16:21:49.937381998Z"",""asset_type"":""device"",""attributes"":{""id"":""ddf437g8e65559ed8cc5gd2g0f313616"",""hostnames"":[""ktibggfs""],""os"":""Windows 10"",""ips"":[""38.100.91.68"",""10.8.17.2""],""mac_addresses"":[""3C:18:A0:06:9F:23""],""additional_attributes"":{""status"":""normal"",""crowdstrike_agent_version"":""6.42.15610.0""},""active_directory_domain"":""bluth.co"",""serial_number"":""07151415785-01"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""6.42.15610.0"",""os_platform"":""Windows"",""os_release"":""Windows 10"",""internal_ips"":[""10.8.17.2""],""external_ips"":[""38.100.91.68""],""mac_manufacturers"":[""Luxshare Precision Industry Company Limited""],""geo_ip"":{""associated_ip"":""38.100.91.68"",""city"":""Hempstead"",""country"":""United States"",""locality"":""Texas"",""region"":""North America"",""latitude"":30.092,""longitude"":-96.0649}}}]","[""automox"",""azure-ad"",""crowdstrike"",""illumio-core"",""lansweeper"",""malwarebytes-nebula"",""microsoft-ad""]","[{""name"":""afasf"",""value"":[]},{""name"":""Country"",""value"":[""USA""]},{""name"":"" feafewsfew"",""value"":[]}]",activity,"2023-06-12T16:52:24.046671166Z","2022-11-01T21:05:04.611067773Z",device,"bluth\ktibggfs\2",lansweeper,"346446df-cbc4-442c-aed4-94599e060a0e",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:28.989 PM",,,"[""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d"",""9416b1ae-5057-4a72-b4af-559532e789a4"",""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630""]",OnPrem,,,,"d9c16d5c-6b4d-6dcb-169a-37cbd810d5ba","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:40.214 PM","6/12/2023, 4:50:51.123 PM","2023-06-12T16:45:07.937381998Z",device,"[""pujcfg""]","pujcfg.bluth.co","Windows 10 Enterprise 10.0.19042","[""10.20.45.148"",""10.41.33.126"",""10.41.33.162"",""192.168.32.12"",""192.168.32.39"",""212.120.226.83"",""2a02:c7f:f2d3:2702:5b88:f785:fea1:c04a"",""2a02:c7f:f2d3:2702:833d:cbbf:3644:8883"",""51.200.39.174""]","[""00:50:B6:AA:5F:58"",""02:FF:00:23:4B:02"",""48:2A:E3:BD:5F:72"",""4C:79:6E:8A:4B:49"",""4C:79:6E:8A:4B:4D"",""98:91:A7:5B:48:5B""]","cn=pujcfg,ou=eqorwvgtu wm,ou=bluth eqorwvgtu,dc=bluth-eq,dc=com",Lenovo,"ThinkPad X13 Yoga Gen 1","bluth.co","T134E8JD-02","[""configuration_management"",""directory_service"",""endpoint_security""]",EnterpriseEndpoint,pujcfg,Windows,"Windows 10 Enterprise","[""10.20.45.148"",""10.41.33.126"",""10.41.33.162"",""192.168.32.12"",""192.168.32.39""]","[""212.120.226.83"",""2a02:c7f:f2d3:2702:5b88:f785:fea1:c04a"",""2a02:c7f:f2d3:2702:833d:cbbf:3644:8883"",""51.200.39.174""]","[""GOOD WAY IND. CO., LTD."",""Intel Corporate"",""Wistron InfoComm(Kunshan)Co.,Ltd.""]","[""antonina.jakubowski"",""wilfredo.harber""]","212.120.226.83",Gibraltar,Gibraltar,Europe,"36.1334","-5.3497","[{""source"":""malwarebytes-nebula"",""id"":""22824657-865g-6chh-109c-30hgf9g89g92"",""config_id"":""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"",""version"":""2022-08-04T19:02:17.473080819Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:18.945864100Z"",""first_observed_timestamp"":""2022-08-29T12:59:46.479773580Z"",""last_activity_timestamp"":""2023-04-09T20:59:24.435970100Z"",""asset_type"":""device"",""attributes"":{""id"":""22824657-865g-6chh-109c-30hgf9g89g92"",""hostnames"":[""pujcfg""],""fqdn"":""pujcfg.bluth.co"",""os"":""Microsoft Windows 10 Enterprise"",""ips"":[""192.168.32.39""],""mac_addresses"":[""4C:79:6E:8A:4B:49""],""associated_users"":[{""username"":""antonina.jakubowski""}],""active_directory_domain"":""bluth.co"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""192.168.32.39""],""mac_manufacturers"":[""Intel Corporate""],""associated_usernames"":[""antonina.jakubowski""]}},{""source"":""azure-ad"",""id"":""47fh6241-f363-7107-c216-4f46096c43c8"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-19T04:09:28.205455202Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:10.667404371Z"",""first_observed_timestamp"":""2022-08-29T12:59:50.342049152Z"",""last_activity_timestamp"":""2023-06-11T13:31:17.198707349Z"",""asset_type"":""device"",""attributes"":{""id"":""47fh6241-f363-7107-c216-4f46096c43c8"",""hostnames"":[""pujcfg""],""os"":""Windows, 10.0.19042.1889"",""last_updated_time"":""2023-06-11T13:31:17.198707349Z"",""additional_attributes"":{""trust_type"":""ServerAd""},""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10""}},{""source"":""microsoft-ad"",""id"":""S-1-5-21-582935482-1975382284-823532881-029754"",""config_id"":""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""version"":""2022-08-21T02:21:23.199567063Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:34.496529037Z"",""first_observed_timestamp"":""2022-08-29T13:00:13.142845863Z"",""last_activity_timestamp"":""2023-06-11T07:15:13.207123237Z"",""asset_type"":""device"",""attributes"":{""id"":""S-1-5-21-582935482-1975382284-823532881-029754"",""hostnames"":[""pujcfg""],""fqdn"":""pujcfg.bluth.co"",""os"":""Windows 10 Enterprise"",""distinguished_name"":""cn=pujcfg,ou=eqorwvgtu wm,ou=bluth eqorwvgtu,dc=bluth-eq,dc=com"",""last_updated_time"":""2023-06-11T07:15:13.207123237Z"",""additional_attributes"":{""groups"":[""QpgFtkxg - Eqorwvgt"",""Ncrvqru WM""]},""active_directory_domain"":""bluth.co"",""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise""}},{""source"":""crowdstrike"",""id"":""6488d5ehc8616f89c3e886476hfgef0h"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2022-10-17T15:44:39.533170546Z"",""type"":""device"",""agent_version"":""6.42.15610.0"",""last_observed_timestamp"":""2023-06-12T16:50:41.937381998Z"",""first_observed_timestamp"":""2022-08-29T12:59:40.214330987Z"",""last_activity_timestamp"":""2023-06-12T16:45:07.937381998Z"",""asset_type"":""device"",""attributes"":{""id"":""6488d5ehc8616f89c3e886476hfgef0h"",""hostnames"":[""pujcfg""],""os"":""Windows 10"",""ips"":[""212.120.226.83"",""10.41.33.126""],""mac_addresses"":[""02:FF:00:23:4B:02""],""additional_attributes"":{""status"":""normal"",""crowdstrike_agent_version"":""6.42.15610.0""},""active_directory_domain"":""bluth.co"",""serial_number"":""T134E8JD-02"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""6.42.15610.0"",""os_platform"":""Windows"",""os_release"":""Windows 10"",""internal_ips"":[""10.41.33.126""],""external_ips"":[""212.120.226.83""],""geo_ip"":{""associated_ip"":""212.120.226.83"",""city"":""Gibraltar"",""country"":""Gibraltar"",""locality"":null,""region"":""Europe"",""latitude"":36.1334,""longitude"":-5.3497}}},{""source"":""lansweeper"",""id"":""bluth\\pujcfg\\3"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-10-31T21:11:07.178067773Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:51.123381599Z"",""first_observed_timestamp"":""2022-09-01T17:40:27.724669592Z"",""last_activity_timestamp"":""2023-06-10T20:11:14.264464099Z"",""asset_type"":""device"",""attributes"":{""id"":""bluth\\pujcfg\\3"",""hostnames"":[""pujcfg""],""fqdn"":""pujcfg.bluth.co"",""os"":""Microsoft Windows 10 Enterprise"",""ips"":[""10.41.33.162"",""10.20.45.148""],""mac_addresses"":[""00:50:B6:AA:5F:58""],""owner"":{""id"":""PUjcfg""},""last_updated_time"":""2023-06-10T20:11:14.264464099Z"",""additional_attributes"":{""system_sku"":""LENOVO_MT_20SX_BU_Think_FM_ThinkPad X13 Yoga Gen 1"",""model"":""ThinkPad X13 Yoga Gen 1"",""version"":""20H2"",""build_number"":""1889"",""service_pack"":0,""manufacturer"":""Lenovo""},""serial_number"":""T134E8JD-02"",""network_location"":""OnPrem"",""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.41.33.162"",""10.20.45.148""],""mac_manufacturers"":[""GOOD WAY IND. CO., LTD.""]}},{""source"":""illumio-core"",""id"":""5h250c5c-03fc-6f83-1dd9-3364g3c81cc4"",""config_id"":""9416b1ae-5057-4a72-b4af-559532e789a4"",""version"":""2023-03-28T14:51:49.354085277Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:49:57.023458799Z"",""first_observed_timestamp"":""2022-08-29T13:00:01.693862290Z"",""last_activity_timestamp"":""2023-06-12T11:51:34.782458799Z"",""asset_type"":""device"",""attributes"":{""id"":""5h250c5c-03fc-6f83-1dd9-3364g3c81cc4"",""hostnames"":[""pujcfg""],""os"":""Windows 10 Enterprise"",""ips"":[""192.168.32.12"",""2a02:c7f:f2d3:2702:833d:cbbf:3644:8883"",""2a02:c7f:f2d3:2702:5b88:f785:fea1:c04a"",""10.41.33.126""],""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""192.168.32.12"",""10.41.33.126""],""external_ips"":[""2a02:c7f:f2d3:2702:833d:cbbf:3644:8883"",""2a02:c7f:f2d3:2702:5b88:f785:fea1:c04a""],""geo_ip"":{""associated_ip"":""2a02:c7f:f2d3:2702:5b88:f785:fea1:c04a"",""city"":""Enfield"",""country"":""United Kingdom"",""locality"":""England"",""region"":""Europe"",""latitude"":51.6539,""longitude"":-0.0888}}},{""source"":""automox"",""id"":""202086166"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2023-03-28T16:47:43.094469075Z"",""type"":""device"",""agent_version"":""1.0-40"",""last_observed_timestamp"":""2023-06-12T16:50:25.012172612Z"",""first_observed_timestamp"":""2022-08-29T13:00:06.635136545Z"",""last_activity_timestamp"":""2023-06-12T13:47:36.012172612Z"",""asset_type"":""device"",""attributes"":{""id"":""202086166"",""hostnames"":[""pujcfg""],""fqdn"":""pujcfg.bluth.co"",""os"":""Windows 10 Enterprise 10.0.19042"",""ips"":[""51.200.39.174"",""10.41.33.126"",""192.168.32.12"",""2a02:c7f:f2d3:2702:5b88:f785:fea1:c04a"",""2a02:c7f:f2d3:2702:833d:cbbf:3644:8883""],""mac_addresses"":[""4C:79:6E:8A:4B:49"",""48:2A:E3:BD:5F:72"",""4C:79:6E:8A:4B:4D"",""98:91:A7:5B:48:5B"",""02:FF:00:23:4B:02""],""associated_users"":[{""username"":""wilfredo.harber""},{""username"":""wilfredo.harber""}],""additional_attributes"":{""agent_version"":""1.0-40""},""serial_number"":""T134E8JD-02"",""controls"":[""configuration_management""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""1.0-40"",""os_platform"":""Windows"",""os_release"":""Windows 10 Enterprise"",""internal_ips"":[""10.41.33.126"",""192.168.32.12""],""external_ips"":[""51.200.39.174"",""2a02:c7f:f2d3:2702:5b88:f785:fea1:c04a"",""2a02:c7f:f2d3:2702:833d:cbbf:3644:8883""],""mac_manufacturers"":[""Intel Corporate"",""Wistron InfoComm(Kunshan)Co.,Ltd.""],""associated_usernames"":[""wilfredo.harber""],""geo_ip"":{""associated_ip"":""2a02:c7f:f2d3:2702:5b88:f785:fea1:c04a"",""city"":""Enfield"",""country"":""United Kingdom"",""locality"":""England"",""region"":""Europe"",""latitude"":51.6539,""longitude"":-0.0888}}}]","[""automox"",""azure-ad"",""crowdstrike"",""illumio-core"",""lansweeper"",""malwarebytes-nebula"",""microsoft-ad""]","[{""name"":""afasf"",""value"":[]}]",activity,"2023-06-12T16:52:28.989105622Z","2022-10-31T21:11:07.178067773Z",device,"bluth\pujcfg\3",lansweeper,"346446df-cbc4-442c-aed4-94599e060a0e",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"3/22/2023, 9:51:01.797 PM",,,"[""140f2692-342d-405e-b7df-c00a6fc27afe"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d""]",,,,,"d9c94d8d-09fc-345e-387d-6cde02a0393f","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:01.797 PM","3/22/2023, 9:51:01.797 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[{""source"":""automox"",""id"":""101562805"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-10-16T21:58:46.882591955Z"",""type"":""device""},{""source"":""crowdstrike"",""id"":""g1b84e5e959c5d8596b86d99b92g74d3"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2022-10-17T15:23:15.533170546Z"",""type"":""device""},{""source"":""lansweeper"",""id"":""bluth\\hibxfed12\\2"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-11-02T10:51:49.951067773Z"",""type"":""device""}]","[""automox"",""crowdstrike"",""lansweeper""]","[]",activity,"2023-03-22T21:51:01.797845615Z","2022-09-07T22:53:25.836690353Z",device,"S-1-5-21-371824371-9864271173-612421770-993743","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:24.486 PM",,,"[""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""140f2692-342d-405e-b7df-c00a6fc27afe"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d""]",OnPrem,,,,"d9d0cf7e-0e5c-1cf6-f2b6-8f8cde7ebb91","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:40.214 PM","6/12/2023, 4:50:51.123 PM","2023-06-12T16:34:06.937381998Z",device,"[""hiefed13""]","hiefed13.bluth.co","Windows Server 2019 Standard 10.0.17763","[""10.7.18.3"",""95.172.84.146""]","[""00:50:56:8A:2B:6B""]","cn=hiefed13,ou=epnbjo dpouspmmfst,dc=bluth-dp,dc=com","VMware, Inc.","VMware Virtual Platform","bluth.co","VMWARE-5310FD9C2E5GF589-0C8B7783GD6E7608-01","[""configuration_management"",""directory_service"",""endpoint_security""]",EnterpriseEndpoint,hiefed13,"Windows Server","Windows Server 2019","[""10.7.18.3""]","[""95.172.84.146""]","[""VMware, Inc.""]","[""melba.morissette""]","95.172.84.146",,"United Kingdom",Europe,"51.4964","-0.1224","[{""source"":""microsoft-ad"",""id"":""S-1-5-21-371824371-9864271173-612421770-54879"",""config_id"":""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""version"":""2022-08-21T00:07:55.633178063Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:34.496529037Z"",""first_observed_timestamp"":""2022-08-29T13:00:13.142845863Z"",""last_activity_timestamp"":""2023-06-09T05:59:59.424448237Z"",""asset_type"":""device"",""attributes"":{""id"":""S-1-5-21-371824371-9864271173-612421770-54879"",""hostnames"":[""hiefed13""],""fqdn"":""hiefed13.bluth.co"",""os"":""Windows Server 2019 Standard"",""distinguished_name"":""cn=hiefed13,ou=epnbjo dpouspmmfst,dc=bluth-dp,dc=com"",""last_updated_time"":""2023-06-09T05:59:59.424448237Z"",""additional_attributes"":{""groups"":[""AfspOfuxpsltQspufdufeBttfut""]},""active_directory_domain"":""bluth.co"",""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows Server"",""os_release"":""Windows Server 2019""}},{""source"":""automox"",""id"":""10661496"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2023-04-25T07:39:42.420383048Z"",""type"":""device"",""agent_version"":""1.0-40"",""last_observed_timestamp"":""2023-06-12T16:50:25.012172612Z"",""first_observed_timestamp"":""2022-08-29T13:00:06.635136545Z"",""last_activity_timestamp"":""2023-06-12T02:39:57.012172612Z"",""asset_type"":""device"",""attributes"":{""id"":""10661496"",""hostnames"":[""hiefed13""],""fqdn"":""hiefed13.bluth.co"",""os"":""Windows Server 2019 Standard 10.0.17763"",""ips"":[""95.172.84.146"",""10.7.18.3""],""mac_addresses"":[""00:50:56:8A:2B:6B""],""associated_users"":[{""username"":""melba.morissette""},{""username"":""melba.morissette""}],""additional_attributes"":{""agent_version"":""1.0-40""},""serial_number"":""VMWARE-5310FD9C2E5GF589-0C8B7783GD6E7608-01"",""controls"":[""configuration_management""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""1.0-40"",""os_platform"":""Windows Server"",""os_release"":""Windows Server 2019"",""internal_ips"":[""10.7.18.3""],""external_ips"":[""95.172.84.146""],""mac_manufacturers"":[""VMware, Inc.""],""associated_usernames"":[""melba.morissette""],""geo_ip"":{""associated_ip"":""95.172.84.146"",""city"":null,""country"":""United Kingdom"",""locality"":null,""region"":""Europe"",""latitude"":51.4964,""longitude"":-0.1224}}},{""source"":""lansweeper"",""id"":""bluth\\hiefed13\\2"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2023-04-25T14:50:39.959086377Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:51.123381599Z"",""first_observed_timestamp"":""2022-09-01T17:40:27.724669592Z"",""last_activity_timestamp"":""2023-06-12T09:51:34.161464099Z"",""asset_type"":""device"",""attributes"":{""id"":""bluth\\hiefed13\\2"",""hostnames"":[""hiefed13""],""fqdn"":""hiefed13.bluth.co"",""os"":""Microsoft Windows Server 2019 Standard"",""ips"":[""10.7.18.3""],""mac_addresses"":[""00:50:56:8A:2B:6B""],""owner"":{""id"":""jlibo""},""last_updated_time"":""2023-06-12T09:51:34.161464099Z"",""additional_attributes"":{""model"":""VMware Virtual Platform"",""manufacturer"":""VMware, Inc."",""build_number"":""3287"",""system_sku"":"""",""service_pack"":0,""version"":""1809""},""serial_number"":""VMWARE-5310FD9C2E5GF589-0C8B7783GD6E7608-01"",""network_location"":""OnPrem"",""os_platform"":""Windows Server"",""os_release"":""Windows Server 2019"",""internal_ips"":[""10.7.18.3""],""mac_manufacturers"":[""VMware, Inc.""]}},{""source"":""crowdstrike"",""id"":""4g69fee7e5f05g529b66197dg4721544"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2023-04-25T21:34:15.499922246Z"",""type"":""device"",""agent_version"":""6.42.15610.0"",""last_observed_timestamp"":""2023-06-12T16:50:41.937381998Z"",""first_observed_timestamp"":""2022-08-29T12:59:40.214330987Z"",""last_activity_timestamp"":""2023-06-12T16:34:06.937381998Z"",""asset_type"":""device"",""attributes"":{""id"":""4g69fee7e5f05g529b66197dg4721544"",""hostnames"":[""hiefed13""],""os"":""Windows Server 2019"",""ips"":[""95.172.84.146"",""10.7.18.3""],""mac_addresses"":[""00:50:56:8A:2B:6B""],""additional_attributes"":{""status"":""normal"",""crowdstrike_agent_version"":""6.42.15610.0""},""active_directory_domain"":""bluth.co"",""serial_number"":""VMWARE-5310FD9C2E5GF589-0C8B7783GD6E7608-01"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""6.42.15610.0"",""os_platform"":""Windows Server"",""os_release"":""Windows Server 2019"",""internal_ips"":[""10.7.18.3""],""external_ips"":[""95.172.84.146""],""mac_manufacturers"":[""VMware, Inc.""],""geo_ip"":{""associated_ip"":""95.172.84.146"",""city"":null,""country"":""United Kingdom"",""locality"":null,""region"":""Europe"",""latitude"":51.4964,""longitude"":-0.1224}}}]","[""automox"",""crowdstrike"",""lansweeper"",""microsoft-ad""]","[{""name"":""afasf"",""value"":[]}]",activity,"2023-06-12T16:52:24.486698144Z","2023-04-25T14:50:39.959086377Z",device,"bluth\hiefed13\2",lansweeper,"346446df-cbc4-442c-aed4-94599e060a0e",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"3/22/2023, 9:50:59.786 PM",,,"[""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d"",""9416b1ae-5057-4a72-b4af-559532e789a4"",""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630""]",,,,,"d9d5f344-aa98-b1c5-5947-75a8664769b1","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:50:59.786 PM","3/22/2023, 9:50:59.786 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[{""source"":""azure-ad"",""id"":""80e79dbc-7069-5d03-b706-b4cg74c33e35"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-27T00:27:20.205455202Z"",""type"":""device""},{""source"":""malwarebytes-nebula"",""id"":""314d2b9f-fec5-5db9-97g3-c8dcf4g4f412"",""config_id"":""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"",""version"":""2022-10-06T04:18:34.495175819Z"",""type"":""device""},{""source"":""illumio-core"",""id"":""b241005d-b585-1646-017b-2c5f99cf3426"",""config_id"":""9416b1ae-5057-4a72-b4af-559532e789a4"",""version"":""2022-10-06T19:58:35.455858932Z"",""type"":""device""},{""source"":""crowdstrike"",""id"":""1c2cf80f6e0659598429c84ddf970525"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2022-10-16T20:00:58.533170546Z"",""type"":""device""},{""source"":""automox"",""id"":""10603020"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-10-16T22:11:51.882591955Z"",""type"":""device""},{""source"":""lansweeper"",""id"":""bluth\\cctibsfdij\\2"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-10-31T10:51:43.871067773Z"",""type"":""device""}]","[""automox"",""azure-ad"",""crowdstrike"",""illumio-core"",""lansweeper"",""malwarebytes-nebula""]","[]",activity,"2023-03-22T21:50:59.786872293Z","2022-08-27T15:02:20.503472063Z",device,"S-1-5-21-371824371-9864271173-612421770-266323","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:48.077 PM",,,"3/22/2023, 9:51:03.688 PM",,,"[ + ""140f2692-342d-405e-b7df-c00a6fc27afe"", + ""3184e5f9-309d-49c9-b471-ea7dfa192e05"", + ""809fb871-3ea2-4a4f-9eb5-13951894718d"", + ""9416b1ae-5057-4a72-b4af-559532e789a4"", + ""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"" +]",,,,,"19aea1d1-f82f-5b36-ad35-09254e6488d2","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:03.688 PM","3/22/2023, 9:51:03.688 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[ + { + ""source"": ""azure-ad"", + ""id"": ""37844ef9-88c1-55c5-0160-0bb8364db897"", + ""config_id"": ""3184e5f9-309d-49c9-b471-ea7dfa192e05"", + ""version"": ""2022-08-22T07:00:31.205455202Z"", + ""type"": ""device"" + }, + { + ""source"": ""malwarebytes-nebula"", + ""id"": ""d9e4cfee-c55b-6886-6590-bg3bc798c74e"", + ""config_id"": ""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"", + ""version"": ""2022-10-07T03:20:49.185921819Z"", + ""type"": ""device"" + }, + { + ""source"": ""illumio-core"", + ""id"": ""99c9c240-3478-7316-4100-49d783c77709"", + ""config_id"": ""9416b1ae-5057-4a72-b4af-559532e789a4"", + ""version"": ""2022-10-07T14:50:25.125858932Z"", + ""type"": ""device"" + }, + { + ""source"": ""automox"", + ""id"": ""101869268"", + ""config_id"": ""809fb871-3ea2-4a4f-9eb5-13951894718d"", + ""version"": ""2022-10-17T05:38:51.882591955Z"", + ""type"": ""device"" + }, + { + ""source"": ""crowdstrike"", + ""id"": ""g8c1g333c0f35f259c352eg5c45gebd5"", + ""config_id"": ""140f2692-342d-405e-b7df-c00a6fc27afe"", + ""version"": ""2022-10-17T15:37:25.533170546Z"", + ""type"": ""device"" + } +]","[ + ""automox"", + ""azure-ad"", + ""crowdstrike"", + ""illumio-core"", + ""malwarebytes-nebula"" +]","[]",activity,"2023-03-22T21:51:03.688847877Z","2022-08-22T15:15:04.168422063Z",device,"S-1-5-21-371824371-9864271173-612421770-250143","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:50:50.287 PM",,,"[""3184e5f9-309d-49c9-b471-ea7dfa192e05""]",,,,,"d9ea8630-f2e1-9492-167d-515e818ae534","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/31/2022, 7:58:56.228 PM","6/12/2023, 4:50:10.667 PM","2023-06-10T21:32:55.198707349Z",device,"[""dgpkrcnrqna_cpftqkf_0/41/4244_32:78 ro"",""dgpkrcnrqnacpftqkf04142443278-ro""]",,"Android, 9.0",,,,Poly,TrioC60,,,"[""directory_service""]",,"dgpkrcnrqna_cpftqkf_0/41/4244_32:78 ro",Android,"Android 9 (Pie)",,,,,,,,,,,"[{""source"":""azure-ad"",""id"":""03h9d9fg-fg1g-1637-c4fd-051d72c912dd"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-30T00:41:40.759708737Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:10.667404371Z"",""first_observed_timestamp"":""2022-08-31T19:58:56.228405759Z"",""last_activity_timestamp"":""2023-06-10T21:32:55.198707349Z"",""asset_type"":""device"",""attributes"":{""id"":""03h9d9fg-fg1g-1637-c4fd-051d72c912dd"",""hostnames"":[""dgpkrcnrqna_cpftqkf_0/41/4244_32:78 ro"",""dgpkrcnrqnacpftqkf04142443278-ro""],""os"":""Android, 9.0"",""last_updated_time"":""2023-06-10T21:32:55.198707349Z"",""additional_attributes"":{""model"":""TrioC60"",""manufacturer"":""Poly"",""trust_type"":""Workplace""},""controls"":[""directory_service""],""os_platform"":""Android"",""os_release"":""Android 9 (Pie)""}}]","[""azure-ad""]","[]",activity,"2023-06-12T16:50:50.287706524Z","2022-08-30T00:41:40.759708737Z",device,"03h9d9fg-fg1g-1637-c4fd-051d72c912dd","azure-ad","3184e5f9-309d-49c9-b471-ea7dfa192e05",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"3/22/2023, 9:51:08.794 PM",,,"[""140f2692-342d-405e-b7df-c00a6fc27afe"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d""]",,,,,"d9f885e1-d787-c4fd-d93a-d4333c410770","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:08.794 PM","3/22/2023, 9:51:08.794 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[{""source"":""automox"",""id"":""201229254"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-10-17T08:06:55.882591955Z"",""type"":""device""},{""source"":""crowdstrike"",""id"":""ee28ff866g966840cd837894e5g5gc1f"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2022-10-17T15:29:11.533170546Z"",""type"":""device""},{""source"":""lansweeper"",""id"":""bluth\\ijejfe24\\3"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-11-02T10:51:27.075067773Z"",""type"":""device""}]","[""automox"",""crowdstrike"",""lansweeper""]","[]",activity,"2023-03-22T21:51:08.794764760Z","2022-08-19T19:36:58.929054063Z",device,"S-1-5-21-582935482-1975382284-823532881-64460","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"3/22/2023, 9:51:10.127 PM",,,"[""809fb871-3ea2-4a4f-9eb5-13951894718d""]",,,,,"da251939-306c-989a-a0c9-ef72820c4613","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:10.127 PM","3/22/2023, 9:51:10.127 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[{""source"":""automox"",""id"":""20499790"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2021-11-24T17:02:59.882591955Z"",""type"":""device""}]","[""automox""]","[]",activity,"2023-03-22T21:51:10.127131141Z","2021-10-02T05:30:58.125149063Z",device,"S-1-5-21-582935482-1975382284-823532881-115434","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"3/22/2023, 9:51:06.379 PM",,,"[""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d"",""9416b1ae-5057-4a72-b4af-559532e789a4"",""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630""]",,,,,"da376a2d-ccf0-71b5-32ce-cef9ef50d836","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:06.379 PM","3/22/2023, 9:51:06.379 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[{""source"":""azure-ad"",""id"":""2h7d24e1-c46e-7917-0ec5-8c1ge5hc03hd"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-18T16:06:35.205455202Z"",""type"":""device""},{""source"":""malwarebytes-nebula"",""id"":""4e720c0d-d724-6cg7-d660-24g02e2089h4"",""config_id"":""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"",""version"":""2022-09-29T01:13:43.194382819Z"",""type"":""device""},{""source"":""illumio-core"",""id"":""615gg222-g039-62gf-1he5-8251e44c38c8"",""config_id"":""9416b1ae-5057-4a72-b4af-559532e789a4"",""version"":""2022-10-06T21:50:06.279858932Z"",""type"":""device""},{""source"":""crowdstrike"",""id"":""f4fc554gh8gg67fe194457gec131ehe0"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2022-10-17T00:04:22.533170546Z"",""type"":""device""},{""source"":""automox"",""id"":""201942272"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-10-17T02:00:10.882591955Z"",""type"":""device""},{""source"":""lansweeper"",""id"":""bluth\\loqticp\\3"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-11-02T10:51:28.981067773Z"",""type"":""device""}]","[""automox"",""azure-ad"",""crowdstrike"",""illumio-core"",""lansweeper"",""malwarebytes-nebula""]","[]",activity,"2023-03-22T21:51:06.379930367Z","2022-08-27T14:55:22.291345063Z",device,"S-1-5-21-582935482-1975382284-823532881-484944","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:26.744 PM",,,"[""346446df-cbc4-442c-aed4-94599e060a0e""]",OnPrem,,,,"da409766-b68b-9bf6-0e23-900777a55f81","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"9/1/2022, 5:40:27.724 PM","6/12/2023, 4:50:51.123 PM","2023-06-11T19:53:13.737464099Z",device,"[""hituntwtbo-oti""]",,"Virtual Machine","[""10.20.26.141""]","[""00:50:56:8A:98:86""]",,"VMware, Inc.","Virtual Machine",,,,,"hituntwtbo-oti",Other,Unknown,"[""10.20.26.141""]",,"[""VMware, Inc.""]",,,,,,,,"[{""source"":""lansweeper"",""id"":""11:61:67:90:08:96"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-11-01T20:53:06.651067773Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:51.123381599Z"",""first_observed_timestamp"":""2022-09-01T17:40:27.724669592Z"",""last_activity_timestamp"":""2023-06-11T19:53:13.737464099Z"",""asset_type"":""device"",""attributes"":{""id"":""11:61:67:90:08:96"",""hostnames"":[""hituntwtbo-oti""],""os"":""Virtual Machine"",""ips"":[""10.20.26.141""],""mac_addresses"":[""00:50:56:8A:98:86""],""last_updated_time"":""2023-06-11T19:53:13.737464099Z"",""additional_attributes"":{""system_sku"":"""",""model"":""Virtual Machine"",""manufacturer"":""VMware, Inc.""},""network_location"":""OnPrem"",""os_platform"":""Other"",""os_release"":""Unknown"",""internal_ips"":[""10.20.26.141""],""mac_manufacturers"":[""VMware, Inc.""]}}]","[""lansweeper""]","[]",activity,"2023-06-12T16:52:26.744268353Z","2022-11-01T20:53:06.651067773Z",device,"11:61:67:90:08:96",lansweeper,"346446df-cbc4-442c-aed4-94599e060a0e",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:07.805 PM",,England,"[""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""140f2692-342d-405e-b7df-c00a6fc27afe"",""809fb871-3ea2-4a4f-9eb5-13951894718d""]",,,,,"da50ee98-8965-7810-a635-7d7668181092","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:40.214 PM","6/12/2023, 4:50:41.937 PM","2023-06-12T16:31:35.937381998Z",device,"[""hivldw""]","hivldw.bluth.co","Windows Server 2012 R2 Standard 6.3.9600","[""10.7.17.6"",""212.118.240.81""]","[""2C:44:FD:9A:FC:49"",""2C:44:FD:9A:FC:4D""]","cn=hivldw,ou=vl tfswfst,ou=bluth tfswfst,dc=bluth-dp,dc=com",,,"bluth.co","DA351016M5-01","[""configuration_management"",""directory_service"",""endpoint_security""]",EnterpriseEndpoint,hivldw,"Windows Server","Windows Server 2012 R2","[""10.7.17.6""]","[""212.118.240.81""]","[""Hewlett Packard""]","[""terrell.flatley""]","212.118.240.81",Wandsworth,"United Kingdom",Europe,"51.4479","-0.1377","[{""source"":""microsoft-ad"",""id"":""S-1-5-21-371824371-9864271173-612421770-72337"",""config_id"":""036a1dee-1e6e-4f0c-b5d9-4410d2c52c77"",""version"":""2022-08-21T08:18:02.119769063Z"",""type"":""device"",""last_observed_timestamp"":""2023-06-12T16:50:34.496529037Z"",""first_observed_timestamp"":""2022-08-29T13:00:13.142845863Z"",""last_activity_timestamp"":""2023-06-09T14:45:10.546534237Z"",""asset_type"":""device"",""attributes"":{""id"":""S-1-5-21-371824371-9864271173-612421770-72337"",""hostnames"":[""hivldw""],""fqdn"":""hivldw.bluth.co"",""os"":""Windows Server 2012 R2 Standard"",""distinguished_name"":""cn=hivldw,ou=vl tfswfst,ou=bluth tfswfst,dc=bluth-dp,dc=com"",""last_updated_time"":""2023-06-09T14:45:10.546534237Z"",""additional_attributes"":{""groups"":[""AfspOfuxpsltQspufdufeBttfut""]},""active_directory_domain"":""bluth.co"",""controls"":[""directory_service""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""os_platform"":""Windows Server"",""os_release"":""Windows Server 2012 R2""}},{""source"":""automox"",""id"":""10156069"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2023-04-24T23:41:47.974738135Z"",""type"":""device"",""agent_version"":""1.0-40"",""last_observed_timestamp"":""2023-06-12T16:50:25.012172612Z"",""first_observed_timestamp"":""2022-08-29T13:00:06.635136545Z"",""last_activity_timestamp"":""2023-06-11T21:41:48.012172612Z"",""asset_type"":""device"",""attributes"":{""id"":""10156069"",""hostnames"":[""hivldw""],""fqdn"":""hivldw.bluth.co"",""os"":""Windows Server 2012 R2 Standard 6.3.9600"",""ips"":[""212.118.240.81"",""10.7.17.6""],""mac_addresses"":[""2C:44:FD:9A:FC:49"",""2C:44:FD:9A:FC:4D""],""associated_users"":[{""username"":""terrell.flatley""},{""username"":""terrell.flatley""}],""additional_attributes"":{""agent_version"":""1.0-40""},""serial_number"":""DA351016M5-01"",""controls"":[""configuration_management""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""1.0-40"",""os_platform"":""Windows Server"",""os_release"":""Windows Server 2012 R2"",""internal_ips"":[""10.7.17.6""],""external_ips"":[""212.118.240.81""],""mac_manufacturers"":[""Hewlett Packard""],""associated_usernames"":[""terrell.flatley""],""geo_ip"":{""associated_ip"":""212.118.240.81"",""city"":""Wandsworth"",""country"":""United Kingdom"",""locality"":""England"",""region"":""Europe"",""latitude"":51.4479,""longitude"":-0.1377}}},{""source"":""crowdstrike"",""id"":""921gffd0f4395e269656c3494500c92d"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2023-04-25T18:31:35.418158541Z"",""type"":""device"",""agent_version"":""6.42.15610.0"",""last_observed_timestamp"":""2023-06-12T16:50:41.937381998Z"",""first_observed_timestamp"":""2022-08-29T12:59:40.214330987Z"",""last_activity_timestamp"":""2023-06-12T16:31:35.937381998Z"",""asset_type"":""device"",""attributes"":{""id"":""921gffd0f4395e269656c3494500c92d"",""hostnames"":[""hivldw""],""os"":""Windows Server 2012 R2"",""ips"":[""212.118.240.81"",""10.7.17.6""],""mac_addresses"":[""2C:44:FD:9A:FC:49""],""additional_attributes"":{""crowdstrike_agent_version"":""6.42.15610.0"",""status"":""normal""},""active_directory_domain"":""bluth.co"",""serial_number"":""DA351016M5-01"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""6.42.15610.0"",""os_platform"":""Windows Server"",""os_release"":""Windows Server 2012 R2"",""internal_ips"":[""10.7.17.6""],""external_ips"":[""212.118.240.81""],""mac_manufacturers"":[""Hewlett Packard""],""geo_ip"":{""associated_ip"":""212.118.240.81"",""city"":""Wandsworth"",""country"":""United Kingdom"",""locality"":""England"",""region"":""Europe"",""latitude"":51.4479,""longitude"":-0.1377}}}]","[""automox"",""crowdstrike"",""microsoft-ad""]","[{""name"":""afasf"",""value"":[]}]",activity,"2023-06-12T16:52:07.805881970Z","2023-04-25T18:31:35.418158541Z",device,921gffd0f4395e269656c3494500c92d,crowdstrike,"140f2692-342d-405e-b7df-c00a6fc27afe",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"3/22/2023, 9:51:09.635 PM",,,"[""140f2692-342d-405e-b7df-c00a6fc27afe"",""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""346446df-cbc4-442c-aed4-94599e060a0e"",""809fb871-3ea2-4a4f-9eb5-13951894718d"",""9416b1ae-5057-4a72-b4af-559532e789a4"",""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630""]",,,,,"da5f3b8f-408a-1c91-5202-0c4a087d5f27","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:09.635 PM","3/22/2023, 9:51:09.635 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[{""source"":""azure-ad"",""id"":""6dce3693-f3g1-634c-d12h-7ge6g36c4202"",""config_id"":""3184e5f9-309d-49c9-b471-ea7dfa192e05"",""version"":""2022-08-17T16:52:29.205455202Z"",""type"":""device""},{""source"":""malwarebytes-nebula"",""id"":""c353df35-g778-64cf-1hf9-6e3fc084h130"",""config_id"":""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"",""version"":""2022-10-07T14:19:30.775552819Z"",""type"":""device""},{""source"":""illumio-core"",""id"":""e3901c11-h2f5-6gd3-cfe3-87efc2cg3dc6"",""config_id"":""9416b1ae-5057-4a72-b4af-559532e789a4"",""version"":""2022-10-07T14:52:48.910858932Z"",""type"":""device""},{""source"":""automox"",""id"":""20559488"",""config_id"":""809fb871-3ea2-4a4f-9eb5-13951894718d"",""version"":""2022-10-17T10:46:41.882591955Z"",""type"":""device""},{""source"":""crowdstrike"",""id"":""3e0d7g83188361fh6h39fee001fh7858"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2022-10-17T15:33:23.533170546Z"",""type"":""device""},{""source"":""lansweeper"",""id"":""bluth\\uucucmk3\\3"",""config_id"":""346446df-cbc4-442c-aed4-94599e060a0e"",""version"":""2022-11-02T10:50:56.058067773Z"",""type"":""device""}]","[""automox"",""azure-ad"",""crowdstrike"",""illumio-core"",""lansweeper"",""malwarebytes-nebula""]","[]",activity,"2023-03-22T21:51:09.635345985Z","2022-08-19T12:32:11.019871063Z",device,"S-1-5-21-582935482-1975382284-823532881-299034","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:57.614 PM",,,"6/12/2023, 4:52:06.497 PM","44ed22e3-2259-500e-94c3-c8dc9d04e962",California,"[""140f2692-342d-405e-b7df-c00a6fc27afe""]",,,,,"da6204b2-7ad3-7f3b-88c8-701eed72da15","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"8/29/2022, 12:59:40.214 PM","6/12/2023, 4:50:41.937 PM","2023-05-06T10:27:42.937381998Z",device,"[""knfttjohfs""]",,"Windows 10","[""64.124.210.133"",""10.41.17.71""]","[""02:FF:00:B5:2E:55""]",,,,"bluth.co","QG2X2II5-01","[""endpoint_security""]",EnterpriseEndpoint,knfttjohfs,Windows,"Windows 10","[""10.41.17.71""]","[""64.124.210.133""]",,,"64.124.210.133","Redwood City","United States","North America","37.4845","-122.2347","[{""source"":""crowdstrike"",""id"":""44ed22e32259500e94c3c8dc9d04e962"",""config_id"":""140f2692-342d-405e-b7df-c00a6fc27afe"",""version"":""2023-02-19T13:27:58.942713623Z"",""type"":""device"",""agent_version"":""6.39.15316.0"",""last_observed_timestamp"":""2023-06-12T16:50:41.937381998Z"",""first_observed_timestamp"":""2022-08-29T12:59:40.214330987Z"",""last_activity_timestamp"":""2023-05-06T10:27:42.937381998Z"",""asset_type"":""device"",""attributes"":{""id"":""44ed22e32259500e94c3c8dc9d04e962"",""hostnames"":[""knfttjohfs""],""os"":""Windows 10"",""ips"":[""64.124.210.133"",""10.41.17.71""],""mac_addresses"":[""02:FF:00:B5:2E:55""],""additional_attributes"":{""crowdstrike_agent_version"":""6.39.15316.0"",""status"":""normal""},""active_directory_domain"":""bluth.co"",""serial_number"":""QG2X2II5-01"",""controls"":[""endpoint_security""],""asset_classification"":{""category"":""EnterpriseEndpoint"",""sub_category"":null},""agent_version"":""6.39.15316.0"",""os_platform"":""Windows"",""os_release"":""Windows 10"",""internal_ips"":[""10.41.17.71""],""external_ips"":[""64.124.210.133""],""geo_ip"":{""associated_ip"":""64.124.210.133"",""city"":""Redwood City"",""country"":""United States"",""locality"":""California"",""region"":""North America"",""latitude"":37.4845,""longitude"":-122.2347}}}]","[""crowdstrike""]","[]",activity,"2023-06-12T16:52:06.497948165Z","2023-02-19T13:27:58.942713623Z",device,,crowdstrike,"140f2692-342d-405e-b7df-c00a6fc27afe",false,"[]","Sevco_Devices_CL", +"aa9abeb0-77a5-42ee-947c-f7ba9c2a4290",RestAPI,,,"6/12/2023, 5:09:48.077 PM",,,"3/22/2023, 9:51:08.364 PM",,,"[ + ""140f2692-342d-405e-b7df-c00a6fc27afe"", + ""3184e5f9-309d-49c9-b471-ea7dfa192e05"", + ""346446df-cbc4-442c-aed4-94599e060a0e"", + ""809fb871-3ea2-4a4f-9eb5-13951894718d"", + ""9416b1ae-5057-4a72-b4af-559532e789a4"", + ""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"" +]",,,,,"19ca6ba6-b2b3-3437-f795-51e5d1eb7aab","2e3faba1-dec1-4fd2-b402-3a86c0aa9550",,"3/22/2023, 9:51:08.364 PM","3/22/2023, 9:51:08.364 PM",,device,,,,,,,,,,,,,,,,,,,,,,,,,,"[ + { + ""source"": ""azure-ad"", + ""id"": ""c737g07h-f0ef-660f-17hf-2070h4f027d8"", + ""config_id"": ""3184e5f9-309d-49c9-b471-ea7dfa192e05"", + ""version"": ""2022-08-22T07:50:40.205455202Z"", + ""type"": ""device"" + }, + { + ""source"": ""malwarebytes-nebula"", + ""id"": ""09ge59c7-d603-61d9-d58d-8389fef95hg6"", + ""config_id"": ""e4c3bd72-e8fd-4c10-a0ab-b651e1e89630"", + ""version"": ""2022-10-07T02:40:20.059024819Z"", + ""type"": ""device"" + }, + { + ""source"": ""illumio-core"", + ""id"": ""6g45651e-95ee-6ec9-1f3d-7fhcc0hhf33h"", + ""config_id"": ""9416b1ae-5057-4a72-b4af-559532e789a4"", + ""version"": ""2022-10-07T14:53:09.665858932Z"", + ""type"": ""device"" + }, + { + ""source"": ""automox"", + ""id"": ""201628482"", + ""config_id"": ""809fb871-3ea2-4a4f-9eb5-13951894718d"", + ""version"": ""2022-10-17T13:08:23.882591955Z"", + ""type"": ""device"" + }, + { + ""source"": ""crowdstrike"", + ""id"": ""cdch9f7438366cd0c0fhg274g4c58504"", + ""config_id"": ""140f2692-342d-405e-b7df-c00a6fc27afe"", + ""version"": ""2022-10-17T15:41:17.533170546Z"", + ""type"": ""device"" + }, + { + ""source"": ""lansweeper"", + ""id"": ""bluth\\eejcp\\3"", + ""config_id"": ""346446df-cbc4-442c-aed4-94599e060a0e"", + ""version"": ""2022-10-27T10:52:57.971067773Z"", + ""type"": ""device"" + } +]","[ + ""automox"", + ""azure-ad"", + ""crowdstrike"", + ""illumio-core"", + ""lansweeper"", + ""malwarebytes-nebula"" +]","[]",activity,"2023-03-22T21:51:08.364859168Z","2022-08-29T07:56:49.549141063Z",device,"S-1-5-21-582935482-1975382284-823532881-934764","microsoft-ad","036a1dee-1e6e-4f0c-b5d9-4410d2c52c77",false,"[]","Sevco_Devices_CL", diff --git a/Solutions/Dataminr Pulse/Analytic Rules/DataminrSentinelAlerts.yaml b/Solutions/Dataminr Pulse/Analytic Rules/DataminrSentinelAlerts.yaml new file mode 100644 index 00000000000..734a22b1330 --- /dev/null +++ b/Solutions/Dataminr Pulse/Analytic Rules/DataminrSentinelAlerts.yaml @@ -0,0 +1,36 @@ +id: "64a46029-3236-4d03-b5df-207366a623f1" +name: "Dataminr - urgent alerts detected" +description: | + 'Rule helps to detect whenever there is an alert found which has urgent alert-type in Dataminr.' +severity: Medium +status: Available +requiredDataConnectors: + - connectorId: DataminrPulseAlerts + dataTypes: + - DataminrPulseAlerts +queryFrequency: 5m +queryPeriod: 5m +triggerOperator: GreaterThan +triggerThreshold: 0 +tactics: + - Persistence +relevantTechniques: + - T1546 +query: | + DataminrPulseAlerts + | where EventSource in~ ('Greynoise', 'Shodan', 'VirusTotal', 'alienvault open threat exchange', 'urlscan') + and AlertType == "Urgent" +incidentConfiguration: + createIncident: true +eventGroupingSettings: + aggregationKind: SingleAlert +alertDetailsOverride: + alertDisplayNameFormat: 'Dataminr Alert: {{AlertId}}' + alertDescriptionFormat: '{{Caption}}' +entityMappings: + - entityType: URL + fieldMappings: + - identifier: Url + columnName: PostLink +version: 1.0.0 +kind: Scheduled \ No newline at end of file diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlerts.zip b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlerts.zip new file mode 100644 index 00000000000..4e18b724dae Binary files /dev/null and b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlerts.zip differ diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsHttpStarter/__init__.py b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsHttpStarter/__init__.py new file mode 100644 index 00000000000..624a8fc1a5c --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsHttpStarter/__init__.py @@ -0,0 +1,127 @@ +"""This __init__ file will be called once data is generated in webhook and it creates trigger.""" +import inspect +import azure.functions as func +import azure.durable_functions as df +from shared_code.logger import applogger +from shared_code.dataminrpulse_exception import DataminrPulseException +from shared_code.consts import LOGS_STARTS_WITH + + +def get_data_from_request_body(request): + """Get data from request body. + + Args: + request (func.HttpRequest): Azure function HttpRequest class object + + Raises: + DataminrPulseException: raises when an error occurs. + """ + __method_name = inspect.currentframe().f_code.co_name + try: + data = request.get_json() + return data + except ValueError as value_error: + applogger.error( + "{}(method={}) {}".format(LOGS_STARTS_WITH, __method_name, value_error) + ) + raise DataminrPulseException(value_error) + except Exception as err: + applogger.error("{}(method={}) {}".format(LOGS_STARTS_WITH, __method_name, err)) + raise DataminrPulseException(err) + + +async def main(req: func.HttpRequest, starter: str) -> func.HttpResponse: + """ + Start the execution. + + Args: + req (func.HttpRequest): To get data from request body pushed by webhook + + Returns: + func.HttpResponse: Status of Http request process (successful/failed). + """ + __method_name = inspect.currentframe().f_code.co_name + try: + applogger.debug("{} HttpStarter Function Called.".format(LOGS_STARTS_WITH)) + data = get_data_from_request_body(req) + if data: + client = df.DurableOrchestrationClient(starter) + if type(data) == dict: + keys_list = [key.lower() for key in list(data)] + if "integration-settings" in keys_list: + instance_id = await client.start_new( + req.route_params["functionName"], + client_input={ + "data": data, + "activity": "DataminrPulseAlertsManualActivity", + }, + ) + response = await client.wait_for_completion_or_create_check_status_response( + req, instance_id=instance_id, timeout_in_milliseconds=1000000 + ) + response_body = response.get_body().decode() + if "Error" in response_body: + return func.HttpResponse( + body=response_body, + status_code=400, + headers={"Content-Length": str(len(response_body))}, + ) + else: + response_body = "Integration settings are added successfully with settingId={}".format( + response_body + ) + return func.HttpResponse( + body=response_body, + status_code=200, + headers={"Content-Length": str(len(response_body))}, + ) + else: + instance_id = await client.start_new( + req.route_params["functionName"], + client_input={ + "data": data, + "activity": "DataminrPulseAlertsSentinelActivity", + }, + ) + applogger.info(f"Started orchestration with ID = '{instance_id}'.") + body = "Data Received successfully via Dataminr RTAP." + return func.HttpResponse( + body=body, + status_code=200, + headers={"Content-Length": str(len(body))}, + ) + else: + instance_id = await client.start_new( + req.route_params["functionName"], + client_input={ + "data": data, + "activity": "DataminrPulseAlertsSentinelActivity", + }, + ) + applogger.info(f"Started orchestration with ID = '{instance_id}'.") + body = "Data Received successfully via Dataminr RTAP." + return func.HttpResponse( + body=body, + status_code=200, + headers={"Content-Length": str(len(body))}, + ) + else: + applogger.info( + "{}(method={})No required data found.".format( + LOGS_STARTS_WITH, __method_name + ) + ) + body = "No required data found." + return func.HttpResponse( + body=body, + status_code=202, + headers={"Content-Length": str(len(body))}, + ) + + except DataminrPulseException as err: + body = "Error: {}".format(err) + return func.HttpResponse( + body=body, + status_code=400, + headers={"Content-Length": str(len(body))}, + ) diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsHttpStarter/function.json b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsHttpStarter/function.json new file mode 100644 index 00000000000..e3619cfb5ad --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsHttpStarter/function.json @@ -0,0 +1,26 @@ +{ + "scriptFile": "__init__.py", + "bindings": [ + { + "authLevel": "function", + "name": "req", + "type": "httpTrigger", + "direction": "in", + "route": "orchestrators/{functionName}", + "methods": [ + "post", + "get" + ] + }, + { + "name": "$return", + "type": "http", + "direction": "out" + }, + { + "name": "starter", + "type": "durableClient", + "direction": "in" + } + ] +} \ No newline at end of file diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsManualActivity/__init__.py b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsManualActivity/__init__.py new file mode 100644 index 00000000000..f9000bfcec2 --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsManualActivity/__init__.py @@ -0,0 +1,28 @@ +"""This __init__ file will be called by Orchastrator function on manual trigger.""" +from shared_code.logger import applogger +from shared_code.dataminrpulse_exception import DataminrPulseException +from .dataminrpulse_integration_settings import DataminrPulseConfigureSettings + + +def main(name): + """Start Execution of Activity function. + + Args: + name (dict): data received via manual trigger to add integration settings. + + Returns: + str: setting_id on success or error message on failure. + """ + try: + applogger.info("Activity function called for manual trigger.") + configuresettings = DataminrPulseConfigureSettings() + settings_id = configuresettings.add_webhook_configuration_to_dataminr( + name + ) + return settings_id + except DataminrPulseException as err: + return ( + "Error while adding integration settings to Dataminr account. {}".format( + err + ) + ) diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsManualActivity/dataminrpulse_integration_settings.py b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsManualActivity/dataminrpulse_integration_settings.py new file mode 100644 index 00000000000..3bddb14baa8 --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsManualActivity/dataminrpulse_integration_settings.py @@ -0,0 +1,429 @@ +"""This file contains implementation to configure integration settings for Dataminr RTAP.""" +import os +import json +import inspect +import requests +from shared_code.consts import LOGS_STARTS_WITH, ENDPOINTS, BASE_URL +from shared_code.dataminrpulse_exception import DataminrPulseException +from shared_code.logger import applogger + +client_id = os.environ.get("ClientId") +client_secret = os.environ.get("ClientSecret") + + +class DataminrPulseConfigureSettings: + """This class will add integation settings in DataminrPulse to receive data via RTAPin Sentinel.""" + + def __init__(self) -> None: + """Initialize instance variables for class.""" + self.base_url = BASE_URL + self.auth_endpoint = ENDPOINTS["authentication"] + self.get_lists_path = ENDPOINTS.get("get_lists") + self.add_settings_path = ENDPOINTS.get("add_integration_settings") + self.logs_starts_with = LOGS_STARTS_WITH + self.error_logs = "{}(method={}) {}" + self.auth_headers = {"Content-Type": "application/x-www-form-urlencoded"} + self.headers = {"Content-Type": "application/json"} + self.list_ids = [] + self.check_environment_var_existance() + + def check_environment_var_existance(self): + """To verify that all required environment variables are exist. + + Raises: + DataminrPulseException: raise exception if any of the required environment variable is not set. + """ + __method_name = inspect.currentframe().f_code.co_name + env_var = [ + {"ClientId": client_id}, + {"ClientSecret": client_secret}, + {"BaseURL": BASE_URL}, + ] + try: + applogger.debug( + "{}(method={}) Checking environment variables are exist or not.".format( + self.logs_starts_with, __method_name + ) + ) + for i in env_var: + key, val = next(iter(i.items())) + if val is None: + raise DataminrPulseException( + "{} is not set in the environment please set the environment variable.".format( + key + ) + ) + applogger.debug( + "{}(method={}) All custom environment variable exists.".format( + self.logs_starts_with, __method_name + ) + ) + except DataminrPulseException as err: + applogger.error( + "{}".format( + self.error_logs.format(self.logs_starts_with, __method_name, err) + ) + ) + raise DataminrPulseException(err) + except Exception as err: + applogger.error( + "{}".format( + self.error_logs.format(self.logs_starts_with, __method_name, err) + ) + ) + raise DataminrPulseException(err) + + def make_rest_call( + self, endpoint, request_method, api_headers, params=None, body=None + ): + """To call DataminrPulse API. + + Args: + endpoint (str): endpoint to call. + request_method: method to use for requesting an endpoint.(POST/GET) + params (json, optional): query parameters to pass in API call. Defaults to None. + body (json, optional): Request body to pass in API call. Defaults to None. + + Returns: + json: returns json response if API call succeed. + """ + try: + __method_name = inspect.currentframe().f_code.co_name + applogger.debug( + "{}(method={}) Calling DataminrPulse API for endpoint={}".format( + self.logs_starts_with, __method_name, endpoint + ) + ) + dataminr_api_url = "{}{}".format(self.base_url, endpoint) + response = requests.request( + method=request_method, + url=dataminr_api_url, + headers=api_headers, + params=params, + data=body, + ) + if response.status_code == 400: + applogger.error( + "{}(method={}) The format of the request is incorrect. {}(StatusCode={})".format( + self.logs_starts_with, + __method_name, + response.text, + response.status_code, + ) + ) + elif response.status_code == 401: + applogger.error( + "{}(method={}) Invalid dma token. {}(StatusCode={})".format( + self.logs_starts_with, + __method_name, + response.text, + response.status_code, + ) + ) + elif response.status_code == 403: + applogger.error( + "{}(method={}) Not permitted to access this resource.{} (StatusCode={})".format( + self.logs_starts_with, + __method_name, + response.text, + response.status_code, + ) + ) + elif response.status_code == 500: + applogger.error( + "{}(method={}) The Dataminr server experienced an error. {}(StatusCode={})".format( + self.logs_starts_with, + __method_name, + response.text, + response.status_code, + ) + ) + elif response.status_code == 200: + applogger.debug( + "{}(method={}) request to endpoint {} is completed successfully.".format( + self.logs_starts_with, __method_name, endpoint + ) + ) + else: + applogger.error( + "{}(method={}) Error while calling Dataminr API: StatusCode={} , Message={}".format( + self.logs_starts_with, + __method_name, + response.status_code, + response.text, + ) + ) + except requests.ConnectionError as err: + applogger.error( + self.error_logs.format(self.logs_starts_with, __method_name, err) + ) + raise DataminrPulseException(err) + except requests.HTTPError as err: + applogger.error( + self.error_logs.format(self.logs_starts_with, __method_name, err) + ) + raise DataminrPulseException(err) + except requests.RequestException as err: + applogger.error( + self.error_logs.format(self.logs_starts_with, __method_name, err) + ) + raise DataminrPulseException(err) + except Exception as err: + applogger.error( + "{}(method={}) Exception{}".format( + self.logs_starts_with, __method_name, err + ) + ) + raise DataminrPulseException(err) + return response + + def authentication(self, client_id, client_secret): + """To authenticate with DataminrPulse account. + + Args: + client_id (str): clientid of Dataminr account to authenticate with it. + client_secret (str): clientsecret of Dataminr account to authenticate with it. + + Raises: + DataminrPulseException: raises when any error occurs. + """ + try: + __method_name = inspect.currentframe().f_code.co_name + body = { + "grant_type": "api_key", + "client_id": client_id, + "client_secret": client_secret, + } + auth_response = self.make_rest_call( + self.auth_endpoint, "POST", self.auth_headers, body=body + ) + if auth_response.status_code == 200: + applogger.info( + "{}(method={}) Successfully authenticated with DataminrPulse account.".format( + self.logs_starts_with, __method_name + ) + ) + json_auth_response = auth_response.json() + access_token = json_auth_response.get("dmaToken") + self.headers.update({"Authorization": "Dmauth {}".format(access_token)}) + else: + applogger.error( + "{}(method={}) Error while authenticating with DataminrPulse account.".format( + self.logs_starts_with, + __method_name, + ) + ) + raise DataminrPulseException(auth_response.text) + except DataminrPulseException as err: + raise DataminrPulseException(err) + except Exception as err: + applogger.error( + "{}".format( + self.error_logs.format(self.logs_starts_with, __method_name, err) + ) + ) + raise DataminrPulseException(err) + + def get_lists(self): + """To fetch lists from Dataminr API. + + Args: + names (list): names of lists + + Returns: + list: list of watchlists configured in Dataminr account. + """ + try: + __method_name = inspect.currentframe().f_code.co_name + applogger.debug( + "{}(method={}) Getting lists from Dataminr API.".format( + self.logs_starts_with, __method_name + ) + ) + api_response = self.make_rest_call(self.get_lists_path, "GET", self.headers) + if api_response.status_code == 200: + json_api_response = api_response.json() + lists_resp = json_api_response.get("watchlists").values() + watchlists = sum(lists_resp, []) + return watchlists + else: + applogger.error( + "{}(method={}) Error while fetching lists configured in provided Dataminr account.".format( + self.logs_starts_with, + __method_name, + ) + ) + raise DataminrPulseException(api_response.text) + except KeyError as err: + applogger.error( + self.error_logs.format(self.logs_starts_with, __method_name, err) + ) + raise DataminrPulseException(err) + except Exception as err: + applogger.error( + self.error_logs.format(self.logs_starts_with, __method_name, err) + ) + raise DataminrPulseException(err) + + def get_list_ids(self, watchlists): + """Get list ids. + + Args: + lists (list): list of cofigured watchlists. + """ + __method_name = inspect.currentframe().f_code.co_name + try: + self.list_ids = [lst.get("id") for lst in watchlists] + except KeyError as err: + applogger.error( + self.error_logs.format(self.logs_starts_with, __method_name, err) + ) + raise DataminrPulseException(err) + except Exception as err: + applogger.error( + self.error_logs.format(self.logs_starts_with, __method_name, err) + ) + raise DataminrPulseException(err) + + def prepare_integration_settings_body(self, data): + """Prepare request body to add integration settings. + + Args: + data (json): data required for configuration. + + Raises: + DataminrPulseException: raises when any error occurs. + + Returns: + json: request body require for adding integration settings. + """ + __method_name = inspect.currentframe().f_code.co_name + try: + body = { + "watchlists": [], + "deliveryType": "ms_sentinel", + "deliveryInfo": {"webhook": "", "authToken": ""}, + } + watchlists = [] + for id in self.list_ids: + watchlist = {"id": id, "brands": ["ALERT", "FLASH", "URGENT"]} + watchlists.append(watchlist) + body.update({"watchlists": watchlists}) + webhook_url = data.get("url") + auth_token = data.get("token") + if webhook_url and auth_token: + body.update( + { + "deliveryInfo": { + "webhook": webhook_url, + "authToken": auth_token, + } + } + ) + else: + applogger.error( + "{}(method_name={}) Please provide valid key-value for url and token as mentioned below.".format( + self.logs_starts_with, __method_name + ) + ) + applogger.error('("url": "", "token": "")') + raise DataminrPulseException( + 'Please provide valid key-value for url and token as mentioned:("url": "", "token": "")' + ) + return body + except DataminrPulseException as err: + raise DataminrPulseException(err) + except Exception as err: + applogger.error( + self.error_logs.format(self.logs_starts_with, __method_name, err) + ) + raise DataminrPulseException(err) + + def add_integration_settings(self, data): + """To add integration settings for Dataminr RTAP. + + Args: + data (json): data obtained via HTTP request of azure function. + + Raises: + DataminrPulseException: raises when any error occurs. + + Returns: + json: json response of API + """ + __method_name = inspect.currentframe().f_code.co_name + try: + body = self.prepare_integration_settings_body(data) + api_response = self.make_rest_call( + self.add_settings_path, "POST", self.headers, body=json.dumps(body) + ) + if api_response.status_code == 200: + return api_response.json() + else: + applogger.error( + "{}(method={}) Error while adding integration settings in DataminrPulse account.".format( + self.logs_starts_with, + __method_name, + ) + ) + raise DataminrPulseException(api_response.text) + except DataminrPulseException as err: + raise DataminrPulseException(err) + except Exception as err: + applogger.error( + self.error_logs.format(self.logs_starts_with, __method_name, err) + ) + raise DataminrPulseException(err) + + def add_webhook_configuration_to_dataminr(self, data): + """To configure integration settings for Dataminr RTAP. + + Args: + data (json): data obtained via HTTP request of azure function. + client_id (str): clientid of Dataminr account to authenticate with it. + client_secret (str): clientsecret of Dataminr account to authenticate with it. + + Raises: + DataminrPulseException: raises when any error occurs. + + Returns: + tuple: return success_flag and settings_id if configureation is done successfully. + """ + __method_name = inspect.currentframe().f_code.co_name + try: + setting_id = None + self.authentication(client_id, client_secret) + watchlists = self.get_lists() + if watchlists: + self.get_list_ids(watchlists) + else: + applogger.warning( + "{}(method={}) At least one watchlist must be configured on Dataminr acoount to get alerts.".format( + self.logs_starts_with, __method_name + ) + ) + raise DataminrPulseException( + "Please configure atleast one watchlist on your Dataminr account." + ) + json_response = self.add_integration_settings(data) + if json_response: + applogger.info( + "{}(method={}) Integration settings are added successfully to Dataminr with settingId={}".format( + self.logs_starts_with, + __method_name, + json_response.get("deliverySettingId"), + ) + ) + setting_id = json_response.get("deliverySettingId") + return setting_id + else: + raise DataminrPulseException( + "Problem while adding integration settings." + ) + except DataminrPulseException as err: + raise DataminrPulseException(err) + except Exception as err: + applogger.error( + self.error_logs.format(self.logs_starts_with, __method_name, err) + ) + raise DataminrPulseException(err) diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsManualActivity/function.json b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsManualActivity/function.json new file mode 100644 index 00000000000..97685a81bbc --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsManualActivity/function.json @@ -0,0 +1,10 @@ +{ + "scriptFile": "__init__.py", + "bindings": [ + { + "name": "name", + "type": "activityTrigger", + "direction": "in" + } + ] +} \ No newline at end of file diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsSentinelActivity/__init__.py b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsSentinelActivity/__init__.py new file mode 100644 index 00000000000..ae1f52661b1 --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsSentinelActivity/__init__.py @@ -0,0 +1,31 @@ +"""This __init__ file will be called by Orchastrator function to ingest data in Sentinel.""" +import time +from .dataminr_pulse import DataminrPulse +from shared_code.logger import applogger +from shared_code.consts import LOGS_STARTS_WITH +from shared_code.dataminrpulse_exception import DataminrPulseException + + +def main(name): + """Start Execution of Activity Function. + + Args: + name (dict): data received via Dataminr RTAP. + + Returns: + str: status message of activity function. + """ + try: + applogger.info("Activity function called.") + start = time.time() + dataminr_pulse_obj = DataminrPulse() + status = dataminr_pulse_obj.send_alert_data_to_sentinel(name) + end = time.time() + applogger.info( + "{} :time taken for data ingestion is {} sec".format( + LOGS_STARTS_WITH, int(end - start) + ) + ) + except DataminrPulseException as err: + return err + return status diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsSentinelActivity/dataminr_pulse.py b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsSentinelActivity/dataminr_pulse.py new file mode 100644 index 00000000000..eba4cd6b3d9 --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsSentinelActivity/dataminr_pulse.py @@ -0,0 +1,364 @@ +"""This file contains implementation to ingest Dataminr RTAP alert data into sentinel.""" +import os +import json +import inspect +from .sentinel import MicrosoftSentinel +from shared_code.consts import ( + LOGS_STARTS_WITH, + RELATEDALERTS_TABLE_NAME, + VULNERABILITY_PRODUCTS_TABLE_NAME, + VULNERABILITY_PRODUCTS_RELATEDALERTS_TABLE_NAME, +) +from shared_code.dataminrpulse_exception import DataminrPulseException +from shared_code.logger import applogger + +alerts_table = os.environ.get("AlertsTableName") +related_alerts_table = RELATEDALERTS_TABLE_NAME.format(alerts_table) +vulnerabilities_products_table = VULNERABILITY_PRODUCTS_TABLE_NAME.format(alerts_table) +vulnerabilities_products_related_alerts_table = ( + VULNERABILITY_PRODUCTS_RELATEDALERTS_TABLE_NAME.format(alerts_table) +) + + +class DataminrPulse: + """This class contains methods to get data from request body pushed via Dataminr RTAP and ingest into Sentinel.""" + + def __init__(self) -> None: + """Initialize instance variables for class.""" + self.logs_starts_with = LOGS_STARTS_WITH + self.microsoftsentinel = MicrosoftSentinel() + self.error_logs = "{}(method={}) {}" + self.check_environment_var_existance() + + def check_environment_var_existance(self): + """To verify that all required environment variables are exist. + + Raises: + DataminrPulseException: raise exception if any of the required environment variable is not set. + """ + __method_name = inspect.currentframe().f_code.co_name + try: + applogger.debug( + "{}(method={}) Checking environment variables are exist or not.".format( + self.logs_starts_with, __method_name + ) + ) + if alerts_table is None: + raise DataminrPulseException( + "AlertsTableName is not set in the environment please set the environment variable." + ) + applogger.debug( + "{}(method={}) All custom environment variable exists.".format( + self.logs_starts_with, __method_name + ) + ) + except DataminrPulseException as err: + applogger.error( + "{}".format( + self.error_logs.format(self.logs_starts_with, __method_name, err) + ) + ) + raise DataminrPulseException(err) + except Exception as err: + applogger.error( + "{}".format( + self.error_logs.format(self.logs_starts_with, __method_name, err) + ) + ) + raise DataminrPulseException(err) + + def extract_products_from_vulnerability( + self, alert_index, vulnerabilities, log_type + ): + """Extract products data from vulnerabilities and ingested in seperate log analytics table. + + Args: + alert_index (str): alert_id of alert data. + vulnerabilities (list): vulnerabilities list of alert data. + log_type (str): Table name in which vulnerability_products data will be ingested. + + Raises: + DataminrPulseException: raises DataminrPulseException when any error occurs. + + Returns: + list: returns updated vulnerabilities list. + """ + __method_name = inspect.currentframe().f_code.co_name + try: + for vulnerability in vulnerabilities: + vuln_id = vulnerability.get("id") + products = vulnerability.get("products") + if products: + data = { + "index": alert_index, + "vulnerabilities_id": vuln_id, + "vulnerabilities_products": products, + } + body = json.dumps(data) + status_code = self.microsoftsentinel.post_data(body, log_type) + if status_code >= 200 and status_code <= 299: + applogger.debug( + "{}(method={}) products for vulnerability id={}, alert id={} posted successfully.".format( + self.logs_starts_with, + __method_name, + vuln_id, + alert_index, + ) + ) + vulnerability.pop("products") + return vulnerabilities + except KeyError as err: + applogger.error( + "{}".format( + self.error_logs.format(self.logs_starts_with, __method_name, err) + ) + ) + raise DataminrPulseException(err) + except Exception as err: + applogger.error( + "{}".format( + self.error_logs.format(self.logs_starts_with, __method_name, err) + ) + ) + raise DataminrPulseException(err) + + def prepare_embeded_labels_data(self, alert_index, embeded_labels, log_type): + """Prepare Embeded Labels data. + + Args: + alert_index (str): index of alert data recived via RTAP. + embeded_labels(list): list of embeded labels data of a alert. + log_type (str): Table name in which vulnerability_products data will be ingested. + + Raises: + DataminrPulseException: raises DataminrPulseException when any error occurs. + """ + __method_name = inspect.currentframe().f_code.co_name + try: + for cybermetadata in embeded_labels: + data = cybermetadata.get("data") + if data: + vulnerabilities = data.get("vulnerabilities") + if vulnerabilities: + updated_vulnerabilities = ( + self.extract_products_from_vulnerability( + alert_index, + vulnerabilities, + log_type, + ) + ) + data.update({"vulnerabilities": updated_vulnerabilities}) + cybermetadata.update({"data": data}) + return embeded_labels + except KeyError as err: + applogger.error( + "{}".format( + self.error_logs.format(self.logs_starts_with, __method_name, err) + ) + ) + raise DataminrPulseException(err) + except Exception as err: + applogger.error( + "{}".format( + self.error_logs.format(self.logs_starts_with, __method_name, err) + ) + ) + raise DataminrPulseException(err) + + def prepare_rawtoredirecturl(self, alerts_data): + """ + Prepare a data for subfield rawToRedirectedUrls in alert_data. + + Args: + alerts_data (json): alert data received via Dataminr RTAP. + """ + __method_name = inspect.currentframe().f_code.co_name + try: + if alerts_data.get("internalOnly"): + internal_only = alerts_data.get("internalOnly") + redirect_link = internal_only.get("redirectLinks") + if redirect_link: + redirect_urls = redirect_link.get("rawToRedirectedUrls") + if redirect_urls: + alerts_data["internalOnly"]["redirectLinks"][ + "rawToRedirectedUrls" + ] = [redirect_urls] + except KeyError as err: + applogger.error( + "{}".format( + self.error_logs.format(self.logs_starts_with, __method_name, err) + ) + ) + raise DataminrPulseException(err) + except Exception as err: + applogger.error( + "{}".format( + self.error_logs.format(self.logs_starts_with, __method_name, err) + ) + ) + raise DataminrPulseException(err) + + def post_related_alerts(self, related_alerts, alert_id): + """Post related alerts in seperate table obtained in alerts data received via DataminrPulse RTAP. + + Args: + related_alerts (list): alerts related to provided alert_id. + alert_id (_type_): id of an alert whose related alerts are going to be ingested. + + Raises: + DataminrPulseException: raises when any error occurs. + + Returns: + list: returns list of related_alerts_id. + """ + __method_name = inspect.currentframe().f_code.co_name + try: + count = 0 + related_alert_ids = [] + applogger.info( + "{}(method={}) Received total {} alerts data related to id={} via RTAP.".format( + self.logs_starts_with, + __method_name, + len(related_alerts), + alert_id, + ) + ) + for alert in related_alerts: + alert.update({"alert_relatedTo": alert_id}) + self.prepare_rawtoredirecturl(alert) + embeded = alert.get("_embedded") + if embeded: + embeded_labels = embeded.get("labels") + if embeded_labels: + updated_embeded_labels = self.prepare_embeded_labels_data( + alert.get("index"), + embeded_labels, + vulnerabilities_products_related_alerts_table, + ) + alert.update({"_embedded": {"labels": updated_embeded_labels}}) + related_alert_ids.append(alert.get("index")) + body = json.dumps(alert) + status_code = self.microsoftsentinel.post_data( + body, related_alerts_table + ) + if status_code >= 200 and status_code <= 299: + count += 1 + applogger.info( + "{}(method={}) Posted total {} alerts data related to id={} successfully.".format( + self.logs_starts_with, + __method_name, + count, + alert_id, + ) + ) + return related_alert_ids + except DataminrPulseException as err: + raise DataminrPulseException(err) + except Exception as err: + applogger.error( + "{}".format( + self.error_logs.format(self.logs_starts_with, __method_name, err) + ) + ) + raise DataminrPulseException(err) + + def prepare_alerts(self, alert_data): + """Prepare alerts data for ingesting in Sentinel. + + Args: + alert_data (json): Alert data received via Dataminr RTAP. + + Raises: + DataminrPulseException: raises when any error occurs. + + Returns: + alert_data(json): returns prepared alert data + """ + __method_name = inspect.currentframe().f_code.co_name + try: + self.prepare_rawtoredirecturl(alert_data) + embeded = alert_data.get("_embedded") + if embeded: + embeded_labels = embeded.get("labels") + if embeded_labels: + updated_embeded_labels = self.prepare_embeded_labels_data( + alert_data.get("index"), + embeded_labels, + vulnerabilities_products_table, + ) + alert_data.update({"_embedded": {"labels": updated_embeded_labels}}) + if alert_data.get("relatedAlerts"): + related_alerts = self.post_related_alerts( + alert_data.get("relatedAlerts"), alert_data.get("index") + ) + alert_data.update({"relatedAlerts": related_alerts}) + except DataminrPulseException as err: + raise DataminrPulseException(err) + except Exception as error: + applogger.error( + "{}".format( + self.error_logs.format(self.logs_starts_with, __method_name, error) + ) + ) + raise DataminrPulseException(error) + + def send_alert_data_to_sentinel(self, data): + """To process alerts data received via DataminrPulse RTAP and ingest into Sentinel. + + Raises: + DataminrPulseException: raises when any error occurs. + """ + __method_name = inspect.currentframe().f_code.co_name + try: + if type(data) == dict: + self.prepare_alerts(data) + body = json.dumps(data) + applogger.debug( + "{}(method={}) Posting the RTAP alerts from DataminrPulseAlertsSentinelConnector".format( + self.logs_starts_with, __method_name + ) + ) + self.microsoftsentinel.post_data( + body, + alerts_table, + ) + applogger.info( + "{}(method={}) Alert data is ingested into Sentinel.".format( + self.logs_starts_with, __method_name + ) + ) + else: + applogger.info( + "{}(method={}) Total alerts recived via RTAP are {}.".format( + self.logs_starts_with, __method_name, len(data) + ) + ) + count = 0 + for alert in data: + self.prepare_alerts(alert) + count += 1 + body = json.dumps(data) + applogger.debug( + "{}(method={}) Posting the RTAP alert data from DataminrPulseAlertsSentinelConnector".format( + self.logs_starts_with, __method_name + ) + ) + self.microsoftsentinel.post_data( + body, + alerts_table, + ) + applogger.info( + "{}(method={}) Total {} alerts ingested in Sentinel.".format( + self.logs_starts_with, __method_name, count + ) + ) + return "Data ingetsed successfully to Sentinel log analytics workspace." + except DataminrPulseException as err: + raise DataminrPulseException(err) + except Exception as error: + applogger.error( + "{}".format( + self.error_logs.format(self.logs_starts_with, __method_name, error) + ) + ) + raise DataminrPulseException(error) diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsSentinelActivity/function.json b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsSentinelActivity/function.json new file mode 100644 index 00000000000..97685a81bbc --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsSentinelActivity/function.json @@ -0,0 +1,10 @@ +{ + "scriptFile": "__init__.py", + "bindings": [ + { + "name": "name", + "type": "activityTrigger", + "direction": "in" + } + ] +} \ No newline at end of file diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsSentinelActivity/sentinel.py b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsSentinelActivity/sentinel.py new file mode 100644 index 00000000000..0c719c229d0 --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsSentinelActivity/sentinel.py @@ -0,0 +1,115 @@ +"""This file contains AzureSentinel class which is used to post data into log analytics workspace.""" +import base64 +import datetime +import hashlib +import hmac +import os +import requests +from shared_code.logger import applogger +from shared_code.consts import LOGS_STARTS_WITH +from shared_code.dataminrpulse_exception import DataminrPulseException + +customer_id = os.environ.get("WorkspaceID") +shared_key = os.environ.get("WorkspaceKey") + + +class MicrosoftSentinel: + """AzureSentinel class is used to post data into log Analytics workspace.""" + + def __init__(self) -> None: + """Intialize instance variables for MicrosoftSentinel class.""" + self.logs_start_with = "{}(MicrosoftSentinel)".format(LOGS_STARTS_WITH) + + def build_signature( + self, + date, + content_length, + method, + content_type, + resource, + ): + """To build signature which is required in header.""" + x_headers = "x-ms-date:" + date + string_to_hash = ( + method + + "\n" + + str(content_length) + + "\n" + + content_type + + "\n" + + x_headers + + "\n" + + resource + ) + bytes_to_hash = bytes(string_to_hash, encoding="utf-8") + decoded_key = base64.b64decode(shared_key) + encoded_hash = base64.b64encode( + hmac.new(decoded_key, bytes_to_hash, digestmod=hashlib.sha256).digest() + ).decode() + authorization = "SharedKey {}:{}".format(customer_id, encoded_hash) + return authorization + + # Build and send a request to the POST API + def post_data(self, body, log_type): + """Build and send a request to the POST API. + + Args: + body (str): Data to post into Sentinel log analytics workspace + log_type (str): Custom log table name in which data wil be added. + + Returns: + status_code: Returns the response status code got while posting data to sentinel. + """ + method = "POST" + content_type = "application/json" + resource = "/api/logs" + rfc1123date = datetime.datetime.utcnow().strftime("%a, %d %b %Y %H:%M:%S GMT") + content_length = len(body) + try: + signature = self.build_signature( + rfc1123date, + content_length, + method, + content_type, + resource, + ) + except Exception as err: + applogger.error("{} Error occurred: {}".format(self.logs_start_with, err)) + raise DataminrPulseException( + "Error while generating signature for posting data into log analytics." + ) + uri = ( + "https://" + + customer_id + + ".ods.opinsights.azure.com" + + resource + + "?api-version=2016-04-01" + ) + + headers = { + "content-type": content_type, + "Authorization": signature, + "Log-Type": log_type, + "x-ms-date": rfc1123date, + } + try: + response = requests.post(uri, data=body, headers=headers) + if response.status_code >= 200 and response.status_code <= 299: + return response.status_code + else: + applogger.info("Response code: {} from posting data to log analytics.\nError: {}".format( + response.status_code, response.content + )) + raise DataminrPulseException( + "Response code: {} from posting data to log analytics.\nError: {}".format( + response.status_code, response.content + ) + ) + except DataminrPulseException as error: + applogger.error("{} Error:{}".format(self.logs_start_with, error)) + raise DataminrPulseException( + "DataminrException: Error while posting data to sentinel." + ) + except Exception as error: + applogger.error("{} Error:{}".format(self.logs_start_with, error)) + raise DataminrPulseException() diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsSentinelOrchestrator/__init__.py b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsSentinelOrchestrator/__init__.py new file mode 100644 index 00000000000..6f51794253d --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsSentinelOrchestrator/__init__.py @@ -0,0 +1,23 @@ +"""This __init__ file will be called by Http Starter function to pass the data to activity function.""" +import azure.durable_functions as df +from shared_code.logger import applogger + + +def orchestrator_function(context: df.DurableOrchestrationContext): + """Get data from durable orchestration context and schedule an activity for execution. + + Args: + context (df.DurableOrchestrationContext): Context of the durable orchestration execution. + + Returns: + str: result of Activity function + """ + applogger.debug("Orchestrator function called.") + json_data = context.get_input() + result1 = yield context.call_activity( + json_data.get("activity"), json_data.get("data") + ) + return result1 + + +main = df.Orchestrator.create(orchestrator_function) diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsSentinelOrchestrator/function.json b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsSentinelOrchestrator/function.json new file mode 100644 index 00000000000..82fabb9a853 --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlertsSentinelOrchestrator/function.json @@ -0,0 +1,10 @@ +{ + "scriptFile": "__init__.py", + "bindings": [ + { + "name": "context", + "type": "orchestrationTrigger", + "direction": "in" + } + ] +} \ No newline at end of file diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlerts_FunctionApp.json b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlerts_FunctionApp.json new file mode 100644 index 00000000000..c26e42db3b5 --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseAlerts_FunctionApp.json @@ -0,0 +1,161 @@ +{ + "id": "DataminrPulseAlerts", + "title": "Dataminr Pulse Alerts Data Connector", + "publisher": "Dataminr", + "descriptionMarkdown": "Dataminr Pulse Alerts Data Connector brings our AI-powered real-time intelligence into Microsoft Sentinel for faster threat detection and response.", + "graphQueries": [ + { + "metricName": "Total Alerts data received", + "legend": "DataminrPulse_Alerts_CL", + "baseQuery": "DataminrPulse_Alerts_CL" + } + ], + "sampleQueries": [ + { + "description": "Dataminr Pulse Alerts Data for all alertTypes", + "query": "DataminrPulse_Alerts_CL\n | sort by TimeGenerated desc" + } + ], + "dataTypes": [ + { + "name": "DataminrPulse_Alerts_CL", + "lastDataReceivedQuery": "DataminrPulse_Alerts_CL\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriterias": [ + { + "type": "IsConnectedQuery", + "value": [ + "DataminrPulse_Alerts_CL\n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(30d)" + ] + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions on the workspace are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + }, + { + "provider": "Microsoft.OperationalInsights/workspaces/sharedKeys", + "permissionsDisplayText": "read permissions to shared keys for the workspace are required. [See the documentation to learn more about workspace keys](https://docs.microsoft.com/azure/azure-monitor/platform/agent-windows#obtain-workspace-id-and-key).", + "providerDisplayName": "Keys", + "scope": "Workspace", + "requiredPermissions": { + "action": true + } + } + ], + "customs": [ + { + "name": "Azure Subscription", + "description": "Azure Subscription with owner role is required to register an application in azure active directory and assign role of contributor to app in resource group." + }, + { + "name": "Microsoft.Web/sites permissions", + "description": "Read and write permissions to Azure Functions to create a Function App is required. [See the documentation to learn more about Azure Functions](https://docs.microsoft.com/azure/azure-functions/)." + }, + { + "name": "Required Dataminr Credentials/permissions", + "description": "\n\na. Users must have a valid Dataminr Pulse API **client ID** and **secret** to use this data connector.\n\n b. One or more Dataminr Pulse Watchlists must be configured in the Dataminr Pulse website." + } + ] + }, + "instructionSteps": [ + { + "title": "", + "description": ">**NOTE:** This connector uses Azure Functions to connect to the DataminrPulse in which logs are pushed via Dataminr RTAP and it will ingest logs into Microsoft Sentinel. Furthermore, the connector will fetch the ingested data from the custom logs table and create Threat Intelligence Indicators into Microsoft Sentinel Threat Intelligence. This might result in additional data ingestion costs. Check the [Azure Functions pricing page](https://azure.microsoft.com/pricing/details/functions/) for details." + }, + { + "title": "", + "description": ">**(Optional Step)** Securely store workspace and API authorization key(s) or token(s) in Azure Key Vault. Azure Key Vault provides a secure mechanism to store and retrieve key values. [Follow these instructions](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) to use Azure Key Vault with an Azure Function App." + }, + { + "title": "", + "description": "**STEP 1- Credentials for the Dataminr Pulse Client ID and Client Secret**\n\n * Obtain Dataminr Pulse user ID/password and API client ID/secret from your Dataminr Customer Success Manager (CSM)." + }, + { + "title": "", + "description": "**STEP 2- Configure Watchlists in Dataminr Pulse portal.**\n\n Follow the steps in this section to configure watchlists in portal:\n\n 1. **Login** to the Dataminr Pulse [website](https://app.dataminr.com).\n\n 2. Click on the settings gear icon, and select **Manage Lists**.\n\n 3. Select the type of Watchlist you want to create (Cyber, Topic, Company, etc.) and click the **New List** button.\n\n 4. Provide a **name** for your new Watchlist, and select a highlight color for it, or keep the default color.\n\n 5. When you are done configuring the Watchlist, click **Save** to save it." + }, + { + "title": "", + "description": "**STEP 3 - App Registration steps for the Microsoft Azure Active Directory Application**\n\n This integration requires an App registration in the Azure portal. Follow the steps in this section to create a new Azure Active Directory application:\n 1. Sign in to the [Azure portal](https://portal.azure.com/).\n 2. Search for and select **Azure Active Directory**.\n 3. Under **Manage**, select **App registrations > New registration**.\n 4. Enter a display **Name** for your application.\n 5. Select **Register** to complete the initial app registration.\n 6. When registration finishes, the Azure portal displays the app registration's Overview pane. You see the **Application (client) ID** and **Tenant ID**. The client ID and Tenant ID is required as configuration parameters for the execution of CofenseIntelligence Data Connector. \n\n> **Reference link:** [https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app](https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app)" + }, + { + "title": "", + "description": "**STEP 4 - Add a client secret for Microsoft Azure Active Directory Application**\n\n Sometimes called an application password, a client secret is a string value required for the execution of CofenseIntelligence Data Connector. Follow the steps in this section to create a new Client Secret:\n 1. In the Azure portal, in **App registrations**, select your application.\n 2. Select **Certificates & secrets > Client secrets > New client secret**.\n 3. Add a description for your client secret.\n 4. Select an expiration for the secret or specify a custom lifetime. Limit is 24 months.\n 5. Select **Add**. \n 6. *Record the secret's value for use in your client application code. This secret value is never displayed again after you leave this page.* The secret value is required as configuration parameter for the execution of CofenseIntelligence Data Connector. \n\n> **Reference link:** [https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app#add-a-client-secret](https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app#add-a-client-secret)" + }, + { + "title": "", + "description": "**STEP 5 - Assign role of Contributor to Microsoft Azure Active Directory Application**\n\n Follow the steps in this section to assign the role:\n 1. In the Azure portal, Go to **Resource Group** and select your resource group.\n 2. Go to **Access control (IAM)** from left panel.\n 3. Click on **Add**, and then select **Add role assignment**.\n 4. Select **Contributor** as role and click on next.\n 5. In **Assign access to**, select `User, group, or service principal`.\n 6. Click on **add members** and type **your app name** that you have created and select it.\n 7. Now click on **Review + assign** and then again click on **Review + assign**. \n\n> **Reference link:** [https://learn.microsoft.com/azure/role-based-access-control/role-assignments-portal](https://learn.microsoft.com/azure/role-based-access-control/role-assignments-portal)" + }, + { + "title": "", + "description": "**STEP 6 - Choose ONE from the following two deployment options to deploy the connector and the associated Azure Function**\n\n>**IMPORTANT:** Before deploying the Dataminr Pulse Microsoft Sentinel data connector, have the Workspace ID and Workspace Primary Key (can be copied from the following) readily available.", + "instructions": [ + { + "parameters": { + "fillWith": [ + "WorkspaceId" + ], + "label": "Workspace ID" + }, + "type": "CopyableLabel" + }, + { + "parameters": { + "fillWith": [ + "PrimaryKey" + ], + "label": "Primary Key" + }, + "type": "CopyableLabel" + } + ] + }, + { + "title": "Option 1 - Azure Resource Manager (ARM) Template", + "description": "Use this method for automated deployment of the DataminrPulse connector.\n\n1. Click the **Deploy to Azure** button below. \n\n\t[![Deploy To Azure](https://aka.ms/deploytoazurebutton)](https://aka.ms/sentinel-DataminrPulseAlerts-azuredeploy)\n2. Select the preferred **Subscription**, **Resource Group** and **Location**. \n3. Enter the below information : \n\t\tFunction Name \n\t\tWorkspace ID \n\t\tWorkspace Key \n\t\tAlertsTableName \n\t\tBaseURL \n\t\tClientId \n\t\tClientSecret \n\t\tAzureClientId \n\t\tAzureClientSecret \n\t\tAzureTenantId \n\t\tAzureResourceGroupName \n\t\tAzureWorkspaceName \n\t\tAzureSubscriptionId \n\t\tSchedule \n\t\tLogLevel \n \n4. Mark the checkbox labeled **I agree to the terms and conditions stated above**. \n5. Click **Purchase** to deploy." + }, + { + "title": "Option 2 - Manual Deployment of Azure Functions", + "description": "Use the following step-by-step instructions to deploy the Dataminr Pulse Microsoft Sentinel data connector manually with Azure Functions (Deployment via Visual Studio Code)." + }, + { + "title": "1) Deploy a Function App", + "description": "> **NOTE:** You will need to [prepare VS code](https://docs.microsoft.com/azure/azure-functions/functions-create-first-function-python#prerequisites) for Azure function development.\n\n1. Download the [Azure Function App](https://aka.ms/sentinel-DataminrPulseAlerts-functionapp) file. Extract archive to your local development computer.\n2. Start VS Code. Choose File in the main menu and select Open Folder.\n3. Select the top level folder from extracted files.\n4. Choose the Azure icon in the Activity bar, then in the **Azure: Functions** area, choose the **Deploy to function app** button.\nIf you aren't already signed in, choose the Azure icon in the Activity bar, then in the **Azure: Functions** area, choose **Sign in to Azure**\nIf you're already signed in, go to the next step.\n5. Provide the following information at the prompts:\n\n\ta. **Select folder:** Choose a folder from your workspace or browse to one that contains your function app.\n\n\tb. **Select Subscription:** Choose the subscription to use.\n\n\tc. Select **Create new Function App in Azure** (Don't choose the Advanced option)\n\n\td. **Enter a globally unique name for the function app:** Type a name that is valid in a URL path. The name you type is validated to make sure that it's unique in Azure Functions. (e.g. DmPulseXXXXX).\n\n\te. **Select a runtime:** Choose Python 3.8 or above.\n\n\tf. Select a location for new resources. For better performance and lower costs choose the same [region](https://azure.microsoft.com/regions/) where Microsoft Sentinel is located.\n\n6. Deployment will begin. A notification is displayed after your function app is created and the deployment package is applied.\n7. Go to Azure Portal for the Function App configuration." + }, + { + "title": "2) Configure the Function App", + "description": "1. In the Function App, select the Function App Name and select **Configuration**.\n2. In the **Application settings** tab, select **+ New application setting**.\n3. Add each of the following application settings individually, with their respective values (case-sensitive): \n\t\tFunction Name \n\t\tWorkspace ID \n\t\tWorkspace Key \n\t\tAlertsTableName \n\t\tBaseURL \n\t\tClientId \n\t\tClientSecret\n\t\tAzureClientId \n\t\tAzureClientSecret \n\t\tAzureTenantId \n\t\tAzureResourceGroupName \n\t\tAzureWorkspaceName \n\t\tAzureSubscriptionId \n\t\tSchedule \n\t\tLogLevel\n\t\tlogAnalyticsUri (optional) \n - Use logAnalyticsUri to override the log analytics API endpoint for dedicated cloud. For example, for public cloud, leave the value empty; for Azure GovUS cloud environment, specify the value in the following format: `https://.ods.opinsights.azure.us`.\n4. Once all application settings have been entered, click **Save**." + }, + { + "title": "", + "description": "**STEP 4 - Post Deployment steps**\n\n" + }, + { + "title": "1) Get the Function app endpoint", + "description": "1. Go to Azure function Overview page and Click on **\"Functions\"** in the left blade.\n2. Click on the function called **\"DataminrPulseAlertsHttpStarter\"**.\n3. Go to **\"GetFunctionurl\"** and copy the function url.\n4. Replace **{functionname}** with **\"DataminrPulseAlertsSentinelOrchestrator\"** in copied function url." + }, + { + "title": "2) To add integration settings in Dataminr RTAP using the function URL", + "description": "1. Within Microsoft Sentinel, go to Azure function apps then `` Overview page and Click on **\"Functions\"** in the left blade.\n2. Click on the function called **\"DataminrPulseAlertsHttpStarter\"**.\n3. Go to **\"Code + Test\"** and click **\"Test/Run\"**.\n4. Provide the necessary details as mentioned below: \n\t\tHTTP Method : \"POST\" \n\t\tKey : default(Function key)\" \n\t\tQuery : Name=functionName ,Value=DataminrPulseAlertsSentinelOrchestrator \n\t\tRequest Body (case-sensitive) : \n\t\t{ \n\t\t 'integration-settings': 'ADD', \n\t\t 'url': , \n\t\t 'token': \n\t\t}\n5. After providing all required details, click **Run**.\n6. You will receive an integration setting ID in the HTTP response with a status code of 200.\n7. Save **Integration ID** for future reference." + }, + { + "title": "", + "description": "*Now we are done with the adding integration settings for Dataminr RTAP. Once the Dataminr RTAP send an alert data, Function app is triggered and you should be able to see the Alerts data from the Dataminr Pulse into LogAnalytics workspace table called \"DataminrPulse_Alerts_CL\".*\n\n" + } + ] +} \ No newline at end of file diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseThreatIntelligence/__init__.py b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseThreatIntelligence/__init__.py new file mode 100644 index 00000000000..c7e7a0688b0 --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseThreatIntelligence/__init__.py @@ -0,0 +1,19 @@ +"""init file for Dataminr Pulse Threat Intelligence.""" +import datetime +import logging +import azure.functions as func +from .dataminr_pulse_threat_intelligence import DataMinrPulseThreatIntelligence + + +async def main(mytimer: func.TimerRequest) -> None: + """Driver method for Dataminr Pulse Threat Intelligence.""" + utc_timestamp = ( + datetime.datetime.utcnow().replace(tzinfo=datetime.timezone.utc).isoformat() + ) + + dataminr_pulse_threat_intelligence_obj = DataMinrPulseThreatIntelligence() + await dataminr_pulse_threat_intelligence_obj.get_dataminr_pulse_data_post_to_sentinel() + if mytimer.past_due: + logging.info("The timer is past due!") + + logging.info("Python timer trigger function ran at %s", utc_timestamp) diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseThreatIntelligence/dataminr_pulse_threat_intelligence.py b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseThreatIntelligence/dataminr_pulse_threat_intelligence.py new file mode 100644 index 00000000000..ec5b4a5cb7a --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseThreatIntelligence/dataminr_pulse_threat_intelligence.py @@ -0,0 +1,249 @@ +"""File for driver code DataminrPulse to sentinel.""" +import inspect +from datetime import datetime, timezone +import asyncio +import aiohttp +import json +from .sentinel import MicrosoftSentinel +from .dataminr_pulse_to_threat_intelligence_mapping import map_indicator_fields +from ..shared_code import consts +from ..shared_code.logger import applogger +from ..shared_code.dataminrpulse_exception import DataminrPulseException +from ..shared_code.state_manager import StateManager +from .get_logs_data import get_logs_data +from ..shared_code.validate_params import validate_params + + +class DataMinrPulseThreatIntelligence: + """Class for pulls data from dataminr_pulse log table and create indicator on sentinel.""" + + def __init__(self) -> None: + """Initialize instance variable for class.""" + self.state_manager_obj = StateManager( + consts.CONN_STRING, "time_generated_checkpoint" + ) + validate_params(consts.DATAMINR_PULSE_THREAT_INTELLIGENCE) + + def save_failed_indicators_data_to_checkpoint(self, indicators_data, file_name): + """Save failed indicators data to checkpoint. + + Args: + indicators_data (list): Failed indicators data. + """ + try: + __method_name = inspect.currentframe().f_code.co_name + state_manager_obj = StateManager(consts.CONN_STRING, file_path=file_name) + checkpoint_data = state_manager_obj.get( + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE + ) + if checkpoint_data is None or checkpoint_data == "": + state_manager_obj.post(json.dumps(indicators_data)) + applogger.info( + "{}(method={}) : {} : checkpoint file created and {} failed indicators posted successfully.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + len(indicators_data), + ) + ) + else: + json_checkpoint = json.loads(checkpoint_data) + json_checkpoint.extend(indicators_data) + state_manager_obj.post(json.dumps(json_checkpoint)) + applogger.info( + "{}(method={}) : {} : Updated checkpoint with {} failed indicators successfully.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + len(indicators_data), + ) + ) + except Exception as error: + applogger.error( + "{}(method={}) : {} : error while posting checkpoint data for failed indicators :{}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + error, + ) + ) + raise DataminrPulseException() + + async def post_data_to_threat_intelligence(self, dataminr_data): + """Create the asynchronous tasks for indicators ingestion to Microsoft Sentinel Threat Intelligence. + + Args: + indicators_data (dict): Indicators Data + + Returns: + dict: Dictionary containing the success_count and failure_count + """ + __method_name = inspect.currentframe().f_code.co_name + try: + failed_indicators = [] + microsoft_sentinel_obj = MicrosoftSentinel() + tasks = [] + conn = aiohttp.TCPConnector(limit_per_host=30) + async with aiohttp.ClientSession(connector=conn) as session: + for data in dataminr_data: + mapped_data = map_indicator_fields(data) + for indicator_data in mapped_data: + tasks.append( + asyncio.create_task( + microsoft_sentinel_obj.create_indicator(indicator_data, session) + ) + ) + results = await asyncio.gather(*tasks, return_exceptions=True) + success_count = 0 + failed_count = 0 + for i in results: + if i is None: + success_count += 1 + else: + failed_count += 1 + failed_indicators.append(i) + applogger.info( + "{}(method={}) : {} : Total_Invocations: {}, Successful Indicators Posting: {},\ + Failed Indicators Posting: {}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + len(results), + success_count, + failed_count, + ) + ) + return { + "success_count": success_count, + "failure_count": failed_count, + "failed_indicators": failed_indicators, + } + except DataminrPulseException: + applogger.error( + "{}(method={}) : {} : Indicator Creation Failed.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + ) + ) + raise DataminrPulseException() + except Exception as error: + applogger.error( + "{}(method={}) : {} : Indicator Creation Failed, Error: {}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + error, + ) + ) + raise DataminrPulseException() + + def batch(self, iterable, n): + """Yield data in batches of given size from list. + + Args: + iterable (list): list to make batch of + n (number): size of batches + + Yields: + list: data in batches of size n + """ + length_of_list = len(iterable) + for ndx in range(0, length_of_list, n): + yield iterable[ndx:min(ndx + n, length_of_list)] + + async def get_dataminr_pulse_data_post_to_sentinel(self): + """Fetch data and Indicators mapping.""" + __method_name = inspect.currentframe().f_code.co_name + try: + total_indicators = 0 + total_success_indicators = 0 + total_fail_indicators = 0 + checkpoint_time_generated = self.state_manager_obj.get( + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE + ) + if checkpoint_time_generated: + applogger.info( + "{}(method={}) : {} :TimeGenerated Checkpoint found:{}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + checkpoint_time_generated, + ) + ) + else: + checkpoint_time_generated = str(datetime.now(tz=timezone.utc)) + applogger.info( + "{}(method={}) : {} :TimeGenerated Checkpoint not found,\ + Fetching data from current Time, {}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + checkpoint_time_generated + ) + ) + self.state_manager_obj.post(checkpoint_time_generated) + logs_data = get_logs_data(checkpoint_time_generated) + if len(logs_data) == 0: + applogger.info( + "{}(method={}) : {} :No logs data found,\ + Stopping Execution.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + ) + ) + return + failed_indicators_file_name = str( + int(datetime.now(timezone.utc).timestamp()) + ) + for data in self.batch(logs_data, 100): + response = await self.post_data_to_threat_intelligence(data) + total_indicators = total_indicators + response["success_count"] + response["failure_count"] + total_success_indicators += response["success_count"] + total_fail_indicators += response["failure_count"] + self.state_manager_obj.post(data[-1]["TimeGenerated"]) + applogger.info( + "{}(method={}) : {} :Posting TimeGenerated in Checkpoint, data : {}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + data[-1]["TimeGenerated"], + ) + ) + if response["failure_count"] > 0: + applogger.info( + "{}(method={}) : {} : {} indicators failed, adding the indicators to retry_queue.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + response["failure_count"], + ) + ) + self.save_failed_indicators_data_to_checkpoint( + response["failed_indicators"], failed_indicators_file_name + ) + applogger.info( + "{}(method={}) : {} : Total collected Data from DataminrPulse : {}, " + "successfully posted indicators into sentinel: {}, " + "failed indicators while posting : {}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + total_indicators, + total_success_indicators, + total_fail_indicators, + ) + ) + except DataminrPulseException: + raise DataminrPulseException() + except Exception as error: + applogger.error( + "{}(method={}) : {} : error occurred :{}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + error, + ) + ) + raise DataminrPulseException() diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseThreatIntelligence/dataminr_pulse_to_threat_intelligence_mapping.py b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseThreatIntelligence/dataminr_pulse_to_threat_intelligence_mapping.py new file mode 100644 index 00000000000..66ba8e46197 --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseThreatIntelligence/dataminr_pulse_to_threat_intelligence_mapping.py @@ -0,0 +1,184 @@ +"""This file contains methods for mapping between Dataminr and sentinel.""" +import inspect +import json +from ipaddress import ip_address, IPv4Address +from ..shared_code import consts +from ..shared_code.logger import applogger +from ..shared_code.dataminrpulse_exception import DataminrPulseException + +hash_types = {"MD5": "MD5", "SHA256": "SHA-256", "SHA512": "SHA-512"} + + +def validate_ip_address(ip_addr: str) -> str: + """Validate Ip address and return the type of IP address. + + Args: + IP (string): ip address to validate + + Returns: + string: type of IP address, IPv4 or IPv6 + """ + try: + return "IPv4" if type(ip_address(ip_addr)) is IPv4Address else "IPv6" + except ValueError: + return "Invalid" + + +def get_urls(embedded): + """Get Urls from the dataminr data. + + Args: + embedded (dict): embedded field data + + Returns: + list: list of urls + """ + results = [] + urls = embedded.get("data", "").get("URLs", "") + if urls != "": + for url in urls: + results.append({"value": url, "type": "URL"}) + return results + + +def get_ip_addresses(embedded): + """Get Ip addresses from embedded field data. + + Args: + embedded (dict): embedded field data + + Returns: + list: list of ip addresses + """ + results = [] + addresses = embedded.get("data", "").get("addresses", "") + if addresses != "": + for address in addresses: + ip_addr = address.get("ip", "") + ip_addr = ip_addr.replace("[", "") + ip_addr = ip_addr.replace("]", "") + if ip_addr != "" or ip_addr != "[]": + type_of_ip = validate_ip_address(ip_addr) + if type_of_ip != "Invalid": + results.append({"value": ip_addr, "type": type_of_ip}) + return results + + +def get_file_hashes(embedded): + """Get File hashes from embedded field data. + + Args: + embedded (dict): embedded field data + + Returns: + list: list of file hashes + """ + results = [] + hash_values = embedded.get("data", "").get("hashValues", "") + if hash_values != "": + for hash_value in hash_values: + results.append( + { + "value": hash_value.get("value", ""), + "type": "File", + "hashType": hash_value.get("type", ""), + } + ) + return results + + +def get_pattern_and_values(embedded_fields_data): + """Parse Embedded array and return data for pattern type and value. + + Args: + embedded_fields_data (list): Embedded Fields Data + + Returns: + list: list of dictionary with value for pattern type and it's values. + """ + final_results = [] + for embedded in embedded_fields_data: + # check for URLs: + final_results.extend(get_urls(embedded)) + # check for ips: + final_results.extend(get_ip_addresses(embedded)) + # check for File Hashes + final_results.extend(get_file_hashes(embedded)) + return final_results + + +def map_indicator_fields(indicator): + """Map indicator fields for sentinel indicator. + + Args: + indicator (dict): Data fetched from DataminrPulse + azure_function_name (str): Azure Function Name + + Returns: + list: mapped indicators' data + """ + try: + mapped_indicators = [] + __method_name = inspect.currentframe().f_code.co_name + parsed_embedded_data = json.loads(indicator.get("_embedded_labels_s")) + confidence = "" + if indicator.get("alertType_id_s", "") == "flash": + confidence = 100 + elif indicator.get("alertType_id_s", "") == "urgentUpdate": + confidence = 60 + elif indicator.get("alertType_id_s", "") == "urgent": + confidence = 60 + elif indicator.get("alertType_id_s", "") == "alert": + confidence = 30 + parsed_patterns = get_pattern_and_values(parsed_embedded_data) + for parsed_data in parsed_patterns: + pattern = "" + pattern_type = "" + if parsed_data.get("type") == "URL": + pattern = "url:value =" + pattern_type = "URL" + elif parsed_data.get("type") == "File": + pattern = "file:hashes.'{}' =".format( + hash_types.get(parsed_data.get("hashType", ""), "") + ) + pattern_type = "File" + elif parsed_data.get("type") == "IPv4": + pattern = "ipv4-addr:value =" + pattern_type = "ipv4-addr" + elif parsed_data.get("type") == "IPv6": + pattern = "ipv6-addr:value =" + pattern_type = "ipv6-addr" + sentinel_indicator = { + "kind": "indicator", + "properties": { + "source": "Dataminr: {}".format(indicator.get("Source", "")), + "displayName": "Dataminr: {}".format(indicator.get("index_s", "")), + "confidence": confidence, + "description": indicator.get("headline_s", ""), + "threatTypes": [pattern_type], + "pattern": "[{} '{}']".format( + (pattern), parsed_data.get("value", "") + ), + "patternType": pattern_type, + }, + } + mapped_indicators.append(sentinel_indicator) + applogger.info( + "{}(method={}) : {} : Indicator Field Mapping is done for index {}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + indicator.get("index_s", ""), + ) + ) + return mapped_indicators + except Exception as error: + applogger.error( + "{}(method={}) : {} : Error occured :{}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + error, + ) + ) + raise DataminrPulseException() diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseThreatIntelligence/function.json b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseThreatIntelligence/function.json new file mode 100644 index 00000000000..36c1449c9e1 --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseThreatIntelligence/function.json @@ -0,0 +1,11 @@ +{ + "scriptFile": "__init__.py", + "bindings": [ + { + "name": "mytimer", + "type": "timerTrigger", + "direction": "in", + "schedule": "%Schedule%" + } + ] +} \ No newline at end of file diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseThreatIntelligence/get_logs_data.py b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseThreatIntelligence/get_logs_data.py new file mode 100644 index 00000000000..3f865f39f4b --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseThreatIntelligence/get_logs_data.py @@ -0,0 +1,82 @@ +"""Module to get_log table data from Log Analytics Workspace.""" +import datetime +import inspect +from azure.monitor.query import LogsQueryClient, LogsQueryStatus +from azure.identity import ClientSecretCredential +from ..shared_code import consts +from ..shared_code.logger import applogger +from ..shared_code.dataminrpulse_exception import DataminrPulseException + + +def parse_table_data(rows): + """Parse Table Data and return Dictionary form.""" + data_to_return = [] + for row in rows: + data = row._row_dict + data['TimeGenerated'] = data['TimeGenerated'].isoformat() + data_to_return.append(data) + return data_to_return + + +def get_logs_data(time_generated): + """Get data from log analytics workspace. + + Args: + time_generated (string): Time generated data + + Returns: + list: List containing the table data. + """ + __method_name = inspect.currentframe().f_code.co_name + credential = ClientSecretCredential( + client_id=consts.AZURE_CLIENT_ID, + client_secret=consts.AZURE_CLIENT_SECRET, + tenant_id=consts.AZURE_TENANT_ID, + ) + client = LogsQueryClient(credential) + query = """{}_CL + | extend Source=extract("via (.+)",1,headline_s) + | extend Source=substring(Source,0,strlen(Source)-1) + | where Source in~ ('Greynoise', 'Shodan', 'VirusTotal', 'alienvault open threat exchange', 'URLScan', 'CSIRT') + | sort by TimeGenerated asc + | project TimeGenerated, index_s, _embedded_labels_s, alertType_id_s, headline_s, Source""".format(consts.ALERTS_TABLE_NAME) + if time_generated is None or time_generated == "": + start_time = datetime.datetime.now(tz=datetime.timezone.utc) + else: + start_time = datetime.datetime.fromisoformat(time_generated) + end_time = datetime.datetime.now(tz=datetime.timezone.utc) + try: + response = client.query_workspace( + workspace_id=consts.WORKSPACE_ID, + query=query, + timespan=(start_time, end_time), + ) + if response.status == LogsQueryStatus.SUCCESS: + data = response.tables + else: + data = response.partial_data + applogger.warning(response.partial_error) + data_to_send = [] + for table in data: + rows = table.rows + data_to_send.extend(parse_table_data(rows=rows)) + return data_to_send + except Exception as error: + if "Failed to resolve table or column expression" in str(error): + applogger.error( + "{}(method={}) : {} : TableName provided is not Created or Data is not Ingested.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + ) + ) + raise DataminrPulseException() + applogger.error( + "{}(method={}) : {} : Error occurred :{}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + error, + ) + ) + raise DataminrPulseException() diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseThreatIntelligence/sentinel.py b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseThreatIntelligence/sentinel.py new file mode 100644 index 00000000000..4a25047e55f --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseThreatIntelligence/sentinel.py @@ -0,0 +1,220 @@ +"""This file contains methods for creating microsoft indicator and custom log table.""" +import time +import json +import inspect +import requests +from ..shared_code.logger import applogger +from ..shared_code.dataminrpulse_exception import DataminrPulseException +from ..shared_code import consts + + +class MicrosoftSentinel: + """This class contains methods to create indicator into Microsoft Sentinel.""" + + def __init__(self): + """Initialize instance variable for class.""" + self.bearer_token = self.auth_sentinel() + + def auth_sentinel(self): + """ + Authenticate with microsoft sentinel. + + Raises: + DataminrPulseException: Custom cofense Exception + + Returns: + String: Bearer token + """ + __method_name = inspect.currentframe().f_code.co_name + try: + applogger.info( + "{}(method={}) : {}: generating microsoft sentinel access token.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + ) + ) + azure_auth_url = consts.AZURE_AUTHENTICATION_URL.format( + consts.AZURE_TENANT_ID + ) + body = { + "client_id": consts.AZURE_CLIENT_ID, + "client_secret": consts.AZURE_CLIENT_SECRET, + "grant_type": "client_credentials", + "resource": "https://management.azure.com", + } + response = requests.post(url=azure_auth_url, data=body, timeout=10) + if response.status_code >= 200 and response.status_code <= 299: + json_response = response.json() + if "access_token" not in json_response: + applogger.error( + "{}(method={}) : {}: Access token not found in sentinel api call.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + ) + ) + raise DataminrPulseException() + else: + bearer_token = json_response.get("access_token") + applogger.info( + "{}(method={}) : {}: Microsoft sentinel access token generated successfully.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + ) + ) + applogger.debug( + "{}(method={}) :{}: url:{}, Status Code :{}: Microsoft Sentinel access token generated.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + azure_auth_url, + response.status_code, + ) + ) + return bearer_token + else: + applogger.error( + "{}(method={}) :{}: url:{}, Status Code :{}: Error while creating microsoft sentinel access_token." + " Error Reason: {}".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + azure_auth_url, + response.status_code, + response.reason, + ) + ) + raise DataminrPulseException() + except DataminrPulseException as error: + applogger.error( + "{}(method={}) : Error generated while getting sentinel access token :{}".format( + consts.LOGS_STARTS_WITH, __method_name, error + ) + ) + raise DataminrPulseException() + + async def create_indicator(self, indicators_data, session): + """To create indicator into Microsoft Sentinel. + + Args: + indicators_data (dict): Indicator data + session (session object): aiohttp session object + + Raises: + DataminrPulseException: DataminrPulseException + """ + __method_name = inspect.currentframe().f_code.co_name + try: + display_name = indicators_data.get('properties').get('displayName') + index_value = display_name.split(':')[-1] + retry_count_429 = 0 + retry_count_401 = 0 + while retry_count_429 <= 3 and retry_count_401 <= 1: + create_indicator_url = consts.CREATE_SENTINEL_INDICATORS_URL.format( + subscriptionId=consts.AZURE_SUBSCRIPTION_ID, + resourceGroupName=consts.AZURE_RESOURCE_GROUP, + workspaceName=consts.AZURE_WORKSPACE_NAME, + ) + headers = { + "Content-Type": "application/json", + "Authorization": "Bearer {}".format(self.bearer_token), + } + response = await session.post( + url=create_indicator_url, + headers=headers, + data=json.dumps(indicators_data), + ) + if response.status >= 200 and response.status <= 299: + applogger.info( + "{}(method={}) : {} : Created the indicator with status_code: {}, Index-{}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + response.status, + index_value + ) + ) + return None + elif response.status == 400: + json_response = await response.json() + applogger.warning( + "{}(method={}) : {} : url: {}, Status Code : {}: Error while\ + creating Indicator, Error:{}, Index-{}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + create_indicator_url, + response.status, + json_response, + index_value + ) + ) + return indicators_data + elif response.status == 429: + applogger.error( + "{}(method={}) : {} : trying again error 429.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + ) + ) + retry_count_429 += 1 + time.sleep(consts.SENTINEL_429_SLEEP) + elif response.status == 401: + applogger.error( + "{}(method={}) : {} : Unauthorized, Invalid Credentials, trying again error-401.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + ) + ) + self.bearer_token = self.auth_sentinel() + headers["Authorization"] = "Bearer {}".format(self.bearer_token) + retry_count_401 += 1 + else: + json_response = await response.json() + applogger.error( + "{}(method={}) : {} : url: {}, Status Code : {}: Error while\ + creating Indicator Error:{}, Index-{}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + create_indicator_url, + response.status, + json_response, + index_value + ) + ) + raise DataminrPulseException() + applogger.error( + "{}(method={}) : {} : Max retries exceeded for microsoft sentinel.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + ) + ) + raise DataminrPulseException() + except DataminrPulseException: + applogger.error( + "{}(method={}) : {} : Error generated while Creating Indicator. Index-{}".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + index_value + ) + ) + return indicators_data + + except Exception as error: + applogger.error( + "{}(method={}) : {} : Error generated while Creating Indicator, Error-{}, Index-{}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.DATAMINR_PULSE_THREAT_INTELLIGENCE, + error, + index_value + ) + ) + return indicators_data diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/README.md b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/README.md new file mode 100644 index 00000000000..4772ff66b97 --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/README.md @@ -0,0 +1,119 @@ +# Dataminr Pulse Data Connector +* [Introduction](#Introduction) +* [Description](#Description) +* [Folders](#Folders) +* [Prerequisites](#Prerequisites) +* [Configuration](#Configuration) +* [Installing for the users](#Installing-for-the-users) +* [Installing for testing](#Installing-for-testing) + +## Introduction + +This folder contains the Azure function Http Trigger code for DataminrPulseAlerts Data Connector. The connector will run automatically when Alerts data will be pushed via RTAP and will ingest the data into Microsoft Sentinel logs custom table `DataminrPulse_Alerts_CL`. To receive data from Dataminr RTAP, user must need to run this Data Connector manually once to add integration settings for deployed function app in Dataminr. + +## Description + +Dataminr Pulse Alerts Data Connector brings our AI-powered real-time intelligence into Microsoft Sentinel for faster threat detection and response. + +## Folders + +1. `DataminrPulseAlerts/` - This contains the package, requirements, ARM JSON file, connector page template JSON, and other dependencies. +2. `DataminrPulseAlertsHttpStarter/` - This contains the azure function source code to receive data via webhook request and invoke Orchestrator function. +3. `DataminrPulseAlertsSentinelOrchestrator/` - This contains the azure function source code to invoke Activity function as per requirement and pass the data, received as input to Orchestrator context to an activity function. +4. `DataminrPulseAlertsManualActivity/` - This contains the azure function source code to add integration settings in dataminr for provided functionapp url. +5. `DataminrPulseAlertsSentinelActivity/` - This contains the azure function source code to process alerts data received as input to activity function and post it into Microsoft Sentinel. +6. `shared_code/` - This contains the constants, logger and exceptions used in each azure function. + +## Prerequisites +1. Users must have a valid Dataminr Pulse API **client ID** and **secret** to use this data connector. +2. One or more Dataminr Pulse Watchlists must be configured in the Dataminr Pulse website. + +## Configuration + +### STEP 1 - Credentials for the Dataminr Pulse Client ID and Client Secret +1. Obtain Dataminr Pulse user ID/password and API client ID/secret from your Dataminr Customer Success Manager (CSM). + +### STEP 2 - Configure Watchlists in Dataminr Pulse portal. +1. Login to the Dataminr Pulse [website](https://app.dataminr.com). +2. Click on the settings gear icon, and select “Manage Lists.” +3. Select the type of Watchlist you want to create (Cyber, Topic, Company, etc.) and click the “New List” button. +4. Provide a name for your new Watchlist, and select a highlight color for it, or keep the default color. +5. Configure the companies, topics, geolocations, alert priority, and delivery settings for this Watchlist. +6. When you’re done configuring the Watchlist, click Save to save it. + + + +## Installing for the users + +After the solution is published, we can find the connector in the connector gallery of Microsoft Sentinel among other connectors in Data connectors section of Microsoft Sentinel. + +i. Go to Microsoft Sentinel -> Data Connectors + +ii. Click on the DataminrPulseAlerts, connector page will open. + +iii. Click on Deploy to Azure +[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://aka.ms/sentinel-DataminrPulseAlerts-azuredeploy) + + +It will lead to a custom deployment page where user need to select **Subscription**, **Resource Group** and **Location**. +And need to enter below information to configure DataminrPulse data connector for Microsoft Sentinel. +```Function Name + BaseURL + ClientId + ClientSecret + AlertsTableName + LogLevel + Workspace ID + Workspace Key +``` +### **Post Deployment Steps** + +**Get the Function app endpoint** + + 1. Go to Azure function Overview page and Click on "Functions" in the left blade. + 2. Click on the function called "DataminrPulseAlertsHttpStarter". + 3. Go to "GetFunctionurl" and copy the function url. + 4. Replace "{functionname}" with "DataminrPulseAlertsSentinelOrchestrator" in copied function url. + +**Steps to add integration settings in Dataminr by running function app manually.** + + 1. Within Microsoft Sentinel, go to Azure function apps then `` Overview page and Click on "Functions" in the left blade. + 2. Click on the function called "DataminrPulseAlertsHttpStarter". + 3. Go to "Code + Test" and click "Test/Run". + 4. Provide the necessary details as mentioned below: + - HTTP Method : "POST" + - Key : default(Function key) + - Query : Name=functionName ,Value=DataminrPulseAlertsSentinelOrchestrator + - Reuqest Body (case-sensitive): + { + "integration-settings": "ADD", + "url": "", + "token": "" + } + 5. After providing all required details, click "Run". + 6. You will receive an integration setting ID in the HTTP response with a status code of 200. + 7. Save "Integration ID" for future reference. + +## Installing for testing + + +i. Log in to Azure portal using the URL - [https://portal.azure.com/?feature.BringYourOwnConnector=true&feature.UseKoBladeForE2E=true#home](https://portal.azure.com/?feature.BringYourOwnConnector=true&feature.UseKoBladeForE2E=true#home). + +ii. Go to Microsoft Sentinel -> Data Connectors + +iii. Click the “import” button at the top and select the json file `DataminrPulseAlerts_FunctionApp.json` downloaded on your local machine from Github. + +iv. This will load the connector page and rest of the process will be same as the Installing for users guideline above. + + +The connector should ingest the data into the logs when it receives data from Dataminr RTAP via Http request. + +Each invocation and its logs of the function can be seen in Function App service of Azure, available in the Azure Portal outside of Microsoft Sentinel. + +i. Go to Function App and click on the function which you have deployed, identified with the given name at the deployment stage. + +ii. Go to Functions -> DataminrPulseSentinelConnector -> Monitor + +iii. By clicking on invocation time, you can see all the logs for that run. + +**Note: Furthermore we can check logs in Application Insights of the given function in detail if needed. We can search the logs by operation ID in Transaction search section.** diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/RetryFailedIndicators/__init__.py b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/RetryFailedIndicators/__init__.py new file mode 100644 index 00000000000..c2bceac3bdc --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/RetryFailedIndicators/__init__.py @@ -0,0 +1,17 @@ +"""init file for Retrying Failed Indicators.""" +import datetime +import logging +import azure.functions as func +from .retry_failed_indicators import get_failed_indicators_and_retry + + +async def main(mytimer: func.TimerRequest) -> None: + """Driver method for RetryFailedIndicators.""" + utc_timestamp = ( + datetime.datetime.utcnow().replace(tzinfo=datetime.timezone.utc).isoformat() + ) + await get_failed_indicators_and_retry() + if mytimer.past_due: + logging.info("The timer is past due!") + + logging.info("Python timer trigger function ran at %s", utc_timestamp) diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/RetryFailedIndicators/function.json b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/RetryFailedIndicators/function.json new file mode 100644 index 00000000000..36c1449c9e1 --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/RetryFailedIndicators/function.json @@ -0,0 +1,11 @@ +{ + "scriptFile": "__init__.py", + "bindings": [ + { + "name": "mytimer", + "type": "timerTrigger", + "direction": "in", + "schedule": "%Schedule%" + } + ] +} \ No newline at end of file diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/RetryFailedIndicators/post_to_log_analytics.py b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/RetryFailedIndicators/post_to_log_analytics.py new file mode 100644 index 00000000000..0930d2a7c48 --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/RetryFailedIndicators/post_to_log_analytics.py @@ -0,0 +1,131 @@ +"""This file contains methods for creating microsoft indicator and custom log table.""" +import inspect +import base64 +import hashlib +import hmac +import datetime +import requests +from ..shared_code.logger import applogger +from ..shared_code.dataminrpulse_exception import DataminrPulseException +from ..shared_code import consts + + +def build_signature( + date, + content_length, + method, + content_type, + resource, +): + """To build signature which is required in header.""" + x_headers = "x-ms-date:" + date + string_to_hash = ( + method + + "\n" + + str(content_length) + + "\n" + + content_type + + "\n" + + x_headers + + "\n" + + resource + ) + bytes_to_hash = bytes(string_to_hash, encoding="utf-8") + decoded_key = base64.b64decode(consts.WORKSPACE_KEY) + encoded_hash = base64.b64encode( + hmac.new(decoded_key, bytes_to_hash, digestmod=hashlib.sha256).digest() + ).decode() + authorization = "SharedKey {}:{}".format(consts.WORKSPACE_ID, encoded_hash) + return authorization + + +def post_data(body, log_type): + """Build and send a request to the POST API. + + Args: + body (str): Data to post into Sentinel log analytics workspace + log_type (str): Custom log table name in which data wil be added. + + Returns: + status_code: Returns the response status code got while posting data to sentinel. + """ + __method_name = inspect.currentframe().f_code.co_name + method = "POST" + content_type = "application/json" + resource = "/api/logs" + rfc1123date = datetime.datetime.utcnow().strftime("%a, %d %b %Y %H:%M:%S GMT") + content_length = len(body) + try: + signature = build_signature( + rfc1123date, + content_length, + method, + content_type, + resource, + ) + except Exception as err: + applogger.error( + "{}(method={}) : {} : Error occurred: {}".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + err, + ) + ) + raise DataminrPulseException( + "Error while generating signature for posting data into log analytics." + ) + uri = ( + "https://" + + consts.WORKSPACE_ID + + ".ods.opinsights.azure.com" + + resource + + "?api-version=2016-04-01" + ) + + headers = { + "content-type": content_type, + "Authorization": signature, + "Log-Type": log_type, + "x-ms-date": rfc1123date, + } + try: + response = requests.post(uri, data=body, headers=headers) + if response.status_code >= 200 and response.status_code <= 299: + applogger.debug( + "{}(method={}) : {} : Status_code: {} Accepted: Data Posted Successfully to azure sentinel.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + response.status_code, + ) + ) + return response.status_code + else: + raise DataminrPulseException( + "Response code: {} from posting data to log analytics.\nError: {}".format( + response.status_code, response.content + ) + ) + except DataminrPulseException as error: + applogger.error( + "{}(method={}) : {} : Error: {}".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + error, + ) + ) + raise DataminrPulseException( + "DataminrPulseException: Error while posting data to sentinel." + ) + except Exception as error: + applogger.error( + "{}(method={}) : {} : Error: {}".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + error, + ) + ) + raise DataminrPulseException("Exception: Error while posting data to sentinel.") diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/RetryFailedIndicators/retry_failed_indicators.py b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/RetryFailedIndicators/retry_failed_indicators.py new file mode 100644 index 00000000000..da45dcf6fe0 --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/RetryFailedIndicators/retry_failed_indicators.py @@ -0,0 +1,319 @@ +"""Retry Failed Indicators.""" +import asyncio +import inspect +import json +import aiohttp +from ..shared_code.dataminrpulse_exception import DataminrPulseException +from ..shared_code import consts +from ..shared_code.state_manager import StateManager +from ..shared_code.logger import applogger +from .sentinel import MicrosoftSentinel +from .post_to_log_analytics import post_data +from azure.storage.fileshare import ShareDirectoryClient +from azure.core.exceptions import ResourceNotFoundError +from datetime import datetime, timezone, timedelta +from ..shared_code.validate_params import validate_params + + +def return_file_names_to_query_in_the_current_execution(file_names_list): + """Return the file names except the ones from the current invocation's date. + + Args: + file_names_list (list): list of file names + + Returns: + list: list of file names till midnight of that day. + """ + __method_name = inspect.currentframe().f_code.co_name + try: + now = datetime.now(timezone.utc) + one_hour_ago = now - timedelta(hours=1) + files_to_query_in_current_execution = [] + for file in file_names_list: + if file.isnumeric() and int(file) < int(one_hour_ago.timestamp()): + files_to_query_in_current_execution.append(file) + applogger.info( + "{}(method={}) : {} : Found {} failed Indicators' File.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + len(files_to_query_in_current_execution), + ) + ) + return files_to_query_in_current_execution + except Exception as error: + applogger.error( + "{}(method={}) : {} : Error in returning which files to process, Error : {}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + error, + ) + ) + raise DataminrPulseException() + + +def list_checkpoint_files(parent_dir): + """Get failed indicator's file names. + + Args: + parent_dir (ShareDirectory.from_connection_string): Object of ShareDirectory to perform operations + on file share. + + Returns: + list: list of file names of failed indicators + """ + __method_name = inspect.currentframe().f_code.co_name + try: + files_list = list(parent_dir.list_directories_and_files()) + file_names = [] + if (len(files_list)) > 0: + for file in files_list: + file_names.append(file["name"]) + return file_names + else: + return None + except ResourceNotFoundError: + applogger.error( + "{}(method={}) : {} : No Failed Indicators File Found.".format( + consts.LOGS_STARTS_WITH, __method_name, consts.RETRY_FAILED_INDICATORS + ) + ) + return None + except Exception as error: + applogger.error( + "{}(method={}) : {} : error while getting list of checkpoint files, Error : {}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + error, + ) + ) + raise DataminrPulseException() + + +def delete_file_from_file_share(file_name, parent_dir): + """Delete the file from azure file share. + + Args: + file_name (str): name of the file to delete + parent_dir (ShareDirectory.from_connection_string): Object of ShareDirectory to perform operations + on file share. + """ + __method_name = inspect.currentframe().f_code.co_name + try: + parent_dir.delete_file(file_name) + except ResourceNotFoundError: + applogger.info( + "{}(method={}) : {} : No Failed Indicators File Found, filename-{}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + file_name, + ) + ) + except Exception as error: + applogger.error( + "{}(method={}) : {} : error while deleting checkpoint file, Error : {}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + error, + ) + ) + raise DataminrPulseException() + + +def get_failed_indicators(file_name): + """Get Failed indicators list from checkpoint.""" + __method_name = inspect.currentframe().f_code.co_name + try: + state_manager_obj = StateManager(consts.CONN_STRING, file_path=file_name) + checkpoint_data = state_manager_obj.get(consts.RETRY_FAILED_INDICATORS) + if checkpoint_data is None or checkpoint_data == "": + return None + else: + json_checkpoint = json.loads(checkpoint_data) + return json_checkpoint + except Exception as error: + applogger.error( + "{}(method={}) : {} : error while getting checkpoint data for failed indicators, Error : {}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + error, + ) + ) + raise DataminrPulseException() + + +async def post_failed_indicators(indicators_data): + """Create the asynchronous tasks for failed indicators ingestion to Microsoft Sentinel Threat Intelligence. + + Args: + indicators_data (dict): Failed Indicators Data + + Returns: + dict: Dictionary containing the success_count and failure_count + """ + __method_name = inspect.currentframe().f_code.co_name + try: + failed_indicators = [] + microsoft_sentinel_obj = MicrosoftSentinel() + tasks = [] + async with aiohttp.ClientSession() as session: + for indicator in indicators_data: + tasks.append( + asyncio.create_task( + microsoft_sentinel_obj.create_indicator(indicator, session) + ) + ) + results = await asyncio.gather(*tasks, return_exceptions=True) + success_count = 0 + failed_count = 0 + for i in results: + if i is None: + success_count += 1 + else: + failed_count += 1 + failed_indicators.append(i) + applogger.info( + "{}(method={}) : {} : Total_Invocations: {}, Successful Indicators Posting: {},\ + Failed Indicators Posting: {}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + len(results), + success_count, + failed_count, + ) + ) + return { + "success_count": success_count, + "failure_count": failed_count, + "failed_indicators": failed_indicators, + } + except DataminrPulseException: + applogger.error( + "{}(method={}) : {} : Indicator Creation Failed after retrying.".format( + consts.LOGS_STARTS_WITH, __method_name, consts.RETRY_FAILED_INDICATORS + ) + ) + raise DataminrPulseException() + except Exception as error: + applogger.error( + "{}(method={}) : {} : Indicator Creation Failed after retrying, Error : {}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + error, + ) + ) + raise DataminrPulseException() + + +async def get_failed_indicators_and_retry(): + """Get failed indicators data from checkpoint and try creating them again.""" + __method_name = inspect.currentframe().f_code.co_name + try: + validate_params(consts.RETRY_FAILED_INDICATORS) + total_retry_indicators = 0 + retry_success = 0 + retry_failure = 0 + parent_dir = ShareDirectoryClient.from_connection_string( + conn_str=consts.CONN_STRING, + share_name=consts.MS_SHARE_NAME, + directory_path="", + ) + failed_files = list_checkpoint_files(parent_dir) + if not failed_files: + applogger.info( + "{}(method={}) : {} : No files found.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + ) + ) + return + file_names_to_query = return_file_names_to_query_in_the_current_execution( + failed_files + ) + if not file_names_to_query: + applogger.info( + "{}(method={}) : {} : No previously failed indicators found.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + ) + ) + return + for file in file_names_to_query: + failed_indicators = get_failed_indicators(file) + if not failed_indicators: + applogger.info( + "{}(method={}) : {} : No Failed indicators found in the file-{}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + file, + ) + ) + continue + + result = await post_failed_indicators(failed_indicators) + if result["failure_count"] > 0: + post_data( + body=json.dumps(result["failed_indicators"]), + log_type=consts.FAILED_INDICATORS_TABLE_NAME, + ) + applogger.info( + "{}(method={}) : {} : Posted {} failed indicators to log analytics.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + len(result["failed_indicators"]), + ) + ) + total_retry_indicators += len(failed_indicators) + retry_success += result["success_count"] + retry_failure += result["failure_count"] + delete_file_from_file_share(file, parent_dir) + applogger.info( + "{}(method={}) : {} : Succesfully deleted the file, filename : {}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + file, + ) + ) + applogger.info( + "{}(method={}) : {} : Total collected Failed Indicators : {}, " + "posted indicators into sentinel: {}, " + "failed indicators while posting : {}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + total_retry_indicators, + retry_success, + retry_failure, + ) + ) + except DataminrPulseException: + applogger.error( + "{}(method={}) : {} : Retrying Failed Indicators incurred an error.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + ) + ) + raise DataminrPulseException() + except Exception as error: + applogger.error( + "{}(method={}) : {} : Retrying Failed Indicators incurred an error, Error: {}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + error, + ) + ) + raise DataminrPulseException() diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/RetryFailedIndicators/sentinel.py b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/RetryFailedIndicators/sentinel.py new file mode 100644 index 00000000000..1c465ca0e21 --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/RetryFailedIndicators/sentinel.py @@ -0,0 +1,220 @@ +"""This file contains methods for creating microsoft indicator and custom log table.""" +import time +import json +import inspect +import requests +from ..shared_code.logger import applogger +from ..shared_code.dataminrpulse_exception import DataminrPulseException +from ..shared_code import consts + + +class MicrosoftSentinel: + """This class contains methods to create indicator into Microsoft Sentinel.""" + + def __init__(self): + """Initialize instance variable for class.""" + self.bearer_token = self.auth_sentinel() + + def auth_sentinel(self): + """ + Authenticate with microsoft sentinel. + + Raises: + DataminrPulseException: Custom cofense Exception + + Returns: + String: Bearer token + """ + __method_name = inspect.currentframe().f_code.co_name + try: + applogger.info( + "{}(method={}) : {}: generating microsoft sentinel access token.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + ) + ) + azure_auth_url = consts.AZURE_AUTHENTICATION_URL.format( + consts.AZURE_TENANT_ID + ) + body = { + "client_id": consts.AZURE_CLIENT_ID, + "client_secret": consts.AZURE_CLIENT_SECRET, + "grant_type": "client_credentials", + "resource": "https://management.azure.com", + } + response = requests.post(url=azure_auth_url, data=body, timeout=10) + if response.status_code >= 200 and response.status_code <= 299: + json_response = response.json() + if "access_token" not in json_response: + applogger.error( + "{}(method={}) : {}: Access token not found in sentinel api call.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + ) + ) + raise DataminrPulseException() + else: + bearer_token = json_response.get("access_token") + applogger.info( + "{}(method={}) : {}: Microsoft sentinel access token generated successfully.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + ) + ) + applogger.debug( + "{}(method={}) :{}: url:{}, Status Code :{}: Microsoft Sentinel access token generated.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + azure_auth_url, + response.status_code, + ) + ) + return bearer_token + else: + applogger.error( + "{}(method={}) :{}: url:{}, Status Code :{}: Error while creating microsoft sentinel access_token." + " Error Reason: {}".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + azure_auth_url, + response.status_code, + response.reason, + ) + ) + raise DataminrPulseException() + except DataminrPulseException as error: + applogger.error( + "{}(method={}) : Error generated while getting sentinel access token :{}".format( + consts.LOGS_STARTS_WITH, __method_name, error + ) + ) + raise DataminrPulseException() + + async def create_indicator(self, indicators_data, session): + """To create indicator into Microsoft Sentinel. + + Args: + indicators_data (dict): Indicator data + session (session object): aiohttp session object + + Raises: + DataminrPulseException: DataminrPulseException + """ + __method_name = inspect.currentframe().f_code.co_name + try: + display_name = indicators_data.get('properties').get('displayName') + index_value = display_name.split(':')[-1] + retry_count_429 = 0 + retry_count_401 = 0 + while retry_count_429 <= 3 and retry_count_401 <= 1: + create_indicator_url = consts.CREATE_SENTINEL_INDICATORS_URL.format( + subscriptionId=consts.AZURE_SUBSCRIPTION_ID, + resourceGroupName=consts.AZURE_RESOURCE_GROUP, + workspaceName=consts.AZURE_WORKSPACE_NAME, + ) + headers = { + "Content-Type": "application/json", + "Authorization": "Bearer {}".format(self.bearer_token), + } + response = await session.post( + url=create_indicator_url, + headers=headers, + data=json.dumps(indicators_data), + ) + if response.status >= 200 and response.status <= 299: + applogger.info( + "{}(method={}) : {} : Created the indicator with status_code: {}, Index-{}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + response.status, + index_value + ) + ) + return None + elif response.status == 400: + json_response = await response.json() + applogger.warning( + "{}(method={}) : {} : url: {}, Status Code : {}: Error while\ + creating Indicator, Error:{}, Index-{}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + create_indicator_url, + response.status, + json_response, + index_value + ) + ) + return indicators_data + elif response.status == 429: + applogger.error( + "{}(method={}) : {} : trying again error 429.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + ) + ) + retry_count_429 += 1 + time.sleep(consts.SENTINEL_429_SLEEP) + elif response.status == 401: + applogger.error( + "{}(method={}) : {} : Unauthorized, Invalid Credentials, trying again error-401.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + ) + ) + self.bearer_token = self.auth_sentinel() + headers["Authorization"] = "Bearer {}".format(self.bearer_token) + retry_count_401 += 1 + else: + json_response = await response.json() + applogger.error( + "{}(method={}) : {} : url: {}, Status Code : {}: Error while\ + creating Indicator Error:{}, Index-{}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + create_indicator_url, + response.status, + json_response, + index_value + ) + ) + raise DataminrPulseException() + applogger.error( + "{}(method={}) : {} : Max retries exceeded for microsoft sentinel.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + ) + ) + raise DataminrPulseException() + except DataminrPulseException: + applogger.error( + "{}(method={}) : {} : Error generated while Creating Indicator. Index-{}".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + index_value + ) + ) + return indicators_data + + except Exception as error: + applogger.error( + "{}(method={}) : {} : Error generated while Creating Indicator, Error-{}, Index-{}.".format( + consts.LOGS_STARTS_WITH, + __method_name, + consts.RETRY_FAILED_INDICATORS, + error, + index_value + ) + ) + return indicators_data diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/azuredeploy_Connector_DataminrPulseAlerts_AzureFunction.json b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/azuredeploy_Connector_DataminrPulseAlerts_AzureFunction.json new file mode 100644 index 00000000000..c46105d99ff --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/azuredeploy_Connector_DataminrPulseAlerts_AzureFunction.json @@ -0,0 +1,295 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "FunctionName": { + "defaultValue": "DmPulse", + "minLength": 1, + "maxLength": 11, + "type": "string" + }, + "BaseURL": { + "type": "string", + "minLength": 1, + "metadata": { + "description": "Enter baseurl for your Dataminr account.(e.g. https://gateway.dataminr.com/)" + } + }, + "ClientId":{ + "type": "string", + "minLength": 1, + "metadata": { + "description": "Enter your Dataminr account clientid." + } + }, + "ClientSecret":{ + "type": "securestring", + "minLength": 1, + "metadata": { + "description": "Enter your Dataminr account clientsecret." + } + }, + "AlertsTableName":{ + "type": "string", + "minLength": 1, + "defaultValue": "DataminrPulse_Alerts" + }, + "WorkspaceID": { + "type": "string", + "minLength": 1, + "metadata": { + "description": "Enter Workspace ID of log analytics Workspace." + } + }, + "WorkspaceKey": { + "type": "securestring", + "minLength": 1, + "metadata": { + "description": "Enter Workspace Key of log analytics Workspace." + } + }, + "Azure_Client_Id": { + "type": "string", + "minLength": 1, + "metadata": { + "description": "Enter Azure Client Id that you have created during app registration" + } + }, + "Azure_Client_Secret": { + "type": "securestring", + "minLength": 1, + "metadata": { + "description": "Enter Azure Client Secret that you have created during creating the client secret" + } + }, + "Azure_Tenant_Id": { + "type": "string", + "minLength": 1, + "metadata": { + "description": "Enter Azure Tenant Id of your Azure Active Directory" + } + }, + "Azure_Resource_Group_Name": { + "type": "string", + "minLength": 1, + "metadata": { + "description": "Enter Azure Resource Group Name in which you want deploy the data connector" + } + }, + "Azure_Workspace_Name": { + "type": "string", + "minLength": 1, + "metadata": { + "description": "Enter Microsoft Sentinel Workspace Name of Log Analytics workspace" + } + }, + "Azure_Subscription_Id": { + "type": "string", + "minLength": 1, + "metadata": { + "description": "Enter Azure Subscription Id which is present in the subscription tab in Microsoft Sentinel" + } + }, + "LogLevel": { + "type": "string", + "allowedValues": [ + "Debug", + "Info", + "Error", + "Warning" + ], + "defaultValue": "Info", + "metadata": { + "description": "Select log level or log severity value from Debug, Info, Error, Warning. By default it is set to Info." + } + }, + "Schedule": { + "type": "string", + "defaultValue": "0 0 * * * *", + "metadata": { + "description": "Please enter a valid Quartz cron-expression. (Example: 0 0 * * * *)" + } + } + }, + "variables": { + "FunctionName": "[concat(toLower(parameters('FunctionName')), uniqueString(resourceGroup().id))]", + "StorageSuffix": "[environment().suffixes.storage]", + "LogAnaltyicsUri": "[replace(environment().portal, 'https://portal', concat('https://', toLower(parameters('WorkspaceID')), '.ods.opinsights'))]" + }, + "resources": [ + { + "type": "Microsoft.Insights/components", + "apiVersion": "2015-05-01", + "name": "[variables('FunctionName')]", + "location": "[resourceGroup().location]", + "kind": "web", + "properties": { + "Application_Type": "web", + "ApplicationId": "[variables('FunctionName')]" + } + }, + { + "type": "Microsoft.Storage/storageAccounts", + "apiVersion": "2019-06-01", + "name": "[tolower(variables('FunctionName'))]", + "location": "[resourceGroup().location]", + "sku": { + "name": "Standard_LRS", + "tier": "Standard" + }, + "kind": "StorageV2", + "properties": { + "networkAcls": { + "bypass": "AzureServices", + "virtualNetworkRules": [], + "ipRules": [], + "defaultAction": "Allow" + }, + "supportsHttpsTrafficOnly": true, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "keySource": "Microsoft.Storage" + } + } + }, + { + "type": "Microsoft.Storage/storageAccounts/blobServices", + "apiVersion": "2019-06-01", + "name": "[concat(variables('FunctionName'), '/default')]", + "dependsOn": [ + "[resourceId('Microsoft.Storage/storageAccounts', tolower(variables('FunctionName')))]" + ], + "sku": { + "name": "Standard_LRS", + "tier": "Standard" + }, + "properties": { + "cors": { + "corsRules": [] + }, + "deleteRetentionPolicy": { + "enabled": false + } + } + }, + { + "type": "Microsoft.Storage/storageAccounts/fileServices", + "apiVersion": "2019-06-01", + "name": "[concat(variables('FunctionName'), '/default')]", + "dependsOn": [ + "[resourceId('Microsoft.Storage/storageAccounts', tolower(variables('FunctionName')))]" + ], + "sku": { + "name": "Standard_LRS", + "tier": "Standard" + }, + "properties": { + "cors": { + "corsRules": [] + } + } + }, + { + "type": "Microsoft.Web/sites", + "apiVersion": "2018-11-01", + "name": "[variables('FunctionName')]", + "location": "[resourceGroup().location]", + "dependsOn": [ + "[resourceId('Microsoft.Storage/storageAccounts', tolower(variables('FunctionName')))]", + "[resourceId('Microsoft.Insights/components', variables('FunctionName'))]" + ], + "kind": "functionapp,linux", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "name": "[variables('FunctionName')]", + "httpsOnly": true, + "clientAffinityEnabled": true, + "alwaysOn": true, + "reserved": true, + "siteConfig": { + "linuxFxVersion": "python|3.9" + } + }, + "resources": [ + { + "apiVersion": "2018-11-01", + "type": "config", + "name": "appsettings", + "dependsOn": [ + "[concat('Microsoft.Web/sites/', variables('FunctionName'))]" + ], + "properties": { + "FUNCTIONS_EXTENSION_VERSION": "~4", + "FUNCTIONS_WORKER_RUNTIME": "python", + "APPINSIGHTS_INSTRUMENTATIONKEY": "[reference(resourceId('Microsoft.insights/components', variables('FunctionName')), '2015-05-01').InstrumentationKey]", + "APPLICATIONINSIGHTS_CONNECTION_STRING": "[reference(resourceId('microsoft.insights/components', variables('FunctionName')), '2015-05-01').ConnectionString]", + "AzureWebJobsStorage": "[concat('DefaultEndpointsProtocol=https;AccountName=', toLower(variables('FunctionName')),';AccountKey=',listKeys(resourceId('Microsoft.Storage/storageAccounts', toLower(variables('FunctionName'))), '2019-06-01').keys[0].value, ';EndpointSuffix=',toLower(variables('StorageSuffix')))]", + "logAnalyticsUri": "[variables('LogAnaltyicsUri')]", + "BaseURL": "[parameters('BaseURL')]", + "ClientId": "[parameters('ClientId')]", + "ClientSecret": "[parameters('ClientSecret')]", + "WorkspaceID": "[parameters('WorkspaceID')]", + "WorkspaceKey": "[parameters('WorkspaceKey')]", + "Azure_Client_Id": "[parameters('Azure_Client_Id')]", + "Azure_Client_Secret": "[parameters('Azure_Client_Secret')]", + "Azure_Tenant_Id": "[parameters('Azure_Tenant_Id')]", + "Azure_Resource_Group_Name": "[parameters('Azure_Resource_Group_Name')]", + "Azure_Workspace_Name": "[parameters('Azure_Workspace_Name')]", + "Azure_Subscription_Id": "[parameters('Azure_Subscription_Id')]", + "AlertsTableName": "[parameters('AlertsTableName')]", + "LogLevel": "[parameters('LogLevel')]", + "Schedule": "[parameters('Schedule')]", + "WEBSITE_RUN_FROM_PACKAGE": "https://aka.ms/sentinel-DataminrPulseAlerts-functionapp" + } + } + ] + }, + { + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "apiVersion": "2019-06-01", + "name": "[concat(variables('FunctionName'), '/default/azure-webjobs-hosts')]", + "dependsOn": [ + "[resourceId('Microsoft.Storage/storageAccounts/blobServices', variables('FunctionName'), 'default')]", + "[resourceId('Microsoft.Storage/storageAccounts', variables('FunctionName'))]" + ], + "properties": { + "publicAccess": "None" + } + }, + { + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "apiVersion": "2019-06-01", + "name": "[concat(variables('FunctionName'), '/default/azure-webjobs-secrets')]", + "dependsOn": [ + "[resourceId('Microsoft.Storage/storageAccounts/blobServices', variables('FunctionName'), 'default')]", + "[resourceId('Microsoft.Storage/storageAccounts', variables('FunctionName'))]" + ], + "properties": { + "publicAccess": "None" + } + }, + { + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "apiVersion": "2019-06-01", + "name": "[concat(variables('FunctionName'), '/default/', tolower(variables('FunctionName')))]", + "dependsOn": [ + "[resourceId('Microsoft.Storage/storageAccounts/fileServices', variables('FunctionName'), 'default')]", + "[resourceId('Microsoft.Storage/storageAccounts', variables('FunctionName'))]" + ], + "properties": { + "shareQuota": 5120 + } + } + ] +} \ No newline at end of file diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/host.json b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/host.json new file mode 100644 index 00000000000..cdd4501e970 --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/host.json @@ -0,0 +1,29 @@ +{ + "version": "2.0", + "functionTimeout": "00:10:00", + "logging": { + "applicationInsights": { + "samplingSettings": { + "isEnabled": true, + "excludedTypes": "Request" + } + }, + "logLevel": { + "default": "Trace", + "Host.Results": "Trace", + "Function": "Trace", + "Host.Aggregator": "Trace" + } + }, + "extensionBundle": { + "id": "Microsoft.Azure.Functions.ExtensionBundle", + "version": "[3.*, 4.0.0)" + }, + "extensions": { + "durableTask": { + "storageProvider": { + "type": "AzureStorage" + } + } + } +} \ No newline at end of file diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/proxies.json b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/proxies.json new file mode 100644 index 00000000000..b20e0c7f210 --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/proxies.json @@ -0,0 +1,4 @@ +{ + "$schema": "http://json.schemastore.org/proxies", + "proxies": {} +} diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/requirements.txt b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/requirements.txt new file mode 100644 index 00000000000..7c6d1329bff --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/requirements.txt @@ -0,0 +1,14 @@ +# DO NOT include azure-functions-worker in this file +# The Python Worker is managed by Azure Functions platform +# Manually managing azure-functions-worker may cause unexpected issues + +azure-functions +azure-functions-durable +requests +#Libraries for Log Analytics to Threat Intelligence Function. +azure-monitor-query +azure-identity +cryptography==3.4.6 +asyncio +aiohttp +azure-storage-file-share==12.10.1 diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/shared_code/consts.py b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/shared_code/consts.py new file mode 100644 index 00000000000..0f2c77cf1f7 --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/shared_code/consts.py @@ -0,0 +1,37 @@ +"""This file contains all constants.""" +import os +BASE_URL = os.environ.get("BaseURL") +ENDPOINTS = { + "authentication": "auth/2/token", + "get_lists": "account/2/get_lists", + "add_integration_settings": "integration/1/settings/", +} +LOGS_STARTS_WITH = "DataminrPulseAlerts:" +ALERTS_TABLE_NAME = os.environ.get('AlertsTableName') +RELATEDALERTS_TABLE_NAME = "{}_relatedAlerts" +VULNERABILITY_PRODUCTS_TABLE_NAME = "{}_vulnerabilities_products" +VULNERABILITY_PRODUCTS_RELATEDALERTS_TABLE_NAME = ( + "{}_vulnerabilities_products_relatedAlerts" +) +DEFAULT_LOG_LEVEL = "INFO" +LOG_LEVEL = os.environ.get("LogLevel", "") +DATAMINR_PULSE_THREAT_INTELLIGENCE = "Dataminr Pulse ThreatIntelligence" +AZURE_CLIENT_ID = os.environ.get("Azure_Client_Id") +AZURE_CLIENT_SECRET = os.environ.get("Azure_Client_Secret") +AZURE_TENANT_ID = os.environ.get("Azure_Tenant_Id") +CREATE_SENTINEL_INDICATORS_URL = ( + "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups" + "/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}" + "/providers/Microsoft.SecurityInsights/threatIntelligence/main/createIndicator?api-version=2023-03-01-preview" +) +AZURE_AUTHENTICATION_URL = "https://login.microsoftonline.com/{}/oauth2/token" +AZURE_RESOURCE_GROUP = os.environ.get("Azure_Resource_Group_Name", "") +AZURE_WORKSPACE_NAME = os.environ.get("Azure_Workspace_Name", "") +AZURE_SUBSCRIPTION_ID = os.environ.get("Azure_Subscription_Id", "") +CONN_STRING = os.environ.get("AzureWebJobsStorage") +MS_SHARE_NAME = "dataminr-pulse" +RETRY_FAILED_INDICATORS = "Retry Failed Indicators" +FAILED_INDICATORS_TABLE_NAME = "Failed_Indicators" +WORKSPACE_ID = os.environ.get("WorkspaceID") +WORKSPACE_KEY = os.environ.get("WorkspaceKey") +SENTINEL_429_SLEEP = 60 diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/shared_code/dataminrpulse_exception.py b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/shared_code/dataminrpulse_exception.py new file mode 100644 index 00000000000..9af2c6deca9 --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/shared_code/dataminrpulse_exception.py @@ -0,0 +1,9 @@ +"""This File contains custom Exception class for DataminrPulse.""" + + +class DataminrPulseException(Exception): + """Exception class to handle DataminrPulse exception.""" + + def __init__(self, message=None): + """Initialize custom DatMinrException with custom message.""" + super().__init__(message) diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/shared_code/logger.py b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/shared_code/logger.py new file mode 100644 index 00000000000..a9c099e7668 --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/shared_code/logger.py @@ -0,0 +1,14 @@ +"""Handle the logger.""" +import logging +import sys +from .consts import DEFAULT_LOG_LEVEL, LOG_LEVEL + +default_log_level = DEFAULT_LOG_LEVEL +log_level = LOG_LEVEL +applogger = None +applogger = logging.getLogger("azure") +log_level = log_level.upper() +numeric_level = getattr(logging, log_level, default_log_level) +applogger.setLevel(level=numeric_level) +handler = logging.StreamHandler(stream=sys.stdout) +applogger.addHandler(handler) diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/shared_code/state_manager.py b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/shared_code/state_manager.py new file mode 100644 index 00000000000..115ca2dd355 --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/shared_code/state_manager.py @@ -0,0 +1,47 @@ +"""This module will help to save file to statemanager.""" +from azure.storage.fileshare import ShareClient +from azure.storage.fileshare import ShareFileClient +from azure.core.exceptions import ResourceNotFoundError +from ..shared_code.logger import applogger +import inspect +from ..shared_code.consts import LOGS_STARTS_WITH, MS_SHARE_NAME + + +class StateManager: + """State manager class for specific operation.""" + + def __init__( + self, + connection_string, + file_path, + share_name=MS_SHARE_NAME, + ): + """Initialize the share_cli and file_client.""" + self.share_cli = ShareClient.from_connection_string( + conn_str=connection_string, share_name=share_name + ) + self.file_cli = ShareFileClient.from_connection_string( + conn_str=connection_string, share_name=share_name, file_path=file_path + ) + self.log_starts_with = LOGS_STARTS_WITH + + def post(self, marker_text: str): + """Post method for posting the data to azure storage.""" + try: + self.file_cli.upload_file(marker_text) + except ResourceNotFoundError: + self.share_cli.create_share() + self.file_cli.upload_file(marker_text) + + def get(self, azure_function_name): + """Get method for getting the data from azure storage.""" + __method_name = inspect.currentframe().f_code.co_name + try: + return self.file_cli.download_file().readall().decode() + except ResourceNotFoundError: + applogger.info( + "{}(method={}) : {} : last checkpoint is not available.".format( + self.log_starts_with, __method_name, azure_function_name + ) + ) + return None diff --git a/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/shared_code/validate_params.py b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/shared_code/validate_params.py new file mode 100644 index 00000000000..a01bdb2e2df --- /dev/null +++ b/Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/shared_code/validate_params.py @@ -0,0 +1,48 @@ +import inspect +from . import consts +from .logger import applogger +from .dataminrpulse_exception import DataminrPulseException + +def validate_params(azure_function_name): + """To validate parameters of function app.""" + __method_name = inspect.currentframe().f_code.co_name + required_params = { + "AzureClientId": consts.AZURE_CLIENT_ID, + "AzureClientSecret": consts.AZURE_CLIENT_SECRET, + "AzureTenantId": consts.AZURE_TENANT_ID, + "AzureResourceGroup": consts.AZURE_RESOURCE_GROUP, + "AzureWorkspaceName": consts.AZURE_WORKSPACE_NAME, + "AzureSubscriptionId": consts.AZURE_SUBSCRIPTION_ID, + "ConnectionString": consts.CONN_STRING, + "LogLevel": consts.LOG_LEVEL, + "WorkspaceID": consts.WORKSPACE_ID, + "WorkspaceKey": consts.WORKSPACE_KEY, + "Alerts_Table_Name": consts.ALERTS_TABLE_NAME, + } + applogger.debug( + "{}(method={}) : {} : Checking if all the environment variables exist or not.".format( + consts.LOGS_STARTS_WITH, __method_name, azure_function_name + ) + ) + missing_required_field = False + for label, params in required_params.items(): + if not params or params == "": + missing_required_field = True + applogger.error( + '{}(method={}) : {} : "{}" field is not set in the environment please set ' + "the environment variable and run the app.".format( + consts.LOGS_STARTS_WITH, + __method_name, + azure_function_name, + label, + ) + ) + if missing_required_field: + raise DataminrPulseException( + "Error Occurred while validating params. Required fields missing." + ) + applogger.info( + "{}(method={}) : {} : All necessary variables are present in the Configuration.".format( + consts.LOGS_STARTS_WITH, __method_name, azure_function_name + ) + ) diff --git a/Solutions/Dataminr Pulse/Data/Solution_DataminrPulse.json b/Solutions/Dataminr Pulse/Data/Solution_DataminrPulse.json new file mode 100644 index 00000000000..9a9135ab15b --- /dev/null +++ b/Solutions/Dataminr Pulse/Data/Solution_DataminrPulse.json @@ -0,0 +1,34 @@ +{ + "Name": "Dataminr Pulse", + "Author": "Dataminr - info@dataminr.com", + "Logo": "", + "Description": "Dataminr Pulse brings the most advanced AI-powered real-time intelligence into Microsoft Sentinel, easily fitting into your workflows and enabling rapid identification and mitigation of emerging threats so you can deliver faster time to detection and response.", + "Analytic Rules": [ + "Analytic Rules/DataminrSentinelAlerts.yaml" + ], + "Workbooks": [ + "Workbooks/DataminrPulseAlerts.json" + ], + "Watchlists": [ + "Watchlists/DataminrPulse-Asset/DataminrPulseAsset.json", + "Watchlists/DataminrPulse-VulnerableDomain/DataminrPulseVulnerableDomain.json", + "Watchlists/DataminrPulse-VulnerableHash/DataminrPulseVulnerableHash.json", + "Watchlists/DataminrPulse-VulnerableIp/DataminrPulseVulnerableIp.json", + "Watchlists/DataminrPulse-VulnerableMalware/DataminrPulseVulnerableMalware.json" + ], + "Playbooks": [ + "Playbooks/DataminrPulseAlertEnrichment/azuredeploy.json" + ], + "Parsers": [ + "Parsers/DataminrPulseAlerts.yaml", + "Parsers/DataminrPulseCyberAlerts.yaml" + ], + "Data Connectors": [ + "Data Connectors/DataminrPulseAlerts/DataminrPulseAlerts_FunctionApp.json" + ], + "BasePath": "C:\\Azure-Sentinel\\Solutions\\Dataminr Pulse", + "Version": "3.0.0", + "Metadata": "SolutionMetadata.json", + "TemplateSpec": true, + "Is1PConnector": false +} \ No newline at end of file diff --git a/Solutions/Dataminr Pulse/Package/3.0.0.zip b/Solutions/Dataminr Pulse/Package/3.0.0.zip new file mode 100644 index 00000000000..906fe54b6c8 Binary files /dev/null and b/Solutions/Dataminr Pulse/Package/3.0.0.zip differ diff --git a/Solutions/Dataminr Pulse/Package/createUiDefinition.json b/Solutions/Dataminr Pulse/Package/createUiDefinition.json new file mode 100644 index 00000000000..c13d6a27cb6 --- /dev/null +++ b/Solutions/Dataminr Pulse/Package/createUiDefinition.json @@ -0,0 +1,296 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#", + "handler": "Microsoft.Azure.CreateUIDef", + "version": "0.1.2-preview", + "parameters": { + "config": { + "isWizard": false, + "basics": { + "description": "\n\n**Note:**• Review the solution [Release Notes](https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/Dataminr%20Pulse/ReleaseNotes.md)\r \n • There may be [known issues](https://aka.ms/sentinelsolutionsknownissues) pertaining to this Solution, please refer to them before installing.\n\nDataminr Pulse brings the most advanced AI-powered real-time intelligence into Microsoft Sentinel, easily fitting into your workflows and enabling rapid identification and mitigation of emerging threats so you can deliver faster time to detection and response.\n\n**Data Connectors:** 1, **Parsers:** 2, **Workbooks:** 1, **Analytic Rules:** 1, **Watchlists:** 5, **Playbooks:** 1\n\n[Learn more about Microsoft Sentinel](https://aka.ms/azuresentinel) | [Learn more about Solutions](https://aka.ms/azuresentinelsolutionsdoc)", + "subscription": { + "resourceProviders": [ + "Microsoft.OperationsManagement/solutions", + "Microsoft.OperationalInsights/workspaces/providers/alertRules", + "Microsoft.Insights/workbooks", + "Microsoft.Logic/workflows" + ] + }, + "location": { + "metadata": { + "hidden": "Hiding location, we get it from the log analytics workspace" + }, + "visible": false + }, + "resourceGroup": { + "allowExisting": true + } + } + }, + "basics": [ + { + "name": "getLAWorkspace", + "type": "Microsoft.Solutions.ArmApiControl", + "toolTip": "This filters by workspaces that exist in the Resource Group selected", + "condition": "[greater(length(resourceGroup().name),0)]", + "request": { + "method": "GET", + "path": "[concat(subscription().id,'/providers/Microsoft.OperationalInsights/workspaces?api-version=2020-08-01')]" + } + }, + { + "name": "workspace", + "type": "Microsoft.Common.DropDown", + "label": "Workspace", + "placeholder": "Select a workspace", + "toolTip": "This dropdown will list only workspace that exists in the Resource Group selected", + "constraints": { + "allowedValues": "[map(filter(basics('getLAWorkspace').value, (filter) => contains(toLower(filter.id), toLower(resourceGroup().name))), (item) => parse(concat('{\"label\":\"', item.name, '\",\"value\":\"', item.name, '\"}')))]", + "required": true + }, + "visible": true + } + ], + "steps": [ + { + "name": "dataconnectors", + "label": "Data Connectors", + "bladeTitle": "Data Connectors", + "elements": [ + { + "name": "dataconnectors1-text", + "type": "Microsoft.Common.TextBlock", + "options": { + "text": "This Solution installs the data connector for Dataminr Pulse. You can get Dataminr Pulse 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-parser-text", + "type": "Microsoft.Common.TextBlock", + "options": { + "text": "The Solution installs a parser that transforms the ingested data into Microsoft Sentinel normalized format. The normalized format enables better correlation of different types of data from different data sources to drive end-to-end outcomes seamlessly in security monitoring, hunting, incident investigation and response scenarios in Microsoft Sentinel." + } + }, + { + "name": "dataconnectors-link2", + "type": "Microsoft.Common.TextBlock", + "options": { + "link": { + "label": "Learn more about connecting data sources", + "uri": "https://docs.microsoft.com/azure/sentinel/connect-data-sources" + } + } + } + ] + }, + { + "name": "workbooks", + "label": "Workbooks", + "subLabel": { + "preValidation": "Configure the workbooks", + "postValidation": "Done" + }, + "bladeTitle": "Workbooks", + "elements": [ + { + "name": "workbooks-text", + "type": "Microsoft.Common.TextBlock", + "options": { + "text": "This solution installs workbook(s) to help you gain insights into the telemetry collected in Microsoft Sentinel. After installing the solution, start using the workbook in Manage solution view." + } + }, + { + "name": "workbooks-link", + "type": "Microsoft.Common.TextBlock", + "options": { + "link": { + "label": "Learn more", + "uri": "https://docs.microsoft.com/azure/sentinel/tutorial-monitor-your-data" + } + } + }, + { + "name": "workbook1", + "type": "Microsoft.Common.Section", + "label": "Dataminr Pulse Alerts", + "elements": [ + { + "name": "workbook1-text", + "type": "Microsoft.Common.TextBlock", + "options": { + "text": "This Workbook provides insight into the data coming from DataminrPulse." + } + } + ] + } + ] + }, + { + "name": "analytics", + "label": "Analytics", + "subLabel": { + "preValidation": "Configure the analytics", + "postValidation": "Done" + }, + "bladeTitle": "Analytics", + "elements": [ + { + "name": "analytics-text", + "type": "Microsoft.Common.TextBlock", + "options": { + "text": "This solution installs the following analytic rule templates. After installing the solution, create and enable analytic rules in Manage solution view." + } + }, + { + "name": "analytics-link", + "type": "Microsoft.Common.TextBlock", + "options": { + "link": { + "label": "Learn more", + "uri": "https://docs.microsoft.com/azure/sentinel/tutorial-detect-threats-custom?WT.mc_id=Portal-Microsoft_Azure_CreateUIDef" + } + } + }, + { + "name": "analytic1", + "type": "Microsoft.Common.Section", + "label": "Dataminr - urgent alerts detected", + "elements": [ + { + "name": "analytic1-text", + "type": "Microsoft.Common.TextBlock", + "options": { + "text": "Rule helps to detect whenever there is an alert found which has urgent alert-type in Dataminr." + } + } + ] + } + ] + }, + { + "name": "watchlists", + "label": "Watchlists", + "subLabel": { + "preValidation": "Configure the watchlists", + "postValidation": "Done" + }, + "bladeTitle": "Watchlists", + "elements": [ + { + "name": "watchlists-text", + "type": "Microsoft.Common.TextBlock", + "options": { + "text": "Microsoft Sentinel watchlists enable the collection of data from external data sources for correlation with the events in your Microsoft Sentinel environment. Once created, you can use watchlists in your search, detection rules, threat hunting, and response playbooks. Watchlists are stored in your Microsoft Sentinel workspace as name-value pairs and are cached for optimal query performance and low latency. Once deployment is successful, the installed watchlists will be available in the Watchlists blade under 'My Watchlists'.", + "link": { + "label": "Learn more", + "uri": "https://aka.ms/sentinelwatchlists" + } + } + }, + { + "name": "watchlist1", + "type": "Microsoft.Common.Section", + "label": "DataminrPulseAsset", + "elements": [ + { + "name": "watchlist1-text", + "type": "Microsoft.Common.TextBlock", + "options": { + "text": "Watchlist contains data of assets to use in Close Proximity Overview dashboard." + } + } + ] + }, + { + "name": "watchlist2", + "type": "Microsoft.Common.Section", + "label": "DataminrPulseVulnerableDomain", + "elements": [ + { + "name": "watchlist2-text", + "type": "Microsoft.Common.TextBlock", + "options": { + "text": "Watchlist contains data of vulnerable domains of Dataminr to use in IOC Overview dashboard." + } + } + ] + }, + { + "name": "watchlist3", + "type": "Microsoft.Common.Section", + "label": "DataminrPulseVulnerableHash", + "elements": [ + { + "name": "watchlist3-text", + "type": "Microsoft.Common.TextBlock", + "options": { + "text": "Watchlist contains data of vulnerable hashes of Dataminr to use in IOC Overview dashboard." + } + } + ] + }, + { + "name": "watchlist4", + "type": "Microsoft.Common.Section", + "label": "DataminrPulseVulnerableIp", + "elements": [ + { + "name": "watchlist4-text", + "type": "Microsoft.Common.TextBlock", + "options": { + "text": "Watchlist contains data of vulnerable ips of Dataminr to use in IOC Overview dashboard." + } + } + ] + }, + { + "name": "watchlist5", + "type": "Microsoft.Common.Section", + "label": "DataminrPulseVulnerableMalware", + "elements": [ + { + "name": "watchlist5-text", + "type": "Microsoft.Common.TextBlock", + "options": { + "text": "Watchlist contains data of vulnerable malwares of Dataminr to use in IOC Overview dashboard." + } + } + ] + } + ] + }, + { + "name": "playbooks", + "label": "Playbooks", + "subLabel": { + "preValidation": "Configure the playbooks", + "postValidation": "Done" + }, + "bladeTitle": "Playbooks", + "elements": [ + { + "name": "playbooks-text", + "type": "Microsoft.Common.TextBlock", + "options": { + "text": "This solution installs the Playbook templates to help implement your Security Orchestration, Automation and Response (SOAR) operations. After installing the solution, these will be deployed under Playbook Templates in the Automation blade in Microsoft Sentinel. They can be configured and managed from the Manage solution view in Content Hub." + } + }, + { + "name": "playbooks-link", + "type": "Microsoft.Common.TextBlock", + "options": { + "link": { + "label": "Learn more", + "uri": "https://docs.microsoft.com/azure/sentinel/tutorial-respond-threats-playbook?WT.mc_id=Portal-Microsoft_Azure_CreateUIDef" + } + } + } + ] + } + ], + "outputs": { + "workspace-location": "[first(map(filter(basics('getLAWorkspace').value, (filter) => and(contains(toLower(filter.id), toLower(resourceGroup().name)),equals(filter.name,basics('workspace')))), (item) => item.location))]", + "location": "[location()]", + "workspace": "[basics('workspace')]" + } + } +} diff --git a/Solutions/Dataminr Pulse/Package/mainTemplate.json b/Solutions/Dataminr Pulse/Package/mainTemplate.json new file mode 100644 index 00000000000..b8402490e49 --- /dev/null +++ b/Solutions/Dataminr Pulse/Package/mainTemplate.json @@ -0,0 +1,3777 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "metadata": { + "author": "Dataminr - info@dataminr.com", + "comments": "Solution template for Dataminr Pulse" + }, + "parameters": { + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]", + "metadata": { + "description": "Not used, but needed to pass arm-ttk test `Location-Should-Not-Be-Hardcoded`. We instead use the `workspace-location` which is derived from the LA workspace" + } + }, + "workspace-location": { + "type": "string", + "defaultValue": "", + "metadata": { + "description": "[concat('Region to deploy solution resources -- separate from location selection',parameters('location'))]" + } + }, + "workspace": { + "defaultValue": "", + "type": "string", + "metadata": { + "description": "Workspace name for Log Analytics where Microsoft Sentinel is setup" + } + }, + "workbook1-name": { + "type": "string", + "defaultValue": "Dataminr Pulse Alerts", + "minLength": 1, + "metadata": { + "description": "Name for the workbook" + } + }, + "watchlist1-id": { + "type": "string", + "defaultValue": "DataminrPulseAsset", + "minLength": 1, + "metadata": { + "description": "Unique id for the watchlist" + } + }, + "watchlist2-id": { + "type": "string", + "defaultValue": "DataminrPulseVulnerableDomain", + "minLength": 1, + "metadata": { + "description": "Unique id for the watchlist" + } + }, + "watchlist3-id": { + "type": "string", + "defaultValue": "DataminrPulseVulnerableHash", + "minLength": 1, + "metadata": { + "description": "Unique id for the watchlist" + } + }, + "watchlist4-id": { + "type": "string", + "defaultValue": "DataminrPulseVulnerableIp", + "minLength": 1, + "metadata": { + "description": "Unique id for the watchlist" + } + }, + "watchlist5-id": { + "type": "string", + "defaultValue": "DataminrPulseVulnerableMalware", + "minLength": 1, + "metadata": { + "description": "Unique id for the watchlist" + } + } + }, + "variables": { + "email": "info@dataminr.com", + "_email": "[variables('email')]", + "_solutionName": "Dataminr Pulse", + "_solutionVersion": "3.0.0", + "solutionId": "dataminr_pulse.dataminr_sentinel", + "_solutionId": "[variables('solutionId')]", + "analyticRuleVersion1": "1.0.0", + "analyticRulecontentId1": "64a46029-3236-4d03-b5df-207366a623f1", + "_analyticRulecontentId1": "[variables('analyticRulecontentId1')]", + "analyticRuleId1": "[resourceId('Microsoft.SecurityInsights/AlertRuleTemplates', variables('analyticRulecontentId1'))]", + "analyticRuleTemplateSpecName1": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',concat(parameters('workspace'),'-ar-',uniquestring(variables('_analyticRulecontentId1'))))]", + "_analyticRulecontentProductId1": "[concat(take(variables('_solutionId'),50),'-','ar','-', uniqueString(concat(variables('_solutionId'),'-','AnalyticsRule','-',variables('_analyticRulecontentId1'),'-', variables('analyticRuleVersion1'))))]", + "workbookVersion1": "1.0.0", + "workbookContentId1": "DataminrPulseAlerts", + "workbookId1": "[resourceId('Microsoft.Insights/workbooks', variables('workbookContentId1'))]", + "workbookTemplateSpecName1": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',concat(parameters('workspace'),'-wb-',uniquestring(variables('_workbookContentId1'))))]", + "_workbookContentId1": "[variables('workbookContentId1')]", + "workspaceResourceId": "[resourceId('microsoft.OperationalInsights/Workspaces', parameters('workspace'))]", + "_workbookcontentProductId1": "[concat(take(variables('_solutionId'),50),'-','wb','-', uniqueString(concat(variables('_solutionId'),'-','Workbook','-',variables('_workbookContentId1'),'-', variables('workbookVersion1'))))]", + "DataminrPulseAsset": "DataminrPulseAsset", + "_DataminrPulseAsset": "[variables('DataminrPulseAsset')]", + "DataminrPulseVulnerableDomain": "DataminrPulseVulnerableDomain", + "_DataminrPulseVulnerableDomain": "[variables('DataminrPulseVulnerableDomain')]", + "DataminrPulseVulnerableHash": "DataminrPulseVulnerableHash", + "_DataminrPulseVulnerableHash": "[variables('DataminrPulseVulnerableHash')]", + "DataminrPulseVulnerableIp": "DataminrPulseVulnerableIp", + "_DataminrPulseVulnerableIp": "[variables('DataminrPulseVulnerableIp')]", + "DataminrPulseVulnerableMalware": "DataminrPulseVulnerableMalware", + "_DataminrPulseVulnerableMalware": "[variables('DataminrPulseVulnerableMalware')]", + "DataminrPulseAlertEnrichment": "DataminrPulseAlertEnrichment", + "_DataminrPulseAlertEnrichment": "[variables('DataminrPulseAlertEnrichment')]", + "playbookVersion1": "1.0", + "playbookContentId1": "DataminrPulseAlertEnrichment", + "_playbookContentId1": "[variables('playbookContentId1')]", + "playbookId1": "[resourceId('Microsoft.Logic/workflows', variables('playbookContentId1'))]", + "playbookTemplateSpecName1": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',concat(parameters('workspace'),'-pl-',uniquestring(variables('_playbookContentId1'))))]", + "_playbookcontentProductId1": "[concat(take(variables('_solutionId'),50),'-','pl','-', uniqueString(concat(variables('_solutionId'),'-','Playbook','-',variables('_playbookContentId1'),'-', variables('playbookVersion1'))))]", + "blanks": "[replace('b', 'b', '')]", + "parserName1": "DataminrPulseAlerts", + "_parserName1": "[concat(parameters('workspace'),'/',variables('parserName1'))]", + "parserId1": "[resourceId('Microsoft.OperationalInsights/workspaces/savedSearches', parameters('workspace'), variables('parserName1'))]", + "_parserId1": "[variables('parserId1')]", + "parserTemplateSpecName1": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',concat(parameters('workspace'),'-pr-',uniquestring(variables('_parserContentId1'))))]", + "parserVersion1": "1.0.0", + "parserContentId1": "DataminrPulseAlerts-Parser", + "_parserContentId1": "[variables('parserContentId1')]", + "_parsercontentProductId1": "[concat(take(variables('_solutionId'),50),'-','pr','-', uniqueString(concat(variables('_solutionId'),'-','Parser','-',variables('_parserContentId1'),'-', variables('parserVersion1'))))]", + "parserName2": "DataminrPulseCyberAlerts", + "_parserName2": "[concat(parameters('workspace'),'/',variables('parserName2'))]", + "parserId2": "[resourceId('Microsoft.OperationalInsights/workspaces/savedSearches', parameters('workspace'), variables('parserName2'))]", + "_parserId2": "[variables('parserId2')]", + "parserTemplateSpecName2": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',concat(parameters('workspace'),'-pr-',uniquestring(variables('_parserContentId2'))))]", + "parserVersion2": "1.0.0", + "parserContentId2": "DataminrPulseCyberAlerts-Parser", + "_parserContentId2": "[variables('parserContentId2')]", + "_parsercontentProductId2": "[concat(take(variables('_solutionId'),50),'-','pr','-', uniqueString(concat(variables('_solutionId'),'-','Parser','-',variables('_parserContentId2'),'-', variables('parserVersion2'))))]", + "uiConfigId1": "DataminrPulseAlerts", + "_uiConfigId1": "[variables('uiConfigId1')]", + "dataConnectorContentId1": "DataminrPulseAlerts", + "_dataConnectorContentId1": "[variables('dataConnectorContentId1')]", + "dataConnectorId1": "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/dataConnectors', variables('_dataConnectorContentId1'))]", + "_dataConnectorId1": "[variables('dataConnectorId1')]", + "dataConnectorTemplateSpecName1": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',concat(parameters('workspace'),'-dc-',uniquestring(variables('_dataConnectorContentId1'))))]", + "dataConnectorVersion1": "1.0.0", + "_dataConnectorcontentProductId1": "[concat(take(variables('_solutionId'),50),'-','dc','-', uniqueString(concat(variables('_solutionId'),'-','DataConnector','-',variables('_dataConnectorContentId1'),'-', variables('dataConnectorVersion1'))))]", + "_solutioncontentProductId": "[concat(take(variables('_solutionId'),50),'-','sl','-', uniqueString(concat(variables('_solutionId'),'-','Solution','-',variables('_solutionId'),'-', variables('_solutionVersion'))))]" + }, + "resources": [ + { + "type": "Microsoft.OperationalInsights/workspaces/providers/contentTemplates", + "apiVersion": "2023-04-01-preview", + "name": "[variables('analyticRuleTemplateSpecName1')]", + "location": "[parameters('workspace-location')]", + "dependsOn": [ + "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" + ], + "properties": { + "description": "DataminrSentinelAlerts_AnalyticalRules Analytics Rule with template version 3.0.0", + "mainTemplate": { + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "[variables('analyticRuleVersion1')]", + "parameters": {}, + "variables": {}, + "resources": [ + { + "type": "Microsoft.SecurityInsights/AlertRuleTemplates", + "name": "[variables('analyticRulecontentId1')]", + "apiVersion": "2022-04-01-preview", + "kind": "Scheduled", + "location": "[parameters('workspace-location')]", + "properties": { + "description": "Rule helps to detect whenever there is an alert found which has urgent alert-type in Dataminr.", + "displayName": "Dataminr - urgent alerts detected", + "enabled": false, + "query": "DataminrPulseAlerts\n| where EventSource in~ ('Greynoise', 'Shodan', 'VirusTotal', 'alienvault open threat exchange', 'urlscan')\n and AlertType == \"Urgent\"\n", + "queryFrequency": "PT5M", + "queryPeriod": "PT5M", + "severity": "Medium", + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "status": "Available", + "requiredDataConnectors": [ + { + "dataTypes": [ + "DataminrPulseAlerts" + ], + "connectorId": "DataminrPulseAlerts" + } + ], + "tactics": [ + "Persistence" + ], + "techniques": [ + "T1546" + ], + "entityMappings": [ + { + "entityType": "URL", + "fieldMappings": [ + { + "columnName": "PostLink", + "identifier": "Url" + } + ] + } + ], + "eventGroupingSettings": { + "aggregationKind": "SingleAlert" + }, + "alertDetailsOverride": { + "alertDisplayNameFormat": "Dataminr Alert: {{AlertId}}", + "alertDescriptionFormat": "{{Caption}}" + }, + "incidentConfiguration": { + "createIncident": true + } + } + }, + { + "type": "Microsoft.OperationalInsights/workspaces/providers/metadata", + "apiVersion": "2022-01-01-preview", + "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',concat('AnalyticsRule-', last(split(variables('analyticRuleId1'),'/'))))]", + "properties": { + "description": "Dataminr Pulse Analytics Rule 1", + "parentId": "[variables('analyticRuleId1')]", + "contentId": "[variables('_analyticRulecontentId1')]", + "kind": "AnalyticsRule", + "version": "[variables('analyticRuleVersion1')]", + "source": { + "kind": "Solution", + "name": "Dataminr Pulse", + "sourceId": "[variables('_solutionId')]" + }, + "author": { + "name": "Dataminr", + "email": "[variables('_email')]" + }, + "support": { + "name": "Dataminr Support", + "email": "support@dataminr.com", + "tier": "Partner", + "link": "https://www.dataminr.com/dataminr-support#support" + } + } + } + ] + }, + "packageKind": "Solution", + "packageVersion": "[variables('_solutionVersion')]", + "packageName": "[variables('_solutionName')]", + "packageId": "[variables('_solutionId')]", + "contentSchemaVersion": "3.0.0", + "contentId": "[variables('_analyticRulecontentId1')]", + "contentKind": "AnalyticsRule", + "displayName": "Dataminr - urgent alerts detected", + "contentProductId": "[variables('_analyticRulecontentProductId1')]", + "id": "[variables('_analyticRulecontentProductId1')]", + "version": "[variables('analyticRuleVersion1')]" + } + }, + { + "type": "Microsoft.OperationalInsights/workspaces/providers/contentTemplates", + "apiVersion": "2023-04-01-preview", + "name": "[variables('workbookTemplateSpecName1')]", + "location": "[parameters('workspace-location')]", + "dependsOn": [ + "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" + ], + "properties": { + "description": "DataminrPulseAlertsWorkbook Workbook with template version 3.0.0", + "mainTemplate": { + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "[variables('workbookVersion1')]", + "parameters": {}, + "variables": {}, + "resources": [ + { + "type": "Microsoft.Insights/workbooks", + "name": "[variables('workbookContentId1')]", + "location": "[parameters('workspace-location')]", + "kind": "shared", + "apiVersion": "2021-08-01", + "metadata": { + "description": "This Workbook provides insight into the data coming from DataminrPulse." + }, + "properties": { + "displayName": "[parameters('workbook1-name')]", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":11,\"content\":{\"version\":\"LinkItem/1.0\",\"style\":\"tabs\",\"links\":[{\"id\":\"da8b6813-e862-406d-be73-aed634a083a2\",\"cellValue\":\"setTab\",\"linkTarget\":\"parameter\",\"linkLabel\":\"Alert Overview\",\"subTarget\":\"Alert Overview\",\"style\":\"link\",\"linkIsContextBlade\":true},{\"id\":\"75b5e827-ff38-4252-bbd1-6beedbfe4534\",\"cellValue\":\"setTab\",\"linkTarget\":\"parameter\",\"linkLabel\":\"Cyber Threat Overview\",\"subTarget\":\"Cyber Threat Overview\",\"style\":\"link\"},{\"id\":\"e4bdb76d-c81a-498f-b0ba-5130dba5d9ab\",\"cellValue\":\"setTab\",\"linkTarget\":\"parameter\",\"linkLabel\":\"IOC Overview\",\"subTarget\":\"IOC Overview\",\"style\":\"link\"},{\"id\":\"d76fe7f8-78c7-4537-8de6-7d8a1d050478\",\"cellValue\":\"setTab\",\"linkTarget\":\"parameter\",\"linkLabel\":\"Close Proximity Overview\",\"subTarget\":\"Close Proximity Overview\",\"style\":\"link\"},{\"id\":\"6de2158e-490d-4bed-85c4-f6e87706afc5\",\"cellValue\":\"setTab\",\"linkTarget\":\"parameter\",\"linkLabel\":\"Alerts Drilldown\",\"subTarget\":\"Alerts Drilldown\",\"style\":\"link\"}]},\"name\":\"links - 13\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"# Dataminr Alert Overview\\r\\n### Watchlists created in Dataminr\"},\"name\":\"text - 0\"},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"parameters\":[{\"id\":\"9c52736d-df9f-4db2-a196-6395ba392fe2\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"select_time_range\",\"label\":\"Time Range\",\"type\":4,\"isRequired\":true,\"typeSettings\":{\"selectableValues\":[{\"durationMs\":300000},{\"durationMs\":900000},{\"durationMs\":1800000},{\"durationMs\":3600000},{\"durationMs\":14400000},{\"durationMs\":43200000},{\"durationMs\":86400000},{\"durationMs\":172800000},{\"durationMs\":259200000},{\"durationMs\":604800000},{\"durationMs\":1209600000},{\"durationMs\":2419200000},{\"durationMs\":2592000000},{\"durationMs\":5184000000},{\"durationMs\":7776000000}],\"allowCustom\":true},\"timeContext\":{\"durationMs\":86400000},\"value\":{\"durationMs\":86400000}},{\"id\":\"21aeafb7-3429-4c8c-b74b-d296f0ce22b2\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"watchlist\",\"label\":\"Watchlist\",\"type\":2,\"isRequired\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| mv-expand todynamic(WatchlistsMatchedByType)\\r\\n| where isnotempty(WatchlistsMatchedByType[\\\"name\\\"])\\r\\n| distinct tostring(WatchlistsMatchedByType[\\\"name\\\"])\",\"typeSettings\":{\"additionalResourceOptions\":[\"value::all\"],\"selectAllValue\":\"*\",\"showDefault\":false},\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"select_time_range\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"value\":\"value::all\"}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"parameters - 1\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"title\":\"Help\",\"expandable\":true,\"items\":[{\"type\":1,\"content\":{\"json\":\"This dashboards shows high level analytics about the Dataminr alerts from the selected Watchlist.\"},\"name\":\"text - 0\"}]},\"name\":\"Help\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| where ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}')) and isnotempty(AlertType)\\r\\n| summarize distinct_count=dcount(AlertId) by AlertType\\r\\n| sort by distinct_count desc\",\"size\":0,\"showAnalytics\":true,\"title\":\"Alerts by Type\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"select_time_range\",\"showRefreshButton\":true,\"exportFieldName\":\"x\",\"exportParameterName\":\"alert_type\",\"exportDefaultValue\":\"None\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"categoricalbar\",\"chartSettings\":{\"xAxis\":\"AlertType\",\"seriesLabelSettings\":[{\"seriesName\":\"Urgent\",\"color\":\"orange\"},{\"seriesName\":\"Alert\",\"color\":\"yellow\"},{\"seriesName\":\"Flash\",\"color\":\"redBright\"}],\"ySettings\":{\"numberFormatSettings\":{\"unit\":0,\"options\":{\"style\":\"decimal\",\"useGrouping\":true}}}}},\"customWidth\":\"50\",\"name\":\"Alerts by Type\",\"styleSettings\":{\"padding\":\"24px\",\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| where ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\\r\\n| mv-expand todynamic(Company)\\r\\n| extend companyName = tostring(Company[\\\"name\\\"])\\r\\n| where isnotempty(Company)\\r\\n| summarize Count=dcount(AlertId) by companyName\\r\\n| sort by Count desc\",\"size\":3,\"showAnalytics\":true,\"title\":\"Alerts by Company\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"select_time_range\",\"showRefreshButton\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"piechart\",\"chartSettings\":{\"yAxis\":[\"Count\"],\"group\":\"companyName\",\"createOtherGroup\":10,\"ySettings\":{\"numberFormatSettings\":{\"unit\":0,\"options\":{\"style\":\"decimal\",\"useGrouping\":true}}}}},\"customWidth\":\"50\",\"name\":\"Alerts by Company\",\"styleSettings\":{\"showBorder\":true}},{\"type\":1,\"content\":{\"json\":\"💡 _Click on a bars in the above 'Alert by Type' chart to view more details_\"},\"name\":\"text - 10\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| where ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\\r\\n and isnotempty(AlertType) and AlertType == '{alert_type}'\\r\\n| summarize count=dcount(AlertId) by AlertType\",\"size\":4,\"showAnalytics\":true,\"title\":\"Selected Alerts Type Data\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"select_time_range\",\"showRefreshButton\":true,\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"rowLimit\":10000}},\"conditionalVisibility\":{\"parameterName\":\"alert_type\",\"comparison\":\"isNotEqualTo\",\"value\":\"None\"},\"name\":\"query - 8\",\"styleSettings\":{\"showBorder\":true}},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"parameters\":[{\"id\":\"89d85ee2-81ec-42ed-bd7e-d8e7bcee1ab1\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Category_name\",\"label\":\"Category Name\",\"type\":2,\"isRequired\":true,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"DataminrPulseCyberAlerts \\r\\n| mv-expand todynamic(Category)\\r\\n| extend categories = tostring(Category[\\\"name\\\"])\\r\\n| where ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}')) and isnotempty(categories)\\r\\n| distinct categories\\r\\n\",\"typeSettings\":{\"additionalResourceOptions\":[\"value::all\"],\"selectAllValue\":\"*\",\"showDefault\":false},\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"select_time_range\",\"defaultValue\":\"value::all\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"value\":[\"value::all\"]}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"parameters - 10\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts \\r\\n| mv-expand todynamic(Category)\\r\\n| extend Date = format_datetime(todatetime(TimeGenerated), 'yyyy-MM-dd'), CategoryName = tostring(Category[\\\"name\\\"])\\r\\n| where ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}')) and ('*' in ({Category_name}) or CategoryName in ({Category_name})) and isnotempty(CategoryName)\\r\\n| summarize Dcount=dcount(AlertId) by Date, CategoryName\\r\\n| project Date, Dcount, CategoryName\\r\\n| order by Date asc\",\"size\":0,\"aggregation\":5,\"showAnalytics\":true,\"title\":\"Alerts Trend\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"select_time_range\",\"showRefreshButton\":true,\"exportedParameters\":[{\"fieldName\":\"x\",\"parameterName\":\"date_Occurrence_Trend\",\"parameterType\":1,\"defaultValue\":\"None\"},{\"fieldName\":\"series\",\"parameterName\":\"CategoryName_Occurrence_Trend\",\"parameterType\":1,\"defaultValue\":\"None\"}],\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"timechart\",\"chartSettings\":{\"xAxis\":\"Date\",\"group\":\"CategoryName\",\"createOtherGroup\":99,\"showDataPoints\":true}},\"customWidth\":\"50\",\"name\":\"Alerts Trend\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| where ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}')) and isnotempty(EventLocationName) and isnotempty(WatchlistsMatchedByType)\\r\\n| summarize dcount=dcount(AlertId) by Latitude, Longitude, EventLocationName\\r\\n| extend latlng = strcat(\\\"Latitude : \\\",Latitude,\\\"\\\\nLongitude : \\\",Longitude,\\\"\\\\nName : \\\",EventLocationName,\\\"\\\\nCount : \\\",dcount)\\r\\n| order by dcount desc\",\"size\":0,\"showAnalytics\":true,\"title\":\"Alerts by Location\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"select_time_range\",\"showRefreshButton\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"map\",\"graphSettings\":{\"type\":0,\"topContent\":{\"columnMatch\":\"lat\",\"formatter\":1},\"centerContent\":{\"columnMatch\":\"countID\",\"formatter\":1,\"numberFormat\":{\"unit\":17,\"options\":{\"maximumSignificantDigits\":3,\"maximumFractionDigits\":2}}}},\"mapSettings\":{\"locInfo\":\"LatLong\",\"latitude\":\"Latitude\",\"longitude\":\"Longitude\",\"sizeSettings\":\"dcount\",\"sizeAggregation\":\"Sum\",\"labelSettings\":\"latlng\",\"legendMetric\":\"dcount\",\"numberOfMetrics\":99,\"legendAggregation\":\"Sum\",\"itemColorSettings\":{\"nodeColorField\":\"dcount\",\"colorAggregation\":\"Sum\",\"type\":\"heatmap\",\"heatmapPalette\":\"greenRed\"}}},\"customWidth\":\"50\",\"name\":\"Alerts by Location\",\"styleSettings\":{\"showBorder\":true}},{\"type\":1,\"content\":{\"json\":\"💡 _Click on a data points in the above 'Alerts Trend' chart to view more details_\"},\"customWidth\":\"45\",\"name\":\"text - 11\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts \\r\\n| extend TimeGenerated = tostring(TimeGenerated), Channel = substring(SourceChannels,1,strlen(SourceChannels)-2), category = parse_json(Category), embededLabels = parse_json(EmbeddedLabels)\\r\\n| mv-apply category on (summarize Topics = make_list(category.name))\\r\\n| mv-apply embededLabels on (summarize addresses = make_list(embededLabels.addresses))\\r\\n| extend CategoryName = array_index_of(Topics,'{CategoryName_Occurrence_Trend}'), Date = format_datetime(todatetime(TimeGenerated), 'yyyy-MM-dd')\\r\\n| where TimeGenerated contains '{date_Occurrence_Trend}' and CategoryName >= 0 and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\\r\\n| summarize any(*) by AlertId, Date\\r\\n| project-rename [\\\"Alert ID\\\"] = AlertId, [\\\"Alert Type\\\"] = any_AlertType, [\\\"Category Names\\\"] = any_Topics, Companies = any_Company, [\\\"Cyber Addresses\\\"] = any_addresses, [\\\"Location Name\\\"] = any_EventLocationName, [\\\"Matched Watchlist\\\"] = any_WatchlistNames, Source = any_EventSource, [\\\"Source Channels\\\"]= any_Channel, [\\\"Publisher Name\\\"] = any_PublisherCategoryName, [\\\"Time Generated\\\"] = any_TimeGenerated, Caption = any_Caption\\r\\n| project [\\\"Alert ID\\\"], [\\\"Alert Type\\\"], Caption, [\\\"Category Names\\\"], Companies, [\\\"Cyber Addresses\\\"], [\\\"Location Name\\\"], format_datetime(todatetime([\\\"Time Generated\\\"]), 'yy-MM-dd HH:mm:ss'), [\\\"Matched Watchlist\\\"], Source, parse_json([\\\"Source Channels\\\"]), [\\\"Publisher Name\\\"]\\r\\n| sort by [\\\"Time Generated\\\"] asc\",\"size\":0,\"showAnalytics\":true,\"title\":\"Selected Alerts Trend Data\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"select_time_range\",\"showRefreshButton\":true,\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"rowLimit\":10000,\"filter\":true}},\"conditionalVisibilities\":[{\"parameterName\":\"date_Occurrence_Trend\",\"comparison\":\"isNotEqualTo\",\"value\":\"None\"},{\"parameterName\":\"CategoryName_Occurrence_Trend\",\"comparison\":\"isNotEqualTo\",\"value\":\"None\"},{\"parameterName\":\"CategoryName_Occurrence_Trend\",\"comparison\":\"isNotEqualTo\",\"value\":\"Other\"}],\"name\":\"query - 7\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| where ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\\r\\n| extend EventTime = unixtime_milliseconds_todatetime(toint(EventTime)), Channel = substring(SourceChannels,1,strlen(SourceChannels)-2)\\r\\n| summarize any(*) by AlertId\\r\\n| project-rename ['Alert ID'] = AlertId, Time = any_TimeGenerated, [\\\"Alert Type\\\"] = any_AlertType, Source = any_EventSource, [\\\"Source Channels\\\"]= any_Channel, Publisher = any_PublisherCategoryName, Caption = any_Caption, Company = any_CompanyNames, Topics = any_CategoryNames\\r\\n| project ['Alert ID'], format_datetime(todatetime(Time), 'yy-MM-dd HH:mm:ss'), [\\\"Alert Type\\\"], Caption, Company, Source, parse_json([\\\"Source Channels\\\"]), Publisher, Topics\\r\\n| order by Time desc\\r\\n| limit 10\",\"size\":3,\"showAnalytics\":true,\"title\":\"Recent 10 Alerts\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"select_time_range\",\"showRefreshButton\":true,\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Alert ID\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"GenericDetails\",\"linkIsContextBlade\":true}}],\"filter\":true}},\"name\":\"Recent 10 Alerts\",\"styleSettings\":{\"showBorder\":true}},{\"type\":1,\"content\":{\"json\":\"📝 ***Refresh the web page to fetch details of recently collected events***\"},\"name\":\"text - 13\"}]},\"conditionalVisibility\":{\"parameterName\":\"setTab\",\"comparison\":\"isEqualTo\",\"value\":\"Alert Overview\"},\"name\":\"group - 2\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"# Dataminr Close Proximity Overview\\r\\n### Show Dataminr alerts in close proximity of important Customer locations\"},\"name\":\"text - 0\"},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"parameters\":[{\"id\":\"7b8368ba-ff5f-4cc6-a7b3-4bc4a7c00789\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Select_Time_Range\",\"label\":\"Time Range\",\"type\":4,\"isRequired\":true,\"typeSettings\":{\"selectableValues\":[{\"durationMs\":300000},{\"durationMs\":900000},{\"durationMs\":1800000},{\"durationMs\":3600000},{\"durationMs\":14400000},{\"durationMs\":43200000},{\"durationMs\":86400000},{\"durationMs\":172800000},{\"durationMs\":259200000},{\"durationMs\":604800000},{\"durationMs\":1209600000},{\"durationMs\":2419200000},{\"durationMs\":2592000000},{\"durationMs\":5184000000},{\"durationMs\":7776000000}],\"allowCustom\":true},\"timeContext\":{\"durationMs\":86400000},\"value\":{\"durationMs\":86400000}}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"parameters - 1\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"title\":\"Help\",\"expandable\":true,\"items\":[{\"type\":1,\"content\":{\"json\":\"This dashboards shows Dataminr alerts within threshold miles from important customer locations.\\r\\n\\r\\nThe important customer locations are configured as part of Sentinel Watchlist. The Watchlist file is included as part of this app.\\r\\n\\r\\nPlease update the Watchlist file manually.\"},\"name\":\"text - 0\"}]},\"name\":\"group - 8\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"_GetWatchlist('DataminrPulseAsset')\\r\\n| extend crossjoin = 1\\r\\n| join kind=inner (DataminrPulseAlerts | extend crossjoin = 1) on crossjoin\\r\\n| extend asset_distance_miles = abs(3956 * (2 * asin(sqrt(pow(sin(((Latitude*pi()/180)-(todouble(asset_lat)*pi()/180)) / 2),2) + cos((Latitude*pi()/180)) * cos((todouble(asset_lat)*pi()/180)) * pow(sin(((Longitude*pi()/180)-(todouble(asset_long)*pi()/180)) / 2),2)))))\\r\\n| where asset_distance_miles <= toreal(alerting_distance_miles)\\r\\n| summarize any(asset_name), dcount=dcount(AlertId) by AlertId, tostring(asset_lat), tostring(asset_long)\\r\\n| extend latlng = strcat(\\\"Name : \\\",any_asset_name,\\\"\\\\nLatitude : \\\",asset_lat,\\\"\\\\nLongitude: \\\",asset_long)\\r\\n| order by asset_lat desc\\r\\n\",\"size\":0,\"showAnalytics\":true,\"title\":\"Alerts in Close Proximity Map\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"Select_Time_Range\",\"showRefreshButton\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"map\",\"graphSettings\":{\"type\":0,\"topContent\":{\"columnMatch\":\"AlertId\",\"formatter\":1},\"centerContent\":{\"columnMatch\":\"dcount\",\"formatter\":1,\"numberFormat\":{\"unit\":17,\"options\":{\"maximumSignificantDigits\":3,\"maximumFractionDigits\":2}}}},\"mapSettings\":{\"locInfo\":\"LatLong\",\"latitude\":\"asset_lat\",\"longitude\":\"asset_long\",\"sizeSettings\":\"dcount\",\"sizeAggregation\":\"Sum\",\"labelSettings\":\"latlng\",\"legendMetric\":\"dcount\",\"numberOfMetrics\":0,\"legendAggregation\":\"Sum\",\"itemColorSettings\":{\"nodeColorField\":\"dcount\",\"colorAggregation\":\"Sum\",\"type\":\"heatmap\",\"heatmapPalette\":\"greenRed\"}}},\"customWidth\":\"50\",\"showPin\":false,\"name\":\"Alerts in Close Proximity Map\",\"styleSettings\":{\"padding\":\"20px\",\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"_GetWatchlist('DataminrPulseAsset')\\r\\n| extend crossjoin = 1\\r\\n| join kind=inner (DataminrPulseAlerts | extend crossjoin = 1) on crossjoin\\r\\n| extend asset_distance_miles = abs(3956 * (2 * asin(sqrt(pow(sin(((Latitude*pi()/180)-(todouble(asset_lat)*pi()/180)) / 2),2) + cos((Latitude*pi()/180)) * cos((todouble(asset_lat)*pi()/180)) * pow(sin(((Longitude*pi()/180)-(todouble(asset_long)*pi()/180)) / 2),2)))))\\r\\n| where asset_distance_miles <= toreal(alerting_distance_miles)\\r\\n| project-rename [\\\"Asset Name\\\"] = asset_name, [\\\"Asset Type\\\"] = asset_type, [\\\"Alert ID\\\"] = AlertId, [\\\"Asset Distance Miles\\\"] = asset_distance_miles\\r\\n| project [\\\"Asset Name\\\"], [\\\"Asset Type\\\"], Caption, [\\\"Alert ID\\\"], [\\\"Asset Distance Miles\\\"]\\r\\n\",\"size\":0,\"showAnalytics\":true,\"title\":\" Alerts in Close Proximity\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"Select_Time_Range\",\"showRefreshButton\":true,\"exportFieldName\":\"Alert ID\",\"exportParameterName\":\"alertid\",\"exportDefaultValue\":\"None\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"showExpandCollapseGrid\":true,\"gridSettings\":{\"rowLimit\":10000,\"filter\":true}},\"customWidth\":\"50\",\"name\":\"Alerts in Close Proximity\",\"styleSettings\":{\"showBorder\":true}},{\"type\":1,\"content\":{\"json\":\"\"},\"customWidth\":\"50\",\"name\":\"text - 7\"},{\"type\":1,\"content\":{\"json\":\"💡 _Click on a row in the above 'Alerts in Close Proximity' grid to view more details_\"},\"customWidth\":\"50\",\"name\":\"text - 6\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseAlerts\\r\\n| where AlertId == '{alertid}'\",\"size\":4,\"showAnalytics\":true,\"title\":\"Selected Close Proximity Alert Data\",\"timeContextFromParameter\":\"Select_Time_Range\",\"showRefreshButton\":true,\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\"},\"conditionalVisibility\":{\"parameterName\":\"alertid\",\"comparison\":\"isNotEqualTo\",\"value\":\"None\"},\"name\":\"query - 5\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"_GetWatchlist('DataminrPulseAsset')\\r\\n| project-rename [\\\"Asset Name\\\"] = asset_name, [\\\"Asset Type\\\"] = asset_type, [\\\"Asset Description\\\"] = asset_description, [\\\"Alerting Distance Miles\\\"] = alerting_distance_miles, [\\\"Asset Latitude\\\"] = asset_lat, [\\\"Asset Longitude\\\"] = asset_long\\r\\n| project [\\\"Asset Name\\\"], [\\\"Asset Type\\\"], [\\\"Asset Description\\\"], [\\\"Alerting Distance Miles\\\"], [\\\"Asset Latitude\\\"], [\\\"Asset Longitude\\\"]\\r\\n\",\"size\":0,\"showAnalytics\":true,\"title\":\"Configured Important Locations\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"Select_Time_Range\",\"showRefreshButton\":true,\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"rowLimit\":10000,\"filter\":true,\"sortBy\":[{\"itemKey\":\"Asset Latitude\",\"sortOrder\":1}]},\"sortBy\":[{\"itemKey\":\"Asset Latitude\",\"sortOrder\":1}]},\"name\":\"Configured Important Locations\",\"styleSettings\":{\"showBorder\":true}},{\"type\":1,\"content\":{\"json\":\"📝 ***Refresh the web page to fetch details of recently collected events***\"},\"name\":\"text - 9\"}]},\"conditionalVisibility\":{\"parameterName\":\"setTab\",\"comparison\":\"isEqualTo\",\"value\":\"Close Proximity Overview\"},\"name\":\"Close Proximity Overview\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"# Dataminr IOC Overview\\r\\n### IOCs (IP, URL, domain, hashes, filenames) extracted from alerts created by Dataminr\"},\"showPin\":false,\"name\":\"text - 0\"},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"parameters\":[{\"id\":\"4889f111-32cd-4a9f-8ad3-3d5a1a43d812\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"time\",\"label\":\"Time Range\",\"type\":4,\"isRequired\":true,\"typeSettings\":{\"selectableValues\":[{\"durationMs\":300000},{\"durationMs\":900000},{\"durationMs\":1800000},{\"durationMs\":3600000},{\"durationMs\":14400000},{\"durationMs\":43200000},{\"durationMs\":86400000},{\"durationMs\":172800000},{\"durationMs\":259200000},{\"durationMs\":604800000},{\"durationMs\":1209600000},{\"durationMs\":2419200000},{\"durationMs\":2592000000},{\"durationMs\":5184000000},{\"durationMs\":7776000000}],\"allowCustom\":true},\"timeContext\":{\"durationMs\":86400000},\"value\":{\"durationMs\":86400000}}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"parameters - 1\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"title\":\"Help\",\"expandable\":true,\"items\":[{\"type\":1,\"content\":{\"json\":\"This dashboards shows Indicator of Compromise in the current Sentinel environment.\\r\\n\\r\\nEach row in the panels showing vulnerable IOCs are clickable. Click the row to view more details about the vulnerable IOC.\\r\\n\\r\\n\"},\"name\":\"text - 0\"}]},\"name\":\"group - 14\"},{\"type\":1,\"content\":{\"json\":\"#### 📝 Note: To view the Affected IOCs related panles in this dashboard, ASim parsers must be deployed in the workspace and lookup csv data must be available in watchlist. \"},\"name\":\"text - 21\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"union isfuzzy=true\\r\\n(ASimNetworkSession\\r\\n | where EventVendor !contains_cs(\\\"Dataminr\\\")\\r\\n | summarize src_ip = make_set(SrcIpAddr), dst_ip = make_set(DstIpAddr)\\r\\n | summarize ip = make_set(set_union(src_ip, dst_ip))),\\r\\n(ASimDns\\r\\n | where EventVendor !contains_cs(\\\"Dataminr\\\")\\r\\n | summarize src_ip = make_set(SrcIpAddr), dst_ip = make_set(DstIpAddr)\\r\\n | summarize ip = make_set(set_union(src_ip, dst_ip))),\\r\\n(ASimWebSession\\r\\n | where EventVendor !contains_cs(\\\"Dataminr\\\")\\r\\n | summarize src_ip = make_set(SrcIpAddr), dst_ip = make_set(DstIpAddr)\\r\\n | summarize ip = make_set(set_union(src_ip, dst_ip))),\\r\\n(ASimAuditEvent\\r\\n | where EventVendor !contains_cs(\\\"Dataminr\\\")\\r\\n | summarize src_ip = make_set(SrcIpAddr), dst_ip = make_set(TargetIpAddr)\\r\\n | summarize ip = make_set(set_union(src_ip, dst_ip)))\\r\\n| mv-expand ip\\r\\n| where isnotempty(ip)\\r\\n| extend ip = tostring(ip)\\r\\n| join kind=inner (_GetWatchlist(\\\"DataminrPulseVulnerableIp\\\")\\r\\n | project ip, caption) on ip\\r\\n| project-rename [\\\"ASIM Ip\\\"] = ip, [\\\"Lookup Ip\\\"] = ip1\\r\\n| summarize ip_count=dcount([\\\"ASIM Ip\\\"])\\r\\n| project ip_count\",\"size\":4,\"showAnalytics\":true,\"title\":\"Affected IP Address\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"tiles\",\"tileSettings\":{\"titleContent\":{\"formatter\":12,\"formatOptions\":{\"palette\":\"none\"}},\"rightContent\":{\"columnMatch\":\"ip_count\",\"formatter\":12,\"formatOptions\":{\"palette\":\"none\"},\"numberFormat\":{\"unit\":17,\"options\":{\"style\":\"decimal\"},\"emptyValCustomText\":\"0\"}},\"showBorder\":false,\"size\":\"auto\"},\"graphSettings\":{\"type\":0,\"centerContent\":{\"columnMatch\":\"Count\",\"formatter\":12,\"formatOptions\":{\"palette\":\"none\"}},\"nodeIdField\":\"Count\",\"sourceIdField\":\"Count\",\"targetIdField\":\"Count\",\"graphOrientation\":3,\"showOrientationToggles\":false,\"nodeSize\":\"\",\"staticNodeSize\":100,\"colorSettings\":\"\",\"hivesMargin\":5},\"textSettings\":{\"style\":\"bignumber\"}},\"customWidth\":\"25\",\"name\":\"query - 2\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"union isfuzzy=true\\r\\n(imFileEvent\\r\\n | where EventVendor !contains_cs(\\\"Dataminr\\\")\\r\\n | summarize src_md5=make_set(SrcFileMD5), src_sha1=make_set(SrcFileSHA1), src_sha256=make_set(SrcFileSHA256), src_sha512=make_set(SrcFileSHA512), dst_md5=make_set(TargetFileMD5), dst_sha1=make_set(TargetFileSHA1), dst_sha256=make_set(TargetFileSHA256), dst_sha512=make_set(TargetFileSHA512)\\r\\n | summarize Hashes = make_set(set_union(src_md5, src_sha1, src_sha256, src_sha512, dst_md5, dst_sha1, dst_sha256, dst_sha512))\\r\\n | project Hashes),\\r\\n(ASimProcessEvent\\r\\n | where EventVendor !contains_cs(\\\"Dataminr\\\")\\r\\n | summarize src_md5=make_set(ParentProcessMD5), src_sha1=make_set(ParentProcessSHA1), src_sha256=make_set(ParentProcessSHA256), src_sha512=make_set(ParentProcessSHA512), dst_md5=make_set(TargetProcessMD5), dst_sha1=make_set(TargetProcessSHA1), dst_sha256=make_set(TargetProcessSHA256), dst_sha512=make_set(TargetProcessSHA512), act_md5 = make_set(ActingProcessMD5), act_sha1=make_set(ActingProcessSHA1), act_sha256=make_set(ActingProcessSHA256), act_sha512=make_set(ActingProcessSHA512)\\r\\n | summarize Hashes = make_set(set_union(src_md5, src_sha1, src_sha256, src_sha512, dst_md5, dst_sha1, dst_sha256, dst_sha512, act_md5, act_sha1, act_sha256, act_sha512))\\r\\n | project Hashes),\\r\\n(ASimWebSession\\r\\n | where EventVendor !contains_cs(\\\"Dataminr\\\")\\r\\n | summarize file_md5=make_set(FileMD5), file_sha1=make_set(FileSHA1), file_sha256=make_set(FileSHA256), file_sha512=make_set(FileSHA512)\\r\\n | summarize Hashes = make_set(set_union(file_md5, file_sha1, file_sha256, file_sha512))\\r\\n | project Hashes)\\r\\n| mv-expand Hashes\\r\\n| where isnotempty(Hashes)\\r\\n| extend Hashes = tostring(Hashes)\\r\\n| join kind=inner (_GetWatchlist('DataminrPulseVulnerableHash')\\r\\n | project Hashes=SearchKey, caption) on Hashes\\r\\n| project-rename [\\\"ASIM Hashes\\\"] = Hashes, [\\\"Lookup Hashes\\\"] = Hashes1\\r\\n| summarize hash_count = dcount([\\\"ASIM Hashes\\\"])\\r\\n| project hash_count\",\"size\":4,\"showAnalytics\":true,\"title\":\"Affected Hashes\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"tiles\",\"tileSettings\":{\"titleContent\":{\"formatter\":12,\"formatOptions\":{\"palette\":\"none\"}},\"rightContent\":{\"columnMatch\":\"hash_count\",\"formatter\":12,\"formatOptions\":{\"palette\":\"none\"},\"numberFormat\":{\"unit\":17,\"options\":{\"style\":\"decimal\"},\"emptyValCustomText\":\"0\"}},\"showBorder\":false,\"size\":\"auto\"}},\"customWidth\":\"25\",\"name\":\"query - 2 - Copy\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"union isfuzzy=true\\r\\n(ASimWebSession\\r\\n | where EventVendor !contains_cs(\\\"Dataminr\\\")\\r\\n | project url=Url),\\r\\n(imFileEvent\\r\\n | where EventVendor !contains_cs(\\\"Dataminr\\\")\\r\\n | project url = TargetUrl),\\r\\n(ASimAuditEvent\\r\\n | where EventVendor !contains_cs(\\\"Dataminr\\\")\\r\\n | project url = TargetUrl)\\r\\n| join kind=inner (_GetWatchlist('DataminrPulseVulnerableDomain')\\r\\n | project url, caption) on url\\r\\n| project-rename [\\\"ASIM URLs\\\"] = url, [\\\"Lookup URLs\\\"] = url1\\r\\n| summarize domain_count=dcount([\\\"ASIM URLs\\\"])\\r\\n| project domain_count\",\"size\":4,\"showAnalytics\":true,\"title\":\"Affected Domains\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"tiles\",\"tileSettings\":{\"titleContent\":{\"formatter\":12,\"formatOptions\":{\"palette\":\"none\"}},\"rightContent\":{\"columnMatch\":\"domain_count\",\"formatter\":12,\"formatOptions\":{\"palette\":\"none\"},\"numberFormat\":{\"unit\":17,\"options\":{\"style\":\"decimal\"},\"emptyValCustomText\":\"0\"}},\"showBorder\":false,\"size\":\"auto\"}},\"customWidth\":\"25\",\"name\":\"query - 2 - Copy - Copy\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"union isfuzzy=true\\r\\n(ASimAuditEvent\\r\\n | where EventVendor !contains_cs(\\\"Dataminr\\\")\\r\\n | extend malware = ThreatName\\r\\n | project malware),\\r\\n(ASimNetworkSession\\r\\n | where EventVendor !contains_cs(\\\"Dataminr\\\")\\r\\n | extend malware = ThreatName\\r\\n | project malware),\\r\\n(ASimDns\\r\\n | where EventVendor !contains_cs(\\\"Dataminr\\\")\\r\\n | extend malware = ThreatName\\r\\n | project malware),\\r\\n(ASimWebSession\\r\\n | where EventVendor !contains_cs(\\\"Dataminr\\\")\\r\\n | extend malware = ThreatName\\r\\n | project malware)\\r\\n| join kind=inner (_GetWatchlist('DataminrPulseVulnerableMalware')\\r\\n | project malware, caption) on malware\\r\\n| project-rename [\\\"ASIM Malwares\\\"] = malware, [\\\"Lookup Hashes\\\"] = malware1\\r\\n| summarize malware_count= dcount([\\\"ASIM Malwares\\\"])\\r\\n| project malware_count\",\"size\":4,\"showAnalytics\":true,\"title\":\"Affected Malwares\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"tiles\",\"tileSettings\":{\"titleContent\":{\"formatter\":12,\"formatOptions\":{\"palette\":\"none\"}},\"rightContent\":{\"columnMatch\":\"malware_count\",\"formatter\":12,\"formatOptions\":{\"palette\":\"none\"},\"numberFormat\":{\"unit\":17,\"options\":{\"style\":\"decimal\"},\"emptyValCustomText\":\"0\"}},\"showBorder\":false,\"size\":\"auto\"}},\"customWidth\":\"25\",\"name\":\"query - 2 - Copy - Copy - Copy\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"union isfuzzy=true\\r\\n(ASimNetworkSession\\r\\n | where EventVendor !contains_cs(\\\"Dataminr\\\")\\r\\n | extend ip = pack_array(SrcIpAddr, DstIpAddr)\\r\\n | project ip, EventSchema, EventVendor, EventProduct, TimeGenerated, EventSeverity, EventType),\\r\\n(ASimDns\\r\\n | where EventVendor !contains_cs(\\\"Dataminr\\\")\\r\\n | extend ip = pack_array(SrcIpAddr, DstIpAddr)\\r\\n | project ip, EventSchema, EventVendor, EventProduct, TimeGenerated, EventSeverity, EventType),\\r\\n(ASimWebSession\\r\\n | where EventVendor !contains_cs(\\\"Dataminr\\\")\\r\\n | extend ip = pack_array(SrcIpAddr, DstIpAddr)\\r\\n | project ip, EventSchema, EventVendor, EventProduct, TimeGenerated, EventSeverity, EventType),\\r\\n(ASimAuditEvent\\r\\n | where EventVendor !contains_cs(\\\"Dataminr\\\")\\r\\n | extend ip = pack_array(SrcIpAddr, TargetIpAddr)\\r\\n | project ip, EventSchema, EventVendor, EventProduct, TimeGenerated, EventSeverity, EventType)\\r\\n| mv-expand ip\\r\\n| where isnotempty(ip)\\r\\n| extend ip = tostring(ip)\\r\\n| join kind=inner (_GetWatchlist(\\\"DataminrPulseVulnerableIp\\\")\\r\\n | project ip, caption) on ip\\r\\n| project [\\\"Ip Addresses\\\"]=ip, EventSchema, EventVendor, EventProduct, TimeGenerated, EventSeverity, EventType, caption\",\"size\":0,\"showAnalytics\":true,\"title\":\"Affected IP Address Details\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"rowLimit\":10000,\"filter\":true}},\"customWidth\":\"25\",\"name\":\"query - 17\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"union isfuzzy=true\\r\\n (imFileEvent\\r\\n | where EventVendor !contains_cs(\\\"Dataminr\\\")\\r\\n | extend Hashes = pack_array(SrcFileMD5, SrcFileSHA1, SrcFileSHA256, SrcFileSHA512, TargetFileMD5, TargetFileSHA1, TargetFileSHA256, TargetFileSHA512)\\r\\n | project Hashes, EventSchema, EventVendor, EventProduct, EventSeverity, EventType),\\r\\n (ASimProcessEvent\\r\\n | where EventVendor !contains_cs(\\\"Dataminr\\\")\\r\\n | extend Hashes= pack_array(ParentProcessMD5, ParentProcessSHA1, ParentProcessSHA256, ParentProcessSHA512, ActingProcessMD5, ActingProcessSHA1, ActingProcessSHA256, ActingProcessSHA512, TargetProcessMD5, TargetProcessSHA1, TargetProcessSHA256, TargetProcessSHA512)\\r\\n | project Hashes, EventSchema, EventVendor, EventProduct, EventSeverity, EventType ),\\r\\n (ASimWebSession\\r\\n | where EventVendor !contains_cs(\\\"Dataminr\\\")\\r\\n | extend Hashes = pack_array(FileMD5, FileSHA1, FileSHA256, FileSHA512)\\r\\n | project Hashes, EventSchema, EventVendor, EventProduct, EventSeverity, EventType)\\r\\n| mv-expand todynamic(Hashes)\\r\\n| where isnotempty(Hashes)\\r\\n| extend Hashes = tostring(Hashes)\\r\\n| join kind=inner (_GetWatchlist('DataminrPulseVulnerableHash')\\r\\n | project Hashes=SearchKey, caption) on Hashes\\r\\n| project Hashes, EventSchema, EventVendor, EventProduct, EventSeverity, EventType, caption\",\"size\":0,\"showAnalytics\":true,\"title\":\"Affected Hashes Details\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"gridSettings\":{\"rowLimit\":10000,\"filter\":true}},\"customWidth\":\"25\",\"name\":\"query - 17 - Copy\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"union isfuzzy=true\\r\\n (ASimWebSession\\r\\n | where EventVendor !contains_cs(\\\"Dataminr\\\")\\r\\n | extend url=Url\\r\\n | project url, EventSchema, EventVendor, EventProduct, TimeGenerated, EventSeverity, EventType),\\r\\n (imFileEvent\\r\\n | where EventVendor !contains_cs(\\\"Dataminr\\\")\\r\\n | extend url = TargetUrl\\r\\n | project url, EventSchema, EventVendor, EventProduct, TimeGenerated, EventSeverity, EventType),\\r\\n (ASimAuditEvent\\r\\n | where EventVendor !contains_cs(\\\"Dataminr\\\")\\r\\n | extend url = TargetUrl\\r\\n | project url, EventSchema, EventVendor, EventProduct, TimeGenerated, EventSeverity, EventType)\\r\\n| where isnotempty(url)\\r\\n| join kind=inner (_GetWatchlist('DataminrPulseVulnerableDomain')\\r\\n | project url, caption) on url\\r\\n| project URL=url, EventSchema, EventVendor, EventProduct, TimeGenerated, EventSeverity, EventType\",\"size\":0,\"showAnalytics\":true,\"title\":\"Affected Domains Details\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"gridSettings\":{\"rowLimit\":10000,\"filter\":true}},\"customWidth\":\"25\",\"name\":\"query - 17 - Copy - Copy\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"union isfuzzy=true\\r\\n (ASimAuditEvent\\r\\n | where EventVendor !contains_cs(\\\"Dataminr\\\")\\r\\n | extend malware = ThreatName\\r\\n | project malware, EventSchema, EventVendor, EventProduct, TimeGenerated, EventSeverity, EventType),\\r\\n (ASimNetworkSession\\r\\n | where EventVendor !contains_cs(\\\"Dataminr\\\")\\r\\n | extend malware = ThreatName\\r\\n | project malware, EventSchema, EventVendor, EventProduct, TimeGenerated, EventSeverity, EventType),\\r\\n (ASimDns\\r\\n | where EventVendor !contains_cs(\\\"Dataminr\\\")\\r\\n | extend malware = ThreatName\\r\\n | project malware, EventSchema, EventVendor, EventProduct, TimeGenerated, EventSeverity, EventType),\\r\\n (ASimWebSession\\r\\n | where EventVendor !contains_cs(\\\"Dataminr\\\")\\r\\n | extend malware = ThreatName\\r\\n | project malware, EventSchema, EventVendor, EventProduct, TimeGenerated, EventSeverity, EventType)\\r\\n| where isnotempty(malware) \\r\\n| join kind=inner (_GetWatchlist('DataminrPulseVulnerableMalware')\\r\\n | project malware, caption) on malware\\r\\n| project malware, EventSchema, EventVendor, EventProduct, TimeGenerated, EventSeverity, EventType\",\"size\":0,\"showAnalytics\":true,\"title\":\"Affected Malwares Details\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"gridSettings\":{\"rowLimit\":10000,\"filter\":true}},\"customWidth\":\"25\",\"name\":\"query - 17 - Copy - Copy - Copy\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| extend embededLabels = parse_json(EmbeddedLabels)\\r\\n| mv-apply embededLabels on (summarize addresses = make_list(embededLabels.data.addresses))\\r\\n| mv-apply addresses on (summarize ip = make_list(addresses.ip))\\r\\n| where isnotempty(ip)\\r\\n| mv-expand ip\\r\\n| summarize Count=count_distinct(AlertId) by tostring(ip)\\r\\n| project-rename [\\\"IP Addresses\\\"] = ip\\r\\n| order by Count desc\",\"size\":0,\"showAnalytics\":true,\"title\":\"Dataminr: Vulnerable IP Addresses\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"exportFieldName\":\"IP Addresses\",\"exportParameterName\":\"SelectedIP\",\"exportDefaultValue\":\"none\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IP Addresses\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"85%\"}},{\"columnMatch\":\"Count\",\"formatter\":4,\"formatOptions\":{\"palette\":\"greenRed\",\"customColumnWidthSetting\":\"15%\"}}],\"rowLimit\":10000,\"filter\":true}},\"customWidth\":\"25\",\"name\":\"query - 6\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| extend embededLabels = parse_json(EmbeddedLabels)\\r\\n| mv-apply embededLabels on (summarize hashValues = make_list(embededLabels.data.hashValues))\\r\\n| mv-apply hashValues on (summarize Hash=make_list(hashValues.value))\\r\\n| where isnotempty(Hash)\\r\\n| mv-expand Hash\\r\\n| summarize Count=count_distinct(AlertId) by tostring(Hash)\\r\\n| order by Count desc\",\"size\":0,\"showAnalytics\":true,\"title\":\"Dataminr: Vulnerable Hashes\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"exportFieldName\":\"Hash\",\"exportParameterName\":\"SelectedHash\",\"exportDefaultValue\":\"none\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Hash\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"85%\"}},{\"columnMatch\":\"Count\",\"formatter\":4,\"formatOptions\":{\"palette\":\"greenRed\",\"customColumnWidthSetting\":\"15%\"}}],\"rowLimit\":10000,\"filter\":true}},\"customWidth\":\"25\",\"name\":\"query - 6 - Copy\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| extend embededLabels = parse_json(EmbeddedLabels)\\r\\n| mv-apply embededLabels on (summarize urls = make_list(embededLabels.data.URLs))\\r\\n| where isnotempty(urls)\\r\\n| extend Domain = extract_all(@'\\\\\\\"?(?:[^\\\"]*https*:\\\\/\\\\/)*((w*\\\\.))*((?P[a-z-A-Z0-9-]+)\\\\.)*(?P(?:\\\\w+(?:\\\\.|\\\\[\\\\.\\\\])(?:com|co|org|gov|int|edu|mil|net)(?:(?:\\\\.|\\\\[\\\\.\\\\])\\\\w{1,3})*)|\\\\d+(?:(?:\\\\.|\\\\[\\\\.\\\\])\\\\d+){2}|[a-z-A-Z0-9-]+(?:\\\\.|\\\\[\\\\.\\\\])\\\\w+)(?:\\\\/[^\\\"]*)*\\\\\\\"?[,\\\\n\\\\]]',dynamic(['domain']),tostring(urls))\\r\\n| where isnotempty(Domain)\\r\\n| mv-expand Domain\\r\\n| summarize Count=count_distinct(AlertId) by tostring(Domain)\\r\\n| mv-expand todynamic(Domain)\\r\\n| order by Count desc\",\"size\":0,\"showAnalytics\":true,\"title\":\"Dataminr: Vulnerable Domains\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"exportFieldName\":\"Domain\",\"exportParameterName\":\"SelectedDomain\",\"exportDefaultValue\":\"none\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Domain\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"85%\"}},{\"columnMatch\":\"Count\",\"formatter\":4,\"formatOptions\":{\"palette\":\"greenRed\",\"customColumnWidthSetting\":\"15%\"}}],\"rowLimit\":10000,\"filter\":true}},\"customWidth\":\"25\",\"name\":\"query - 6 - Copy - Copy\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| extend embededLabels = parse_json(EmbeddedLabels)\\r\\n| mv-apply embededLabels on (summarize Malware = make_list(embededLabels.data.malwares))\\r\\n| where isnotempty(Malware)\\r\\n| mv-expand Malware\\r\\n| summarize Count=count_distinct(AlertId) by tostring(Malware)\\r\\n| order by Count desc\",\"size\":0,\"showAnalytics\":true,\"title\":\"Dataminr: Vulnerable Malwares\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"exportFieldName\":\"Malware\",\"exportParameterName\":\"SelectedMalware\",\"exportDefaultValue\":\"none\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Malware\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"85%\"}},{\"columnMatch\":\"Count\",\"formatter\":4,\"formatOptions\":{\"palette\":\"greenRed\",\"customColumnWidthSetting\":\"15%\"}}],\"rowLimit\":10000,\"filter\":true}},\"customWidth\":\"25\",\"name\":\"query - 6 - Copy - Copy - Copy\",\"styleSettings\":{\"showBorder\":true}},{\"type\":1,\"content\":{\"json\":\"💡 _Click on a row in the above 'Dataminr: Vulnerable IP Addresses', 'Dataminr: Vulnerable Hashes', 'Dataminr: Vulnerable Domains' & 'Dataminr: Vulnerable Malwares' grid to view more details_\"},\"name\":\"text - 15\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| extend embededLabels = parse_json(EmbeddedLabels)\\r\\n| mv-apply embededLabels on (summarize addresses = make_list(embededLabels.data.addresses))\\r\\n| where addresses contains_cs '{SelectedIP}'\\r\\n| project [\\\"Alert ID\\\"]=AlertId, [\\\"Alert Type\\\"]=AlertType, Caption, [\\\"Category Names\\\"]=CategoryNames, Companies=Company, [\\\"Cyber Addresses\\\"]=addresses, [\\\"Location Name\\\"]=EventLocationName, TimeGenerated, [\\\"Matched Watchlist\\\"]=WatchlistNames, Source=EventSource\\r\\n| order by [\\\"Alert Type\\\"] asc\",\"size\":0,\"showAnalytics\":true,\"title\":\"Dataminr: Vulnerable IP Details\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"rowLimit\":10000,\"filter\":true}},\"conditionalVisibility\":{\"parameterName\":\"SelectedIP\",\"comparison\":\"isNotEqualTo\",\"value\":\"none\"},\"name\":\"query - 10\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| extend embededLabels = parse_json(EmbeddedLabels)\\r\\n| mv-apply embededLabels on (summarize hashValues = make_list(embededLabels.data.hashValues))\\r\\n| mv-apply hashValues on (summarize Hash=make_list(hashValues.value))\\r\\n| where set_has_element(Hash, '{SelectedHash}')\\r\\n| project [\\\"Alert ID\\\"]=AlertId, [\\\"Alert Type\\\"]=AlertType, Caption, [\\\"Category Names\\\"]=CategoryNames, Companies=Company, [\\\"Cyber Hashes\\\"]=Hash, [\\\"Location Name\\\"]=EventLocationName, TimeGenerated, [\\\"Matched Watchlist\\\"]=WatchlistNames, Source=EventSource\\r\\n| order by [\\\"Alert Type\\\"] asc\",\"size\":0,\"showAnalytics\":true,\"title\":\"Dataminr: Vulnerable Hash Details\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"rowLimit\":10000,\"filter\":true}},\"conditionalVisibility\":{\"parameterName\":\"SelectedHash\",\"comparison\":\"isNotEqualTo\",\"value\":\"none\"},\"name\":\"query - 10 - Copy\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| extend embededLabels = parse_json(EmbeddedLabels)\\r\\n| mv-apply embededLabels on (summarize urls = make_list(embededLabels.data.URLs))\\r\\n| where isnotempty(urls)\\r\\n| extend Domain = extract_all(@'\\\\\\\"?(?:[^\\\"]*https*:\\\\/\\\\/)*((w*\\\\.))*((?P[a-z-A-Z0-9-]+)\\\\.)*(?P(?:\\\\w+(?:\\\\.|\\\\[\\\\.\\\\])(?:com|co|org|gov|int|edu|mil|net)(?:(?:\\\\.|\\\\[\\\\.\\\\])\\\\w{1,3})*)|\\\\d+(?:(?:\\\\.|\\\\[\\\\.\\\\])\\\\d+){2}|[a-z-A-Z0-9-]+(?:\\\\.|\\\\[\\\\.\\\\])\\\\w+)(?:\\\\/[^\\\"]*)*\\\\\\\"?[,\\\\n\\\\]]',dynamic(['domain']),tostring(urls))\\r\\n| where Domain contains_cs '{SelectedDomain}'\\r\\n| project [\\\"Alert ID\\\"]=AlertId, [\\\"Alert Type\\\"]=AlertType, Caption, [\\\"Category Names\\\"]=CategoryNames, Companies=Company, URL=urls, [\\\"Location Name\\\"]=EventLocationName, TimeGenerated, [\\\"Matched Watchlist\\\"]=WatchlistNames, Source=EventSource\\r\\n| order by [\\\"Alert Type\\\"] asc\",\"size\":0,\"showAnalytics\":true,\"title\":\"Dataminr: Vulnerable Domain Details\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"rowLimit\":10000,\"filter\":true}},\"conditionalVisibility\":{\"parameterName\":\"SelectedDomain\",\"comparison\":\"isNotEqualTo\",\"value\":\"none\"},\"name\":\"query - 10 - Copy - Copy\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| extend embededLabels = parse_json(EmbeddedLabels)\\r\\n| mv-apply embededLabels on (summarize Malwares = make_list(embededLabels.data.malwares))\\r\\n| where set_has_element(Malwares, '{SelectedMalware}')\\r\\n| project [\\\"Alert ID\\\"]=AlertId, [\\\"Alert Type\\\"]=AlertType, Caption, [\\\"Category Names\\\"]=CategoryNames, Companies=Company, [\\\"Cyber Malwares\\\"]=Malwares, [\\\"Location Name\\\"]=EventLocationName, TimeGenerated, [\\\"Matched Watchlist\\\"]=WatchlistNames, Source=EventSource\\r\\n| order by [\\\"Alert Type\\\"] asc\",\"size\":0,\"showAnalytics\":true,\"title\":\"Dataminr: Vulnerable Malware Details\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"rowLimit\":10000,\"filter\":true}},\"conditionalVisibility\":{\"parameterName\":\"SelectedMalware\",\"comparison\":\"isNotEqualTo\",\"value\":\"none\"},\"name\":\"query - 10 - Copy - Copy - Copy\",\"styleSettings\":{\"showBorder\":true}},{\"type\":1,\"content\":{\"json\":\"📝 ***Refresh the web page to fetch details of recently collected events***\"},\"name\":\"text - 9\"}]},\"conditionalVisibility\":{\"parameterName\":\"setTab\",\"comparison\":\"isEqualTo\",\"value\":\"IOC Overview\"},\"name\":\"group - 5\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"# Dataminr Cyber Threat Overview\\r\\n### Cyber alerts created by Dataminr\"},\"name\":\"text - 0\"},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"parameters\":[{\"id\":\"e6627420-466f-4e23-ae50-7d153fe50b0c\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"time\",\"label\":\"Time Range\",\"type\":4,\"isRequired\":true,\"typeSettings\":{\"selectableValues\":[{\"durationMs\":300000},{\"durationMs\":900000},{\"durationMs\":1800000},{\"durationMs\":3600000},{\"durationMs\":14400000},{\"durationMs\":43200000},{\"durationMs\":86400000},{\"durationMs\":172800000},{\"durationMs\":259200000},{\"durationMs\":604800000},{\"durationMs\":1209600000},{\"durationMs\":2419200000},{\"durationMs\":2592000000},{\"durationMs\":5184000000},{\"durationMs\":7776000000}],\"allowCustom\":true},\"timeContext\":{\"durationMs\":86400000},\"value\":{\"durationMs\":86400000}}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"parameters - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let trendline=toscalar(DataminrPulseCyberAlerts\\r\\n| mv-expand todynamic(Category)\\r\\n| extend selectedTopic = Category[\\\"name\\\"]\\r\\n| where selectedTopic in (\\\"Advanced Persistent Threats\\\",\\\"Ransomware\\\",\\\"Hacktivists\\\") \\r\\n| extend selectedAllTopics = parse_json('[\\\"Advanced Persistent Threats\\\",\\\"Ransomware\\\",\\\"Hacktivists\\\"]')\\r\\n| make-series Trend = dcount(AlertId) default = 0 on TimeGenerated from {time:start} to {time:end} step {time:grain} by tostring(selectedAllTopics)\\r\\n| project Trend);\\r\\nDataminrPulseCyberAlerts\\r\\n| mv-expand todynamic(Category)\\r\\n| extend selectedTopic = Category[\\\"name\\\"]\\r\\n| where selectedTopic in (\\\"Advanced Persistent Threats\\\",\\\"Ransomware\\\",\\\"Hacktivists\\\")\\r\\n| summarize Count = dcount(AlertId) by tostring(selectedTopic), bin(TimeGenerated, 1d)\\r\\n| summarize total = sum(Count) by TimeGenerated\\r\\n| extend today = iff(TimeGenerated==(startofday(now())), total, 0)\\r\\n| extend yesterday = iff(TimeGenerated==(startofday(now())-1d), total, 0)\\r\\n| extend Trend = trendline\\r\\n| serialize\\r\\n| order by TimeGenerated desc\\r\\n| extend nextyesterday = iff((today == 0 and yesterday > 0), yesterday, iff(isempty(next(yesterday)), 0, next(yesterday)))\\r\\n| limit 1\\r\\n| extend percentage = (todouble(today-nextyesterday)/nextyesterday)*100\",\"size\":4,\"showAnalytics\":true,\"title\":\"Threat Actor Activities\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"tiles\",\"tileSettings\":{\"titleContent\":{\"formatter\":5},\"leftContent\":{\"columnMatch\":\"today\",\"formatter\":12,\"formatOptions\":{\"palette\":\"none\"},\"numberFormat\":{\"unit\":17,\"options\":{\"style\":\"decimal\"},\"emptyValCustomText\":\"0\"}},\"rightContent\":{\"columnMatch\":\"percentage\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"colors\",\"thresholdsGrid\":[{\"operator\":\">\",\"thresholdValue\":\"0\",\"representation\":\"redBright\",\"text\":\"{0}{1}\"},{\"operator\":\"<\",\"thresholdValue\":\"0\",\"representation\":\"green\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"0\",\"representation\":\"gray\",\"text\":\"0\"},{\"operator\":\"is Empty\",\"representation\":\"gray\",\"text\":\"N/A\"},{\"operator\":\"Default\",\"thresholdValue\":\"\",\"representation\":\"redBright\",\"text\":\"N/A\"}]},\"numberFormat\":{\"unit\":1,\"options\":{\"style\":\"decimal\",\"maximumFractionDigits\":2}}},\"secondaryContent\":{\"columnMatch\":\"Trend\",\"formatter\":9,\"formatOptions\":{\"palette\":\"blue\"}},\"showBorder\":false,\"size\":\"full\"}},\"customWidth\":\"25\",\"name\":\"query - 2\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let trendline=toscalar(DataminrPulseCyberAlerts\\r\\n| mv-expand todynamic(Category)\\r\\n| extend selectedTopic = Category[\\\"name\\\"]\\r\\n| where selectedTopic in (\\\"Malware\\\",\\\"Network Disruptions\\\",\\\"Phishing\\\",\\\"DDoS\\\",\\\"Defacement\\\",\\\"Domain Impersonation\\\",\\\"Network Scans\\\") \\r\\n| extend selectedAllTopics = parse_json('[\\\"Malware\\\",\\\"Network Disruptions\\\",\\\"Phishing\\\",\\\"DDoS\\\",\\\"Defacement\\\",\\\"Domain Impersonation\\\",\\\"Network Scans\\\"]')\\r\\n| make-series Trend = dcount(AlertId) default = 0 on TimeGenerated from {time:start} to {time:end} step {time:grain} by tostring(selectedAllTopics)\\r\\n| project Trend);\\r\\nDataminrPulseCyberAlerts\\r\\n| mv-expand todynamic(Category)\\r\\n| extend selectedTopic = Category[\\\"name\\\"]\\r\\n| where selectedTopic in (\\\"Malware\\\",\\\"Network Disruptions\\\",\\\"Phishing\\\",\\\"DDoS\\\",\\\"Defacement\\\",\\\"Domain Impersonation\\\",\\\"Network Scans\\\")\\r\\n| summarize Count = dcount(AlertId) by tostring(selectedTopic), bin(TimeGenerated, 1d)\\r\\n| summarize total = sum(Count) by TimeGenerated\\r\\n| extend today = iff(TimeGenerated==(startofday(now())), total, 0)\\r\\n| extend yesterday = iff(TimeGenerated==(startofday(now())-1d), total, 0)\\r\\n| extend Trend = trendline\\r\\n| serialize\\r\\n| order by TimeGenerated desc\\r\\n| extend nextyesterday = iff((today == 0 and yesterday > 0), yesterday, iff(isempty(next(yesterday)), 0, next(yesterday)))\\r\\n| limit 1\\r\\n| extend percentage = (todouble(today-nextyesterday)/nextyesterday)*100\",\"size\":4,\"showAnalytics\":true,\"title\":\"Cyber Attacks\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"tiles\",\"tileSettings\":{\"titleContent\":{\"formatter\":5},\"leftContent\":{\"columnMatch\":\"today\",\"formatter\":12,\"formatOptions\":{\"palette\":\"none\"},\"numberFormat\":{\"unit\":17,\"options\":{\"style\":\"decimal\"},\"emptyValCustomText\":\"0\"}},\"rightContent\":{\"columnMatch\":\"percentage\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"colors\",\"thresholdsGrid\":[{\"operator\":\">\",\"thresholdValue\":\"0\",\"representation\":\"redBright\",\"text\":\"{0}{1}\"},{\"operator\":\"<\",\"thresholdValue\":\"0\",\"representation\":\"green\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"0\",\"representation\":\"gray\",\"text\":\"0\"},{\"operator\":\"is Empty\",\"representation\":\"gray\",\"text\":\"N/A\"},{\"operator\":\"Default\",\"thresholdValue\":\"\",\"representation\":\"redBright\",\"text\":\"N/A\"}]},\"numberFormat\":{\"unit\":1,\"options\":{\"style\":\"decimal\",\"maximumFractionDigits\":2}}},\"secondaryContent\":{\"columnMatch\":\"Trend\",\"formatter\":9,\"formatOptions\":{\"palette\":\"blue\"}},\"showBorder\":false,\"size\":\"full\"}},\"customWidth\":\"25\",\"name\":\"query - 3\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let trendline=toscalar(DataminrPulseCyberAlerts\\r\\n| mv-expand todynamic(Category)\\r\\n| extend selectedTopic = Category[\\\"name\\\"]\\r\\n| where selectedTopic in (\\\"Data Exposure and Breaches\\\",\\\"Doxxing and Leaked Credentials\\\") \\r\\n| extend selectedAllTopics = parse_json('[\\\"Data Exposure and Breaches\\\",\\\"Doxxing and Leaked Credentials\\\"]')\\r\\n| make-series Trend = dcount(AlertId) default = 0 on TimeGenerated from {time:start} to {time:end} step {time:grain} by tostring(selectedAllTopics)\\r\\n| project Trend);\\r\\nDataminrPulseCyberAlerts\\r\\n| mv-expand todynamic(Category)\\r\\n| extend selectedTopic = Category[\\\"name\\\"]\\r\\n| where selectedTopic in (\\\"Data Exposure and Breaches\\\",\\\"Doxxing and Leaked Credentials\\\")\\r\\n| summarize Count = dcount(AlertId) by tostring(selectedTopic), bin(TimeGenerated, 1d)\\r\\n| summarize total = sum(Count) by TimeGenerated\\r\\n| extend today = iff(TimeGenerated==(startofday(now())), total, 0)\\r\\n| extend yesterday = iff(TimeGenerated==(startofday(now())-1d), total, 0)\\r\\n| extend Trend = trendline\\r\\n| serialize\\r\\n| order by TimeGenerated desc\\r\\n| extend nextyesterday = iff((today == 0 and yesterday > 0), yesterday, iff(isempty(next(yesterday)), 0, next(yesterday)))\\r\\n| limit 1\\r\\n| extend percentage = (todouble(today-nextyesterday)/nextyesterday)*100\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"Data Breaches\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"tiles\",\"tileSettings\":{\"titleContent\":{\"formatter\":5},\"leftContent\":{\"columnMatch\":\"today\",\"formatter\":12,\"formatOptions\":{\"palette\":\"none\"},\"numberFormat\":{\"unit\":17,\"options\":{\"style\":\"decimal\"},\"emptyValCustomText\":\"0\"}},\"rightContent\":{\"columnMatch\":\"percentage\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"colors\",\"thresholdsGrid\":[{\"operator\":\">\",\"thresholdValue\":\"0\",\"representation\":\"redBright\",\"text\":\"{0}{1}\"},{\"operator\":\"<\",\"thresholdValue\":\"0\",\"representation\":\"green\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"0\",\"representation\":\"gray\",\"text\":\"0\"},{\"operator\":\"is Empty\",\"representation\":\"gray\",\"text\":\"N/A\"},{\"operator\":\"Default\",\"thresholdValue\":\"\",\"representation\":\"redBright\",\"text\":\"N/A\"}]},\"numberFormat\":{\"unit\":1,\"options\":{\"style\":\"decimal\",\"maximumFractionDigits\":2}}},\"secondaryContent\":{\"columnMatch\":\"Trend\",\"formatter\":9,\"formatOptions\":{\"palette\":\"blue\"}},\"showBorder\":false,\"size\":\"full\"}},\"customWidth\":\"25\",\"name\":\"query - 4\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let trendline=toscalar(DataminrPulseCyberAlerts\\r\\n| mv-expand todynamic(Category)\\r\\n| extend selectedTopic = Category[\\\"name\\\"]\\r\\n| where selectedTopic in (\\\"Email and Web Servers\\\",\\\"Encryption and Certificates\\\",\\\"Remote Access and Management Systems\\\",\\\"Vulnerability Disclosures\\\",\\\"Exploits\\\",\\\"Bug Bounties\\\") \\r\\n| extend selectedAllTopics = parse_json('[\\\"Email and Web Servers\\\",\\\"Encryption and Certificates\\\",\\\"Remote Access and Management Systems\\\",\\\"Vulnerability Disclosures\\\",\\\"Exploits\\\",\\\"Bug Bounties\\\"]')\\r\\n| make-series Trend = dcount(AlertId) default = 0 on TimeGenerated from {time:start} to {time:end} step {time:grain} by tostring(selectedAllTopics)\\r\\n| project Trend);\\r\\nDataminrPulseCyberAlerts\\r\\n| mv-expand todynamic(Category)\\r\\n| extend selectedTopic = Category[\\\"name\\\"]\\r\\n| where selectedTopic in (\\\"Email and Web Servers\\\",\\\"Encryption and Certificates\\\",\\\"Remote Access and Management Systems\\\",\\\"Vulnerability Disclosures\\\",\\\"Exploits\\\",\\\"Bug Bounties\\\")\\r\\n| summarize Count = dcount(AlertId) by tostring(selectedTopic), bin(TimeGenerated, 1d)\\r\\n| summarize total = sum(Count) by TimeGenerated\\r\\n| extend today = iff(TimeGenerated==(startofday(now())), total, 0)\\r\\n| extend yesterday = iff(TimeGenerated==(startofday(now())-1d), total, 0)\\r\\n| extend Trend = trendline\\r\\n| serialize\\r\\n| order by TimeGenerated desc\\r\\n| extend nextyesterday = iff((today == 0 and yesterday > 0), yesterday, iff(isempty(next(yesterday)), 0, next(yesterday)))\\r\\n| limit 1\\r\\n| extend percentage = (todouble(today-nextyesterday)/nextyesterday)*100\",\"size\":4,\"showAnalytics\":true,\"title\":\"Vulnerabilities\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"tiles\",\"tileSettings\":{\"titleContent\":{\"formatter\":5},\"leftContent\":{\"columnMatch\":\"today\",\"formatter\":12,\"formatOptions\":{\"palette\":\"none\"},\"numberFormat\":{\"unit\":17,\"options\":{\"style\":\"decimal\"},\"emptyValCustomText\":\"0\"}},\"rightContent\":{\"columnMatch\":\"percentage\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"colors\",\"thresholdsGrid\":[{\"operator\":\">\",\"thresholdValue\":\"0\",\"representation\":\"redBright\",\"text\":\"{0}{1}\"},{\"operator\":\"<\",\"thresholdValue\":\"0\",\"representation\":\"green\",\"text\":\"{0}{1}\"},{\"operator\":\"==\",\"thresholdValue\":\"0\",\"representation\":\"gray\",\"text\":\"0\"},{\"operator\":\"is Empty\",\"representation\":\"gray\",\"text\":\"N/A\"},{\"operator\":\"Default\",\"thresholdValue\":\"\",\"representation\":\"redBright\",\"text\":\"N/A\"}]},\"numberFormat\":{\"unit\":1,\"options\":{\"style\":\"decimal\",\"maximumFractionDigits\":2}}},\"secondaryContent\":{\"columnMatch\":\"Trend\",\"formatter\":9,\"formatOptions\":{\"palette\":\"blue\"}},\"showBorder\":false,\"size\":\"full\"}},\"customWidth\":\"25\",\"name\":\"query - 5\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| mv-expand todynamic(Category)\\r\\n| extend selectedTopic = Category[\\\"name\\\"]\\r\\n| where selectedTopic in (\\\"Advanced Persistent Threats\\\",\\\"Ransomware\\\",\\\"Hacktivists\\\") \\r\\n| make-series Trend = dcount(AlertId) default = 0 on TimeGenerated from {time:start} to {time:end} step {time:grain} by tostring(selectedTopic)\\r\\n| project-away TimeGenerated\\r\\n| extend Count=array_sum(Trend)\\r\\n| project Topics=selectedTopic, Count, Trend\\r\\n| order by Count desc\",\"size\":0,\"showAnalytics\":true,\"title\":\"Trending Threat Actor Activities\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"exportFieldName\":\"Topics\",\"exportParameterName\":\"ThreatActorselectedTopic\",\"exportDefaultValue\":\"none\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Topics\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"10%\"}},{\"columnMatch\":\"Count\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"5%\"}},{\"columnMatch\":\"Trend\",\"formatter\":9,\"formatOptions\":{\"palette\":\"blue\",\"customColumnWidthSetting\":\"85%\"}}],\"rowLimit\":10000,\"filter\":true}},\"customWidth\":\"25\",\"name\":\"query - 6\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| mv-expand todynamic(Category)\\r\\n| extend selectedTopic = Category[\\\"name\\\"]\\r\\n| where selectedTopic in (\\\"Malware\\\",\\\"Network Disruptions\\\",\\\"Phishing\\\",\\\"DDoS\\\",\\\"Defacement\\\",\\\"Domain Impersonation\\\",\\\"Network Scans\\\") \\r\\n| make-series Trend = dcount(AlertId) default = 0 on TimeGenerated from {time:start} to {time:end} step {time:grain} by tostring(selectedTopic)\\r\\n| project-away TimeGenerated\\r\\n| extend Count=array_sum(Trend)\\r\\n| project Topics=selectedTopic, Count, Trend\\r\\n| order by Count desc\",\"size\":0,\"showAnalytics\":true,\"title\":\"Trending Cyber Attacks\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"exportFieldName\":\"Topics\",\"exportParameterName\":\"CyberAttackselectedTopic\",\"exportDefaultValue\":\"none\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Topics\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"10%\"}},{\"columnMatch\":\"Count\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"5%\"}},{\"columnMatch\":\"Trend\",\"formatter\":9,\"formatOptions\":{\"palette\":\"blue\",\"customColumnWidthSetting\":\"85%\"}}],\"rowLimit\":10000,\"filter\":true}},\"customWidth\":\"25\",\"name\":\"query - 7\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| mv-expand todynamic(Category)\\r\\n| extend selectedTopic = Category[\\\"name\\\"]\\r\\n| where selectedTopic in (\\\"Data Exposure and Breaches\\\",\\\"Doxxing and Leaked Credentials\\\") \\r\\n| make-series Trend = dcount(AlertId) default = 0 on TimeGenerated from {time:start} to {time:end} step {time:grain} by tostring(selectedTopic)\\r\\n| project-away TimeGenerated\\r\\n| extend Count=array_sum(Trend)\\r\\n| project Topics=selectedTopic, Count, Trend\\r\\n| order by Count desc \",\"size\":0,\"showAnalytics\":true,\"title\":\"Trending Data Breaches\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"exportFieldName\":\"Topics\",\"exportParameterName\":\"DataBreachselectedTopic\",\"exportDefaultValue\":\"none\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Topics\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"10%\"}},{\"columnMatch\":\"Count\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"5%\"}},{\"columnMatch\":\"Trend\",\"formatter\":9,\"formatOptions\":{\"palette\":\"blue\",\"customColumnWidthSetting\":\"85%\"}}],\"rowLimit\":10000,\"filter\":true}},\"customWidth\":\"25\",\"name\":\"query - 8\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| mv-expand todynamic(Category)\\r\\n| extend selectedTopic = Category[\\\"name\\\"]\\r\\n| where selectedTopic in (\\\"Email and Web Servers\\\",\\\"Encryption and Certificates\\\",\\\"Remote Access and Management Systems\\\",\\\"Vulnerability Disclosures\\\",\\\"Exploits\\\",\\\"Bug Bounties\\\") \\r\\n| make-series Trend = count_distinct(AlertId) default = 0 on TimeGenerated from {time:start} to {time:end} step {time:grain} by tostring(selectedTopic)\\r\\n| project-away TimeGenerated\\r\\n| extend Count=array_sum(Trend)\\r\\n| project Topics=selectedTopic, Count, Trend\\r\\n| order by Count desc\",\"size\":0,\"showAnalytics\":true,\"title\":\"Trending Vulnerabilities\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"exportFieldName\":\"Topics\",\"exportParameterName\":\"VulnerabilityselectedTopic\",\"exportDefaultValue\":\"none\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Topics\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"10%\"}},{\"columnMatch\":\"Count\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"5%\"}},{\"columnMatch\":\"Trend\",\"formatter\":9,\"formatOptions\":{\"palette\":\"blue\",\"customColumnWidthSetting\":\"85%\"}}],\"rowLimit\":10000,\"filter\":true}},\"customWidth\":\"25\",\"name\":\"query - 9\",\"styleSettings\":{\"showBorder\":true}},{\"type\":1,\"content\":{\"json\":\"💡 _Click on a row in the above 'Trending Threat Actor Activities', 'Trending Cyber Attacks', 'Trending Data Breaches' & 'Trending Vulnerabilities' grid to view more details_\"},\"name\":\"text - 26\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| mv-expand todynamic(Category), todynamic(EmbeddedLabels)\\r\\n| extend addresses = tostring(parse_json(EmbeddedLabels.data.addresses))\\r\\n| extend vulnerabilities = parse_json(EmbeddedLabels.data.vulnerabilities)\\r\\n| mv-apply vulnerabilities on (summarize vulnerabilitiesId = make_list(vulnerabilities.id))\\r\\n| extend selectedTopic = Category[\\\"name\\\"]\\r\\n| where selectedTopic == '{ThreatActorselectedTopic}'\\r\\n| summarize any(*) by AlertId\\r\\n| project [\\\"Alert ID\\\"]=AlertId, [\\\"Alert Post Link\\\"]=any_PostLink, [\\\"Alert Type\\\"]=any_AlertType, Caption=any_Caption, [\\\"Category Names\\\"]=any_CategoryNames, Companies=any_Company, [\\\"Cyber Addresses\\\"]=any_addresses, [\\\"Location Name\\\"]=any_EventLocationName, TimeGenerated=any_TimeGenerated, Source=any_EventSource, [\\\"Source Channels\\\"]=any_SourceChannels, [\\\"Vulnerability IDs\\\"]=any_vulnerabilitiesId\\r\\n\",\"size\":0,\"showAnalytics\":true,\"title\":\"Selected Trending Threat Actor Activity Data\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"rowLimit\":10000,\"filter\":true}},\"conditionalVisibility\":{\"parameterName\":\"ThreatActorselectedTopic\",\"comparison\":\"isNotEqualTo\",\"value\":\"none\"},\"name\":\"query - 18\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| mv-expand todynamic(Category), todynamic(EmbeddedLabels)\\r\\n| extend addresses = tostring(parse_json(EmbeddedLabels.data.addresses))\\r\\n| extend vulnerabilities = parse_json(EmbeddedLabels.data.vulnerabilities)\\r\\n| mv-apply vulnerabilities on (summarize vulnerabilitiesId = make_list(vulnerabilities.id))\\r\\n| extend selectedTopic = Category[\\\"name\\\"]\\r\\n| where selectedTopic == '{CyberAttackselectedTopic}'\\r\\n| summarize any(*)by AlertId\\r\\n| project [\\\"Alert ID\\\"]=AlertId, [\\\"Alert Post Link\\\"]=any_PostLink, [\\\"Alert Type\\\"]=any_AlertType, Caption=any_Caption, [\\\"Category Names\\\"]=any_CategoryNames, Companies=any_Company, [\\\"Cyber Addresses\\\"]=any_addresses, [\\\"Location Name\\\"]=any_EventLocationName, TimeGenerated=any_TimeGenerated, Source=any_EventSource, [\\\"Source Channels\\\"]=any_SourceChannels, [\\\"Vulnerability IDs\\\"]=any_vulnerabilitiesId\",\"size\":0,\"showAnalytics\":true,\"title\":\"Selected Trending Cyber Attack Data\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"rowLimit\":10000,\"filter\":true}},\"conditionalVisibility\":{\"parameterName\":\"CyberAttackselectedTopic\",\"comparison\":\"isNotEqualTo\",\"value\":\"none\"},\"name\":\"query - 19\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| mv-expand todynamic(Category), todynamic(EmbeddedLabels)\\r\\n| extend addresses = tostring(parse_json(EmbeddedLabels.data.addresses))\\r\\n| extend vulnerabilities = parse_json(EmbeddedLabels.data.vulnerabilities)\\r\\n| mv-apply vulnerabilities on (summarize vulnerabilitiesId = make_list(vulnerabilities.id))\\r\\n| extend selectedTopic = Category[\\\"name\\\"]\\r\\n| where selectedTopic == '{DataBreachselectedTopic}'\\r\\n| summarize any(*)by AlertId\\r\\n| project [\\\"Alert ID\\\"]=AlertId, [\\\"Alert Post Link\\\"]=any_PostLink, [\\\"Alert Type\\\"]=any_AlertType, Caption=any_Caption, [\\\"Category Names\\\"]=any_CategoryNames, Companies=any_Company, [\\\"Cyber Addresses\\\"]=any_addresses, [\\\"Location Name\\\"]=any_EventLocationName, TimeGenerated=any_TimeGenerated, Source=any_EventSource, [\\\"Source Channels\\\"]=any_SourceChannels, [\\\"Vulnerability IDs\\\"]=any_vulnerabilitiesId\",\"size\":0,\"showAnalytics\":true,\"title\":\"Selected Trending Data Breach Data\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"rowLimit\":10000,\"filter\":true}},\"conditionalVisibility\":{\"parameterName\":\"DataBreachselectedTopic\",\"comparison\":\"isNotEqualTo\",\"value\":\"none\"},\"name\":\"query - 20\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| mv-expand todynamic(Category), todynamic(EmbeddedLabels)\\r\\n| extend addresses = tostring(parse_json(EmbeddedLabels.data.addresses))\\r\\n| extend vulnerabilities = parse_json(EmbeddedLabels.data.vulnerabilities)\\r\\n| mv-apply vulnerabilities on (summarize vulnerabilitiesId = make_list(vulnerabilities.id))\\r\\n| extend selectedTopic = Category[\\\"name\\\"]\\r\\n| where selectedTopic == '{VulnerabilityselectedTopic}'\\r\\n| summarize any(*)by AlertId\\r\\n| project [\\\"Alert ID\\\"]=AlertId, [\\\"Alert Post Link\\\"]=any_PostLink, [\\\"Alert Type\\\"]=any_AlertType, Caption=any_Caption, [\\\"Category Names\\\"]=any_CategoryNames, Companies=any_Company, [\\\"Cyber Addresses\\\"]=any_addresses, [\\\"Location Name\\\"]=any_EventLocationName, TimeGenerated=any_TimeGenerated, Source=any_EventSource, [\\\"Source Channels\\\"]=any_SourceChannels, [\\\"Vulnerability IDs\\\"]=any_vulnerabilitiesId\",\"size\":0,\"showAnalytics\":true,\"title\":\"Selected Trending Vulnerability Data\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"rowLimit\":10000,\"filter\":true}},\"conditionalVisibility\":{\"parameterName\":\"VulnerabilityselectedTopic\",\"comparison\":\"isNotEqualTo\",\"value\":\"none\"},\"name\":\"query - 21\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| mv-expand todynamic(Category)\\r\\n| extend selectedTopic = Category[\\\"name\\\"]\\r\\n| where selectedTopic in (\\\"Advanced Persistent Threats\\\",\\\"Ransomware\\\",\\\"Hacktivists\\\")\\r\\n| project TimeGenerated, Caption, Topic=selectedTopic, Severity=AlertType, Source=EventSource, Company=CompanyNames, AlertId\\r\\n\\r\\n\\r\\n\",\"size\":0,\"showAnalytics\":true,\"title\":\"Threat Actor Activities\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"exportFieldName\":\"AlertId\",\"exportParameterName\":\"ThreatActorAlertId\",\"exportDefaultValue\":\"none\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"AlertId\",\"formatter\":5}],\"rowLimit\":10000,\"filter\":true}},\"customWidth\":\"50\",\"name\":\"query - 10\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| mv-expand todynamic(Category)\\r\\n| extend selectedTopic = Category[\\\"name\\\"]\\r\\n| where selectedTopic in (\\\"Malware\\\",\\\"Network Disruptions\\\",\\\"Phishing\\\",\\\"DDoS\\\",\\\"Defacement\\\",\\\"Domain Impersonation\\\",\\\"Network Scans\\\")\\r\\n| project TimeGenerated, Caption, Topic=selectedTopic, Severity=AlertType, Source=EventSource, Company=CompanyNames, AlertId\",\"size\":0,\"showAnalytics\":true,\"title\":\"Cyber Attacks\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"exportFieldName\":\"AlertId\",\"exportParameterName\":\"CyberAttackAlertId\",\"exportDefaultValue\":\"none\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"AlertId\",\"formatter\":5}],\"rowLimit\":10000,\"filter\":true}},\"customWidth\":\"50\",\"name\":\"query - 11\",\"styleSettings\":{\"showBorder\":true}},{\"type\":1,\"content\":{\"json\":\"💡 _Click on a row in the above 'Threat Actor Activities' grid to view more details_\"},\"customWidth\":\"50\",\"name\":\"text - 22\"},{\"type\":1,\"content\":{\"json\":\"💡 _Click on a row in the above 'Cyber Attacks' grid to view more details_\"},\"customWidth\":\"50\",\"name\":\"text - 22 - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| mv-expand todynamic(Category)\\r\\n| extend selectedTopic = Category[\\\"name\\\"]\\r\\n| where selectedTopic in (\\\"Data Exposure and Breaches\\\",\\\"Doxxing and Leaked Credentials\\\") \\r\\n| project TimeGenerated, Caption, Topic=selectedTopic, Severity=AlertType, Source=EventSource, Company=CompanyNames, AlertId\",\"size\":0,\"showAnalytics\":true,\"title\":\"Data Breaches\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"exportFieldName\":\"AlertId\",\"exportParameterName\":\"DataBreachesAlertId\",\"exportDefaultValue\":\"none\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"AlertId\",\"formatter\":5}],\"rowLimit\":10000,\"filter\":true}},\"customWidth\":\"50\",\"name\":\"query - 12\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| mv-expand todynamic(Category)\\r\\n| extend selectedTopic = Category[\\\"name\\\"]\\r\\n| where selectedTopic in (\\\"Email and Web Servers\\\",\\\"Encryption and Certificates\\\",\\\"Remote Access and Management Systems\\\",\\\"Vulnerability Disclosures\\\",\\\"Exploits\\\",\\\"Bug Bounties\\\")\\r\\n| project TimeGenerated, Caption, Topic=selectedTopic, Severity=AlertType, Source=EventSource, Company=CompanyNames, AlertId\",\"size\":0,\"showAnalytics\":true,\"title\":\"Vulnerabilities\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"exportFieldName\":\"AlertId\",\"exportParameterName\":\"VulnerabilitiesAlertId\",\"exportDefaultValue\":\"none\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"AlertId\",\"formatter\":5}],\"rowLimit\":10000,\"filter\":true}},\"customWidth\":\"50\",\"name\":\"query - 13\",\"styleSettings\":{\"showBorder\":true}},{\"type\":1,\"content\":{\"json\":\"💡 _Click on a row in the above 'Data Breaches' grid to view more details_\"},\"customWidth\":\"50\",\"name\":\"text - 24\"},{\"type\":1,\"content\":{\"json\":\"💡 _Click on a row in the above 'Vulnerabilities' grid to view more details_\"},\"customWidth\":\"50\",\"name\":\"text - 24 - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| where AlertId == '{ThreatActorAlertId}'\\r\\n| mv-expand todynamic(Category), todynamic(EmbeddedLabels)\\r\\n| extend addresses = tostring(parse_json(EmbeddedLabels.data.addresses))\\r\\n| extend vulnerabilities = parse_json(EmbeddedLabels.data.vulnerabilities)\\r\\n| mv-apply vulnerabilities on (summarize vulnerabilitiesId = make_list(vulnerabilities.id))\\r\\n| extend selectedTopic = Category[\\\"name\\\"]\\r\\n| summarize any(*) by AlertId\\r\\n| project AlertId, [\\\"Alert Post Link\\\"]=any_PostLink, [\\\"Alert Type\\\"]=any_AlertType,Caption=any_Caption, [\\\"Category Names\\\"]=any_CategoryNames, Companies=any_Company, [\\\"Cyber Addresses\\\"]=any_addresses, [\\\"Location Name\\\"]=any_EventLocationName, TimeGenerated=any_TimeGenerated, [\\\"Matched Watchlist\\\"]=any_WatchlistNames, Source=any_EventSource, [\\\"Source Channels\\\"]=any_SourceChannels, [\\\"Vulnerability IDs\\\"]=any_vulnerabilitiesId\",\"size\":0,\"showAnalytics\":true,\"title\":\"Selected Threat Actor Activity Data\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"rowLimit\":10000}},\"conditionalVisibility\":{\"parameterName\":\"ThreatActorAlertId\",\"comparison\":\"isNotEqualTo\",\"value\":\"none\"},\"name\":\"query - 14\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| where AlertId == '{CyberAttackAlertId}'\\r\\n| mv-expand todynamic(Category), todynamic(EmbeddedLabels)\\r\\n| extend addresses = tostring(parse_json(EmbeddedLabels.data.addresses))\\r\\n| extend vulnerabilities = parse_json(EmbeddedLabels.data.vulnerabilities)\\r\\n| mv-apply vulnerabilities on (summarize vulnerabilitiesId = make_list(vulnerabilities.id))\\r\\n| extend selectedTopic = Category[\\\"name\\\"]\\r\\n| summarize any(*) by AlertId\\r\\n| project AlertId, [\\\"Alert Post Link\\\"]=any_PostLink, [\\\"Alert Type\\\"]=any_AlertType, Caption=any_Caption, [\\\"Category Names\\\"]=any_CategoryNames, Companies=any_Company, [\\\"Cyber Addresses\\\"]=any_addresses, [\\\"Location Name\\\"]=any_EventLocationName, TimeGenerated=any_TimeGenerated, [\\\"Matched Watchlist\\\"]=any_WatchlistNames, Source=any_EventSource, [\\\"Source Channels\\\"]=any_SourceChannels, [\\\"Vulnerability IDs\\\"]=any_vulnerabilitiesId\",\"size\":0,\"showAnalytics\":true,\"title\":\"Selected Cyber Attack Data\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"rowLimit\":10000}},\"conditionalVisibility\":{\"parameterName\":\"CyberAttackAlertId\",\"comparison\":\"isNotEqualTo\",\"value\":\"none\"},\"name\":\"query - 15\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| where AlertId == '{DataBreachesAlertId}'\\r\\n| mv-expand todynamic(Category), todynamic(EmbeddedLabels)\\r\\n| extend addresses = tostring(parse_json(EmbeddedLabels.data.addresses))\\r\\n| extend vulnerabilities = parse_json(EmbeddedLabels.data.vulnerabilities)\\r\\n| mv-apply vulnerabilities on (summarize vulnerabilitiesId = make_list(vulnerabilities.id))\\r\\n| extend selectedTopic = Category[\\\"name\\\"]\\r\\n| summarize any(*) by AlertId\\r\\n| project AlertId, [\\\"Alert Post Link\\\"]=any_PostLink, [\\\"Alert Type\\\"]=any_AlertType,Caption=any_Caption, [\\\"Category Names\\\"]=any_CategoryNames, Companies=any_Company, [\\\"Cyber Addresses\\\"]=any_addresses, [\\\"Location Name\\\"]=any_EventLocationName, TimeGenerated=any_TimeGenerated, [\\\"Matched Watchlist\\\"]=any_WatchlistNames, Source=any_EventSource, [\\\"Source Channels\\\"]=any_SourceChannels, [\\\"Vulnerability IDs\\\"]=any_vulnerabilitiesId\",\"size\":0,\"showAnalytics\":true,\"title\":\"Selected Data Breach Data\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"rowLimit\":10000}},\"conditionalVisibility\":{\"parameterName\":\"DataBreachesAlertId\",\"comparison\":\"isNotEqualTo\",\"value\":\"none\"},\"name\":\"query - 16\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseCyberAlerts\\r\\n| where AlertId == '{VulnerabilitiesAlertId}'\\r\\n| mv-expand todynamic(Category), todynamic(EmbeddedLabels)\\r\\n| extend addresses = tostring(parse_json(EmbeddedLabels.data.addresses))\\r\\n| extend vulnerabilities = parse_json(EmbeddedLabels.data.vulnerabilities)\\r\\n| mv-apply vulnerabilities on (summarize vulnerabilitiesId = make_list(vulnerabilities.id))\\r\\n| extend selectedTopic = Category[\\\"name\\\"]\\r\\n| summarize any(*) by AlertId\\r\\n| project AlertId, [\\\"Alert Post Link\\\"]=any_PostLink, [\\\"Alert Type\\\"]=any_AlertType,Caption=any_Caption, [\\\"Category Names\\\"]=any_CategoryNames, Companies=any_Company, [\\\"Cyber Addresses\\\"]=any_addresses, [\\\"Location Name\\\"]=any_EventLocationName, TimeGenerated=any_TimeGenerated, [\\\"Matched Watchlist\\\"]=any_WatchlistNames, Source=any_EventSource, [\\\"Source Channels\\\"]=any_SourceChannels, [\\\"Vulnerability IDs\\\"]=any_vulnerabilitiesId\",\"size\":0,\"showAnalytics\":true,\"title\":\"Selected Vulnerability Data\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"rowLimit\":10000}},\"conditionalVisibility\":{\"parameterName\":\"VulnerabilitiesAlertId\",\"comparison\":\"isNotEqualTo\",\"value\":\"none\"},\"name\":\"query - 17\"},{\"type\":1,\"content\":{\"json\":\"📝 ***Refresh the web page to fetch details of recently collected events***\"},\"name\":\"text - 27\"}]},\"conditionalVisibility\":{\"parameterName\":\"setTab\",\"comparison\":\"isEqualTo\",\"value\":\"Cyber Threat Overview\"},\"name\":\"group - 4\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"# Dataminr Alerts Drilldown\\r\\n### An overview of your Dataminr alerts stored in Sentinel.\"},\"name\":\"text - 0\"},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"parameters\":[{\"id\":\"c71807b7-f47d-48e8-8b38-13af8b856313\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"time\",\"label\":\"Time Range\",\"type\":4,\"isRequired\":true,\"typeSettings\":{\"selectableValues\":[{\"durationMs\":300000},{\"durationMs\":900000},{\"durationMs\":1800000},{\"durationMs\":3600000},{\"durationMs\":14400000},{\"durationMs\":43200000},{\"durationMs\":86400000},{\"durationMs\":172800000},{\"durationMs\":259200000},{\"durationMs\":604800000},{\"durationMs\":1209600000},{\"durationMs\":2419200000},{\"durationMs\":2592000000},{\"durationMs\":5184000000},{\"durationMs\":7776000000}],\"allowCustom\":true},\"timeContext\":{\"durationMs\":86400000},\"value\":{\"durationMs\":86400000}},{\"id\":\"7c5ac891-169b-4194-a76d-c05fe5e4a381\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"location\",\"label\":\"Location\",\"type\":2,\"isRequired\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"DataminrPulseAlerts\\r\\n| where TimeGenerated >=ago(90d)\\r\\n| distinct EventLocationName\\r\\n| where isnotempty(EventLocationName)\\r\\n\",\"typeSettings\":{\"additionalResourceOptions\":[\"value::all\"],\"selectAllValue\":\"*\",\"showDefault\":false},\"defaultValue\":\"value::all\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"b565146d-68da-42cf-b6ab-b5bd6d426e05\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"event_source\",\"label\":\"Source\",\"type\":2,\"isRequired\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"DataminrPulseAlerts\\r\\n| where TimeGenerated >=ago(90d)\\r\\n| distinct EventSource\\r\\n| where isnotempty(EventSource)\",\"typeSettings\":{\"additionalResourceOptions\":[\"value::all\"],\"selectAllValue\":\"*\",\"showDefault\":false},\"defaultValue\":\"value::all\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"020f92cc-41a5-4fc7-bd00-1c71460a169f\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"company\",\"label\":\"Company\",\"type\":2,\"isRequired\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"DataminrPulseAlerts\\r\\n| where TimeGenerated >=ago(90d)\\r\\n| mv-expand todynamic(Company)\\r\\n| distinct tostring(Company[\\\"name\\\"])\",\"typeSettings\":{\"additionalResourceOptions\":[\"value::all\"],\"selectAllValue\":\"*\",\"showDefault\":false},\"defaultValue\":\"value::all\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"c103d8bb-76dc-42bf-a5da-f6b03bbda2d4\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"severity\",\"label\":\"Severity\",\"type\":2,\"isRequired\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"DataminrPulseAlerts\\r\\n| where TimeGenerated >=ago(90d)\\r\\n| distinct AlertType = case(isempty(AlertType), \\\"Unknown\\\", AlertType)\",\"typeSettings\":{\"additionalResourceOptions\":[\"value::all\"],\"selectAllValue\":\"*\",\"showDefault\":false},\"defaultValue\":\"value::all\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"32f3344a-34e3-4d68-8c2b-ce82e707729e\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"topic\",\"label\":\"Topic\",\"type\":2,\"isRequired\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"DataminrPulseAlerts\\r\\n| where TimeGenerated >=ago(90d)\\r\\n| mv-expand todynamic(Category)\\r\\n| distinct tostring(Category[\\\"name\\\"])\",\"typeSettings\":{\"additionalResourceOptions\":[\"value::all\"],\"selectAllValue\":\"*\",\"showDefault\":false},\"defaultValue\":\"value::all\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"232e3e4d-8112-4f65-ab5d-15bd4f18da9d\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"watchlist\",\"label\":\"Watchlist\",\"type\":2,\"isRequired\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"DataminrPulseAlerts\\r\\n| where TimeGenerated >=ago(90d)\\r\\n| mv-expand todynamic(WatchlistsMatchedByType)\\r\\n| distinct tostring(WatchlistsMatchedByType[\\\"name\\\"])\",\"typeSettings\":{\"additionalResourceOptions\":[\"value::all\"],\"selectAllValue\":\"*\",\"showDefault\":false},\"defaultValue\":\"value::all\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},{\"id\":\"1a2c6025-a4fb-4002-9aa8-9254b1351bc0\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"search_keyword\",\"label\":\"Keyword Search\",\"type\":1,\"description\":\"Provide * for fetching All values\",\"isRequired\":true,\"value\":\"*\"}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"parameters - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseAlerts\\r\\n| where isnotempty(Latitude) and isnotempty(Longitude) \\r\\n and ('*' == ('{location}') or EventLocationName == ('{location}'))\\r\\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\\r\\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\\r\\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\\r\\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\\r\\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\\r\\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\\r\\n| summarize any(EventLocationName), distinct_count=dcount(AlertId) by tostring(Latitude), tostring(Longitude)\\r\\n| extend latlng = strcat(\\\"Name: \\\",any_EventLocationName,\\\"\\\\nLatitude: \\\",Latitude,\\\"\\\\nLongitude: \\\",Longitude)\\r\\n| order by distinct_count desc\",\"size\":0,\"showAnalytics\":true,\"title\":\"Alerts Location Map\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"map\",\"mapSettings\":{\"locInfo\":\"LatLong\",\"latitude\":\"Latitude\",\"longitude\":\"Longitude\",\"sizeSettings\":\"distinct_count\",\"sizeAggregation\":\"Sum\",\"labelSettings\":\"latlng\",\"legendMetric\":\"distinct_count\",\"numberOfMetrics\":0,\"legendAggregation\":\"Sum\",\"itemColorSettings\":{\"nodeColorField\":\"distinct_count\",\"colorAggregation\":\"Sum\",\"type\":\"heatmap\",\"heatmapPalette\":\"greenRed\"},\"numberFormatSettings\":{\"unit\":0,\"options\":{\"style\":\"decimal\"}}}},\"customWidth\":\"50\",\"name\":\"Alerts Location Map\",\"styleSettings\":{\"padding\":\"22px\",\"showBorder\":true}},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseAlerts\\r\\n| where TimeGenerated >= ago(14d) and TimeGenerated <=ago(7d)\\r\\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\\r\\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\\r\\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\\r\\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\\r\\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\\r\\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\\r\\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\\r\\n| mv-expand todynamic(Category)\\r\\n| extend Topics = Category[\\\"name\\\"]\\r\\n| where ('*' == ('{topic}') or Topics == '{topic}')\\r\\n| summarize dcount(AlertId) by tostring(Topics)\\r\\n| project Topics, dcount_AlertId\\r\\n| join kind=rightouter (DataminrPulseAlerts \\r\\n | where TimeGenerated >= ago(7d)\\r\\n | where ('*' == ('{location}') or EventLocationName == ('{location}'))\\r\\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\\r\\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\\r\\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\\r\\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\\r\\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\\r\\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\\r\\n | mv-expand todynamic(Category)\\r\\n | extend Topics = Category[\\\"name\\\"]\\r\\n | where ('*' == ('{topic}') or Topics == '{topic}')\\r\\n | summarize dcount(AlertId) by tostring(Topics)\\r\\n | project Topics, dcount_AlertId) on Topics\\r\\n| extend WeekTrendvalue = dcount_AlertId1 - dcount_AlertId\\r\\n| extend WeekTrend = iff(WeekTrendvalue > 0,strcat(\\\"+\\\",WeekTrendvalue),tostring(WeekTrendvalue))\\r\\n| project Topic=Topics1, [\\\"Week Trend\\\"]=WeekTrend, Count=dcount_AlertId1\\r\\n| order by Count desc \",\"size\":0,\"showAnalytics\":true,\"title\":\"Latest Topics\",\"noDataMessage\":\"No data found in selected timerange.\",\"showRefreshButton\":true,\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Topic\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"50%\"}},{\"columnMatch\":\"Count\",\"formatter\":4,\"formatOptions\":{\"palette\":\"greenRed\",\"customColumnWidthSetting\":\"25%\"}},{\"columnMatch\":\"WeekTrend\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"25%\"}}],\"rowLimit\":10000,\"filter\":true}},\"name\":\"Latest Topics\",\"styleSettings\":{\"showBorder\":true}},{\"type\":1,\"content\":{\"json\":\"This panel displays data for the alerts ingested in Sentinel for the last 7 days.\",\"style\":\"info\"},\"name\":\"text - 1\"}]},\"customWidth\":\"50\",\"name\":\"group - 17\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseAlerts\\r\\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\\r\\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\\r\\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\\r\\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\\r\\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\\r\\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\\r\\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\\r\\n| extend dt = unixtime_milliseconds_todatetime(EventTime)\\r\\n| extend Time = format_datetime(dt,'MM-dd-yy HH:mm:ss')\\r\\n| summarize any(*) by AlertId\\r\\n| extend Caption = replace_string(any_Caption,\\\"\\\\n\\\",\\\" \\\")\\r\\n| project-rename [\\\"Alert Type\\\"] = any_AlertType\\r\\n| project Caption, [\\\"Alert Type\\\"], Time=any_Time, [\\\"Source Link\\\"] = any_PostLink\\r\\n| order by Time desc\",\"size\":0,\"showAnalytics\":true,\"title\":\"Latest Alerts Details\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"exportFieldName\":\"Caption\",\"exportParameterName\":\"SelectedCaption\",\"exportDefaultValue\":\"none\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Caption\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"45%\"}},{\"columnMatch\":\"Source Link\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\"}}],\"rowLimit\":10000,\"filter\":true}},\"name\":\"Latest Alerts Details\",\"styleSettings\":{\"showBorder\":true}},{\"type\":1,\"content\":{\"json\":\"💡 _Click on a row in the above 'Latest Alerts Details' grid to view more details_\"},\"name\":\"text - 14\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let CyberAddresses = toscalar(\\r\\nDataminrPulseAlerts\\r\\n| mv-expand todynamic(EmbeddedLabels)\\r\\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\\r\\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\\r\\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\\r\\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\\r\\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\\r\\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\\r\\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\\r\\n| extend Addresses = tostring(parse_json(EmbeddedLabels.data.addresses))\\r\\n| summarize any(*) by AlertId\\r\\n| extend Caption = replace_string(any_Caption,\\\"\\\\n\\\",\\\" \\\")\\r\\n| where any_Caption == ```{SelectedCaption}```\\r\\n| sort by AlertId\\r\\n| project any_Addresses\\r\\n);\\r\\nlet Vulnerabilities = toscalar(\\r\\nDataminrPulseAlerts\\r\\n| mv-expand todynamic(EmbeddedLabels)\\r\\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\\r\\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\\r\\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\\r\\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\\r\\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\\r\\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\\r\\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\\r\\n| extend Vulnerabilities = parse_json(EmbeddedLabels.data.vulnerabilities)\\r\\n| mv-apply Vulnerabilities on (summarize VulnerabilitiesId = make_list(Vulnerabilities.id))\\r\\n| summarize any(*) by AlertId\\r\\n| extend Caption = replace_string(any_Caption,\\\"\\\\n\\\",\\\" \\\")\\r\\n| where any_Caption == ```{SelectedCaption}```\\r\\n| sort by AlertId\\r\\n| project any_VulnerabilitiesId\\r\\n);\\r\\nDataminrPulseAlerts\\r\\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\\r\\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\\r\\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\\r\\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\\r\\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\\r\\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\\r\\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\\r\\n| extend Caption = replace_string(Caption,\\\"\\\\n\\\",\\\" \\\")\\r\\n| where Caption == ```{SelectedCaption}```\\r\\n| sort by AlertId\\r\\n| extend Addresses = CyberAddresses, Vulnerabilities = Vulnerabilities\\r\\n| project-rename [\\\"Alert Id\\\"]=AlertId, [\\\"Alert Post Link\\\"]=PostLink, [\\\"Alert type\\\"]=AlertType, [\\\"category Names\\\"]=CategoryNames, [\\\"Cyber Addresses\\\"]=Addresses, [\\\"Location Name\\\"]=EventLocationName, [\\\"Time Generated\\\"]=TimeGenerated, [\\\"Matched watchlist\\\"]=WatchlistNames, [\\\"Source Channels\\\"]=SourceChannels, [\\\"Vulnerability IDs\\\"]=Vulnerabilities\\r\\n| project [\\\"Alert Id\\\"], [\\\"Alert Post Link\\\"], [\\\"Alert type\\\"], Caption, [\\\"category Names\\\"], Companies=Company, [\\\"Cyber Addresses\\\"], [\\\"Location Name\\\"], [\\\"Time Generated\\\"],[\\\"Matched watchlist\\\"], Source=EventSource,[\\\"Source Channels\\\"], [\\\"Vulnerability IDs\\\"]\\r\\n\",\"size\":1,\"showAnalytics\":true,\"title\":\"Selected Alert data\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Alert Id\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"GenericDetails\",\"linkIsContextBlade\":true}},{\"columnMatch\":\"Alert Post Link\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\"}},{\"columnMatch\":\"AlertId\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"GenericDetails\",\"linkIsContextBlade\":true}}],\"rowLimit\":10000,\"filter\":true}},\"conditionalVisibility\":{\"parameterName\":\"SelectedCaption\",\"comparison\":\"isNotEqualTo\",\"value\":\"none\"},\"name\":\"Selected Alert data\",\"styleSettings\":{\"showBorder\":true}},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"parameters\":[{\"id\":\"f139d998-2ddd-43b7-9323-c60889d9fed2\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"total\",\"type\":1,\"query\":\"DataminrPulseAlerts\\r\\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\\r\\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\\r\\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\\r\\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\\r\\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\\r\\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\\r\\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\\r\\n| summarize dcount(AlertId) by EventSource\\r\\n| where isnotempty(EventSource)\\r\\n| summarize totalcount=sum(dcount_AlertId)\\r\\n| project totalcount = iff(totalcount == 0, \\\"0\\\", tostring(totalcount))\",\"isHiddenWhenLocked\":true,\"timeContext\":{\"durationMs\":0},\"timeContextFromParameter\":\"time\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"parameters - 10\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseAlerts\\r\\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\\r\\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\\r\\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\\r\\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\\r\\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\\r\\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\\r\\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\\r\\n| summarize distinct_count=dcount(AlertId) by EventSource\\r\\n| where isnotempty(EventSource)\\r\\n| order by distinct_count desc\",\"size\":3,\"showAnalytics\":true,\"title\":\"Alerts by Source (Total {total} Alerts)\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"exportFieldName\":\"series\",\"exportParameterName\":\"SelectedEventSource\",\"exportDefaultValue\":\"none\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"piechart\",\"chartSettings\":{\"group\":\"EventSource\",\"createOtherGroup\":10,\"ySettings\":{\"numberFormatSettings\":{\"unit\":0,\"options\":{\"style\":\"decimal\",\"useGrouping\":true,\"maximumSignificantDigits\":15}}}}},\"customWidth\":\"50\",\"name\":\"Alerts by Source\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseAlerts\\r\\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\\r\\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\\r\\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\\r\\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\\r\\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\\r\\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\\r\\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\\r\\n| mv-expand todynamic(SourceChannels)\\r\\n| summarize distinct_count=dcount(AlertId) by tostring(SourceChannels)\\r\\n| where isnotempty(SourceChannels)\\r\\n| project tostring(SourceChannels), distinct_count\\r\\n| order by distinct_count desc\",\"size\":3,\"showAnalytics\":true,\"title\":\"Alerts by Channel\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"exportFieldName\":\"series\",\"exportParameterName\":\"SelectedChannels\",\"exportDefaultValue\":\"none\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"piechart\",\"chartSettings\":{\"group\":\"SourceChannels\",\"createOtherGroup\":10,\"ySettings\":{\"numberFormatSettings\":{\"unit\":0,\"options\":{\"style\":\"decimal\",\"useGrouping\":true,\"maximumSignificantDigits\":15}}}}},\"customWidth\":\"50\",\"name\":\"query - 6\",\"styleSettings\":{\"showBorder\":true}},{\"type\":1,\"content\":{\"json\":\"💡 _Click on the above 'Alerts by Source' pie chart to view more details_\"},\"customWidth\":\"50\",\"name\":\"text - 15\"},{\"type\":1,\"content\":{\"json\":\"_💡 Click on the above 'Alerts by Channel' pie chart to view more details_\\r\\n\\r\\n\"},\"customWidth\":\"50\",\"name\":\"text - 16\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseAlerts\\r\\n| mv-expand todynamic(Company), todynamic(WatchlistsMatchedByType), todynamic(Category), todynamic(EmbeddedLabels)\\r\\n| extend Vulnerabilities = parse_json(EmbeddedLabels.data.vulnerabilities), Addresses = parse_json(EmbeddedLabels.data.addresses)\\r\\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\\r\\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\\r\\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\\r\\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\\r\\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\\r\\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\\r\\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\\r\\n| mv-expand Vulnerabilities\\r\\n| mv-apply Vulnerabilities on (summarize VulnerabilitiesId = make_list(Vulnerabilities.id))\\r\\n| summarize any(*) by AlertId\\r\\n| where any_EventSource=='{SelectedEventSource}'\\r\\n| project-rename [\\\"Alert Id\\\"]=AlertId, [\\\"Alert Post Link\\\"]=any_PostLink, [\\\"Alert type\\\"]=any_AlertType, [\\\"category Names\\\"]=any_CategoryNames, [\\\"Cyber Addresses\\\"]=any_Addresses, [\\\"Location Name\\\"]=any_EventLocationName, [\\\"Time Generated\\\"]=any_TimeGenerated, [\\\"Matched watchlist\\\"]=any_WatchlistNames, [\\\"Source Channels\\\"]=any_SourceChannels, [\\\"Vulnerability IDs\\\"]=any_VulnerabilitiesId\\r\\n| project [\\\"Alert Id\\\"], [\\\"Alert Post Link\\\"], [\\\"Alert type\\\"], Caption=any_Caption, [\\\"category Names\\\"], Companies=any_Company, [\\\"Cyber Addresses\\\"], [\\\"Location Name\\\"], [\\\"Time Generated\\\"],[\\\"Matched watchlist\\\"], Source=any_EventSource,[\\\"Source Channels\\\"], [\\\"Vulnerability IDs\\\"]\\r\\n\",\"size\":0,\"showAnalytics\":true,\"title\":\"Selected Alerts by Source Data\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Alert Id\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"GenericDetails\",\"linkIsContextBlade\":true}},{\"columnMatch\":\"Alert Post Link\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\"}},{\"columnMatch\":\"Companies\",\"formatter\":1},{\"columnMatch\":\"Cyber Addresses\",\"formatter\":1},{\"columnMatch\":\"Time Generated\",\"formatter\":6}],\"rowLimit\":10000,\"filter\":true}},\"conditionalVisibilities\":[{\"parameterName\":\"SelectedEventSource\",\"comparison\":\"isNotEqualTo\",\"value\":\"none\"},{\"parameterName\":\"SelectedEventSource\",\"comparison\":\"isNotEqualTo\",\"value\":\"Other\"}],\"name\":\"Selected Alerts by Source Data\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DataminrPulseAlerts\\r\\n| mv-expand todynamic(Company), todynamic(WatchlistsMatchedByType), todynamic(Category), todynamic(EmbeddedLabels)\\r\\n| extend Vulnerabilities = parse_json(EmbeddedLabels.data.vulnerabilities), Addresses = parse_json(EmbeddedLabels.data.addresses)\\r\\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\\r\\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\\r\\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\\r\\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\\r\\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\\r\\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\\r\\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\\r\\n| mv-expand Vulnerabilities\\r\\n| mv-apply Vulnerabilities on (summarize VulnerabilitiesId = make_list(Vulnerabilities.id))\\r\\n| summarize any(*) by AlertId\\r\\n| mv-expand todynamic(any_SourceChannels)\\r\\n| where tostring(any_SourceChannels)=='{SelectedChannels}'\\r\\n| project-rename [\\\"Alert Id\\\"]=AlertId, [\\\"Alert Post Link\\\"]=any_PostLink, [\\\"Alert type\\\"]=any_AlertType, [\\\"category Names\\\"]=any_CategoryNames, [\\\"Cyber Addresses\\\"]=any_Addresses, [\\\"Location Name\\\"]=any_EventLocationName, [\\\"Time Generated\\\"]=any_TimeGenerated, [\\\"Matched watchlist\\\"]=any_WatchlistNames, [\\\"Source Channels\\\"]=any_SourceChannels, [\\\"Vulnerability IDs\\\"]=any_VulnerabilitiesId\\r\\n| project [\\\"Alert Id\\\"], [\\\"Alert Post Link\\\"], [\\\"Alert type\\\"], Caption=any_Caption, [\\\"category Names\\\"], Companies=any_Company, [\\\"Cyber Addresses\\\"], [\\\"Location Name\\\"], [\\\"Time Generated\\\"],[\\\"Matched watchlist\\\"], Source=any_EventSource,[\\\"Source Channels\\\"], [\\\"Vulnerability IDs\\\"]\\r\\n\",\"size\":0,\"showAnalytics\":true,\"title\":\"Selected Alerts by Channel Data\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Alert Id\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"GenericDetails\",\"linkIsContextBlade\":true}},{\"columnMatch\":\"Alert Post Link\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\"}},{\"columnMatch\":\"Companies\",\"formatter\":1},{\"columnMatch\":\"Cyber Addresses\",\"formatter\":1}],\"rowLimit\":10000,\"filter\":true,\"sortBy\":[{\"itemKey\":\"Cyber Addresses\",\"sortOrder\":2}]},\"sortBy\":[{\"itemKey\":\"Cyber Addresses\",\"sortOrder\":2}]},\"conditionalVisibilities\":[{\"parameterName\":\"SelectedChannels\",\"comparison\":\"isNotEqualTo\",\"value\":\"none\"},{\"parameterName\":\"SelectedChannels\",\"comparison\":\"isNotEqualTo\",\"value\":\"Other\"}],\"name\":\"Selected Alerts by Channel Data\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let total = toscalar(DataminrPulseAlerts\\r\\n| mv-expand todynamic(EmbeddedLabels)\\r\\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\\r\\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\\r\\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\\r\\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\\r\\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\\r\\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\\r\\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\\r\\n| extend addresses = parse_json(EmbeddedLabels.data.addresses)\\r\\n| mv-apply addresses on (summarize ip=make_list(addresses.ip))\\r\\n| mv-expand ip\\r\\n| summarize dcount(AlertId) by tostring(ip)\\r\\n| summarize total=sum(dcount_AlertId)\\r\\n| project total);\\r\\nDataminrPulseAlerts\\r\\n| mv-expand todynamic(EmbeddedLabels)\\r\\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\\r\\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\\r\\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\\r\\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\\r\\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\\r\\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\\r\\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\\r\\n| extend addresses = parse_json(EmbeddedLabels.data.addresses)\\r\\n| mv-apply addresses on (summarize ip=make_list(addresses.ip))\\r\\n| mv-expand ip\\r\\n| where isnotempty(ip)\\r\\n| summarize dcount(AlertId) by tostring(ip)\\r\\n| extend Percent = 100*todouble(dcount_AlertId)/total\\r\\n| project-rename Count = dcount_AlertId\\r\\n| project [\\\"IP Address\\\"]=ip, Count, Percent\\r\\n| order by Percent desc\\r\\n| limit 10\",\"size\":0,\"showAnalytics\":true,\"title\":\"Top 10 Exploiting IP Addresses\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Count\",\"formatter\":4,\"formatOptions\":{\"palette\":\"greenRed\"}},{\"columnMatch\":\"Percent\",\"formatter\":4,\"formatOptions\":{\"min\":0,\"palette\":\"greenRed\"},\"numberFormat\":{\"unit\":1,\"options\":{\"style\":\"decimal\",\"maximumFractionDigits\":2}}}],\"rowLimit\":10000,\"filter\":true}},\"customWidth\":\"33.33\",\"name\":\"Top 10 Exploiting IP Addresses\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let total = toscalar(DataminrPulseAlerts\\r\\n| mv-expand todynamic(EmbeddedLabels)\\r\\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\\r\\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\\r\\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\\r\\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\\r\\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\\r\\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\\r\\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\\r\\n| extend vulnerabilities = parse_json(EmbeddedLabels.data.vulnerabilities)\\r\\n| mv-apply vulnerabilities on (summarize vulnids=make_list(vulnerabilities.id))\\r\\n| mv-expand vulnids\\r\\n| where isnotempty(vulnids)\\r\\n| summarize dcount(AlertId) by tostring(vulnids)\\r\\n| summarize total=sum(dcount_AlertId)\\r\\n| project total);\\r\\nDataminrPulseAlerts\\r\\n| mv-expand todynamic(EmbeddedLabels)\\r\\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\\r\\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\\r\\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\\r\\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\\r\\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\\r\\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\\r\\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\\r\\n| extend vulnerabilities = parse_json(EmbeddedLabels.data.vulnerabilities)\\r\\n| mv-apply vulnerabilities on (summarize vulnids=make_list(vulnerabilities.id))\\r\\n| mv-expand vulnids\\r\\n| where isnotempty(vulnids)\\r\\n| summarize dcount(AlertId) by tostring(vulnids)\\r\\n| extend Percent = 100*todouble(dcount_AlertId)/total\\r\\n| project-rename Count = dcount_AlertId\\r\\n| project [\\\"Vulnerability ID\\\"]=vulnids, Count, Percent\\r\\n| order by Percent desc\\r\\n| limit 10\",\"size\":0,\"showAnalytics\":true,\"title\":\"Top 10 Trending CVEs\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Count\",\"formatter\":4,\"formatOptions\":{\"palette\":\"greenRed\"}},{\"columnMatch\":\"Percent\",\"formatter\":4,\"formatOptions\":{\"min\":0,\"palette\":\"greenRed\"},\"numberFormat\":{\"unit\":1,\"options\":{\"style\":\"decimal\",\"maximumFractionDigits\":2}}}],\"rowLimit\":10000,\"filter\":true}},\"customWidth\":\"33.33\",\"name\":\"Top 10 Trending CVEs\",\"styleSettings\":{\"showBorder\":true}},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let total = toscalar(DataminrPulseAlerts\\r\\n| mv-expand todynamic(EmbeddedLabels)\\r\\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\\r\\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\\r\\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\\r\\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\\r\\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\\r\\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\\r\\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\\r\\n| extend addresses = parse_json(EmbeddedLabels.data.addresses)\\r\\n| mv-apply addresses on (summarize port=make_list(addresses.port))\\r\\n| mv-expand port\\r\\n| summarize dcount(AlertId) by tostring(port)\\r\\n| summarize total=sum(dcount_AlertId)\\r\\n| project total);\\r\\nDataminrPulseAlerts\\r\\n| mv-expand todynamic(EmbeddedLabels)\\r\\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\\r\\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\\r\\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\\r\\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\\r\\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\\r\\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\\r\\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\\r\\n| extend addresses = parse_json(EmbeddedLabels.data.addresses)\\r\\n| mv-apply addresses on (summarize port=make_list(addresses.port))\\r\\n| mv-expand port\\r\\n| where isnotempty(port)\\r\\n| summarize dcount(AlertId) by tostring(port)\\r\\n| extend Percent = 100*todouble(dcount_AlertId)/total\\r\\n| project-rename Count = dcount_AlertId\\r\\n| project [\\\"Port\\\"]=port, Count, Percent\\r\\n| sort by Percent desc\\r\\n| limit 10\",\"size\":0,\"showAnalytics\":true,\"title\":\"Top 10 Open Ports\",\"noDataMessage\":\"No data found in selected timerange.\",\"timeContextFromParameter\":\"time\",\"showRefreshButton\":true,\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Count\",\"formatter\":4,\"formatOptions\":{\"palette\":\"greenRed\"}},{\"columnMatch\":\"Percent\",\"formatter\":4,\"formatOptions\":{\"min\":0,\"palette\":\"greenRed\"},\"numberFormat\":{\"unit\":1,\"options\":{\"style\":\"decimal\",\"maximumFractionDigits\":2}}}],\"rowLimit\":10000,\"filter\":true}},\"customWidth\":\"33.33\",\"name\":\"Top 10 Open Ports\",\"styleSettings\":{\"showBorder\":true}},{\"type\":1,\"content\":{\"json\":\"📝 ***Refresh the web page to fetch details of recently collected events***\"},\"name\":\"text - 9\"}]},\"conditionalVisibility\":{\"parameterName\":\"setTab\",\"comparison\":\"isEqualTo\",\"value\":\"Alerts Drilldown\"},\"name\":\"Alerts Drilldown\"}],\"fromTemplateId\":\"sentinel-DataminrPulseAlerts\",\"$schema\":\"https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json\"}\r\n", + "version": "1.0", + "sourceId": "[variables('workspaceResourceId')]", + "category": "sentinel" + } + }, + { + "type": "Microsoft.OperationalInsights/workspaces/providers/metadata", + "apiVersion": "2022-01-01-preview", + "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',concat('Workbook-', last(split(variables('workbookId1'),'/'))))]", + "properties": { + "description": "@{workbookKey=DataminrPulseAlerts; logoFileName=DataminrPulse.svg; description=This Workbook provides insight into the data coming from DataminrPulse.; dataTypesDependencies=System.Object[]; dataConnectorsDependencies=System.Object[]; previewImagesFileNames=System.Object[]; version=1.0.0; title=Dataminr Pulse Alerts; templateRelativePath=DataminrPulseAlerts.json; provider=Dataminr}.description", + "parentId": "[variables('workbookId1')]", + "contentId": "[variables('_workbookContentId1')]", + "kind": "Workbook", + "version": "[variables('workbookVersion1')]", + "source": { + "kind": "Solution", + "name": "Dataminr Pulse", + "sourceId": "[variables('_solutionId')]" + }, + "author": { + "name": "Dataminr", + "email": "[variables('_email')]" + }, + "support": { + "name": "Dataminr Support", + "email": "support@dataminr.com", + "tier": "Partner", + "link": "https://www.dataminr.com/dataminr-support#support" + }, + "dependencies": { + "operator": "AND", + "criteria": [ + { + "contentId": "DataminrPulse_Alerts_CL", + "kind": "DataType" + }, + { + "contentId": "DataminrPulseAlerts", + "kind": "DataConnector" + } + ] + } + } + } + ] + }, + "packageKind": "Solution", + "packageVersion": "[variables('_solutionVersion')]", + "packageName": "[variables('_solutionName')]", + "packageId": "[variables('_solutionId')]", + "contentSchemaVersion": "3.0.0", + "contentId": "[variables('_workbookContentId1')]", + "contentKind": "Workbook", + "displayName": "[parameters('workbook1-name')]", + "contentProductId": "[variables('_workbookcontentProductId1')]", + "id": "[variables('_workbookcontentProductId1')]", + "version": "[variables('workbookVersion1')]" + } + }, + { + "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',parameters('watchlist1-id'))]", + "type": "Microsoft.OperationalInsights/workspaces/providers/Watchlists", + "properties": { + "displayName": "DataminrPulseAsset", + "watchlistAlias": "DataminrPulseAsset", + "source": "dataminr_asset_close_proximity_alerting.csv", + "description": "Watchlist contains data of assets to use in Close Proximity Overview dashboard.", + "provider": "Custom", + "isDeleted": false, + "defaultDuration": "P1000Y", + "contentType": "Text/Csv", + "numberOfLinesToSkip": 0, + "itemsSearchKey": "asset_name", + "rawContent": "asset_name, asset_type, asset_description, asset_lat, asset_long, alerting_distance_miles\r\nDataminr_Newyork,Office,Dataminr Inc.,135 Madison Ave Floor 10, New York, NY 10016,United States,40.745900,-73.983940,5\r\nDataminr_Bozeman,Office,Dataminr Inc.,131 W Main St, Unit D, Bozeman, MT 59715,45.6794878,-111.0398014,5\r\nDataminr_Virginia,Office,Dataminr Inc.,2101 Wilson Blvd #1002,Arlington, VA 22201,United States,38.8940199,-77.0683043,5\r\nDataminr_Dublin,Office,Dataminr Inc.,2 Windmill Lane,D02 K156, Dublin, Ireland,53.3458505,-6.245248,5\r\nDataminr_London,Office,Dataminr Inc.,10 York Rd, London SE1 7ND, UK,51.5037543,-0.1181606,5\r\nDataminr_Melbourne,Office,Dataminr Inc.,120 Spencer St, Melbourne VIC 3000, Australia,-37.8182119,144.9521438,5\r\nDataminr_Seattle,Office,Dataminr Inc.,925 4th Ave #11th, Seattle, WA 98104,47.6054854,-122.3354275,5" + }, + "apiVersion": "2022-08-01" + }, + { + "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',parameters('watchlist2-id'))]", + "type": "Microsoft.OperationalInsights/workspaces/providers/Watchlists", + "properties": { + "displayName": "DataminrPulseVulnerableDomain", + "watchlistAlias": "DataminrPulseVulnerableDomain", + "source": "dataminr_vulnerable_domains_30d.csv", + "description": "Watchlist contains data of vulnerable domains of Dataminr to use in IOC Overview dashboard.", + "provider": "Custom", + "isDeleted": false, + "defaultDuration": "P1000Y", + "contentType": "Text/Csv", + "numberOfLinesToSkip": 0, + "itemsSearchKey": "url", + "rawContent": "_time,domain,url,caption,company,source\r\n1678819858,000webhostapp.com,https://centers4f3ty67v3rific4ti0nc0mf1rm4t10n.0source00webhostapp.com/verifications-security-pages.php,Phishing URL detected impersonating Facebook: Local Source via urlscan.,Meta Platforms, Inc.,urlscan\r\n1678819910,amazonaws.com,ec2-175-41-177-135.ap-southeast-1.compute.amazonaws.com,Amazon Web Services IP 175.41.177.135 has open RDP port 3389: Local Source via Shodan.,Amazon Web Services, Inc.,Shodan\r\n1678819861,anaturaledit.co.uk,https://anaturaledit.co.uk/login.html?dozpufx=FHOwMm3Oe5wz6vzgjhEbSKgoX9TeV&oxvprhsis=UUhdLARKkboE1nwm9et&nohjyzal=Aq5U1zYzvKYhERjGv8D1JxSYh,Phishing URL detected impersonating Microsoft: Local Source via urlscan.,Microsoft Corporation,urlscan\r\n1678819858,co.nz,bestandlesstravel.co.nz,Rackspace IP 119.9.51.147 hosts server configuration with CVE(s): Local Source via Shodan.,Rackspace Hosting, Inc.,Shodan\r\n1678819901,columbia.edu,ds1.cs.columbia.edu,Columbia Sportswear IP 128.59.22.27 has exposed MongoDB database: Local Source via Shodan.,Columbia Sportswear Company,Shodan\r\n1678819879,com.au,ec2-3-104-52-84.ap-southeast-2.compute.amazonaws.com,Amazon IP 3.104.52.84 hosts server configuration with CVE(s): Local Source via Shodan.,Amazon.com, Inc.,Shodan\r\n1678810260,connectlon.org,https://connectlon.org/login,Phishing URL detected impersonating Microsoft: Local Source via urlscan.,Microsoft Corporation,urlscan\r\n1678819887,easynet.nl,213.201.230.reverse.easynet.nl,GTT Communications IP 213.201.230.96 hosts server configuration with CVE(s): Local Source via Shodan.,GTT Communications, Inc.,Shodan\r\n1678819860,filedn.com,https://filedn.com/lmtf06DxeexRuabg6razTLL/testoff%20(1).html,Phishing URL detected impersonating Microsoft: Local Source via urlscan.,Microsoft Corporation,urlscan\r\n1678819879,firebaseapp.com,https://business-page-appeal-19f1a.firebaseapp.com/,Phishing URL detected impersonating Facebook: Local Source via urlscan.,Meta Platforms, Inc.,urlscan\r\n1678819860,fleek.co,https://twilight-bonus-4110.on.fleek.co/support-closing.html,Phishing URL detected impersonating Microsoft: Local Source via urlscan.,Microsoft Corporation,urlscan\r\n1678819879,fleek.one,https://storageapi-stg.fleek.one/8837a275-8aca-4d7b-9c7f-25709249184e-bucket/way/wordindx.html,Phishing URL detected impersonating Microsoft: Local Source via urlscan.,Microsoft Corporation,urlscan\r\n1678819910,gassafetycerts.com,ec2-79-125-76-130.eu-west-1.compute.amazonaws.com,Amazon Web Services IP 79.125.76.130 hosts server configuration with CVE(s): Local Source via Shodan.,Amazon Web Services, Inc.,Shodan\r\n1678819888,googlefiber.net,136-36-82-15.googlefiber.net,Google IP 136.36.82.15 hosts server configuration with CVE(s): Local Source via Shodan.,Google LLC,Shodan\r\n1678819908,googleusercontent.com,15.56.64.34.bc.googleusercontent.com,Google IP 34.64.56.15 has exposed MySQL database: Local Source via Shodan.,Google LLC,Shodan\r\n1678819864,guesteasy.uk,http://guesteasy.uk/0000/quad/,Phishing URL detected impersonating Microsoft: Local Source via urlscan.,Microsoft Corporation,urlscan\r\n1678819875,inet.fi,mobile-user-c2fb13-242.dhcp.inet.fi,Telia Company IP 194.251.19.242 has exposed MS-SQL Server 2017 RTM database: Local Source via Shodan.,Telia Company AB (publ),Shodan\r\n1678819849,jblapps.com,oa.jblapps.com,Verizon IP 202.94.114.21 hosts server configuration with CVE(s): Local Source via Shodan.,Jabil Inc.,Shodan\r\n1678819859,jhadlkacoiwuz.co.vu,http://jhadlkacoiwuz.co.vu/Policies.html,Phishing URL detected impersonating Facebook: Local Source via urlscan.,Meta Platforms, Inc.,urlscan\r\n1678819905,kyivstar.net,94-153-188-61.mobile.kyivstar.net,Kyivstar IP 94.153.188.61 has exposed MySQL database: Local Source via Shodan.,VEON Ltd.,Shodan\r\n1678819842,leadcom.biz,https://leadcom.biz/godaddy/godaddy.php?user=,Phishing URL detected impersonating Godaddy: Local Source via urlscan.,GoDaddy Inc.,urlscan\r\n1678819844,llnw.net,lvp-029.phx7.llnw.net,Limelight Networks IP 68.142.64.87 hosts server configuration with CVE(s): Local Source via Shodan.,Limelight Networks, Inc.,Shodan\r\n1678819887,mirai.ne.jp,p211246.bsn.mirai.ne.jp,Mirai IP 210.172.211.246 has exposed PostgreSQL database: Local Source via Shodan.,Toyota Motor Corporation,Shodan\r\n1678819906,mitre.org,mrt-js.mitre.org,The MITRE Corporation IP 66.170.227.78 hosts server configuration with CVE(s): Local Source via Shodan.,The MITRE Corporation,Shodan\r\n1678819863,mystudywriters.com,https://mystudywriters.com/static/css/godaddy/godaddy.php?user=*@*,Phishing URL detected impersonating Godaddy: Local Source via urlscan.,GoDaddy Inc.,urlscan\r\n1678819845,negozialia.com,ec2-46-137-73-18.eu-west-1.compute.amazonaws.com,Amazon Web Services IP 46.137.73.18 hosts server configuration with CVE(s): Local Source via Shodan.,Amazon Web Services, Inc.,NULL\r\n1678819879,network-support.us,http://network-support.us/landing/form/4fc67c03-4ed5-4240-9ce9-14d9d4d33c02,Phishing URL detected impersonating Microsoft: Local Source via urlscan.,Microsoft Corporation,urlscan\r\n1678819885,oxford-union.org,speakers.oxford-union.org,Amazon Web Services IP 46.137.87.82 hosts server configuration with CVE(s): Local Source via Shodan.,Amazon Web Services, Inc.,Shodan\r\n1678819904,r2ceurope.com,153.vps.r2ceurope.com,VMware IP 185.69.233.145 hosts server configuration with CVE(s): Local Source via Shodan.,VMware, Inc.,Shodan\r\n1678819905,route-server.jp,b4kebweac120.route-server.jp,KDDI IP 180.235.234.120 has exposed MySQL database: Local Source via Shodan.,NULL,Shodan\r\n1678819842,sharestion.com,https://www.sharestion.com/gbr/73a29c01-4e78-437f-a0d4-c8553e1960c1/14ebb15a-e337-46a2-8cfc-e84e6ad3b319/4a07b645-7049-4161-ac15-d994427c31b9/login?id=a2dPQ0dqZkxYV1duc3crcHhqdE9iT2w4K0VHZkxMWTJVYjIzamV5N0NXZE9EcEhlYnJpbjd2NEJtRGNoQldicWpoOGo5dFVWalMvWFY2eXVFZmtOYW45RlNPbzRsT2FNZDhZVEdORkNBS3ZoMnUwNjlhcERZdTVaYTZJYUJwK2V4NEFUUTVGM0U1cmVjUCt1Qi9qVVNWTEJNSHNwUG05bExPblFvcWJOc3FpbEdoSkFTbXgwL3E2Um5TYzB1TEJBVndITXNJSk9heDNjbi82WXNTak92L1UreDZ1WXNGdGFNcTg0REc2L1BVT0dNbkRnN080YXFXRHI5TXlOdXJPZ3ZMNUJFUzliRDZqUE9iLzZCM2JLakIveVRhM2daNTUremVTTkpGQncrUGZOejdEMjQwaXlZMldsbWpMbUxkUURyWXZVYmRReUY5UzY1bHA4QzR1NVhTbXcrOG5lcVNaZzM5cGlGc0tmdExIWC9Bb3gzaVpSK04wR2xORE9TcWFx,Phishing URL detected impersonating Microsoft: Local Source via urlscan.,Microsoft Corporation,urlscan\r\n1678819889,sprintdatacenter.net,n8236h209.sprintdatacenter.net,Sprint data center IP 188.68.236.209 has exposed MS-SQL Server 2014 SP2 database: Local Source via Shodan.,Sprintex Limited,Shodan\r\n1678819890,steadfastdns.net,ip24.23-29-134.static.steadfastdns.net,Fortinet IP 23.29.134.24 hosts server configuration with CVE(s): Local Source via Shodan.,Fortinet, Inc.,Shodan\r\n1678819850,taica.family,ec2-176-32-71-215.ap-northeast-1.compute.amazonaws.com,Amazon Web Services IP 176.32.71.215 hosts server configuration with CVE(s): Local Source via Shodan.,Amazon Web Services, Inc.,Shodan\r\n1678819858,tiptoealaska.com,http://tiptoealaska.com/,Phishing URL detected impersonating Facebook: Local Source via urlscan.,Meta Platforms, Inc.,urlscan\r\n1678811471,trucktrax.biz,http://trucktrax.biz/,Phishing URL detected impersonating Facebook: Local Source via urlscan.,Meta Platforms, Inc.,urlscan\r\n1678819902,tylertech.com,tylertech.com,Tyler Technologies IP 207.182.213.172 hosts server configuration with CVE(s): Local Source via Shodan.,Tyler Technologies, Inc.,Shodan\r\n1678819875,verizonwireless.com,scspersonas-qe3-tdc.verizonwireless.com,Verizon IP 8.15.65.94 has SSL certificate expiring within 24 hours: Local Source via Shodan.,Verizon Communications Inc.,Shodan\r\n1678819848,wavenetuk.net,195-26-42-122.dsl.wavenetuk.net,Wavenet IP 195.26.42.122 has open Telnet port 23: Local Source via Shodan.,DEEPMIND TECHNOLOGIES LIMITED,Shodan\r\n1678819880,web.app,https://business-page-appeal-12e2c.web.app/,Phishing URL detected impersonating Facebook: Local Source via urlscan.,Meta Platforms, Inc.,urlscan\r\n1678819892,ziggo.nl,84-25-193-69.cable.dynamic.v4.ziggo.nl,Ziggo IP 84.25.193.69 has exposed PostgreSQL database: Local Source via Shodan.,VodafoneZiggo Group B.V.,Shodan\r\n" + }, + "apiVersion": "2022-08-01" + }, + { + "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',parameters('watchlist3-id'))]", + "type": "Microsoft.OperationalInsights/workspaces/providers/Watchlists", + "properties": { + "displayName": "DataminrPulseVulnerableHash", + "watchlistAlias": "DataminrPulseVulnerableHash", + "source": "dataminr_vulnerable_hashes_30d.csv", + "description": "Watchlist contains data of vulnerable hashes of Dataminr to use in IOC Overview dashboard.", + "provider": "Custom", + "isDeleted": false, + "defaultDuration": "P1000Y", + "contentType": "Text/Csv", + "numberOfLinesToSkip": 0, + "itemsSearchKey": "hash", + "rawContent": "hash,caption,_time,source\r\n3f7eae6cc61fdc2553a2acdede69be84945a7a724b632dea3ff8466f74b56249,Sample of android malware GodFather impersonating MYT Music app to target Turkish users detected and analyzed: Blog via VirusTotal.,1671560525,VirusTotal\r\n" + }, + "apiVersion": "2022-08-01" + }, + { + "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',parameters('watchlist4-id'))]", + "type": "Microsoft.OperationalInsights/workspaces/providers/Watchlists", + "properties": { + "displayName": "DataminrPulseVulnerableIp", + "watchlistAlias": "DataminrPulseVulnerableIp", + "source": "dataminr_vulnerable_ips_30d.csv", + "description": "Watchlist contains data of vulnerable ips of Dataminr to use in IOC Overview dashboard.", + "provider": "Custom", + "isDeleted": false, + "defaultDuration": "P1000Y", + "contentType": "Text/Csv", + "numberOfLinesToSkip": 0, + "itemsSearchKey": "ip", + "rawContent": "ip,_time,caption,company\r\n119.9.46.78,1678819861,Rackspace IP 119.9.46.78 hosts server configuratiServiceson with CVE(s): Local Source via Shodan.,Rackspace Hosting, Inc.\r\n119.9.51.147,1678819858,Rackspace IP 119.9.51.147 hosts server configuration with CVE(s): Local Source via Shodan.,Rackspace Hosting, Inc.\r\n122.248.205.188,1678819876,Amazon Web Services IP 122.248.205.188 hosts server configuration with CVE(s): Local Source via Shodan.,Amazon Web Services, Inc.\r\n128.59.22.27,1678819901,Columbia Sportswear IP 128.59.22.27 has exposed MongoDB database: Local Source via Shodan.,Columbia Sportswear Company\r\n13.124.104.139,1678819887,Amazon Web Services IP 13.124.104.139 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n13.124.15.202,1678819887,Amazon Web Services IP 13.124.15.202 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n13.125.134.248,1678819904,Amazon Web Services IP 13.125.134.248 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n13.125.61.135,1678819886,Amazon Web Services IP 13.125.61.135 has exposed PostgreSQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n13.209.157.214,1678819907,Amazon Web Services IP 13.209.157.214 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n13.209.212.118,1678819910,Amazon Web Services IP 13.209.212.118 has exposed PostgreSQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n13.209.58.95,1678819886,Amazon Web Services IP 13.209.58.95 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n13.236.26.207,1678819863,Amazon IP 13.236.26.207 has exposed MS-SQL Server 2017 CU19 database: Local Source via Shodan.,Amazon.com, Inc.\r\n13.238.230.228,1678819876,Amazon IP 13.238.230.228 has exposed MySQL database: Local Source via Shodan.,Amazon.com, Inc.\r\n13.54.80.13,1678819889,Amazon IP 13.54.80.13 has exposed MySQL database: Local Source via Shodan.,Amazon.com, Inc.\r\n136.36.82.15,1678819888,Google IP 136.36.82.15 hosts server configuration with CVE(s): Local Source via Shodan.,Google LLC\r\n147.161.131.98,1678819910,Zscaler IP 147.161.131.98 has open Memcached port 11211: Local Source via Shodan.,Zscaler, Inc.\r\n149.18.115.9,1678819849,AT&T IP 149.18.115.9 has exposed MS-SQL Server 2022 CTP1.0+ database: Local Source via Shodan.,AT&T Inc.\r\n149.18.118.63,1678819850,AT&T IP 149.18.118.63 has exposed MS-SQL Server 2022 CTP1.0+ database: Local Source via Shodan.,AT&T Inc.\r\n149.18.119.207,1678819901,AT&T IP 149.18.119.207 has exposed MS-SQL Server 2022 CTP1.0+ database: Local Source via Shodan.,AT&T Inc.\r\n149.18.119.238,1678819903,AT&T IP 149.18.119.238 has exposed MS-SQL Server 2022 CTP1.0+ database: Local Source via Shodan.,AT&T Inc.\r\n149.18.124.59,1678819875,AT&T IP 149.18.124.59 has exposed MS-SQL Server 2022 CTP1.0+ database: Local Source via Shodan.,AT&T Inc.\r\n149.18.125.143,1678819864,AT&T IP 149.18.125.143 has exposed MS-SQL Server 2022 CTP1.0+ database: Local Source via Shodan.,AT&T Inc.\r\n149.18.127.170,1678819909,AT&T IP 149.18.127.170 has exposed MS-SQL Server 2022 CTP1.0+ database: Local Source via Shodan.,AT&T Inc.\r\n15.164.118.15,1678819847,Amazon Web Services IP 15.164.118.15 has exposed MS-SQL Server 2019 CU8 database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n15.164.129.2,1678819893,Amazon Web Services IP 15.164.129.2 has exposed MongoDB database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n15.164.15.11,1678819841,Amazon Web Services IP 15.164.15.11 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n15.164.199.202,1678819859,Amazon Web Services IP 15.164.199.202 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n15.165.176.124,1678819890,Amazon Web Services IP 15.165.176.124 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n15.165.242.79,1678819906,Amazon Web Services IP 15.165.242.79 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n175.41.138.27,1678819906,Amazon Web Services IP 175.41.138.27 has exposed PostgreSQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n175.41.147.118,1678819903,Amazon Web Services IP 175.41.147.118 hosts server configuration with CVE(s): Local Source via Shodan.,Amazon Web Services, Inc.\r\n175.41.177.135,1678819910,Amazon Web Services IP 175.41.177.135 has open RDP port 3389: Local Source via Shodan.,Amazon Web Services, Inc.\r\n175.41.246.120,1678819893,Amazon Web Services IP 175.41.246.120 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n176.32.71.215,1678819850,Amazon Web Services IP 176.32.71.215 hosts server configuration with CVE(s): Local Source via Shodan.,Amazon Web Services, Inc.\r\n180.235.234.120,1678819905,KDDI IP 180.235.234.120 has exposed MySQL database: Local Source via Shodan.,NULL\r\n185.180.12.68,1678819858,Phishing URL detected impersonating Microsoft: Local Source via urlscan.,Microsoft Corporation\r\n185.59.220.194,1678819879,Phishing URL detected impersonating Microsoft: Local Source via urlscan.,Microsoft Corporation\r\n185.69.233.145,1678819904,VMware IP 185.69.233.145 hosts server configuration with CVE(s): Local Source via Shodan.,VMware, Inc.\r\n188.68.236.209,1678819889,Sprint data center IP 188.68.236.209 has exposed MS-SQL Server 2014 SP2 database: Local Source via Shodan.,Sprintex Limited\r\n194.251.19.242,1678819875,Telia Company IP 194.251.19.242 has exposed MS-SQL Server 2017 RTM database: Local Source via Shodan.,Telia Company AB (publ)\r\n195.26.42.122,1678819848,Wavenet IP 195.26.42.122 has open Telnet port 23: Local Source via Shodan.,DEEPMIND TECHNOLOGIES LIMITED\r\n202.159.8.148,1678819850,Microsoft IP 202.159.8.148 hosts server configuration with CVE(s): Local Source via Shodan.,Microsoft Corporation\r\n202.94.114.21,1678819849,Verizon IP 202.94.114.21 hosts server configuration with CVE(s): Local Source via Shodan.,Jabil Inc.\r\n206.62.165.185,1678819846,Matrix IP 206.62.165.185 has exposed MySQL database: Local Source via Shodan.,Toyota Motor Corporation\r\n207.182.213.172,1678819902,Tyler Technologies IP 207.182.213.172 hosts server configuration with CVE(s): Local Source via Shodan.,Tyler Technologies, Inc.\r\n210.172.211.246,1678819887,Mirai IP 210.172.211.246 has exposed PostgreSQL database: Local Source via Shodan.,Toyota Motor Corporation\r\n213.201.230.96,1678819887,GTT Communications IP 213.201.230.96 hosts server configuration with CVE(s): Local Source via Shodan.,GTT Communications, Inc.\r\n213.71.13.147,1678819864,Verizon IP 213.71.13.147 hosts server configuration with CVE(s): Local Source via Shodan.,Verizon Communications Inc.\r\n23.109.93.100,1678819860,Phishing URL detected impersonating Microsoft: Local Source via urlscan.,Microsoft Corporation\r\n23.228.187.201,1678819877,Google IP 23.228.187.201 hosts server configuration with CVE(s): Local Source via Shodan.,Google LLC\r\n23.29.134.24,1678819890,Fortinet IP 23.29.134.24 hosts server configuration with CVE(s): Local Source via Shodan.,Fortinet, Inc.\r\n3.104.237.239,1678819888,Amazon IP 3.104.237.239 has exposed PostgreSQL database: Local Source via Shodan.,Amazon.com, Inc.\r\n3.104.52.84,1678819879,Amazon IP 3.104.52.84 hosts server configuration with CVE(s): Local Source via Shodan.,Amazon.com, Inc.\r\n3.106.51.243,1678819893,Amazon IP 3.106.51.243 has exposed MySQL database: Local Source via Shodan.,Amazon.com, Inc.\r\n3.217.14.223,1678819879,Phishing URL detected impersonating Microsoft: Local Source via urlscan.,Microsoft Corporation\r\n3.24.249.113,1678819849,Amazon IP 3.24.249.113 has exposed MySQL database: Local Source via Shodan.,Amazon.com, Inc.\r\n3.34.0.4,1678819906,Amazon Web Services IP 3.34.0.4 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n3.34.15.214,1678819900,Amazon Web Services IP 3.34.15.214 has exposed PostgreSQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n3.34.231.79,1678819903,Amazon Web Services IP 3.34.231.79 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n3.34.70.32,1678819892,Amazon Web Services IP 3.34.70.32 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n3.34.86.214,1678819909,Amazon Web Services IP 3.34.86.214 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n3.34.98.152,1678819848,Amazon Web Services IP 3.34.98.152 has exposed MongoDB database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n3.35.191.42,1678819849,Amazon Web Services IP 3.35.191.42 has exposed PostgreSQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n3.35.247.137,1678810284,Amazon Web Services IP 3.35.247.137 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n3.35.54.62,1678819858,Amazon Web Services IP 3.35.54.62 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n3.37.202.208,1678819905,Amazon Web Services IP 3.37.202.208 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n3.38.55.14,1678819843,Amazon Web Services IP 3.38.55.14 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n3.39.26.110,1678819879,Amazon Web Services IP 3.39.26.110 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n3.39.70.101,1678819848,Amazon Web Services IP 3.39.70.101 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n3.39.83.10,1678819901,Amazon Web Services IP 3.39.83.10 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n3.39.88.211,1678819901,Amazon Web Services IP 3.39.88.211 has exposed PostgreSQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n34.101.186.137,1678819889,Google IP 34.101.186.137 hosts server configuration with CVE(s): Local Source via Shodan.,Google LLC\r\n34.101.219.45,1678819859,Google IP 34.101.219.45 has exposed PostgreSQL database: Local Source via Shodan.,Google LLC\r\n34.101.225.45,1678810262,Google IP 34.101.225.45 hosts server configuration with CVE(s): Local Source via Shodan.,Google LLC\r\n34.101.82.9,1678819902,Google IP 34.101.82.9 has exposed MySQL database: Local Source via Shodan.,Google LLC\r\n34.223.244.1,1678819858,Expedia IP 34.223.244.1 has exposed Elastic database: Local Source via Shodan.,Expedia Group, Inc.\r\n34.64.165.63,1678819867,Google IP 34.64.165.63 hosts server configuration with CVE(s): Local Source via Shodan.,Google LLC\r\n34.64.171.179,1678819887,Google IP 34.64.171.179 has SSL certificate expiring within 24 hours: Local Source via Shodan.,Google LLC\r\n34.64.233.209,1678819901,Google IP 34.64.233.209 has open RDP port 3389: Local Source via Shodan.,Google LLC\r\n34.64.56.15,1678819908,Google IP 34.64.56.15 has exposed MySQL database: Local Source via Shodan.,Google LLC\r\n35.219.4.100,1678819892,Google IP 35.219.4.100 has exposed MongoDB database: Local Source via Shodan.,Google LLC\r\n46.137.73.18,1678819846,Amazon Web Services IP 46.137.73.18 hosts server configuration with CVE(s): Local Source via Shodan.,Amazon Web Services, Inc.\r\n46.137.87.82,1678819885,Amazon Web Services IP 46.137.87.82 hosts server configuration with CVE(s): Local Source via Shodan.,Amazon Web Services, Inc.\r\n46.51.135.214,1678819847,Amazon Web Services IP 46.51.135.214 hosts server configuration with CVE(s): Local Source via Shodan.,Amazon Web Services, Inc.\r\n47.254.71.1,1678819859,Phishing URL detected impersonating Facebook: Local Source via urlscan.,Meta Platforms, Inc.\r\n52.78.153.43,1678819902,Amazon Web Services IP 52.78.153.43 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n52.78.58.206,1678810284,Amazon Web Services IP 52.78.58.206 has exposed PostgreSQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n52.79.161.41,1678819874,Amazon Web Services IP 52.79.161.41 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n52.79.75.171,1678819909,Amazon Web Services IP 52.79.75.171 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n54.180.56.82,1678819892,Amazon Web Services IP 54.180.56.82 has exposed PostgreSQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n54.180.96.177,1678819859,Amazon Web Services IP 54.180.96.177 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n65.154.226.14,1678819879,Palo Alto Networks IP 65.154.226.14 has open SMB port 445: Local Source via Shodan.,Palo Alto Networks, Inc.\r\n66.170.109.0,1678819906,VMware IP 66.170.109.0 has open RDP port 3389: Local Source via Shodan.,VMware, Inc.\r\n66.170.227.78,1678819906,The MITRE Corporation IP 66.170.227.78 hosts server configuration with CVE(s): Local Source via Shodan.,The MITRE Corporation\r\n66.29.128.152,1678819863,Phishing URL detected impersonating Godaddy: Local Source via urlscan.,GoDaddy Inc.\r\n68.142.64.87,1678819844,Limelight Networks IP 68.142.64.87 hosts server configuration with CVE(s): Local Source via Shodan.,Limelight Networks, Inc.\r\n69.49.244.24,1678819864,Phishing URL detected impersonating Microsoft: Local Source via urlscan.,Microsoft Corporation\r\n79.125.76.130,1678819910,Amazon Web Services IP 79.125.76.130 hosts server configuration with CVE(s): Local Source via Shodan.,Amazon Web Services, Inc.\r\n8.15.65.94,1678819875,Verizon IP 8.15.65.94 has SSL certificate expiring within 24 hours: Local Source via Shodan.,Verizon Communications Inc.\r\n83.246.46.51,1678819879,VMware IP 83.246.46.51 hosts server configuration with CVE(s): Local Source via Shodan.,VMware, Inc.\r\n84.25.193.69,1678819892,Ziggo IP 84.25.193.69 has exposed PostgreSQL database: Local Source via Shodan.,VodafoneZiggo Group B.V.\r\n94.153.188.61,1678819905,Kyivstar IP 94.153.188.61 has exposed MySQL database: Local Source via Shodan.,VEON Ltd.\r\n" + }, + "apiVersion": "2022-08-01" + }, + { + "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',parameters('watchlist5-id'))]", + "type": "Microsoft.OperationalInsights/workspaces/providers/Watchlists", + "properties": { + "displayName": "DataminrPulseVulnerableMalware", + "watchlistAlias": "DataminrPulseVulnerableMalware", + "source": "dataminr_vulnerable_malwares_30d.csv", + "description": "Watchlist contains data of vulnerable malwares of Dataminr to use in IOC Overview dashboard.", + "provider": "Custom", + "isDeleted": false, + "defaultDuration": "P1000Y", + "contentType": "Text/Csv", + "numberOfLinesToSkip": 0, + "itemsSearchKey": "malware", + "rawContent": "malware,caption,_time,hash,ip,source\r\nGodFather,Sample of android malware GodFather impersonating MYT Music app to tadeployingrget Turkish users detected and analyzed: Blog via VirusTotal.,1671560525,3f7eae6cc61fdc2553a2acdede69be84945a7a724b632dea3ff8466f74b56249,,VirusTotal\r\nGodFather,Sample of android malware GodFather impersonating as MYT Music app to target Turkish users detected and analyzed: Blog via VirusTotal.,1671553995,e67b8b78550396f542ded77d2118487ac1afb0d4ac6b70774889bbb4e6d88265,,VirusTotal\r\nOWASSRF,CrowdStrike shares tool to check logs for evidence of OWASSRF exploitation: Local Source via GitHub.,1671564801,,,GitHub\r\nPupy RAT,C2 server associated with threat actors deploying Pupy RAT malware by exploiting Windows Problem Reporting detected: Blog via VirusTotal.,1673020170,,103.79.76[.]40,VirusTotal\r\nW4SP Stealer,Hackers targeting PyPI Python package repository using W4SP Stealer malware hidden inside malicious packages to steal software developers' data: Blog via Bleeping Computer.,1671562554,,,Bleeping Computer\r\n" + }, + "apiVersion": "2022-08-01" + }, + { + "type": "Microsoft.OperationalInsights/workspaces/providers/contentTemplates", + "apiVersion": "2023-04-01-preview", + "name": "[variables('playbookTemplateSpecName1')]", + "location": "[parameters('workspace-location')]", + "dependsOn": [ + "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" + ], + "properties": { + "description": "DataminrPulseAlertEnrichment Playbook with template version 3.0.0", + "mainTemplate": { + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "[variables('playbookVersion1')]", + "parameters": { + "PlaybookName": { + "defaultValue": "DataminrPulseAlertEnrichment", + "type": "string" + }, + "azure key vault": { + "type": "string", + "defaultValue": "vault.azure", + "metadata": { + "description": "Enter value for azure key vault" + } + }, + "KeyVaultName": { + "type": "string", + "minLength": 1 + }, + "tenantId": { + "type": "string", + "minLength": 1 + }, + "BaseURL": { + "type": "string", + "minLength": 1, + "metadata": { + "description": "Enter baseurl for your Dataminr account.(e.g. https://gateway.dataminr.com/)" + } + } + }, + "variables": { + "MicrosoftSentinelConnectionName": "[[concat('MicrosoftSentinel-', parameters('PlaybookName'))]", + "KeyvaultConnectionName": "[[concat('Keyvault-', parameters('PlaybookName'))]", + "connection-2": "[[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Web/locations/', variables('workspace-location-inline'), '/managedApis/Azuresentinel')]", + "_connection-2": "[[variables('connection-2')]", + "connection-3": "[[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Web/locations/', variables('workspace-location-inline'), '/managedApis/Keyvault')]", + "_connection-3": "[[variables('connection-3')]", + "workspace-location-inline": "[concat('[resourceGroup().locatio', 'n]')]", + "workspace-name": "[parameters('workspace')]", + "workspaceResourceId": "[[resourceId('microsoft.OperationalInsights/Workspaces', variables('workspace-name'))]" + }, + "resources": [ + { + "properties": { + "provisioningState": "Succeeded", + "state": "Enabled", + "definition": { + "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "$connections": { + "type": "Object" + }, + "azure key vault": { + "type": "string", + "defaultValue": "[[parameters('azure key vault')]" + } + }, + "triggers": { + "Microsoft_Sentinel_incident": { + "type": "ApiConnectionWebhook", + "inputs": { + "body": { + "callback_url": "@{listCallbackUrl()}" + }, + "host": { + "connection": { + "name": "@parameters('$connections')['azuresentinel']['connectionId']" + } + }, + "path": "/incident-creation" + } + } + }, + "actions": { + "For_Each_Alerts": { + "foreach": "@triggerBody()?['object']?['properties']?['Alerts']", + "actions": { + "Does_DstDomain_exist_in_the_incident": { + "actions": { + "Append_DstDomain_to_query_string": { + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['DstDomain'],',')" + } + } + }, + "runAfter": { + "Does_SrcDomain_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['DstDomain'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_DstHostname_exist_in_the_incident": { + "actions": { + "Append_DstHostname_to_query_string_": { + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['DstHostname'],',')" + } + } + }, + "runAfter": { + "Does_SrcHostname_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['DstHostname'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_DstIpAddr_exist_in_the_incident": { + "actions": { + "Append_DstIpAddr_to_query_string_": { + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['DstIpAddr'],',')" + } + } + }, + "runAfter": { + "Does_SrcIpAddr_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['DstIpAddr'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_DstMacAddr_exist_in_the_incident": { + "actions": { + "Append_DstMacAddr_to_query_string": { + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['DstMacAddr'],',')" + } + } + }, + "runAfter": { + "Does_SrcMacAddr_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['DstMacAddr'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_SrcDomain_exist_in_the_incident": { + "actions": { + "Append_SrcDomain_to_query_string": { + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcDomain'],',')" + } + } + }, + "runAfter": { + "Does_DstHostname_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcDomain'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_SrcFileMD5_exist_in_the_incident": { + "actions": { + "Append_SrcFileMD5_to_query_string": { + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcFileMD5'],',')" + } + } + }, + "runAfter": { + "Does_DstMacAddr_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcFileMD5'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_SrcFileSHA1_exist_in_the_incident": { + "actions": { + "Append_SrcFileSHA1_to_query_string": { + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcFileSHA1'],',')" + } + } + }, + "runAfter": { + "Does_TargetFileMD5_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcFileSHA1'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_SrcFileSHA256_exist_in_the_incident": { + "actions": { + "Append_SrcFileSHA256_to_query_string": { + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcFileSHA256'],',')" + } + } + }, + "runAfter": { + "Does_TargetFileSHA1_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcFileSHA256'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_SrcFileSHA512_exist_in_the_incident": { + "actions": { + "Append_SrcFileSHA512_to_query_string": { + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcFileSHA512'],',')" + } + } + }, + "runAfter": { + "Does_TargetFileSHA256_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcFileSHA512'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_SrcHostname_exist_in_the_incident": { + "actions": { + "Append_SrcHostname_to_query_string": { + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcHostname'],',')" + } + } + }, + "runAfter": { + "Does_DstIpAddr_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcHostname'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_SrcIpAddr_exist_in_the_incident": { + "actions": { + "Append_SrcIpAddr_to_query_string": { + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcIpAddr'],',')" + } + } + }, + "runAfter": { + "Parse_Alerts_Custom_Data_into_JSON": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcIpAddr'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_SrcMacAddr_exist_in_the_incident": { + "actions": { + "Append_SrcMacAddr_to_query_string": { + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcMacAddr'],',')" + } + } + }, + "runAfter": { + "Does_DstDomain_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcMacAddr'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_TargetFileMD5_exist_in_the_incident": { + "actions": { + "Append_TargetFileMD5_to_query_string": { + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['TargetFileMD5'],',')" + } + } + }, + "runAfter": { + "Does_SrcFileMD5_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['TargetFileMD5'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_TargetFileSHA1_exist_in_the_incident": { + "actions": { + "Append_TargetFileSHA1_to_query_string": { + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['TargetFileSHA1'],',')" + } + } + }, + "runAfter": { + "Does_SrcFileSHA1_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['TargetFileSHA1'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_TargetFileSHA256_exist_in_the_incident": { + "actions": { + "Append_TargetFileSHA256_to_query_string": { + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['TargetFileSHA256'],',')" + } + } + }, + "runAfter": { + "Does_SrcFileSHA256_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['TargetFileSHA256'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_TargetFileSHA512_exist_in_the_incident": { + "actions": { + "Append_TargetFileSHA512_to_query_string": { + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['TargetFileSHA512'],',')" + } + } + }, + "runAfter": { + "Does_SrcFileSHA512_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['TargetFileSHA512'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_Url_exist_in_the_incident": { + "actions": { + "Append_Url_to_string_variable": { + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['Url'],',')" + } + } + }, + "runAfter": { + "Does_TargetFileSHA512_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['Url'])", + false + ] + } + ] + }, + "type": "If" + }, + "Parse_Alerts_Custom_Data_into_JSON": { + "type": "ParseJson", + "inputs": { + "content": "@items('For_Each_Alerts')?['properties']?['additionalData']?['Custom Details']", + "schema": { + "properties": { + "DstDomain": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DstHostname": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DstIpAddr": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DstMacAddr": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SrcDomain": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SrcFileMD5": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SrcFileSHA1": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SrcFileSHA256": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SrcFileSHA512": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SrcHostname": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SrcIpAddr": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SrcMacAddr": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TargetFileMD5": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TargetFileSHA1": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TargetFileSHA256": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TargetFileSHA512": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + } + } + }, + "runAfter": { + "Initialize_categories": [ + "Succeeded" + ] + }, + "type": "Foreach", + "runtimeConfiguration": { + "concurrency": { + "repetitions": 1 + } + } + }, + "Get_ClientId": { + "runAfter": { + "For_Each_Alerts": [ + "Succeeded" + ] + }, + "type": "ApiConnection", + "inputs": { + "host": { + "connection": { + "name": "@parameters('$connections')['keyvault']['connectionId']" + } + }, + "method": "get", + "path": "/secrets/@{encodeURIComponent('DataMinrPulse-clientId')}/value" + }, + "runtimeConfiguration": { + "secureData": { + "properties": [ + "inputs", + "outputs" + ] + } + } + }, + "Get_ClientSecret": { + "runAfter": { + "Get_ClientId": [ + "Succeeded" + ] + }, + "type": "ApiConnection", + "inputs": { + "host": { + "connection": { + "name": "@parameters('$connections')['keyvault']['connectionId']" + } + }, + "method": "get", + "path": "/secrets/@{encodeURIComponent('DataMinrPulse-clientSecret')}/value" + }, + "runtimeConfiguration": { + "secureData": { + "properties": [ + "inputs", + "outputs" + ] + } + } + }, + "If_alerts_contain_data": { + "actions": { + "For_each_alert": { + "foreach": "@body('Parse_Alerts_Data_into_JSON')?['data']?['alerts']", + "actions": { + "Add_comment_to_incident_when_matching_alert_data_found": { + "runAfter": { + "If_cyber_metadata_contains_hashValues": [ + "Succeeded" + ] + }, + "type": "ApiConnection", + "inputs": { + "body": { + "incidentArmId": "@triggerBody()?['object']?['id']", + "message": "

alertId: @{items('For_each_alert')?['alertId']}
\neventTime: @{addToTime('1970-01-01T00:00:00Z',div(int(items('For_each_alert')?['eventTime']),1000),'second')}
\nwatchlistsMatchedByType:
@{variables('watchlistsMatchedByType')}
\nsource_channels : @{items('For_each_alert')?['source']?['channels']}
\ncaption : @{items('For_each_alert')?['caption']}
\nalertType : @{items('For_each_alert')?['alertType']?['id']}
\nrelated Terms: @{variables('relatedTermsText')}
\n
expandAlertURL: @{items('For_each_alert')?['expandAlertURL']}
\ncategories: @{variables('categories')}
\n
companies: @{variables('companies')}
\neventLocation related details
\n
coordinates: @{items('For_each_alert')?['eventLocation']?['coordinates']}
\n
name: @{items('For_each_alert')?['eventLocation']?['name']}
\n

\n
CYBER related metadata
\n
vulnerabilities : @{variables('vulnerabilities')}
\nip addresses : @{variables('ip')}
\nport :
@{variables('port')}
\nasns :
@{variables('asns')}
\norgs : @{items('For_each_alert')?['metadata']?['cyber']?['orgs']}
\nproducts : @{items('For_each_alert')?['metadata']?['cyber']?['products']}
\nURLs : @{items('For_each_alert')?['metadata']?['cyber']?['URLs']}
\nthreats : @{items('For_each_alert')?['metadata']?['cyber']?['threats']}
\nasOrgs : @{variables('asOrg')}
\nhashes :
@{variables('hashValues')}
\nMalwares : @{items('For_each_alert')?['metadata']?['cyber']?['malwares']}

" + }, + "host": { + "connection": { + "name": "@parameters('$connections')['azuresentinel']['connectionId']" + } + }, + "method": "post", + "path": "/Incidents/Comment" + } + }, + "If_alerts_contain_Companies": { + "actions": { + "For_each_companies": { + "foreach": "@items('For_each_alert')['companies']", + "actions": { + "Append_name_to_companies": { + "type": "AppendToArrayVariable", + "inputs": { + "name": "companies", + "value": "@if(contains(items('For_each_companies'),'name'),items('For_each_companies')?['name'],'')" + } + } + }, + "type": "Foreach" + } + }, + "runAfter": { + "If_alerts_contain_watchlistsMatchedByType_property": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@contains(items('For_each_alert'),'companies')", + true + ] + } + ] + }, + "type": "If" + }, + "If_alerts_contain_categories_property": { + "actions": { + "For_each_category": { + "foreach": "@items('For_each_alert')?['categories']", + "actions": { + "Append_name_to_categories": { + "type": "AppendToArrayVariable", + "inputs": { + "name": "categories", + "value": "@if(contains(items('For_each_category'),'name'),items('For_each_category')?['name'],'')" + } + } + }, + "type": "Foreach" + } + }, + "runAfter": { + "If_alerts_contain_related_Terms": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@contains(items('For_each_alert'),'categories')", + true + ] + } + ] + }, + "type": "If" + }, + "If_alerts_contain_related_Terms": { + "actions": { + "For_each_related_Terms": { + "foreach": "@items('For_each_alert')?['relatedTerms']", + "actions": { + "Append_text_to_relatedTermsText": { + "type": "AppendToArrayVariable", + "inputs": { + "name": "relatedTermsText", + "value": "@if(contains(items('For_each_related_Terms'),'text'),items('For_each_related_Terms')?['text'],'')" + } + }, + "Append_url_to_relatedTermsUrl": { + "runAfter": { + "Append_text_to_relatedTermsText": [ + "Succeeded" + ] + }, + "type": "AppendToArrayVariable", + "inputs": { + "name": "relatedTermsUrl", + "value": "@if(contains(items('For_each_related_Terms'),'url'),items('For_each_related_Terms')?['url'],'')" + } + } + }, + "type": "Foreach" + } + }, + "expression": { + "and": [ + { + "equals": [ + "@contains(items('For_each_alert'),'relatedTerms')", + true + ] + } + ] + }, + "type": "If" + }, + "If_alerts_contain_watchlistsMatchedByType_property": { + "actions": { + "For_each_watchlists": { + "foreach": "@items('For_each_alert')['watchlistsMatchedByType']", + "actions": { + "Append_name_to_watchlistsMatchedByType": { + "type": "AppendToArrayVariable", + "inputs": { + "name": "watchlistsMatchedByType", + "value": "@if(contains(items('For_each_watchlists'),'name'),items('For_each_watchlists')?['name'],'')" + } + } + }, + "type": "Foreach" + } + }, + "runAfter": { + "If_alerts_contain_categories_property": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@contains(items('For_each_alert'),'watchlistsMatchedByType')", + true + ] + } + ] + }, + "type": "If" + }, + "If_cyber_metadata_contains_addresses": { + "actions": { + "For_each_cyber_addresses": { + "foreach": "@items('For_each_alert')['metadata']['cyber']['addresses']", + "actions": { + "Set_ip": { + "type": "SetVariable", + "inputs": { + "name": "ip", + "value": "@{if(contains(items('For_each_cyber_addresses'),'ip'),items('For_each_cyber_addresses')?['ip'],'')}" + } + }, + "Set_port": { + "runAfter": { + "Set_ip": [ + "Succeeded" + ] + }, + "type": "SetVariable", + "inputs": { + "name": "port", + "value": "@{if(contains(items('For_each_cyber_addresses'),'port'),items('For_each_cyber_addresses')?['port'],'')}" + } + } + }, + "type": "Foreach" + } + }, + "runAfter": { + "If_alerts_contain_Companies": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@if(contains(items('For_each_alert'),'metadata'),if(contains(items('For_each_alert')?['metadata'],'cyber'),if(contains(items('For_each_alert')?['metadata']?['cyber'],'addresses'),true,false),false),false)", + true + ] + } + ] + }, + "type": "If" + }, + "If_cyber_metadata_contains_asOrgs": { + "actions": { + "For_each_asOrgs": { + "foreach": "@items('For_each_alert')?['metadata']?['cyber']?['asOrgs']", + "actions": { + "Append_asn_to_asns": { + "type": "AppendToArrayVariable", + "inputs": { + "name": "asns", + "value": "@if(contains(items('For_each_asOrgs'),'asn'),items('For_each_asOrgs')?['asn'],'')" + } + }, + "Append_to_array_variable": { + "runAfter": { + "Append_asn_to_asns": [ + "Succeeded" + ] + }, + "type": "AppendToArrayVariable", + "inputs": { + "name": "asOrg", + "value": "@if(contains(items('For_each_asOrgs'),'asOrg'),items('For_each_asOrgs')?['asOrg'],'')" + } + } + }, + "type": "Foreach" + } + }, + "runAfter": { + "Ifcyber_metadata_contains_vulnerabilities": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@if(contains(items('For_each_alert'),'metadata'),if(contains(items('For_each_alert')?['metadata'],'cyber'),if(contains(items('For_each_alert')?['metadata']?['cyber'],'asOrgs'),true,false),false),false)", + "@true" + ] + } + ] + }, + "type": "If" + }, + "If_cyber_metadata_contains_hashValues": { + "actions": { + "For_each_hashValues": { + "foreach": "@items('For_each_alert')?['metadata']?['cyber']?['hashValues']", + "actions": { + "Append_to_array_hashValues": { + "type": "AppendToArrayVariable", + "inputs": { + "name": "hashValues", + "value": "@if(contains(items('For_each_hashValues'),'value'),items('For_each_hashValues')?['value'],'')" + } + } + }, + "type": "Foreach" + } + }, + "runAfter": { + "If_cyber_metadata_contains_asOrgs": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@if(contains(items('For_each_alert'),'metadata'),if(contains(items('For_each_alert')?['metadata'],'cyber'),if(contains(items('For_each_alert')?['metadata']?['cyber'],'hashValues'),true,false),false),false)", + "@true" + ] + } + ] + }, + "type": "If" + }, + "Ifcyber_metadata_contains_vulnerabilities": { + "actions": { + "For_each_vulnerabilities": { + "foreach": "@items('For_each_alert')?['metadata']?['cyber']?['vulnerabilities']", + "actions": { + "Append_id_to_velnerabilities": { + "type": "AppendToArrayVariable", + "inputs": { + "name": "vulnerabilities", + "value": "@if(contains(items('For_each_vulnerabilities'),'id'),items('For_each_vulnerabilities')?['id'],'')" + } + } + }, + "type": "Foreach" + } + }, + "runAfter": { + "If_cyber_metadata_contains_addresses": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@if(contains(items('For_each_alert'),'metadata'),if(contains(items('For_each_alert')?['metadata'],'cyber'),if(contains(items('For_each_alert')?['metadata']?['cyber'],'vulnerabilities'),true,false),false),false)", + true + ] + } + ] + }, + "type": "If" + }, + "Set_asOrg_to_empty": { + "runAfter": { + "Set_asns_to_empty": [ + "Succeeded" + ] + }, + "type": "SetVariable", + "inputs": { + "name": "asOrg", + "value": "@null" + } + }, + "Set_asns_to_empty": { + "runAfter": { + "Set_vulnerabilities_to_empty": [ + "Succeeded" + ] + }, + "type": "SetVariable", + "inputs": { + "name": "asns", + "value": "@null" + } + }, + "Set_categories": { + "runAfter": { + "Add_comment_to_incident_when_matching_alert_data_found": [ + "Succeeded" + ] + }, + "type": "SetVariable", + "inputs": { + "name": "categories", + "value": "@null" + } + }, + "Set_companies_to_empty": { + "runAfter": { + "Set_relatedTermsUrl": [ + "Succeeded" + ] + }, + "type": "SetVariable", + "inputs": { + "name": "companies", + "value": "@null" + } + }, + "Set_hashValues_to_empty": { + "runAfter": { + "Set_asOrg_to_empty": [ + "Succeeded" + ] + }, + "type": "SetVariable", + "inputs": { + "name": "hashValues", + "value": "@null" + } + }, + "Set_relatedTermsText": { + "runAfter": { + "Set_categories": [ + "Succeeded" + ] + }, + "type": "SetVariable", + "inputs": { + "name": "relatedTermsText", + "value": "@null" + } + }, + "Set_relatedTermsUrl": { + "runAfter": { + "Set_relatedTermsText": [ + "Succeeded" + ] + }, + "type": "SetVariable", + "inputs": { + "name": "relatedTermsUrl", + "value": "@null" + } + }, + "Set_vulnerabilities_to_empty": { + "runAfter": { + "Set_watchlistsMatchedByType_to_empty": [ + "Succeeded" + ] + }, + "type": "SetVariable", + "inputs": { + "name": "vulnerabilities", + "value": "@null" + } + }, + "Set_watchlistsMatchedByType_to_empty": { + "runAfter": { + "Set_companies_to_empty": [ + "Succeeded" + ] + }, + "type": "SetVariable", + "inputs": { + "name": "watchlistsMatchedByType", + "value": "@null" + } + } + }, + "type": "Foreach", + "runtimeConfiguration": { + "concurrency": { + "repetitions": 1 + } + } + } + }, + "runAfter": { + "If_status_code_is_not_200": [ + "Succeeded" + ] + }, + "else": { + "actions": { + "Add_comment_to_incident_when_no_matching_alert_data_found": { + "type": "ApiConnection", + "inputs": { + "body": { + "incidentArmId": "@triggerBody()?['object']?['id']", + "message": "

No data found from DataminrPulse related to  query parameter : @{variables('query')}

" + }, + "host": { + "connection": { + "name": "@parameters('$connections')['azuresentinel']['connectionId']" + } + }, + "method": "post", + "path": "/Incidents/Comment" + } + } + } + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Data_into_JSON')?['data']?['alerts'])", + false + ] + } + ] + }, + "type": "If" + }, + "If_loop_exit_due_to_authentication_error": { + "actions": { + "Terminate_": { + "type": "Terminate", + "inputs": { + "runError": { + "code": "@{outputs('Generate_auth_token')['statusCode']}", + "message": "@variables('AuthErrorMessage')" + }, + "runStatus": "Failed" + } + } + }, + "runAfter": { + "Initialize_hashValues": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(variables('AuthErrorMessage'))", + false + ] + } + ] + }, + "type": "If" + }, + "If_status_code_is_not_200": { + "actions": { + "Terminate": { + "type": "Terminate", + "inputs": { + "runError": { + "code": "@{outputs('Get_Alerts_from_Dataminr_Pulse_API')['statusCode']}", + "message": "@{body('Get_Alerts_from_Dataminr_Pulse_API')?['errors'][0]?['message']}" + }, + "runStatus": "Failed" + } + } + }, + "runAfter": { + "If_loop_exit_due_to_authentication_error": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "not": { + "equals": [ + "@outputs('Get_Alerts_from_Dataminr_Pulse_API')['statusCode']", + 200 + ] + } + } + ] + }, + "type": "If" + }, + "Initialize_AuthErrorMessage": { + "runAfter": { + "Initialize_ErrorMessage": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "AuthErrorMessage", + "type": "string" + } + ] + } + }, + "Initialize_BaseUrl": { + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "BaseUrl", + "type": "string", + "value": "[[parameters('BaseURL')]" + } + ] + } + }, + "Initialize_DmaTokenKey": { + "runAfter": { + "Initialize_AuthErrorMessage": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "DmaTokenKey", + "type": "string", + "value": "DataMinrPulse-DmaToken" + } + ] + } + }, + "Initialize_ErrorMessage": { + "runAfter": { + "Initialize_BaseUrl": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "ErrorMessage", + "type": "string" + } + ] + } + }, + "Initialize_ExpireTimeKey": { + "runAfter": { + "Initialize_RefreshTokenKey": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "ExpireTimeKey", + "type": "string", + "value": "DataMinrPulse-Expire" + } + ] + } + }, + "Initialize_KeyVaultName": { + "runAfter": { + "Initialize_ExpireTimeKey": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "KeyVaultName", + "type": "string", + "value": "[[parameters('KeyVaultName')]" + } + ] + } + }, + "Initialize_RefreshTokenKey": { + "runAfter": { + "Initialize_DmaTokenKey": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "RefreshTokenKey", + "type": "string", + "value": "DataMinrPulse-RefreshToken" + } + ] + } + }, + "Initialize_asOrg": { + "runAfter": { + "Initialize_asns": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "asOrg", + "type": "array" + } + ] + } + }, + "Initialize_asns": { + "runAfter": { + "Initialize_vulnerabilities": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "asns", + "type": "array" + } + ] + } + }, + "Initialize_categories": { + "runAfter": { + "Initialize_relatedTermsText": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "categories", + "type": "array" + } + ] + } + }, + "Initialize_companies": { + "runAfter": { + "Initialize_watchlistsMatchedByType": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "companies", + "type": "array" + } + ] + } + }, + "Initialize_count": { + "runAfter": { + "Initialize_query": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "count", + "type": "integer", + "value": 2 + } + ] + } + }, + "Initialize_hashValues": { + "runAfter": { + "Initialize_asOrg": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "hashValues", + "type": "array" + } + ] + } + }, + "Initialize_ip": { + "runAfter": { + "Initialize_relatedTermsUrl": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "ip", + "type": "string" + } + ] + } + }, + "Initialize_port": { + "runAfter": { + "Initialize_ip": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "port", + "type": "string" + } + ] + } + }, + "Initialize_query": { + "runAfter": { + "Initialize_KeyVaultName": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "query", + "type": "string" + } + ] + } + }, + "Initialize_relatedTermsText": { + "runAfter": { + "Initialize_count": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "relatedTermsText", + "type": "array" + } + ] + } + }, + "Initialize_relatedTermsUrl": { + "runAfter": { + "Initialize_companies": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "relatedTermsUrl", + "type": "array" + } + ] + } + }, + "Initialize_vulnerabilities": { + "runAfter": { + "Initialize_port": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "vulnerabilities", + "type": "array" + } + ] + } + }, + "Initialize_watchlistsMatchedByType": { + "runAfter": { + "Until_retry_count_gets_0": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "watchlistsMatchedByType", + "type": "array" + } + ] + } + }, + "Until_retry_count_gets_0": { + "actions": { + "Get_Alerts_from_Dataminr_Pulse_API": { + "runAfter": { + "Get_DmaToken": [ + "Succeeded" + ] + }, + "type": "Http", + "inputs": { + "headers": { + "Authorization": "Dmauth @{body('Get_DmaToken')?['value']}" + }, + "method": "GET", + "queries": { + "alertversion": "14", + "query": "@variables('query')" + }, + "uri": "@{concat(variables('BaseUrl'),'api/3/alerts')}" + } + }, + "Get_DmaToken": { + "type": "ApiConnection", + "inputs": { + "host": { + "connection": { + "name": "@parameters('$connections')['keyvault']['connectionId']" + } + }, + "method": "get", + "path": "/secrets/@{encodeURIComponent('DataMinrPulse-DmaToken')}/value" + }, + "runtimeConfiguration": { + "secureData": { + "properties": [ + "inputs", + "outputs" + ] + } + } + }, + "_if_status_code_is_200": { + "actions": { + "Parse_Alerts_Data_into_JSON": { + "type": "ParseJson", + "inputs": { + "content": "@body('Get_Alerts_from_Dataminr_Pulse_API')", + "schema": { + "properties": { + "data": { + "properties": { + "alerts": { + "items": { + "properties": { + "alertId": { + "type": "string" + }, + "alertType": { + "properties": { + "color": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "availableRelatedAlerts": { + "type": "integer" + }, + "caption": { + "type": "string" + }, + "categories": { + "items": { + "properties": { + "id": { + "type": "string" + }, + "idStr": { + "type": "string" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "requested": { + "type": "string" + }, + "retired": { + "type": "boolean" + }, + "topicType": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "companies": { + "items": { + "properties": { + "dm_bucket": { + "items": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "dm_sector": { + "items": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "id": { + "type": "string" + }, + "idStr": { + "type": "string" + }, + "name": { + "type": "string" + }, + "retired": { + "type": "boolean" + }, + "ticker": { + "type": "string" + }, + "topicType": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "eventLocation": { + "properties": { + "coordinates": { + "items": { + "type": "number" + }, + "type": "array" + }, + "name": { + "type": "string" + }, + "places": { + "items": { + "type": "string" + }, + "type": "array" + }, + "probability": { + "type": "integer" + }, + "radius": { + "type": [ + "number", + "integer" + ] + } + }, + "type": "object" + }, + "eventMapLargeURL": { + "type": "string" + }, + "eventMapSmallURL": { + "type": "string" + }, + "eventTime": { + "type": "integer" + }, + "eventVolume": { + "type": "integer" + }, + "expandAlertURL": { + "type": "string" + }, + "expandMapURL": { + "type": "string" + }, + "headerColor": { + "type": "string" + }, + "headerLabel": { + "type": "string" + }, + "metadata": { + "properties": { + "cyber": { + "properties": { + "URLs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "addresses": { + "items": { + "properties": { + "ip": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "asOrgs": { + "items": { + "properties": { + "asOrg": { + "type": "string" + }, + "asn": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "asns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "hashValues": { + "items": { + "properties": { + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "hashes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "malwares": { + "items": { + "type": "string" + }, + "type": "array" + }, + "orgs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "products": { + "items": { + "properties": { + "productName": { + "type": "string" + }, + "productVendor": { + "type": "string" + } + }, + "type": [ + "object", + "string" + ] + }, + "type": "array" + }, + "threats": { + "items": { + "type": "string" + }, + "type": "array" + }, + "vulnerabilities": { + "items": { + "properties": { + "id": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "post": { + "properties": { + "languages": { + "items": { + "properties": { + "lang": { + "type": "string" + }, + "position": { + "type": "integer" + } + }, + "type": "object" + }, + "type": "array" + }, + "link": { + "type": "string" + }, + "media": { + "type": "array" + }, + "text": { + "type": "string" + }, + "timestamp": { + "type": "integer" + }, + "translatedText": { + "type": "string" + } + }, + "type": "object" + }, + "publisherCategory": { + "properties": { + "color": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "shortName": { + "type": "string" + } + }, + "type": "object" + }, + "relatedTerms": { + "items": { + "properties": { + "text": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "relatedTermsQueryURL": { + "type": "string" + }, + "sectors": { + "items": { + "properties": { + "id": { + "type": "string" + }, + "idStr": { + "type": "string" + }, + "name": { + "type": "string" + }, + "retired": { + "type": "boolean" + }, + "topicType": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "source": { + "properties": { + "channels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "verified": { + "type": "boolean" + } + }, + "type": "object" + }, + "subCaption": { + "properties": { + "bullets": { + "properties": { + "content": { + "type": "string" + }, + "media": { + "type": "string" + }, + "source": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "userRecentImages": { + "type": "array" + }, + "userTopHashtags": { + "type": "array" + }, + "watchlistsMatchedByType": { + "items": { + "properties": { + "externalTopicIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "userProperties": { + "properties": { + "omnilist": { + "type": "string" + }, + "uiListType": { + "type": "string" + }, + "watchlistColor": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "type": "array" + }, + "from": { + "type": "string" + }, + "to": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + } + } + }, + "Set_count_variable_to_0": { + "runAfter": { + "Parse_Alerts_Data_into_JSON": [ + "Succeeded" + ] + }, + "type": "SetVariable", + "inputs": { + "name": "count", + "value": 0 + } + } + }, + "runAfter": { + "Get_Alerts_from_Dataminr_Pulse_API": [ + "Succeeded", + "Failed" + ] + }, + "else": { + "actions": { + "_if_status_code_is_401": { + "actions": { + "Generate_auth_token": { + "type": "Http", + "inputs": { + "body": "client_id=@{body('Get_ClientId')?['value']}&client_secret=@{body('Get_ClientSecret')?['value']}&grant_type=api_key", + "headers": { + "Content-Type": "application/x-www-form-urlencoded" + }, + "method": "POST", + "uri": "@{concat(variables('BaseUrl'),'auth/2/token')}" + }, + "runtimeConfiguration": { + "secureData": { + "properties": [ + "outputs" + ] + } + } + }, + "If_Generate_auth_token_status_code_is_200": { + "actions": { + "If_Update_DmaToken_status_code_is_200": { + "runAfter": { + "Update_DmaToken_in_Keyvault": [ + "Succeeded", + "Failed" + ] + }, + "else": { + "actions": { + "Set_AuthErrorMessage_for_updating_DmaToken": { + "type": "SetVariable", + "inputs": { + "name": "AuthErrorMessage", + "value": "Error:@{body('Update_DmaToken_in_Keyvault')?['error']?['message']}" + } + }, + "Set_count_equals_to_0": { + "runAfter": { + "Set_AuthErrorMessage_for_updating_DmaToken": [ + "Succeeded" + ] + }, + "type": "SetVariable", + "inputs": { + "name": "count", + "value": 0 + } + } + } + }, + "expression": { + "and": [ + { + "equals": [ + "@outputs('Update_DmaToken_in_Keyvault')['statusCode']", + 200 + ] + } + ] + }, + "type": "If" + }, + "Parse_JSON": { + "type": "ParseJson", + "inputs": { + "content": "@body('Generate_auth_token')", + "schema": { + "properties": { + "dmaToken": { + "type": "string" + }, + "expire": { + "type": "integer" + }, + "refreshToken": { + "type": "string" + } + }, + "type": "object" + } + } + }, + "Update_DmaToken_in_Keyvault": { + "runAfter": { + "Parse_JSON": [ + "Succeeded" + ] + }, + "type": "Http", + "inputs": { + "authentication": { + "audience": "[[concat('https://',parameters('azure key vault'),'.net')]", + "type": "ManagedServiceIdentity" + }, + "body": { + "value": "@{body('Parse_JSON')?['dmaToken']}" + }, + "method": "PUT", + "uri": "@{concat('https://',variables('KeyVaultName'),'.',parameters('azure key vault'),'.net/secrets/',body('Get_DmaToken')?['name'],'?api-version=7.2')}" + } + }, + "if_count_value_is_greater_than_0": { + "actions": { + "Decrement_count_by_1": { + "type": "DecrementVariable", + "inputs": { + "name": "count", + "value": 1 + } + } + }, + "runAfter": { + "If_Update_DmaToken_status_code_is_200": [ + "Succeeded", + "Failed", + "Skipped" + ] + }, + "expression": { + "and": [ + { + "greater": [ + "@variables('count')", + 0 + ] + } + ] + }, + "type": "If" + } + }, + "runAfter": { + "Generate_auth_token": [ + "Succeeded", + "Failed" + ] + }, + "else": { + "actions": { + "Set_ErrorMessage": { + "type": "SetVariable", + "inputs": { + "name": "AuthErrorMessage", + "value": "Message:@{body('Generate_auth_token')?['errors'][0]?['message']}" + } + }, + "Set_count_to_0_as_error_in_authentication": { + "runAfter": { + "Set_ErrorMessage": [ + "Succeeded" + ] + }, + "type": "SetVariable", + "inputs": { + "name": "count", + "value": 0 + } + } + } + }, + "expression": { + "and": [ + { + "equals": [ + "@outputs('Generate_auth_token')['statusCode']", + 200 + ] + } + ] + }, + "type": "If" + } + }, + "else": { + "actions": { + "Set_Errormessage_ofr_status_code_other_than_200_and_401": { + "type": "SetVariable", + "inputs": { + "name": "ErrorMessage", + "value": "Error:@{body('Get_Alerts_from_Dataminr_Pulse_API')?['errors'][0]?['message']}" + } + }, + "Set_retry_count_to_0": { + "runAfter": { + "Set_Errormessage_ofr_status_code_other_than_200_and_401": [ + "Succeeded" + ] + }, + "type": "SetVariable", + "inputs": { + "name": "count", + "value": 0 + } + } + } + }, + "expression": { + "and": [ + { + "equals": [ + "@outputs('Get_Alerts_from_Dataminr_Pulse_API')['statusCode']", + 401 + ] + } + ] + }, + "type": "If" + } + } + }, + "expression": { + "and": [ + { + "equals": [ + "@outputs('Get_Alerts_from_Dataminr_Pulse_API')['statusCode']", + 200 + ] + } + ] + }, + "type": "If" + } + }, + "runAfter": { + "Get_ClientSecret": [ + "Succeeded" + ] + }, + "expression": "@equals(variables('count'), 0)", + "limit": { + "count": 60, + "timeout": "PT1H" + }, + "type": "Until" + } + } + }, + "parameters": { + "$connections": { + "value": { + "azuresentinel": { + "connectionId": "[[resourceId('Microsoft.Web/connections', variables('MicrosoftSentinelConnectionName'))]", + "connectionName": "[[variables('MicrosoftSentinelConnectionName')]", + "id": "[[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Web/locations/', variables('workspace-location-inline'), '/managedApis/Azuresentinel')]", + "connectionProperties": { + "authentication": { + "type": "ManagedServiceIdentity" + } + } + }, + "keyvault": { + "connectionId": "[[resourceId('Microsoft.Web/connections', variables('KeyvaultConnectionName'))]", + "connectionName": "[[variables('KeyvaultConnectionName')]", + "id": "[[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Web/locations/', variables('workspace-location-inline'), '/managedApis/Keyvault')]" + } + } + } + } + }, + "name": "[[parameters('PlaybookName')]", + "type": "Microsoft.Logic/workflows", + "location": "[[variables('workspace-location-inline')]", + "tags": { + "hidden-SentinelTemplateName": "DataminrPulseAlertEnrichment", + "hidden-SentinelTemplateVersion": "1.0", + "hidden-SentinelWorkspaceId": "[[variables('workspaceResourceId')]" + }, + "identity": { + "type": "SystemAssigned" + }, + "apiVersion": "2019-05-01", + "dependsOn": [ + "[[resourceId('Microsoft.Web/connections', variables('MicrosoftSentinelConnectionName'))]", + "[[resourceId('Microsoft.Web/connections', variables('KeyvaultConnectionName'))]" + ] + }, + { + "type": "Microsoft.Web/connections", + "apiVersion": "2016-06-01", + "name": "[[variables('MicrosoftSentinelConnectionName')]", + "location": "[[variables('workspace-location-inline')]", + "kind": "V1", + "properties": { + "displayName": "[[variables('MicrosoftSentinelConnectionName')]", + "parameterValueType": "Alternative", + "api": { + "id": "[[variables('_connection-2')]" + } + } + }, + { + "type": "Microsoft.Web/connections", + "apiVersion": "2016-06-01", + "name": "[[variables('KeyvaultConnectionName')]", + "location": "[[variables('workspace-location-inline')]", + "kind": "V1", + "properties": { + "displayName": "[[variables('KeyvaultConnectionName')]", + "api": { + "id": "[[variables('_connection-3')]" + }, + "parameterValues": { + "token:TenantId": "[[parameters('tenantId')]", + "token:grantType": "code", + "vaultName": "[[parameters('keyvaultName')]" + } + } + }, + { + "type": "Microsoft.OperationalInsights/workspaces/providers/metadata", + "apiVersion": "2022-01-01-preview", + "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',concat('Playbook-', last(split(variables('playbookId1'),'/'))))]", + "properties": { + "parentId": "[variables('playbookId1')]", + "contentId": "[variables('_playbookContentId1')]", + "kind": "Playbook", + "version": "[variables('playbookVersion1')]", + "source": { + "kind": "Solution", + "name": "Dataminr Pulse", + "sourceId": "[variables('_solutionId')]" + }, + "author": { + "name": "Dataminr", + "email": "[variables('_email')]" + }, + "support": { + "name": "Dataminr Support", + "email": "support@dataminr.com", + "tier": "Partner", + "link": "https://www.dataminr.com/dataminr-support#support" + } + } + } + ], + "metadata": { + "title": "DataminrPulseAlertEnrichment", + "description": "This playbook provides an end-to-end example of how alert enrichment works. This will extract the IP, Domain, HostName, URL or Hashes from the generated incident and call the Get alerts API of Dataminr Pulse to get the data associated with that parameter and enrich the incident by adding Dataminr Pulse alerts data as an incident comment.", + "prerequisites": [ + "1. Users must have a valid pair of Dataminr Pulse API Client ID and secret credentials.", + "2. Store client credentials in Key Vault and obtain keyvault name and tenantId.", + "a. Create a Key Vault with unique name", + "b. Go to KeyVault -> secrets -> Generate/import and create 'DataMinrPulse-clientId'& 'DataMinrPulse-clientSecret' to store client_id and client_secret respectively. Also create a secret named 'DataMinrPulse-DmaToken' to store dmaToken." + ], + "postDeployment": [ + "**a. Authorize connections**", + "Once deployment is complete, authorize each connection.", + "1. Click the Keyvault connection resource", + "2. Click edit API connection", + "3. Click Authorize", + "4. Sign in", + "5. Click Save", + "6. Repeat steps for other connections", + "**b. Assign Role to add comment in incident**", + "After authorizing each connection, assign role to this playbook.", + "1. Go to Log Analytics Workspace → → Access Control → Add", + "2.Add role assignment", + "3.Assignment type: Job function roles", + "4.Role: Microsoft Sentinel Contributor", + "5.Members: select managed identity for assigned access to and add your logic app as member as shown in screenshot below", + "6.Click on review+assign", + "**c. Add Access policy in Keyvault**", + "Add access policy for playbook's managed identity to read, write secrets of keyvault.", + "1. Go to logic app → → identity → System assigned Managed identity and copied it.", + "2. Go to keyvaults → → Access policies → create.", + "3. Select all keys & secrets permissions. Click next.", + "4. In principal section, search by copied identity object ID. Click next.", + "5. Click review + create.", + "**d. Configurations in Sentinel**", + "1. In Microsoft sentinel, Configure the analytic rules to trigger an incident.", + "a. Analytic Rule must contain atleast one of the below fields mapped in Custom Details to successfully run this playbook.", + "DstDomain", + "DstHostname", + "DstIpAddr", + "DstMacAddr", + "SrcDomain", + "SrcFileMD5", + "SrcFileSHA1", + "SrcFileSHA256", + "SrcFileSHA512", + "SrcHostname", + "SrcIpAddr", + "SrcMacAddr", + "TargetFileMD5", + "TargetFileSHA1", + "TargetFileSHA256", + "TargetFileSHA512", + "Url", + "2. In Microsoft Sentinel, Configure the automation rules to trigger the playbook.", + "a. Go to Microsoft Sentinel -> -> Automation", + "b. Click on **Create** -> **Automation rule**", + "c. Provide name for your rule", + "d. In Analytic rule name condition, select analytic rule which you have created.", + "e. In Actions dropdown select **Run playbook**", + "f. In second dropdown select your deployed playbook", + "g. Click on **Apply**", + "h. Save the Automation rule." + ], + "entities": [ + "IP", + "Host", + "URL", + "FileHash" + ], + "tags": [ + "Dataminr", + "Pulse", + "alerting", + "enrichment" + ], + "lastUpdateTime": "2023-09-07T12:15:00Z", + "releaseNotes": { + "version": "1.0", + "title": "[variables('blanks')]", + "notes": [ + "Initial version" + ] + } + } + }, + "packageKind": "Solution", + "packageVersion": "[variables('_solutionVersion')]", + "packageName": "[variables('_solutionName')]", + "packageId": "[variables('_solutionId')]", + "contentSchemaVersion": "3.0.0", + "contentId": "[variables('_playbookContentId1')]", + "contentKind": "Playbook", + "displayName": "DataminrPulseAlertEnrichment", + "contentProductId": "[variables('_playbookcontentProductId1')]", + "id": "[variables('_playbookcontentProductId1')]", + "version": "[variables('playbookVersion1')]" + } + }, + { + "type": "Microsoft.OperationalInsights/workspaces/providers/contentTemplates", + "apiVersion": "2023-04-01-preview", + "name": "[variables('parserTemplateSpecName1')]", + "location": "[parameters('workspace-location')]", + "dependsOn": [ + "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" + ], + "properties": { + "description": "DataminrPulseAlerts Data Parser with template version 3.0.0", + "mainTemplate": { + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "[variables('parserVersion1')]", + "parameters": {}, + "variables": {}, + "resources": [ + { + "name": "[variables('_parserName1')]", + "apiVersion": "2022-10-01", + "type": "Microsoft.OperationalInsights/workspaces/savedSearches", + "location": "[parameters('workspace-location')]", + "properties": { + "eTag": "*", + "displayName": "Parser for DataminrPulseAlerts", + "category": "Microsoft Sentinel Parser", + "functionAlias": "DataminrPulseAlerts", + "query": "let DataminrPulseAlerts_view = view() {\n DataminrPulse_Alerts_CL\n | extend category = parse_json(categories_s)\n | mv-apply category on (summarize CategoryNames = make_list(category.name))\n | extend company = parse_json(companies_s)\n | mv-apply company on (summarize CompanyNames = make_list(company.name))\n | extend watchlist = parse_json(watchlistsMatchedByType_s)\n | mv-apply watchlist on (summarize WatchlistNames = make_list(watchlist.name))\n | summarize any(*) by index_s\n | extend\n EventVendor=\"Dataminr\",\n EventProduct=\"Pulse\",\n AlertId = column_ifexists('index_s', ''),\n AlertType = column_ifexists('any_alertType_name_s', ''),\n AvailableRelatedAlerts = column_ifexists('any_availableRelatedAlerts_d', ''),\n Caption = column_ifexists('any_headline_s', ''),\n Company = column_ifexists('any_companies_s', ''),\n CompanyNames = tostring(column_ifexists('any_CompanyNames', '')),\n Category = column_ifexists('any_categories_s', ''),\n CategoryNames = tostring(column_ifexists('any_CategoryNames', '')),\n Latitude = column_ifexists('any_location_latitude_d', ''),\n Longitude = column_ifexists('any_location_longitude_d', ''),\n EventLocationName = column_ifexists('any_location_name_s', ''),\n EventLocationPlace = column_ifexists('any_location_places_s', ''),\n EventLocationProbability = column_ifexists('any_location_probability_d', ''),\n EventLocationRadius = column_ifexists('any_location_radius_d', ''),\n EventSource = column_ifexists('any_headlineData_via_s', ''),\n EventTime = column_ifexists('any_timestamp_d', ''),\n EventVolume = column_ifexists('any_volume_d', ''),\n EmbeddedLabels = column_ifexists('any__embedded_labels_s', ''),\n PostLanguagae = column_ifexists('any_odsStatus_languages_s', ''),\n PostLink = column_ifexists('any_odsStatus_link_s', ''),\n PostMedia = column_ifexists('any_odsStatus_media_s', ''),\n PostText = column_ifexists('any_odsStatus_text_s', ''),\n PostTimestamp = column_ifexists('any_odsStatus_timestamp_d', ''),\n PostTranslatedText = column_ifexists('any_odsStatus_translatedText_s', ''),\n PublisherCategoryName = column_ifexists('any_publisherCategory_name_s', ''),\n RelatedTerms = column_ifexists('any_referenceTerms_s', ''),\n Sectors = column_ifexists('any_sectors_s', ''),\n SourceChannels = column_ifexists('any_odsStatus_source_channels_s', ''),\n SourceDisplayName = column_ifexists('any_odsStatus_source_display_name_s', ''),\n SourceEntityName = column_ifexists('any_odsStatus_source_entity_name_s', ''),\n SourceLink = column_ifexists('any_odsStatus_source_link_s', ''),\n SourceVerified = column_ifexists('any_odsStatus_source_verified_s', ''),\n SubCaptionBulletsContent = column_ifexists('any_dataMap_bullets_content_s', ''),\n SubCaptionBulletsMedia = column_ifexists('any_dataMap_bullets_media_s', ''),\n SubCaptionBulletsSource = column_ifexists('any_dataMap_bullets_source_s', ''),\n WatchlistsMatchedByType = column_ifexists('any_watchlistsMatchedByType_s', ''),\n WatchlistNames = tostring(column_ifexists('any_WatchlistNames', ''))\n | project-rename TimeGenerated = any_TimeGenerated\n | project\n TimeGenerated,\n EventVendor,\n EventProduct,\n AlertId,\n AlertType,\n AvailableRelatedAlerts,\n Caption,\n Company,\n CompanyNames,\n Category,\n CategoryNames,\n Latitude,\n Longitude,\n EventLocationName,\n EventLocationPlace,\n EventLocationProbability,\n EventLocationRadius,\n EventSource,\n EventTime,\n EventVolume,\n EmbeddedLabels,\n PostLanguagae,\n PostLink,\n PostMedia,\n PostText,\n PostTimestamp,\n PostTranslatedText,\n PublisherCategoryName,\n RelatedTerms,\n Sectors,\n SourceChannels,\n SourceDisplayName,\n SourceEntityName,\n SourceLink,\n SourceVerified,\n SubCaptionBulletsContent,\n SubCaptionBulletsMedia,\n SubCaptionBulletsSource,\n WatchlistsMatchedByType,\n WatchlistNames\n};\nDataminrPulseAlerts_view\n", + "functionParameters": "", + "version": 2, + "tags": [ + { + "name": "description", + "value": "" + } + ] + } + }, + { + "type": "Microsoft.OperationalInsights/workspaces/providers/metadata", + "apiVersion": "2022-01-01-preview", + "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',concat('Parser-', last(split(variables('_parserId1'),'/'))))]", + "dependsOn": [ + "[variables('_parserName1')]" + ], + "properties": { + "parentId": "[resourceId('Microsoft.OperationalInsights/workspaces/savedSearches', parameters('workspace'), variables('parserName1'))]", + "contentId": "[variables('_parserContentId1')]", + "kind": "Parser", + "version": "[variables('parserVersion1')]", + "source": { + "name": "Dataminr Pulse", + "kind": "Solution", + "sourceId": "[variables('_solutionId')]" + }, + "author": { + "name": "Dataminr", + "email": "[variables('_email')]" + }, + "support": { + "name": "Dataminr Support", + "email": "support@dataminr.com", + "tier": "Partner", + "link": "https://www.dataminr.com/dataminr-support#support" + } + } + } + ] + }, + "packageKind": "Solution", + "packageVersion": "[variables('_solutionVersion')]", + "packageName": "[variables('_solutionName')]", + "packageId": "[variables('_solutionId')]", + "contentSchemaVersion": "3.0.0", + "contentId": "[variables('_parserContentId1')]", + "contentKind": "Parser", + "displayName": "Parser for DataminrPulseAlerts", + "contentProductId": "[variables('_parsercontentProductId1')]", + "id": "[variables('_parsercontentProductId1')]", + "version": "[variables('parserVersion1')]" + } + }, + { + "type": "Microsoft.OperationalInsights/workspaces/savedSearches", + "apiVersion": "2022-10-01", + "name": "[variables('_parserName1')]", + "location": "[parameters('workspace-location')]", + "properties": { + "eTag": "*", + "displayName": "Parser for DataminrPulseAlerts", + "category": "Microsoft Sentinel Parser", + "functionAlias": "DataminrPulseAlerts", + "query": "let DataminrPulseAlerts_view = view() {\n DataminrPulse_Alerts_CL\n | extend category = parse_json(categories_s)\n | mv-apply category on (summarize CategoryNames = make_list(category.name))\n | extend company = parse_json(companies_s)\n | mv-apply company on (summarize CompanyNames = make_list(company.name))\n | extend watchlist = parse_json(watchlistsMatchedByType_s)\n | mv-apply watchlist on (summarize WatchlistNames = make_list(watchlist.name))\n | summarize any(*) by index_s\n | extend\n EventVendor=\"Dataminr\",\n EventProduct=\"Pulse\",\n AlertId = column_ifexists('index_s', ''),\n AlertType = column_ifexists('any_alertType_name_s', ''),\n AvailableRelatedAlerts = column_ifexists('any_availableRelatedAlerts_d', ''),\n Caption = column_ifexists('any_headline_s', ''),\n Company = column_ifexists('any_companies_s', ''),\n CompanyNames = tostring(column_ifexists('any_CompanyNames', '')),\n Category = column_ifexists('any_categories_s', ''),\n CategoryNames = tostring(column_ifexists('any_CategoryNames', '')),\n Latitude = column_ifexists('any_location_latitude_d', ''),\n Longitude = column_ifexists('any_location_longitude_d', ''),\n EventLocationName = column_ifexists('any_location_name_s', ''),\n EventLocationPlace = column_ifexists('any_location_places_s', ''),\n EventLocationProbability = column_ifexists('any_location_probability_d', ''),\n EventLocationRadius = column_ifexists('any_location_radius_d', ''),\n EventSource = column_ifexists('any_headlineData_via_s', ''),\n EventTime = column_ifexists('any_timestamp_d', ''),\n EventVolume = column_ifexists('any_volume_d', ''),\n EmbeddedLabels = column_ifexists('any__embedded_labels_s', ''),\n PostLanguagae = column_ifexists('any_odsStatus_languages_s', ''),\n PostLink = column_ifexists('any_odsStatus_link_s', ''),\n PostMedia = column_ifexists('any_odsStatus_media_s', ''),\n PostText = column_ifexists('any_odsStatus_text_s', ''),\n PostTimestamp = column_ifexists('any_odsStatus_timestamp_d', ''),\n PostTranslatedText = column_ifexists('any_odsStatus_translatedText_s', ''),\n PublisherCategoryName = column_ifexists('any_publisherCategory_name_s', ''),\n RelatedTerms = column_ifexists('any_referenceTerms_s', ''),\n Sectors = column_ifexists('any_sectors_s', ''),\n SourceChannels = column_ifexists('any_odsStatus_source_channels_s', ''),\n SourceDisplayName = column_ifexists('any_odsStatus_source_display_name_s', ''),\n SourceEntityName = column_ifexists('any_odsStatus_source_entity_name_s', ''),\n SourceLink = column_ifexists('any_odsStatus_source_link_s', ''),\n SourceVerified = column_ifexists('any_odsStatus_source_verified_s', ''),\n SubCaptionBulletsContent = column_ifexists('any_dataMap_bullets_content_s', ''),\n SubCaptionBulletsMedia = column_ifexists('any_dataMap_bullets_media_s', ''),\n SubCaptionBulletsSource = column_ifexists('any_dataMap_bullets_source_s', ''),\n WatchlistsMatchedByType = column_ifexists('any_watchlistsMatchedByType_s', ''),\n WatchlistNames = tostring(column_ifexists('any_WatchlistNames', ''))\n | project-rename TimeGenerated = any_TimeGenerated\n | project\n TimeGenerated,\n EventVendor,\n EventProduct,\n AlertId,\n AlertType,\n AvailableRelatedAlerts,\n Caption,\n Company,\n CompanyNames,\n Category,\n CategoryNames,\n Latitude,\n Longitude,\n EventLocationName,\n EventLocationPlace,\n EventLocationProbability,\n EventLocationRadius,\n EventSource,\n EventTime,\n EventVolume,\n EmbeddedLabels,\n PostLanguagae,\n PostLink,\n PostMedia,\n PostText,\n PostTimestamp,\n PostTranslatedText,\n PublisherCategoryName,\n RelatedTerms,\n Sectors,\n SourceChannels,\n SourceDisplayName,\n SourceEntityName,\n SourceLink,\n SourceVerified,\n SubCaptionBulletsContent,\n SubCaptionBulletsMedia,\n SubCaptionBulletsSource,\n WatchlistsMatchedByType,\n WatchlistNames\n};\nDataminrPulseAlerts_view\n", + "functionParameters": "", + "version": 2, + "tags": [ + { + "name": "description", + "value": "" + } + ] + } + }, + { + "type": "Microsoft.OperationalInsights/workspaces/providers/metadata", + "apiVersion": "2022-01-01-preview", + "location": "[parameters('workspace-location')]", + "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',concat('Parser-', last(split(variables('_parserId1'),'/'))))]", + "dependsOn": [ + "[variables('_parserId1')]" + ], + "properties": { + "parentId": "[resourceId('Microsoft.OperationalInsights/workspaces/savedSearches', parameters('workspace'), variables('parserName1'))]", + "contentId": "[variables('_parserContentId1')]", + "kind": "Parser", + "version": "[variables('parserVersion1')]", + "source": { + "kind": "Solution", + "name": "Dataminr Pulse", + "sourceId": "[variables('_solutionId')]" + }, + "author": { + "name": "Dataminr", + "email": "[variables('_email')]" + }, + "support": { + "name": "Dataminr Support", + "email": "support@dataminr.com", + "tier": "Partner", + "link": "https://www.dataminr.com/dataminr-support#support" + } + } + }, + { + "type": "Microsoft.OperationalInsights/workspaces/providers/contentTemplates", + "apiVersion": "2023-04-01-preview", + "name": "[variables('parserTemplateSpecName2')]", + "location": "[parameters('workspace-location')]", + "dependsOn": [ + "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" + ], + "properties": { + "description": "DataminrPulseCyberAlerts Data Parser with template version 3.0.0", + "mainTemplate": { + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "[variables('parserVersion2')]", + "parameters": {}, + "variables": {}, + "resources": [ + { + "name": "[variables('_parserName2')]", + "apiVersion": "2022-10-01", + "type": "Microsoft.OperationalInsights/workspaces/savedSearches", + "location": "[parameters('workspace-location')]", + "properties": { + "eTag": "*", + "displayName": "Parser for DataminrPulseCyberAlerts", + "category": "Microsoft Sentinel Parser", + "functionAlias": "DataminrPulseCyberAlerts", + "query": "let DataminrPulseCyberAlerts_view = view() {\n DataminrPulse_Alerts_CL\n | mv-expand todynamic(watchlistsMatchedByType_s)\n | extend property = watchlistsMatchedByType_s[\"userProperties\"]\n | where property[\"uiListType\"] == \"CYBER\"\n | extend category = parse_json(categories_s)\n | mv-apply category on (summarize CategoryNames = make_list(category.name))\n | extend company = parse_json(companies_s)\n | mv-apply company on (summarize CompanyNames = make_list(company.name))\n | extend watchlist = parse_json(watchlistsMatchedByType_s)\n | mv-apply watchlist on (summarize WatchlistNames = make_list(watchlist.name))\n | summarize any(*) by index_s\n | extend\n EventVendor=\"Dataminr\",\n EventProduct=\"Pulse\",\n AlertId = column_ifexists('index_s', ''),\n AlertType = column_ifexists('any_alertType_name_s', ''),\n AvailableRelatedAlerts = column_ifexists('any_availableRelatedAlerts_d', ''),\n Caption = column_ifexists('any_headline_s', ''),\n Company = column_ifexists('any_companies_s', ''),\n CompanyNames = tostring(column_ifexists('any_CompanyNames', '')),\n Category = column_ifexists('any_categories_s', ''),\n CategoryNames = tostring(column_ifexists('any_CategoryNames', '')),\n Latitude = column_ifexists('any_location_latitude_d', ''),\n Longitude = column_ifexists('any_location_longitude_d', ''),\n EventLocationName = column_ifexists('any_location_name_s', ''),\n EventLocationPlace = column_ifexists('any_location_places_s', ''),\n EventLocationProbability = column_ifexists('any_location_probability_d', ''),\n EventLocationRadius = column_ifexists('any_location_radius_d', ''),\n EventSource = column_ifexists('any_headlineData_via_s', ''),\n EventTime = column_ifexists('any_timestamp_d', ''),\n EventVolume = column_ifexists('any_volume_d', ''),\n EmbeddedLabels = column_ifexists('any__embedded_labels_s', ''),\n PostLanguagae = column_ifexists('any_odsStatus_languages_s', ''),\n PostLink = column_ifexists('any_odsStatus_link_s', ''),\n PostMedia = column_ifexists('any_odsStatus_media_s', ''),\n PostText = column_ifexists('any_odsStatus_text_s', ''),\n PostTimestamp = column_ifexists('any_odsStatus_timestamp_d', ''),\n PostTranslatedText = column_ifexists('any_odsStatus_translatedText_s', ''),\n PublisherCategoryName = column_ifexists('any_publisherCategory_name_s', ''),\n RelatedTerms = column_ifexists('any_referenceTerms_s', ''),\n Sectors = column_ifexists('any_sectors_s', ''),\n SourceChannels = column_ifexists('any_odsStatus_source_channels_s', ''),\n SourceDisplayName = column_ifexists('any_odsStatus_source_display_name_s', ''),\n SourceEntityName = column_ifexists('any_odsStatus_source_entity_name_s', ''),\n SourceLink = column_ifexists('any_odsStatus_source_link_s', ''),\n SourceVerified = column_ifexists('any_odsStatus_source_verified_s', ''),\n SubCaptionBulletsContent = column_ifexists('any_dataMap_bullets_content_s', ''),\n SubCaptionBulletsMedia = column_ifexists('any_dataMap_bullets_media_s', ''),\n SubCaptionBulletsSource = column_ifexists('any_dataMap_bullets_source_s', ''),\n WatchlistsMatchedByType = column_ifexists('any_watchlistsMatchedByType_s', ''),\n WatchlistNames = tostring(column_ifexists('any_WatchlistNames', ''))\n | project-rename TimeGenerated = any_TimeGenerated\n | project\n TimeGenerated,\n EventVendor,\n EventProduct,\n AlertId,\n AlertType,\n AvailableRelatedAlerts,\n Caption,\n Company,\n CompanyNames,\n CategoryNames,\n Category,\n Latitude,\n Longitude,\n EventLocationName,\n EventLocationPlace,\n EventLocationProbability,\n EventLocationRadius,\n EventSource,\n EventTime,\n EventVolume,\n EmbeddedLabels,\n PostLanguagae,\n PostLink,\n PostMedia,\n PostText,\n PostTimestamp,\n PostTranslatedText,\n PublisherCategoryName,\n RelatedTerms,\n Sectors,\n SourceChannels,\n SourceDisplayName,\n SourceEntityName,\n SourceLink,\n SourceVerified,\n SubCaptionBulletsContent,\n SubCaptionBulletsMedia,\n SubCaptionBulletsSource,\n WatchlistsMatchedByType,\n WatchlistNames\n};\nDataminrPulseCyberAlerts_view\n", + "functionParameters": "", + "version": 2, + "tags": [ + { + "name": "description", + "value": "" + } + ] + } + }, + { + "type": "Microsoft.OperationalInsights/workspaces/providers/metadata", + "apiVersion": "2022-01-01-preview", + "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',concat('Parser-', last(split(variables('_parserId2'),'/'))))]", + "dependsOn": [ + "[variables('_parserName2')]" + ], + "properties": { + "parentId": "[resourceId('Microsoft.OperationalInsights/workspaces/savedSearches', parameters('workspace'), variables('parserName2'))]", + "contentId": "[variables('_parserContentId2')]", + "kind": "Parser", + "version": "[variables('parserVersion2')]", + "source": { + "name": "Dataminr Pulse", + "kind": "Solution", + "sourceId": "[variables('_solutionId')]" + }, + "author": { + "name": "Dataminr", + "email": "[variables('_email')]" + }, + "support": { + "name": "Dataminr Support", + "email": "support@dataminr.com", + "tier": "Partner", + "link": "https://www.dataminr.com/dataminr-support#support" + } + } + } + ] + }, + "packageKind": "Solution", + "packageVersion": "[variables('_solutionVersion')]", + "packageName": "[variables('_solutionName')]", + "packageId": "[variables('_solutionId')]", + "contentSchemaVersion": "3.0.0", + "contentId": "[variables('_parserContentId2')]", + "contentKind": "Parser", + "displayName": "Parser for DataminrPulseCyberAlerts", + "contentProductId": "[variables('_parsercontentProductId2')]", + "id": "[variables('_parsercontentProductId2')]", + "version": "[variables('parserVersion2')]" + } + }, + { + "type": "Microsoft.OperationalInsights/workspaces/savedSearches", + "apiVersion": "2022-10-01", + "name": "[variables('_parserName2')]", + "location": "[parameters('workspace-location')]", + "properties": { + "eTag": "*", + "displayName": "Parser for DataminrPulseCyberAlerts", + "category": "Microsoft Sentinel Parser", + "functionAlias": "DataminrPulseCyberAlerts", + "query": "let DataminrPulseCyberAlerts_view = view() {\n DataminrPulse_Alerts_CL\n | mv-expand todynamic(watchlistsMatchedByType_s)\n | extend property = watchlistsMatchedByType_s[\"userProperties\"]\n | where property[\"uiListType\"] == \"CYBER\"\n | extend category = parse_json(categories_s)\n | mv-apply category on (summarize CategoryNames = make_list(category.name))\n | extend company = parse_json(companies_s)\n | mv-apply company on (summarize CompanyNames = make_list(company.name))\n | extend watchlist = parse_json(watchlistsMatchedByType_s)\n | mv-apply watchlist on (summarize WatchlistNames = make_list(watchlist.name))\n | summarize any(*) by index_s\n | extend\n EventVendor=\"Dataminr\",\n EventProduct=\"Pulse\",\n AlertId = column_ifexists('index_s', ''),\n AlertType = column_ifexists('any_alertType_name_s', ''),\n AvailableRelatedAlerts = column_ifexists('any_availableRelatedAlerts_d', ''),\n Caption = column_ifexists('any_headline_s', ''),\n Company = column_ifexists('any_companies_s', ''),\n CompanyNames = tostring(column_ifexists('any_CompanyNames', '')),\n Category = column_ifexists('any_categories_s', ''),\n CategoryNames = tostring(column_ifexists('any_CategoryNames', '')),\n Latitude = column_ifexists('any_location_latitude_d', ''),\n Longitude = column_ifexists('any_location_longitude_d', ''),\n EventLocationName = column_ifexists('any_location_name_s', ''),\n EventLocationPlace = column_ifexists('any_location_places_s', ''),\n EventLocationProbability = column_ifexists('any_location_probability_d', ''),\n EventLocationRadius = column_ifexists('any_location_radius_d', ''),\n EventSource = column_ifexists('any_headlineData_via_s', ''),\n EventTime = column_ifexists('any_timestamp_d', ''),\n EventVolume = column_ifexists('any_volume_d', ''),\n EmbeddedLabels = column_ifexists('any__embedded_labels_s', ''),\n PostLanguagae = column_ifexists('any_odsStatus_languages_s', ''),\n PostLink = column_ifexists('any_odsStatus_link_s', ''),\n PostMedia = column_ifexists('any_odsStatus_media_s', ''),\n PostText = column_ifexists('any_odsStatus_text_s', ''),\n PostTimestamp = column_ifexists('any_odsStatus_timestamp_d', ''),\n PostTranslatedText = column_ifexists('any_odsStatus_translatedText_s', ''),\n PublisherCategoryName = column_ifexists('any_publisherCategory_name_s', ''),\n RelatedTerms = column_ifexists('any_referenceTerms_s', ''),\n Sectors = column_ifexists('any_sectors_s', ''),\n SourceChannels = column_ifexists('any_odsStatus_source_channels_s', ''),\n SourceDisplayName = column_ifexists('any_odsStatus_source_display_name_s', ''),\n SourceEntityName = column_ifexists('any_odsStatus_source_entity_name_s', ''),\n SourceLink = column_ifexists('any_odsStatus_source_link_s', ''),\n SourceVerified = column_ifexists('any_odsStatus_source_verified_s', ''),\n SubCaptionBulletsContent = column_ifexists('any_dataMap_bullets_content_s', ''),\n SubCaptionBulletsMedia = column_ifexists('any_dataMap_bullets_media_s', ''),\n SubCaptionBulletsSource = column_ifexists('any_dataMap_bullets_source_s', ''),\n WatchlistsMatchedByType = column_ifexists('any_watchlistsMatchedByType_s', ''),\n WatchlistNames = tostring(column_ifexists('any_WatchlistNames', ''))\n | project-rename TimeGenerated = any_TimeGenerated\n | project\n TimeGenerated,\n EventVendor,\n EventProduct,\n AlertId,\n AlertType,\n AvailableRelatedAlerts,\n Caption,\n Company,\n CompanyNames,\n CategoryNames,\n Category,\n Latitude,\n Longitude,\n EventLocationName,\n EventLocationPlace,\n EventLocationProbability,\n EventLocationRadius,\n EventSource,\n EventTime,\n EventVolume,\n EmbeddedLabels,\n PostLanguagae,\n PostLink,\n PostMedia,\n PostText,\n PostTimestamp,\n PostTranslatedText,\n PublisherCategoryName,\n RelatedTerms,\n Sectors,\n SourceChannels,\n SourceDisplayName,\n SourceEntityName,\n SourceLink,\n SourceVerified,\n SubCaptionBulletsContent,\n SubCaptionBulletsMedia,\n SubCaptionBulletsSource,\n WatchlistsMatchedByType,\n WatchlistNames\n};\nDataminrPulseCyberAlerts_view\n", + "functionParameters": "", + "version": 2, + "tags": [ + { + "name": "description", + "value": "" + } + ] + } + }, + { + "type": "Microsoft.OperationalInsights/workspaces/providers/metadata", + "apiVersion": "2022-01-01-preview", + "location": "[parameters('workspace-location')]", + "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',concat('Parser-', last(split(variables('_parserId2'),'/'))))]", + "dependsOn": [ + "[variables('_parserId2')]" + ], + "properties": { + "parentId": "[resourceId('Microsoft.OperationalInsights/workspaces/savedSearches', parameters('workspace'), variables('parserName2'))]", + "contentId": "[variables('_parserContentId2')]", + "kind": "Parser", + "version": "[variables('parserVersion2')]", + "source": { + "kind": "Solution", + "name": "Dataminr Pulse", + "sourceId": "[variables('_solutionId')]" + }, + "author": { + "name": "Dataminr", + "email": "[variables('_email')]" + }, + "support": { + "name": "Dataminr Support", + "email": "support@dataminr.com", + "tier": "Partner", + "link": "https://www.dataminr.com/dataminr-support#support" + } + } + }, + { + "type": "Microsoft.OperationalInsights/workspaces/providers/contentTemplates", + "apiVersion": "2023-04-01-preview", + "name": "[variables('dataConnectorTemplateSpecName1')]", + "location": "[parameters('workspace-location')]", + "dependsOn": [ + "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/contentPackages', variables('_solutionId'))]" + ], + "properties": { + "description": "Dataminr Pulse data connector with template version 3.0.0", + "mainTemplate": { + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "[variables('dataConnectorVersion1')]", + "parameters": {}, + "variables": {}, + "resources": [ + { + "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',variables('_dataConnectorContentId1'))]", + "apiVersion": "2021-03-01-preview", + "type": "Microsoft.OperationalInsights/workspaces/providers/dataConnectors", + "location": "[parameters('workspace-location')]", + "kind": "GenericUI", + "properties": { + "connectorUiConfig": { + "id": "[variables('_uiConfigId1')]", + "title": "Dataminr Pulse Alerts Data Connector (using Azure Functions)", + "publisher": "Dataminr", + "descriptionMarkdown": "Dataminr Pulse Alerts Data Connector brings our AI-powered real-time intelligence into Microsoft Sentinel for faster threat detection and response.", + "graphQueries": [ + { + "metricName": "Total Alerts data received", + "legend": "DataminrPulse_Alerts_CL", + "baseQuery": "DataminrPulse_Alerts_CL" + } + ], + "sampleQueries": [ + { + "description": "Dataminr Pulse Alerts Data for all alertTypes", + "query": "DataminrPulse_Alerts_CL\n | sort by TimeGenerated desc" + } + ], + "dataTypes": [ + { + "name": "DataminrPulse_Alerts_CL", + "lastDataReceivedQuery": "DataminrPulse_Alerts_CL\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriterias": [ + { + "type": "IsConnectedQuery", + "value": [ + "DataminrPulse_Alerts_CL\n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(30d)" + ] + } + ], + "availability": { + "status": 1, + "isPreview": false + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions on the workspace are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + }, + { + "provider": "Microsoft.OperationalInsights/workspaces/sharedKeys", + "permissionsDisplayText": "read permissions to shared keys for the workspace are required. [See the documentation to learn more about workspace keys](https://docs.microsoft.com/azure/azure-monitor/platform/agent-windows#obtain-workspace-id-and-key).", + "providerDisplayName": "Keys", + "scope": "Workspace", + "requiredPermissions": { + "action": true + } + } + ], + "customs": [ + { + "name": "Azure Subscription", + "description": "Azure Subscription with owner role is required to register an application in azure active directory and assign role of contributor to app in resource group." + }, + { + "name": "Microsoft.Web/sites permissions", + "description": "Read and write permissions to Azure Functions to create a Function App is required. [See the documentation to learn more about Azure Functions](https://docs.microsoft.com/azure/azure-functions/)." + }, + { + "name": "Required Dataminr Credentials/permissions", + "description": "\n\na. Users must have a valid Dataminr Pulse API **client ID** and **secret** to use this data connector.\n\n b. One or more Dataminr Pulse Watchlists must be configured in the Dataminr Pulse website." + } + ] + }, + "instructionSteps": [ + { + "description": ">**NOTE:** This connector uses Azure Functions to connect to the DataminrPulse in which logs are pushed via Dataminr RTAP and it will ingest logs into Microsoft Sentinel. Furthermore, the connector will fetch the ingested data from the custom logs table and create Threat Intelligence Indicators into Microsoft Sentinel Threat Intelligence. This might result in additional data ingestion costs. Check the [Azure Functions pricing page](https://azure.microsoft.com/pricing/details/functions/) for details." + }, + { + "description": ">**(Optional Step)** Securely store workspace and API authorization key(s) or token(s) in Azure Key Vault. Azure Key Vault provides a secure mechanism to store and retrieve key values. [Follow these instructions](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) to use Azure Key Vault with an Azure Function App." + }, + { + "description": "**STEP 1- Credentials for the Dataminr Pulse Client ID and Client Secret**\n\n * Obtain Dataminr Pulse user ID/password and API client ID/secret from your Dataminr Customer Success Manager (CSM)." + }, + { + "description": "**STEP 2- Configure Watchlists in Dataminr Pulse portal.**\n\n Follow the steps in this section to configure watchlists in portal:\n\n 1. **Login** to the Dataminr Pulse [website](https://app.dataminr.com).\n\n 2. Click on the settings gear icon, and select **Manage Lists**.\n\n 3. Select the type of Watchlist you want to create (Cyber, Topic, Company, etc.) and click the **New List** button.\n\n 4. Provide a **name** for your new Watchlist, and select a highlight color for it, or keep the default color.\n\n 5. When you are done configuring the Watchlist, click **Save** to save it." + }, + { + "description": "**STEP 3 - App Registration steps for the Microsoft Azure Active Directory Application**\n\n This integration requires an App registration in the Azure portal. Follow the steps in this section to create a new Azure Active Directory application:\n 1. Sign in to the [Azure portal](https://portal.azure.com/).\n 2. Search for and select **Azure Active Directory**.\n 3. Under **Manage**, select **App registrations > New registration**.\n 4. Enter a display **Name** for your application.\n 5. Select **Register** to complete the initial app registration.\n 6. When registration finishes, the Azure portal displays the app registration's Overview pane. You see the **Application (client) ID** and **Tenant ID**. The client ID and Tenant ID is required as configuration parameters for the execution of CofenseIntelligence Data Connector. \n\n> **Reference link:** [https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app](https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app)" + }, + { + "description": "**STEP 4 - Add a client secret for Microsoft Azure Active Directory Application**\n\n Sometimes called an application password, a client secret is a string value required for the execution of CofenseIntelligence Data Connector. Follow the steps in this section to create a new Client Secret:\n 1. In the Azure portal, in **App registrations**, select your application.\n 2. Select **Certificates & secrets > Client secrets > New client secret**.\n 3. Add a description for your client secret.\n 4. Select an expiration for the secret or specify a custom lifetime. Limit is 24 months.\n 5. Select **Add**. \n 6. *Record the secret's value for use in your client application code. This secret value is never displayed again after you leave this page.* The secret value is required as configuration parameter for the execution of CofenseIntelligence Data Connector. \n\n> **Reference link:** [https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app#add-a-client-secret](https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app#add-a-client-secret)" + }, + { + "description": "**STEP 5 - Assign role of Contributor to Microsoft Azure Active Directory Application**\n\n Follow the steps in this section to assign the role:\n 1. In the Azure portal, Go to **Resource Group** and select your resource group.\n 2. Go to **Access control (IAM)** from left panel.\n 3. Click on **Add**, and then select **Add role assignment**.\n 4. Select **Contributor** as role and click on next.\n 5. In **Assign access to**, select `User, group, or service principal`.\n 6. Click on **add members** and type **your app name** that you have created and select it.\n 7. Now click on **Review + assign** and then again click on **Review + assign**. \n\n> **Reference link:** [https://learn.microsoft.com/azure/role-based-access-control/role-assignments-portal](https://learn.microsoft.com/azure/role-based-access-control/role-assignments-portal)" + }, + { + "description": "**STEP 6 - Choose ONE from the following two deployment options to deploy the connector and the associated Azure Function**\n\n>**IMPORTANT:** Before deploying the Dataminr Pulse Microsoft Sentinel data connector, have the Workspace ID and Workspace Primary Key (can be copied from the following) readily available.", + "instructions": [ + { + "parameters": { + "fillWith": [ + "WorkspaceId" + ], + "label": "Workspace ID" + }, + "type": "CopyableLabel" + }, + { + "parameters": { + "fillWith": [ + "PrimaryKey" + ], + "label": "Primary Key" + }, + "type": "CopyableLabel" + } + ] + }, + { + "description": "Use this method for automated deployment of the DataminrPulse connector.\n\n1. Click the **Deploy to Azure** button below. \n\n\t[![Deploy To Azure](https://aka.ms/deploytoazurebutton)](https://aka.ms/sentinel-DataminrPulseAlerts-azuredeploy)\n2. Select the preferred **Subscription**, **Resource Group** and **Location**. \n3. Enter the below information : \n\t\tFunction Name \n\t\tWorkspace ID \n\t\tWorkspace Key \n\t\tAlertsTableName \n\t\tBaseURL \n\t\tClientId \n\t\tClientSecret \n\t\tAzureClientId \n\t\tAzureClientSecret \n\t\tAzureTenantId \n\t\tAzureResourceGroupName \n\t\tAzureWorkspaceName \n\t\tAzureSubscriptionId \n\t\tSchedule \n\t\tLogLevel \n \n4. Mark the checkbox labeled **I agree to the terms and conditions stated above**. \n5. Click **Purchase** to deploy.", + "title": "Option 1 - Azure Resource Manager (ARM) Template" + }, + { + "description": "Use the following step-by-step instructions to deploy the Dataminr Pulse Microsoft Sentinel data connector manually with Azure Functions (Deployment via Visual Studio Code).", + "title": "Option 2 - Manual Deployment of Azure Functions" + }, + { + "description": "> **NOTE:** You will need to [prepare VS code](https://docs.microsoft.com/azure/azure-functions/functions-create-first-function-python#prerequisites) for Azure function development.\n\n1. Download the [Azure Function App](https://aka.ms/sentinel-DataminrPulseAlerts-functionapp) file. Extract archive to your local development computer.\n2. Start VS Code. Choose File in the main menu and select Open Folder.\n3. Select the top level folder from extracted files.\n4. Choose the Azure icon in the Activity bar, then in the **Azure: Functions** area, choose the **Deploy to function app** button.\nIf you aren't already signed in, choose the Azure icon in the Activity bar, then in the **Azure: Functions** area, choose **Sign in to Azure**\nIf you're already signed in, go to the next step.\n5. Provide the following information at the prompts:\n\n\ta. **Select folder:** Choose a folder from your workspace or browse to one that contains your function app.\n\n\tb. **Select Subscription:** Choose the subscription to use.\n\n\tc. Select **Create new Function App in Azure** (Don't choose the Advanced option)\n\n\td. **Enter a globally unique name for the function app:** Type a name that is valid in a URL path. The name you type is validated to make sure that it's unique in Azure Functions. (e.g. DmPulseXXXXX).\n\n\te. **Select a runtime:** Choose Python 3.8 or above.\n\n\tf. Select a location for new resources. For better performance and lower costs choose the same [region](https://azure.microsoft.com/regions/) where Microsoft Sentinel is located.\n\n6. Deployment will begin. A notification is displayed after your function app is created and the deployment package is applied.\n7. Go to Azure Portal for the Function App configuration.", + "title": "1) Deploy a Function App" + }, + { + "description": "1. In the Function App, select the Function App Name and select **Configuration**.\n2. In the **Application settings** tab, select **+ New application setting**.\n3. Add each of the following application settings individually, with their respective values (case-sensitive): \n\t\tFunction Name \n\t\tWorkspace ID \n\t\tWorkspace Key \n\t\tAlertsTableName \n\t\tBaseURL \n\t\tClientId \n\t\tClientSecret\n\t\tAzureClientId \n\t\tAzureClientSecret \n\t\tAzureTenantId \n\t\tAzureResourceGroupName \n\t\tAzureWorkspaceName \n\t\tAzureSubscriptionId \n\t\tSchedule \n\t\tLogLevel\n\t\tlogAnalyticsUri (optional) \n - Use logAnalyticsUri to override the log analytics API endpoint for dedicated cloud. For example, for public cloud, leave the value empty; for Azure GovUS cloud environment, specify the value in the following format: `https://.ods.opinsights.azure.us`.\n4. Once all application settings have been entered, click **Save**.", + "title": "2) Configure the Function App" + }, + { + "description": "**STEP 4 - Post Deployment steps**\n\n" + }, + { + "description": "1. Go to Azure function Overview page and Click on **\"Functions\"** in the left blade.\n2. Click on the function called **\"DataminrPulseAlertsHttpStarter\"**.\n3. Go to **\"GetFunctionurl\"** and copy the function url.\n4. Replace **{functionname}** with **\"DataminrPulseAlertsSentinelOrchestrator\"** in copied function url.", + "title": "1) Get the Function app endpoint" + }, + { + "description": "1. Within Microsoft Sentinel, go to Azure function apps then `` Overview page and Click on **\"Functions\"** in the left blade.\n2. Click on the function called **\"DataminrPulseAlertsHttpStarter\"**.\n3. Go to **\"Code + Test\"** and click **\"Test/Run\"**.\n4. Provide the necessary details as mentioned below: \n\t\tHTTP Method : \"POST\" \n\t\tKey : default(Function key)\" \n\t\tQuery : Name=functionName ,Value=DataminrPulseAlertsSentinelOrchestrator \n\t\tRequest Body (case-sensitive) : \n\t\t{ \n\t\t 'integration-settings': 'ADD', \n\t\t 'url': , \n\t\t 'token': \n\t\t}\n5. After providing all required details, click **Run**.\n6. You will receive an integration setting ID in the HTTP response with a status code of 200.\n7. Save **Integration ID** for future reference.", + "title": "2) To add integration settings in Dataminr RTAP using the function URL" + }, + { + "description": "*Now we are done with the adding integration settings for Dataminr RTAP. Once the Dataminr RTAP send an alert data, Function app is triggered and you should be able to see the Alerts data from the Dataminr Pulse into LogAnalytics workspace table called \"DataminrPulse_Alerts_CL\".*\n\n" + } + ] + } + } + }, + { + "type": "Microsoft.OperationalInsights/workspaces/providers/metadata", + "apiVersion": "2023-04-01-preview", + "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',concat('DataConnector-', last(split(variables('_dataConnectorId1'),'/'))))]", + "properties": { + "parentId": "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/dataConnectors', variables('_dataConnectorContentId1'))]", + "contentId": "[variables('_dataConnectorContentId1')]", + "kind": "DataConnector", + "version": "[variables('dataConnectorVersion1')]", + "source": { + "kind": "Solution", + "name": "Dataminr Pulse", + "sourceId": "[variables('_solutionId')]" + }, + "author": { + "name": "Dataminr", + "email": "[variables('_email')]" + }, + "support": { + "name": "Dataminr Support", + "email": "support@dataminr.com", + "tier": "Partner", + "link": "https://www.dataminr.com/dataminr-support#support" + } + } + } + ] + }, + "packageKind": "Solution", + "packageVersion": "[variables('_solutionVersion')]", + "packageName": "[variables('_solutionName')]", + "packageId": "[variables('_solutionId')]", + "contentSchemaVersion": "3.0.0", + "contentId": "[variables('_dataConnectorContentId1')]", + "contentKind": "DataConnector", + "displayName": "Dataminr Pulse Alerts Data Connector (using Azure Functions)", + "contentProductId": "[variables('_dataConnectorcontentProductId1')]", + "id": "[variables('_dataConnectorcontentProductId1')]", + "version": "[variables('dataConnectorVersion1')]" + } + }, + { + "type": "Microsoft.OperationalInsights/workspaces/providers/metadata", + "apiVersion": "2023-04-01-preview", + "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',concat('DataConnector-', last(split(variables('_dataConnectorId1'),'/'))))]", + "dependsOn": [ + "[variables('_dataConnectorId1')]" + ], + "location": "[parameters('workspace-location')]", + "properties": { + "parentId": "[extensionResourceId(resourceId('Microsoft.OperationalInsights/workspaces', parameters('workspace')), 'Microsoft.SecurityInsights/dataConnectors', variables('_dataConnectorContentId1'))]", + "contentId": "[variables('_dataConnectorContentId1')]", + "kind": "DataConnector", + "version": "[variables('dataConnectorVersion1')]", + "source": { + "kind": "Solution", + "name": "Dataminr Pulse", + "sourceId": "[variables('_solutionId')]" + }, + "author": { + "name": "Dataminr", + "email": "[variables('_email')]" + }, + "support": { + "name": "Dataminr Support", + "email": "support@dataminr.com", + "tier": "Partner", + "link": "https://www.dataminr.com/dataminr-support#support" + } + } + }, + { + "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/',variables('_dataConnectorContentId1'))]", + "apiVersion": "2021-03-01-preview", + "type": "Microsoft.OperationalInsights/workspaces/providers/dataConnectors", + "location": "[parameters('workspace-location')]", + "kind": "GenericUI", + "properties": { + "connectorUiConfig": { + "title": "Dataminr Pulse Alerts Data Connector (using Azure Functions)", + "publisher": "Dataminr", + "descriptionMarkdown": "Dataminr Pulse Alerts Data Connector brings our AI-powered real-time intelligence into Microsoft Sentinel for faster threat detection and response.", + "graphQueries": [ + { + "metricName": "Total Alerts data received", + "legend": "DataminrPulse_Alerts_CL", + "baseQuery": "DataminrPulse_Alerts_CL" + } + ], + "dataTypes": [ + { + "name": "DataminrPulse_Alerts_CL", + "lastDataReceivedQuery": "DataminrPulse_Alerts_CL\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriterias": [ + { + "type": "IsConnectedQuery", + "value": [ + "DataminrPulse_Alerts_CL\n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(30d)" + ] + } + ], + "sampleQueries": [ + { + "description": "Dataminr Pulse Alerts Data for all alertTypes", + "query": "DataminrPulse_Alerts_CL\n | sort by TimeGenerated desc" + } + ], + "availability": { + "status": 1, + "isPreview": false + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions on the workspace are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + }, + { + "provider": "Microsoft.OperationalInsights/workspaces/sharedKeys", + "permissionsDisplayText": "read permissions to shared keys for the workspace are required. [See the documentation to learn more about workspace keys](https://docs.microsoft.com/azure/azure-monitor/platform/agent-windows#obtain-workspace-id-and-key).", + "providerDisplayName": "Keys", + "scope": "Workspace", + "requiredPermissions": { + "action": true + } + } + ], + "customs": [ + { + "name": "Azure Subscription", + "description": "Azure Subscription with owner role is required to register an application in azure active directory and assign role of contributor to app in resource group." + }, + { + "name": "Microsoft.Web/sites permissions", + "description": "Read and write permissions to Azure Functions to create a Function App is required. [See the documentation to learn more about Azure Functions](https://docs.microsoft.com/azure/azure-functions/)." + }, + { + "name": "Required Dataminr Credentials/permissions", + "description": "\n\na. Users must have a valid Dataminr Pulse API **client ID** and **secret** to use this data connector.\n\n b. One or more Dataminr Pulse Watchlists must be configured in the Dataminr Pulse website." + } + ] + }, + "instructionSteps": [ + { + "description": ">**NOTE:** This connector uses Azure Functions to connect to the DataminrPulse in which logs are pushed via Dataminr RTAP and it will ingest logs into Microsoft Sentinel. Furthermore, the connector will fetch the ingested data from the custom logs table and create Threat Intelligence Indicators into Microsoft Sentinel Threat Intelligence. This might result in additional data ingestion costs. Check the [Azure Functions pricing page](https://azure.microsoft.com/pricing/details/functions/) for details." + }, + { + "description": ">**(Optional Step)** Securely store workspace and API authorization key(s) or token(s) in Azure Key Vault. Azure Key Vault provides a secure mechanism to store and retrieve key values. [Follow these instructions](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) to use Azure Key Vault with an Azure Function App." + }, + { + "description": "**STEP 1- Credentials for the Dataminr Pulse Client ID and Client Secret**\n\n * Obtain Dataminr Pulse user ID/password and API client ID/secret from your Dataminr Customer Success Manager (CSM)." + }, + { + "description": "**STEP 2- Configure Watchlists in Dataminr Pulse portal.**\n\n Follow the steps in this section to configure watchlists in portal:\n\n 1. **Login** to the Dataminr Pulse [website](https://app.dataminr.com).\n\n 2. Click on the settings gear icon, and select **Manage Lists**.\n\n 3. Select the type of Watchlist you want to create (Cyber, Topic, Company, etc.) and click the **New List** button.\n\n 4. Provide a **name** for your new Watchlist, and select a highlight color for it, or keep the default color.\n\n 5. When you are done configuring the Watchlist, click **Save** to save it." + }, + { + "description": "**STEP 3 - App Registration steps for the Microsoft Azure Active Directory Application**\n\n This integration requires an App registration in the Azure portal. Follow the steps in this section to create a new Azure Active Directory application:\n 1. Sign in to the [Azure portal](https://portal.azure.com/).\n 2. Search for and select **Azure Active Directory**.\n 3. Under **Manage**, select **App registrations > New registration**.\n 4. Enter a display **Name** for your application.\n 5. Select **Register** to complete the initial app registration.\n 6. When registration finishes, the Azure portal displays the app registration's Overview pane. You see the **Application (client) ID** and **Tenant ID**. The client ID and Tenant ID is required as configuration parameters for the execution of CofenseIntelligence Data Connector. \n\n> **Reference link:** [https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app](https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app)" + }, + { + "description": "**STEP 4 - Add a client secret for Microsoft Azure Active Directory Application**\n\n Sometimes called an application password, a client secret is a string value required for the execution of CofenseIntelligence Data Connector. Follow the steps in this section to create a new Client Secret:\n 1. In the Azure portal, in **App registrations**, select your application.\n 2. Select **Certificates & secrets > Client secrets > New client secret**.\n 3. Add a description for your client secret.\n 4. Select an expiration for the secret or specify a custom lifetime. Limit is 24 months.\n 5. Select **Add**. \n 6. *Record the secret's value for use in your client application code. This secret value is never displayed again after you leave this page.* The secret value is required as configuration parameter for the execution of CofenseIntelligence Data Connector. \n\n> **Reference link:** [https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app#add-a-client-secret](https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app#add-a-client-secret)" + }, + { + "description": "**STEP 5 - Assign role of Contributor to Microsoft Azure Active Directory Application**\n\n Follow the steps in this section to assign the role:\n 1. In the Azure portal, Go to **Resource Group** and select your resource group.\n 2. Go to **Access control (IAM)** from left panel.\n 3. Click on **Add**, and then select **Add role assignment**.\n 4. Select **Contributor** as role and click on next.\n 5. In **Assign access to**, select `User, group, or service principal`.\n 6. Click on **add members** and type **your app name** that you have created and select it.\n 7. Now click on **Review + assign** and then again click on **Review + assign**. \n\n> **Reference link:** [https://learn.microsoft.com/azure/role-based-access-control/role-assignments-portal](https://learn.microsoft.com/azure/role-based-access-control/role-assignments-portal)" + }, + { + "description": "**STEP 6 - Choose ONE from the following two deployment options to deploy the connector and the associated Azure Function**\n\n>**IMPORTANT:** Before deploying the Dataminr Pulse Microsoft Sentinel data connector, have the Workspace ID and Workspace Primary Key (can be copied from the following) readily available.", + "instructions": [ + { + "parameters": { + "fillWith": [ + "WorkspaceId" + ], + "label": "Workspace ID" + }, + "type": "CopyableLabel" + }, + { + "parameters": { + "fillWith": [ + "PrimaryKey" + ], + "label": "Primary Key" + }, + "type": "CopyableLabel" + } + ] + }, + { + "description": "Use this method for automated deployment of the DataminrPulse connector.\n\n1. Click the **Deploy to Azure** button below. \n\n\t[![Deploy To Azure](https://aka.ms/deploytoazurebutton)](https://aka.ms/sentinel-DataminrPulseAlerts-azuredeploy)\n2. Select the preferred **Subscription**, **Resource Group** and **Location**. \n3. Enter the below information : \n\t\tFunction Name \n\t\tWorkspace ID \n\t\tWorkspace Key \n\t\tAlertsTableName \n\t\tBaseURL \n\t\tClientId \n\t\tClientSecret \n\t\tAzureClientId \n\t\tAzureClientSecret \n\t\tAzureTenantId \n\t\tAzureResourceGroupName \n\t\tAzureWorkspaceName \n\t\tAzureSubscriptionId \n\t\tSchedule \n\t\tLogLevel \n \n4. Mark the checkbox labeled **I agree to the terms and conditions stated above**. \n5. Click **Purchase** to deploy.", + "title": "Option 1 - Azure Resource Manager (ARM) Template" + }, + { + "description": "Use the following step-by-step instructions to deploy the Dataminr Pulse Microsoft Sentinel data connector manually with Azure Functions (Deployment via Visual Studio Code).", + "title": "Option 2 - Manual Deployment of Azure Functions" + }, + { + "description": "> **NOTE:** You will need to [prepare VS code](https://docs.microsoft.com/azure/azure-functions/functions-create-first-function-python#prerequisites) for Azure function development.\n\n1. Download the [Azure Function App](https://aka.ms/sentinel-DataminrPulseAlerts-functionapp) file. Extract archive to your local development computer.\n2. Start VS Code. Choose File in the main menu and select Open Folder.\n3. Select the top level folder from extracted files.\n4. Choose the Azure icon in the Activity bar, then in the **Azure: Functions** area, choose the **Deploy to function app** button.\nIf you aren't already signed in, choose the Azure icon in the Activity bar, then in the **Azure: Functions** area, choose **Sign in to Azure**\nIf you're already signed in, go to the next step.\n5. Provide the following information at the prompts:\n\n\ta. **Select folder:** Choose a folder from your workspace or browse to one that contains your function app.\n\n\tb. **Select Subscription:** Choose the subscription to use.\n\n\tc. Select **Create new Function App in Azure** (Don't choose the Advanced option)\n\n\td. **Enter a globally unique name for the function app:** Type a name that is valid in a URL path. The name you type is validated to make sure that it's unique in Azure Functions. (e.g. DmPulseXXXXX).\n\n\te. **Select a runtime:** Choose Python 3.8 or above.\n\n\tf. Select a location for new resources. For better performance and lower costs choose the same [region](https://azure.microsoft.com/regions/) where Microsoft Sentinel is located.\n\n6. Deployment will begin. A notification is displayed after your function app is created and the deployment package is applied.\n7. Go to Azure Portal for the Function App configuration.", + "title": "1) Deploy a Function App" + }, + { + "description": "1. In the Function App, select the Function App Name and select **Configuration**.\n2. In the **Application settings** tab, select **+ New application setting**.\n3. Add each of the following application settings individually, with their respective values (case-sensitive): \n\t\tFunction Name \n\t\tWorkspace ID \n\t\tWorkspace Key \n\t\tAlertsTableName \n\t\tBaseURL \n\t\tClientId \n\t\tClientSecret\n\t\tAzureClientId \n\t\tAzureClientSecret \n\t\tAzureTenantId \n\t\tAzureResourceGroupName \n\t\tAzureWorkspaceName \n\t\tAzureSubscriptionId \n\t\tSchedule \n\t\tLogLevel\n\t\tlogAnalyticsUri (optional) \n - Use logAnalyticsUri to override the log analytics API endpoint for dedicated cloud. For example, for public cloud, leave the value empty; for Azure GovUS cloud environment, specify the value in the following format: `https://.ods.opinsights.azure.us`.\n4. Once all application settings have been entered, click **Save**.", + "title": "2) Configure the Function App" + }, + { + "description": "**STEP 4 - Post Deployment steps**\n\n" + }, + { + "description": "1. Go to Azure function Overview page and Click on **\"Functions\"** in the left blade.\n2. Click on the function called **\"DataminrPulseAlertsHttpStarter\"**.\n3. Go to **\"GetFunctionurl\"** and copy the function url.\n4. Replace **{functionname}** with **\"DataminrPulseAlertsSentinelOrchestrator\"** in copied function url.", + "title": "1) Get the Function app endpoint" + }, + { + "description": "1. Within Microsoft Sentinel, go to Azure function apps then `` Overview page and Click on **\"Functions\"** in the left blade.\n2. Click on the function called **\"DataminrPulseAlertsHttpStarter\"**.\n3. Go to **\"Code + Test\"** and click **\"Test/Run\"**.\n4. Provide the necessary details as mentioned below: \n\t\tHTTP Method : \"POST\" \n\t\tKey : default(Function key)\" \n\t\tQuery : Name=functionName ,Value=DataminrPulseAlertsSentinelOrchestrator \n\t\tRequest Body (case-sensitive) : \n\t\t{ \n\t\t 'integration-settings': 'ADD', \n\t\t 'url': , \n\t\t 'token': \n\t\t}\n5. After providing all required details, click **Run**.\n6. You will receive an integration setting ID in the HTTP response with a status code of 200.\n7. Save **Integration ID** for future reference.", + "title": "2) To add integration settings in Dataminr RTAP using the function URL" + }, + { + "description": "*Now we are done with the adding integration settings for Dataminr RTAP. Once the Dataminr RTAP send an alert data, Function app is triggered and you should be able to see the Alerts data from the Dataminr Pulse into LogAnalytics workspace table called \"DataminrPulse_Alerts_CL\".*\n\n" + } + ], + "id": "[variables('_uiConfigId1')]" + } + } + }, + { + "type": "Microsoft.OperationalInsights/workspaces/providers/contentPackages", + "apiVersion": "2023-04-01-preview", + "location": "[parameters('workspace-location')]", + "properties": { + "version": "3.0.0", + "kind": "Solution", + "contentSchemaVersion": "3.0.0", + "displayName": "Dataminr Pulse", + "publisherDisplayName": "Dataminr Support", + "descriptionHtml": "

Note: There may be known issues pertaining to this Solution, please refer to them before installing.

\n

Dataminr Pulse brings the most advanced AI-powered real-time intelligence into Microsoft Sentinel, easily fitting into your workflows and enabling rapid identification and mitigation of emerging threats so you can deliver faster time to detection and response.

\n

Data Connectors: 1, Parsers: 2, Workbooks: 1, Analytic Rules: 1, Watchlists: 5, Playbooks: 1

\n

Learn more about Microsoft Sentinel | Learn more about Solutions

\n", + "contentKind": "Solution", + "contentProductId": "[variables('_solutioncontentProductId')]", + "id": "[variables('_solutioncontentProductId')]", + "icon": "", + "contentId": "[variables('_solutionId')]", + "parentId": "[variables('_solutionId')]", + "source": { + "kind": "Solution", + "name": "Dataminr Pulse", + "sourceId": "[variables('_solutionId')]" + }, + "author": { + "name": "Dataminr", + "email": "[variables('_email')]" + }, + "support": { + "name": "Dataminr Support", + "email": "support@dataminr.com", + "tier": "Partner", + "link": "https://www.dataminr.com/dataminr-support#support" + }, + "dependencies": { + "operator": "AND", + "criteria": [ + { + "kind": "AnalyticsRule", + "contentId": "[variables('analyticRulecontentId1')]", + "version": "[variables('analyticRuleVersion1')]" + }, + { + "kind": "Workbook", + "contentId": "[variables('_workbookContentId1')]", + "version": "[variables('workbookVersion1')]" + }, + { + "kind": "Watchlist", + "contentId": "[variables('_DataminrPulseAsset')]", + "version": "3.0.0" + }, + { + "kind": "Watchlist", + "contentId": "[variables('_DataminrPulseVulnerableDomain')]", + "version": "3.0.0" + }, + { + "kind": "Watchlist", + "contentId": "[variables('_DataminrPulseVulnerableHash')]", + "version": "3.0.0" + }, + { + "kind": "Watchlist", + "contentId": "[variables('_DataminrPulseVulnerableIp')]", + "version": "3.0.0" + }, + { + "kind": "Watchlist", + "contentId": "[variables('_DataminrPulseVulnerableMalware')]", + "version": "3.0.0" + }, + { + "kind": "Playbook", + "contentId": "[variables('_DataminrPulseAlertEnrichment')]", + "version": "[variables('playbookVersion1')]" + }, + { + "kind": "Parser", + "contentId": "[variables('_parserContentId1')]", + "version": "[variables('parserVersion1')]" + }, + { + "kind": "Parser", + "contentId": "[variables('_parserContentId2')]", + "version": "[variables('parserVersion2')]" + }, + { + "kind": "DataConnector", + "contentId": "[variables('_dataConnectorContentId1')]", + "version": "[variables('dataConnectorVersion1')]" + } + ] + }, + "firstPublishDate": "2023-04-12", + "lastPublishDate": "2023-04-12", + "providers": [ + "Dataminr" + ], + "categories": { + "domains": [ + "Security - Others", + "Security - Threat Intelligence", + "Security - Automation (SOAR)" + ] + } + }, + "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/', variables('_solutionId'))]" + } + ], + "outputs": {} +} diff --git a/Solutions/Dataminr Pulse/Parsers/DataminrPulseAlerts.yaml b/Solutions/Dataminr Pulse/Parsers/DataminrPulseAlerts.yaml new file mode 100644 index 00000000000..de837d16391 --- /dev/null +++ b/Solutions/Dataminr Pulse/Parsers/DataminrPulseAlerts.yaml @@ -0,0 +1,102 @@ +id: a4fddd3e-9993-4c86-b5e8-8e36d8ce1197 +Function: + Title: Parser for DataminrPulseAlerts + Version: '1.0.0' + LastUpdated: '2023-09-01' +Category: Microsoft Sentinel Parser +FunctionName: DataminrPulseAlerts +FunctionAlias: DataminrPulseAlerts +FunctionQuery: | + let DataminrPulseAlerts_view = view() { + DataminrPulse_Alerts_CL + | extend category = parse_json(categories_s) + | mv-apply category on (summarize CategoryNames = make_list(category.name)) + | extend company = parse_json(companies_s) + | mv-apply company on (summarize CompanyNames = make_list(company.name)) + | extend watchlist = parse_json(watchlistsMatchedByType_s) + | mv-apply watchlist on (summarize WatchlistNames = make_list(watchlist.name)) + | summarize any(*) by index_s + | extend + EventVendor="Dataminr", + EventProduct="Pulse", + AlertId = column_ifexists('index_s', ''), + AlertType = column_ifexists('any_alertType_name_s', ''), + AvailableRelatedAlerts = column_ifexists('any_availableRelatedAlerts_d', ''), + Caption = column_ifexists('any_headline_s', ''), + Company = column_ifexists('any_companies_s', ''), + CompanyNames = tostring(column_ifexists('any_CompanyNames', '')), + Category = column_ifexists('any_categories_s', ''), + CategoryNames = tostring(column_ifexists('any_CategoryNames', '')), + Latitude = column_ifexists('any_location_latitude_d', ''), + Longitude = column_ifexists('any_location_longitude_d', ''), + EventLocationName = column_ifexists('any_location_name_s', ''), + EventLocationPlace = column_ifexists('any_location_places_s', ''), + EventLocationProbability = column_ifexists('any_location_probability_d', ''), + EventLocationRadius = column_ifexists('any_location_radius_d', ''), + EventSource = column_ifexists('any_headlineData_via_s', ''), + EventTime = column_ifexists('any_timestamp_d', ''), + EventVolume = column_ifexists('any_volume_d', ''), + EmbeddedLabels = column_ifexists('any__embedded_labels_s', ''), + PostLanguagae = column_ifexists('any_odsStatus_languages_s', ''), + PostLink = column_ifexists('any_odsStatus_link_s', ''), + PostMedia = column_ifexists('any_odsStatus_media_s', ''), + PostText = column_ifexists('any_odsStatus_text_s', ''), + PostTimestamp = column_ifexists('any_odsStatus_timestamp_d', ''), + PostTranslatedText = column_ifexists('any_odsStatus_translatedText_s', ''), + PublisherCategoryName = column_ifexists('any_publisherCategory_name_s', ''), + RelatedTerms = column_ifexists('any_referenceTerms_s', ''), + Sectors = column_ifexists('any_sectors_s', ''), + SourceChannels = column_ifexists('any_odsStatus_source_channels_s', ''), + SourceDisplayName = column_ifexists('any_odsStatus_source_display_name_s', ''), + SourceEntityName = column_ifexists('any_odsStatus_source_entity_name_s', ''), + SourceLink = column_ifexists('any_odsStatus_source_link_s', ''), + SourceVerified = column_ifexists('any_odsStatus_source_verified_s', ''), + SubCaptionBulletsContent = column_ifexists('any_dataMap_bullets_content_s', ''), + SubCaptionBulletsMedia = column_ifexists('any_dataMap_bullets_media_s', ''), + SubCaptionBulletsSource = column_ifexists('any_dataMap_bullets_source_s', ''), + WatchlistsMatchedByType = column_ifexists('any_watchlistsMatchedByType_s', ''), + WatchlistNames = tostring(column_ifexists('any_WatchlistNames', '')) + | project-rename TimeGenerated = any_TimeGenerated + | project + TimeGenerated, + EventVendor, + EventProduct, + AlertId, + AlertType, + AvailableRelatedAlerts, + Caption, + Company, + CompanyNames, + Category, + CategoryNames, + Latitude, + Longitude, + EventLocationName, + EventLocationPlace, + EventLocationProbability, + EventLocationRadius, + EventSource, + EventTime, + EventVolume, + EmbeddedLabels, + PostLanguagae, + PostLink, + PostMedia, + PostText, + PostTimestamp, + PostTranslatedText, + PublisherCategoryName, + RelatedTerms, + Sectors, + SourceChannels, + SourceDisplayName, + SourceEntityName, + SourceLink, + SourceVerified, + SubCaptionBulletsContent, + SubCaptionBulletsMedia, + SubCaptionBulletsSource, + WatchlistsMatchedByType, + WatchlistNames + }; + DataminrPulseAlerts_view \ No newline at end of file diff --git a/Solutions/Dataminr Pulse/Parsers/DataminrPulseCyberAlerts.yaml b/Solutions/Dataminr Pulse/Parsers/DataminrPulseCyberAlerts.yaml new file mode 100644 index 00000000000..13ccee70174 --- /dev/null +++ b/Solutions/Dataminr Pulse/Parsers/DataminrPulseCyberAlerts.yaml @@ -0,0 +1,105 @@ +id: 922c64bb-819b-4e3f-811a-0dfbff8eb667 +Function: + Title: Parser for DataminrPulseCyberAlerts + Version: '1.0.0' + LastUpdated: '2023-09-01' +Category: Microsoft Sentinel Parser +FunctionName: DataminrPulseCyberAlerts +FunctionAlias: DataminrPulseCyberAlerts +FunctionQuery: | + let DataminrPulseCyberAlerts_view = view() { + DataminrPulse_Alerts_CL + | mv-expand todynamic(watchlistsMatchedByType_s) + | extend property = watchlistsMatchedByType_s["userProperties"] + | where property["uiListType"] == "CYBER" + | extend category = parse_json(categories_s) + | mv-apply category on (summarize CategoryNames = make_list(category.name)) + | extend company = parse_json(companies_s) + | mv-apply company on (summarize CompanyNames = make_list(company.name)) + | extend watchlist = parse_json(watchlistsMatchedByType_s) + | mv-apply watchlist on (summarize WatchlistNames = make_list(watchlist.name)) + | summarize any(*) by index_s + | extend + EventVendor="Dataminr", + EventProduct="Pulse", + AlertId = column_ifexists('index_s', ''), + AlertType = column_ifexists('any_alertType_name_s', ''), + AvailableRelatedAlerts = column_ifexists('any_availableRelatedAlerts_d', ''), + Caption = column_ifexists('any_headline_s', ''), + Company = column_ifexists('any_companies_s', ''), + CompanyNames = tostring(column_ifexists('any_CompanyNames', '')), + Category = column_ifexists('any_categories_s', ''), + CategoryNames = tostring(column_ifexists('any_CategoryNames', '')), + Latitude = column_ifexists('any_location_latitude_d', ''), + Longitude = column_ifexists('any_location_longitude_d', ''), + EventLocationName = column_ifexists('any_location_name_s', ''), + EventLocationPlace = column_ifexists('any_location_places_s', ''), + EventLocationProbability = column_ifexists('any_location_probability_d', ''), + EventLocationRadius = column_ifexists('any_location_radius_d', ''), + EventSource = column_ifexists('any_headlineData_via_s', ''), + EventTime = column_ifexists('any_timestamp_d', ''), + EventVolume = column_ifexists('any_volume_d', ''), + EmbeddedLabels = column_ifexists('any__embedded_labels_s', ''), + PostLanguagae = column_ifexists('any_odsStatus_languages_s', ''), + PostLink = column_ifexists('any_odsStatus_link_s', ''), + PostMedia = column_ifexists('any_odsStatus_media_s', ''), + PostText = column_ifexists('any_odsStatus_text_s', ''), + PostTimestamp = column_ifexists('any_odsStatus_timestamp_d', ''), + PostTranslatedText = column_ifexists('any_odsStatus_translatedText_s', ''), + PublisherCategoryName = column_ifexists('any_publisherCategory_name_s', ''), + RelatedTerms = column_ifexists('any_referenceTerms_s', ''), + Sectors = column_ifexists('any_sectors_s', ''), + SourceChannels = column_ifexists('any_odsStatus_source_channels_s', ''), + SourceDisplayName = column_ifexists('any_odsStatus_source_display_name_s', ''), + SourceEntityName = column_ifexists('any_odsStatus_source_entity_name_s', ''), + SourceLink = column_ifexists('any_odsStatus_source_link_s', ''), + SourceVerified = column_ifexists('any_odsStatus_source_verified_s', ''), + SubCaptionBulletsContent = column_ifexists('any_dataMap_bullets_content_s', ''), + SubCaptionBulletsMedia = column_ifexists('any_dataMap_bullets_media_s', ''), + SubCaptionBulletsSource = column_ifexists('any_dataMap_bullets_source_s', ''), + WatchlistsMatchedByType = column_ifexists('any_watchlistsMatchedByType_s', ''), + WatchlistNames = tostring(column_ifexists('any_WatchlistNames', '')) + | project-rename TimeGenerated = any_TimeGenerated + | project + TimeGenerated, + EventVendor, + EventProduct, + AlertId, + AlertType, + AvailableRelatedAlerts, + Caption, + Company, + CompanyNames, + CategoryNames, + Category, + Latitude, + Longitude, + EventLocationName, + EventLocationPlace, + EventLocationProbability, + EventLocationRadius, + EventSource, + EventTime, + EventVolume, + EmbeddedLabels, + PostLanguagae, + PostLink, + PostMedia, + PostText, + PostTimestamp, + PostTranslatedText, + PublisherCategoryName, + RelatedTerms, + Sectors, + SourceChannels, + SourceDisplayName, + SourceEntityName, + SourceLink, + SourceVerified, + SubCaptionBulletsContent, + SubCaptionBulletsMedia, + SubCaptionBulletsSource, + WatchlistsMatchedByType, + WatchlistNames + }; + DataminrPulseCyberAlerts_view \ No newline at end of file diff --git a/Solutions/Dataminr Pulse/Playbooks/DataminrPulseAlertEnrichment/Images/DataminrPulseAlertEnrichment.png b/Solutions/Dataminr Pulse/Playbooks/DataminrPulseAlertEnrichment/Images/DataminrPulseAlertEnrichment.png new file mode 100644 index 00000000000..cf1ab10063e Binary files /dev/null and b/Solutions/Dataminr Pulse/Playbooks/DataminrPulseAlertEnrichment/Images/DataminrPulseAlertEnrichment.png differ diff --git a/Solutions/Dataminr Pulse/Playbooks/DataminrPulseAlertEnrichment/README.md b/Solutions/Dataminr Pulse/Playbooks/DataminrPulseAlertEnrichment/README.md new file mode 100644 index 00000000000..26b9a20e787 --- /dev/null +++ b/Solutions/Dataminr Pulse/Playbooks/DataminrPulseAlertEnrichment/README.md @@ -0,0 +1,95 @@ +# Dataminr Pulse Alert Enrichment + +* [Summary](#Summary) +* [Prerequisites](#Prerequisites) +* [Deployment instructions](#Deployment-instructions) +* [Post-Deployment instructions](#Post-Deployment-instructions) + + +## Summary + +This playbook provides an end-to-end example of how alert enrichment works. This will extract the IP, Domain, HostName, URL or Hashes from the generated incident and call the Get alerts API of Dataminr Pulse to get the data associated with that parameter and enrich the incident by adding Dataminr Pulse alerts data as an incident comment. + +### Prerequisites + +1. Users must have a valid pair of Dataminr Pulse API Client ID and secret credentials. +2. Store client credentials in Key Vault and obtain keyvault name and tenantId. + * Create a Key Vault with unique name + * Go to KeyVault -> secrets -> Generate/import and create 'DataMinrPulse-clientId'& 'DataMinrPulse-clientSecret' to store client_id and client_secret respectively. Also create a secret named 'DataMinrPulse-DmaToken' to store dmaToken. + +### Deployment instructions + +1. To deploy the Playbook, click the Deploy to Azure button. This will launch the ARM Template deployment wizard. +2. Fill in the required parameters: + * Playbook Name: Enter the playbook name here + * Key Vault Name: Name of keyvault where secrets are stored. + * Tenant Id: TenantId of azure active directory where keyvault is located. + * BaseURL: Baseurl for your Dataminr account. + +[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https%3A%2F%2Fportal.azure.com%2F%23create%2FMicrosoft.Template%2Furi%2Fhttps%3A%2F%2Fraw.githubusercontent.com%2FAzure%2FAzure-Sentinel%2Fmaster%2FSolutions%2FDataminr%20Pulse%2FPlaybooks%2FDataminrPulseAlertEnrichment%2Fazuredeploy.json) [![Deploy to Azure](https://aka.ms/deploytoazuregovbutton)](https%3A%2F%2Fportal.azure.us%2F%23create%2FMicrosoft.Template%2Furi%2Fhttps%3A%2F%2Fraw.githubusercontent.com%2FAzure%2FAzure-Sentinel%2Fmaster%2FSolutions%2FDataminr%20Pulse%2FPlaybooks%2FDataminrPulseAlertEnrichment%2Fazuredeploy.json) + + +### Post-Deployment instructions + +#### a. Authorize connections + +Once deployment is complete, authorize each connection. + +1. Click the Keyvault connection resource +2. Click edit API connection +3. Click Authorize +4. Sign in +5. Click Save +6. Repeat steps for other connections + +#### b. Assign Role to add comment in incident + +After authorizing each connection, assign role to this playbook. + +1. Go to Log Analytics Workspace → → Access Control → Add +2. Add role assignment +3. Assignment type: Job function roles +4. Role: Microsoft Sentinel Contributor +5. Members: select managed identity for "assigned access to" and add your logic app as member. +6. Click on review+assign + +#### c. Add Access policy in Keyvault + +Add access policy for playbook's managed identity to read, write secrets of keyvault. + +1. Go to logic app → → identity → System assigned Managed identity and copied it. +2. Go to keyvaults → → Access policies → create. +3. Select all keys & secrets permissions. Click next. +4. In principal section, search by copied identity object ID. Click next. +5. Click review + create. + +#### d. Configurations in Microsoft Sentinel + +1. In Microsoft Sentinel, Configure the analytic rules to trigger an incident. + * Analytic Rule must contain atleast one of the below fields mapped in Custom Details to successfully run this playbook. + * DstDomain + * DstHostname + * DstIpAddr + * DstMacAddr + * SrcDomain + * SrcFileMD5 + * SrcFileSHA1 + * SrcFileSHA256 + * SrcFileSHA512 + * SrcHostname + * SrcIpAddr + * SrcMacAddr + * TargetFileMD5 + * TargetFileSHA1 + * TargetFileSHA256 + * TargetFileSHA512 + * Url +2. In Microsoft Sentinel, Configure the automation rules to trigger the playbook. + * Go to Microsoft Sentinel -> -> Automation + * Click on **Create** -> **Automation rule** + * Provide name for your rule + * In Analytic rule name condition, select analytic rule which you have created. + * In Actions dropdown select **Run playbook** + * In second dropdown select your deployed playbook + * Click on **Apply** + * Save the Automation rule. diff --git a/Solutions/Dataminr Pulse/Playbooks/DataminrPulseAlertEnrichment/azuredeploy.json b/Solutions/Dataminr Pulse/Playbooks/DataminrPulseAlertEnrichment/azuredeploy.json new file mode 100644 index 00000000000..76e596be754 --- /dev/null +++ b/Solutions/Dataminr Pulse/Playbooks/DataminrPulseAlertEnrichment/azuredeploy.json @@ -0,0 +1,2553 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "metadata": { + "title": "DataminrPulseAlertEnrichment", + "description": "This playbook provides an end-to-end example of how alert enrichment works. This will extract the IP, Domain, HostName, URL or Hashes from the generated incident and call the Get alerts API of Dataminr Pulse to get the data associated with that parameter and enrich the incident by adding Dataminr Pulse alerts data as an incident comment.", + "prerequisites": [ + "1. Users must have a valid pair of Dataminr Pulse API Client ID and secret credentials.", + "2. Store client credentials in Key Vault and obtain keyvault name and tenantId.", + "a. Create a Key Vault with unique name", + "b. Go to KeyVault -> secrets -> Generate/import and create 'DataMinrPulse-clientId'& 'DataMinrPulse-clientSecret' to store client_id and client_secret respectively. Also create a secret named 'DataMinrPulse-DmaToken' to store dmaToken." + ], + "postDeployment": [ + "**a. Authorize connections**", + "Once deployment is complete, authorize each connection.", + "1. Click the Keyvault connection resource", + "2. Click edit API connection", + "3. Click Authorize", + "4. Sign in", + "5. Click Save", + "6. Repeat steps for other connections", + "**b. Assign Role to add comment in incident**", + "After authorizing each connection, assign role to this playbook.", + "1. Go to Log Analytics Workspace → → Access Control → Add", + "2.Add role assignment", + "3.Assignment type: Job function roles", + "4.Role: Microsoft Sentinel Contributor", + "5.Members: select managed identity for assigned access to and add your logic app as member as shown in screenshot below", + "6.Click on review+assign", + "**c. Add Access policy in Keyvault**", + "Add access policy for playbook's managed identity to read, write secrets of keyvault.", + "1. Go to logic app → → identity → System assigned Managed identity and copied it.", + "2. Go to keyvaults → → Access policies → create.", + "3. Select all keys & secrets permissions. Click next.", + "4. In principal section, search by copied identity object ID. Click next.", + "5. Click review + create.", + "**d. Configurations in Sentinel**", + "1. In Microsoft sentinel, Configure the analytic rules to trigger an incident.", + "a. Analytic Rule must contain atleast one of the below fields mapped in Custom Details to successfully run this playbook.", + "DstDomain", + "DstHostname", + "DstIpAddr", + "DstMacAddr", + "SrcDomain", + "SrcFileMD5", + "SrcFileSHA1", + "SrcFileSHA256", + "SrcFileSHA512", + "SrcHostname", + "SrcIpAddr", + "SrcMacAddr", + "TargetFileMD5", + "TargetFileSHA1", + "TargetFileSHA256", + "TargetFileSHA512", + "Url", + "2. In Microsoft Sentinel, Configure the automation rules to trigger the playbook.", + "a. Go to Microsoft Sentinel -> -> Automation", + "b. Click on **Create** -> **Automation rule**", + "c. Provide name for your rule", + "d. In Analytic rule name condition, select analytic rule which you have created.", + "e. In Actions dropdown select **Run playbook**", + "f. In second dropdown select your deployed playbook", + "g. Click on **Apply**", + "h. Save the Automation rule." + ], + "entities": [ + "IP", + "Host", + "URL", + "FileHash" + ], + "tags": [ + "Dataminr", + "Pulse", + "alerting", + "enrichment" + ], + "lastUpdateTime": "2023-09-07T12:15:00Z", + "support": { + "tier": "community", + "armtemplate": "Generated from https://github.com/Azure/Azure-Sentinel/tree/master/Tools/Playbook-ARM-Template-Generator" + }, + "author": { + "name": "Dataminr" + } + }, + "parameters": { + "PlaybookName": { + "defaultValue": "DataminrPulseAlertEnrichment", + "type": "string" + }, + "azure key vault": { + "type": "string", + "defaultValue": "vault.azure", + "metadata": { + "description": "Enter value for azure key vault" + } + }, + "KeyVaultName": { + "type": "string", + "minLength": 1 + }, + "tenantId": { + "type": "string", + "minLength": 1 + }, + "BaseURL": { + "type": "string", + "minLength": 1, + "metadata": { + "description": "Enter baseurl for your Dataminr account.(e.g. https://gateway.dataminr.com/)" + } + } + }, + "variables": { + "MicrosoftSentinelConnectionName": "[concat('MicrosoftSentinel-', parameters('PlaybookName'))]", + "KeyvaultConnectionName": "[concat('Keyvault-', parameters('PlaybookName'))]" + }, + "resources": [ + { + "properties": { + "provisioningState": "Succeeded", + "state": "Enabled", + "definition": { + "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "$connections": { + "defaultValue": {}, + "type": "Object" + }, + "azure key vault": { + "type": "string", + "defaultValue": "[parameters('azure key vault')]" + } + }, + "triggers": { + "Microsoft_Sentinel_incident": { + "type": "ApiConnectionWebhook", + "inputs": { + "body": { + "callback_url": "@{listCallbackUrl()}" + }, + "host": { + "connection": { + "name": "@parameters('$connections')['azuresentinel']['connectionId']" + } + }, + "path": "/incident-creation" + } + } + }, + "actions": { + "For_Each_Alerts": { + "foreach": "@triggerBody()?['object']?['properties']?['Alerts']", + "actions": { + "Does_DstDomain_exist_in_the_incident": { + "actions": { + "Append_DstDomain_to_query_string": { + "runAfter": {}, + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['DstDomain'],',')" + } + } + }, + "runAfter": { + "Does_SrcDomain_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['DstDomain'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_DstHostname_exist_in_the_incident": { + "actions": { + "Append_DstHostname_to_query_string_": { + "runAfter": {}, + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['DstHostname'],',')" + } + } + }, + "runAfter": { + "Does_SrcHostname_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['DstHostname'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_DstIpAddr_exist_in_the_incident": { + "actions": { + "Append_DstIpAddr_to_query_string_": { + "runAfter": {}, + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['DstIpAddr'],',')" + } + } + }, + "runAfter": { + "Does_SrcIpAddr_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['DstIpAddr'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_DstMacAddr_exist_in_the_incident": { + "actions": { + "Append_DstMacAddr_to_query_string": { + "runAfter": {}, + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['DstMacAddr'],',')" + } + } + }, + "runAfter": { + "Does_SrcMacAddr_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['DstMacAddr'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_SrcDomain_exist_in_the_incident": { + "actions": { + "Append_SrcDomain_to_query_string": { + "runAfter": {}, + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcDomain'],',')" + } + } + }, + "runAfter": { + "Does_DstHostname_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcDomain'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_SrcFileMD5_exist_in_the_incident": { + "actions": { + "Append_SrcFileMD5_to_query_string": { + "runAfter": {}, + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcFileMD5'],',')" + } + } + }, + "runAfter": { + "Does_DstMacAddr_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcFileMD5'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_SrcFileSHA1_exist_in_the_incident": { + "actions": { + "Append_SrcFileSHA1_to_query_string": { + "runAfter": {}, + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcFileSHA1'],',')" + } + } + }, + "runAfter": { + "Does_TargetFileMD5_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcFileSHA1'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_SrcFileSHA256_exist_in_the_incident": { + "actions": { + "Append_SrcFileSHA256_to_query_string": { + "runAfter": {}, + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcFileSHA256'],',')" + } + } + }, + "runAfter": { + "Does_TargetFileSHA1_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcFileSHA256'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_SrcFileSHA512_exist_in_the_incident": { + "actions": { + "Append_SrcFileSHA512_to_query_string": { + "runAfter": {}, + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcFileSHA512'],',')" + } + } + }, + "runAfter": { + "Does_TargetFileSHA256_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcFileSHA512'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_SrcHostname_exist_in_the_incident": { + "actions": { + "Append_SrcHostname_to_query_string": { + "runAfter": {}, + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcHostname'],',')" + } + } + }, + "runAfter": { + "Does_DstIpAddr_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcHostname'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_SrcIpAddr_exist_in_the_incident": { + "actions": { + "Append_SrcIpAddr_to_query_string": { + "runAfter": {}, + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcIpAddr'],',')" + } + } + }, + "runAfter": { + "Parse_Alerts_Custom_Data_into_JSON": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcIpAddr'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_SrcMacAddr_exist_in_the_incident": { + "actions": { + "Append_SrcMacAddr_to_query_string": { + "runAfter": {}, + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcMacAddr'],',')" + } + } + }, + "runAfter": { + "Does_DstDomain_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['SrcMacAddr'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_TargetFileMD5_exist_in_the_incident": { + "actions": { + "Append_TargetFileMD5_to_query_string": { + "runAfter": {}, + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['TargetFileMD5'],',')" + } + } + }, + "runAfter": { + "Does_SrcFileMD5_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['TargetFileMD5'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_TargetFileSHA1_exist_in_the_incident": { + "actions": { + "Append_TargetFileSHA1_to_query_string": { + "runAfter": {}, + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['TargetFileSHA1'],',')" + } + } + }, + "runAfter": { + "Does_SrcFileSHA1_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['TargetFileSHA1'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_TargetFileSHA256_exist_in_the_incident": { + "actions": { + "Append_TargetFileSHA256_to_query_string": { + "runAfter": {}, + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['TargetFileSHA256'],',')" + } + } + }, + "runAfter": { + "Does_SrcFileSHA256_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['TargetFileSHA256'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_TargetFileSHA512_exist_in_the_incident": { + "actions": { + "Append_TargetFileSHA512_to_query_string": { + "runAfter": {}, + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['TargetFileSHA512'],',')" + } + } + }, + "runAfter": { + "Does_SrcFileSHA512_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['TargetFileSHA512'])", + false + ] + } + ] + }, + "type": "If" + }, + "Does_Url_exist_in_the_incident": { + "actions": { + "Append_Url_to_string_variable": { + "runAfter": {}, + "type": "AppendToStringVariable", + "inputs": { + "name": "query", + "value": "@concat(body('Parse_Alerts_Custom_Data_into_JSON')?['Url'],',')" + } + } + }, + "runAfter": { + "Does_TargetFileSHA512_exist_in_the_incident": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Custom_Data_into_JSON')?['Url'])", + false + ] + } + ] + }, + "type": "If" + }, + "Parse_Alerts_Custom_Data_into_JSON": { + "runAfter": {}, + "type": "ParseJson", + "inputs": { + "content": "@items('For_Each_Alerts')?['properties']?['additionalData']?['Custom Details']", + "schema": { + "properties": { + "DstDomain": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DstHostname": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DstIpAddr": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DstMacAddr": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SrcDomain": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SrcFileMD5": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SrcFileSHA1": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SrcFileSHA256": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SrcFileSHA512": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SrcHostname": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SrcIpAddr": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SrcMacAddr": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TargetFileMD5": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TargetFileSHA1": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TargetFileSHA256": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TargetFileSHA512": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + } + } + }, + "runAfter": { + "Initialize_categories": [ + "Succeeded" + ] + }, + "type": "Foreach", + "runtimeConfiguration": { + "concurrency": { + "repetitions": 1 + } + } + }, + "Get_ClientId": { + "runAfter": { + "For_Each_Alerts": [ + "Succeeded" + ] + }, + "type": "ApiConnection", + "inputs": { + "host": { + "connection": { + "name": "@parameters('$connections')['keyvault']['connectionId']" + } + }, + "method": "get", + "path": "/secrets/@{encodeURIComponent('DataMinrPulse-clientId')}/value" + }, + "runtimeConfiguration": { + "secureData": { + "properties": [ + "inputs", + "outputs" + ] + } + } + }, + "Get_ClientSecret": { + "runAfter": { + "Get_ClientId": [ + "Succeeded" + ] + }, + "type": "ApiConnection", + "inputs": { + "host": { + "connection": { + "name": "@parameters('$connections')['keyvault']['connectionId']" + } + }, + "method": "get", + "path": "/secrets/@{encodeURIComponent('DataMinrPulse-clientSecret')}/value" + }, + "runtimeConfiguration": { + "secureData": { + "properties": [ + "inputs", + "outputs" + ] + } + } + }, + "If_alerts_contain_data": { + "actions": { + "For_each_alert": { + "foreach": "@body('Parse_Alerts_Data_into_JSON')?['data']?['alerts']", + "actions": { + "Add_comment_to_incident_when_matching_alert_data_found": { + "runAfter": { + "If_cyber_metadata_contains_hashValues": [ + "Succeeded" + ] + }, + "type": "ApiConnection", + "inputs": { + "body": { + "incidentArmId": "@triggerBody()?['object']?['id']", + "message": "

alertId: @{items('For_each_alert')?['alertId']}
\neventTime: @{addToTime('1970-01-01T00:00:00Z',div(int(items('For_each_alert')?['eventTime']),1000),'second')}
\nwatchlistsMatchedByType:
@{variables('watchlistsMatchedByType')}
\nsource_channels : @{items('For_each_alert')?['source']?['channels']}
\ncaption : @{items('For_each_alert')?['caption']}
\nalertType : @{items('For_each_alert')?['alertType']?['id']}
\nrelated Terms: @{variables('relatedTermsText')}
\n
expandAlertURL: @{items('For_each_alert')?['expandAlertURL']}
\ncategories: @{variables('categories')}
\n
companies: @{variables('companies')}
\neventLocation related details
\n
coordinates: @{items('For_each_alert')?['eventLocation']?['coordinates']}
\n
name: @{items('For_each_alert')?['eventLocation']?['name']}
\n

\n
CYBER related metadata
\n
vulnerabilities : @{variables('vulnerabilities')}
\nip addresses : @{variables('ip')}
\nport :
@{variables('port')}
\nasns :
@{variables('asns')}
\norgs : @{items('For_each_alert')?['metadata']?['cyber']?['orgs']}
\nproducts : @{items('For_each_alert')?['metadata']?['cyber']?['products']}
\nURLs : @{items('For_each_alert')?['metadata']?['cyber']?['URLs']}
\nthreats : @{items('For_each_alert')?['metadata']?['cyber']?['threats']}
\nasOrgs : @{variables('asOrg')}
\nhashes :
@{variables('hashValues')}
\nMalwares : @{items('For_each_alert')?['metadata']?['cyber']?['malwares']}

" + }, + "host": { + "connection": { + "name": "@parameters('$connections')['azuresentinel']['connectionId']" + } + }, + "method": "post", + "path": "/Incidents/Comment" + } + }, + "If_alerts_contain_Companies": { + "actions": { + "For_each_companies": { + "foreach": "@items('For_each_alert')['companies']", + "actions": { + "Append_name_to_companies": { + "runAfter": {}, + "type": "AppendToArrayVariable", + "inputs": { + "name": "companies", + "value": "@if(contains(items('For_each_companies'),'name'),items('For_each_companies')?['name'],'')" + } + } + }, + "runAfter": {}, + "type": "Foreach" + } + }, + "runAfter": { + "If_alerts_contain_watchlistsMatchedByType_property": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@contains(items('For_each_alert'),'companies')", + true + ] + } + ] + }, + "type": "If" + }, + "If_alerts_contain_categories_property": { + "actions": { + "For_each_category": { + "foreach": "@items('For_each_alert')?['categories']", + "actions": { + "Append_name_to_categories": { + "runAfter": {}, + "type": "AppendToArrayVariable", + "inputs": { + "name": "categories", + "value": "@if(contains(items('For_each_category'),'name'),items('For_each_category')?['name'],'')" + } + } + }, + "runAfter": {}, + "type": "Foreach" + } + }, + "runAfter": { + "If_alerts_contain_related_Terms": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@contains(items('For_each_alert'),'categories')", + true + ] + } + ] + }, + "type": "If" + }, + "If_alerts_contain_related_Terms": { + "actions": { + "For_each_related_Terms": { + "foreach": "@items('For_each_alert')?['relatedTerms']", + "actions": { + "Append_text_to_relatedTermsText": { + "runAfter": {}, + "type": "AppendToArrayVariable", + "inputs": { + "name": "relatedTermsText", + "value": "@if(contains(items('For_each_related_Terms'),'text'),items('For_each_related_Terms')?['text'],'')" + } + }, + "Append_url_to_relatedTermsUrl": { + "runAfter": { + "Append_text_to_relatedTermsText": [ + "Succeeded" + ] + }, + "type": "AppendToArrayVariable", + "inputs": { + "name": "relatedTermsUrl", + "value": "@if(contains(items('For_each_related_Terms'),'url'),items('For_each_related_Terms')?['url'],'')" + } + } + }, + "runAfter": {}, + "type": "Foreach" + } + }, + "runAfter": {}, + "expression": { + "and": [ + { + "equals": [ + "@contains(items('For_each_alert'),'relatedTerms')", + true + ] + } + ] + }, + "type": "If" + }, + "If_alerts_contain_watchlistsMatchedByType_property": { + "actions": { + "For_each_watchlists": { + "foreach": "@items('For_each_alert')['watchlistsMatchedByType']", + "actions": { + "Append_name_to_watchlistsMatchedByType": { + "runAfter": {}, + "type": "AppendToArrayVariable", + "inputs": { + "name": "watchlistsMatchedByType", + "value": "@if(contains(items('For_each_watchlists'),'name'),items('For_each_watchlists')?['name'],'')" + } + } + }, + "runAfter": {}, + "type": "Foreach" + } + }, + "runAfter": { + "If_alerts_contain_categories_property": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@contains(items('For_each_alert'),'watchlistsMatchedByType')", + true + ] + } + ] + }, + "type": "If" + }, + "If_cyber_metadata_contains_addresses": { + "actions": { + "For_each_cyber_addresses": { + "foreach": "@items('For_each_alert')['metadata']['cyber']['addresses']", + "actions": { + "Set_ip": { + "runAfter": {}, + "type": "SetVariable", + "inputs": { + "name": "ip", + "value": "@{if(contains(items('For_each_cyber_addresses'),'ip'),items('For_each_cyber_addresses')?['ip'],'')}" + } + }, + "Set_port": { + "runAfter": { + "Set_ip": [ + "Succeeded" + ] + }, + "type": "SetVariable", + "inputs": { + "name": "port", + "value": "@{if(contains(items('For_each_cyber_addresses'),'port'),items('For_each_cyber_addresses')?['port'],'')}" + } + } + }, + "runAfter": {}, + "type": "Foreach" + } + }, + "runAfter": { + "If_alerts_contain_Companies": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@if(contains(items('For_each_alert'),'metadata'),if(contains(items('For_each_alert')?['metadata'],'cyber'),if(contains(items('For_each_alert')?['metadata']?['cyber'],'addresses'),true,false),false),false)", + true + ] + } + ] + }, + "type": "If" + }, + "If_cyber_metadata_contains_asOrgs": { + "actions": { + "For_each_asOrgs": { + "foreach": "@items('For_each_alert')?['metadata']?['cyber']?['asOrgs']", + "actions": { + "Append_asn_to_asns": { + "runAfter": {}, + "type": "AppendToArrayVariable", + "inputs": { + "name": "asns", + "value": "@if(contains(items('For_each_asOrgs'),'asn'),items('For_each_asOrgs')?['asn'],'')" + } + }, + "Append_to_array_variable": { + "runAfter": { + "Append_asn_to_asns": [ + "Succeeded" + ] + }, + "type": "AppendToArrayVariable", + "inputs": { + "name": "asOrg", + "value": "@if(contains(items('For_each_asOrgs'),'asOrg'),items('For_each_asOrgs')?['asOrg'],'')" + } + } + }, + "runAfter": {}, + "type": "Foreach" + } + }, + "runAfter": { + "Ifcyber_metadata_contains_vulnerabilities": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@if(contains(items('For_each_alert'),'metadata'),if(contains(items('For_each_alert')?['metadata'],'cyber'),if(contains(items('For_each_alert')?['metadata']?['cyber'],'asOrgs'),true,false),false),false)", + "@true" + ] + } + ] + }, + "type": "If" + }, + "If_cyber_metadata_contains_hashValues": { + "actions": { + "For_each_hashValues": { + "foreach": "@items('For_each_alert')?['metadata']?['cyber']?['hashValues']", + "actions": { + "Append_to_array_hashValues": { + "runAfter": {}, + "type": "AppendToArrayVariable", + "inputs": { + "name": "hashValues", + "value": "@if(contains(items('For_each_hashValues'),'value'),items('For_each_hashValues')?['value'],'')" + } + } + }, + "runAfter": {}, + "type": "Foreach" + } + }, + "runAfter": { + "If_cyber_metadata_contains_asOrgs": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@if(contains(items('For_each_alert'),'metadata'),if(contains(items('For_each_alert')?['metadata'],'cyber'),if(contains(items('For_each_alert')?['metadata']?['cyber'],'hashValues'),true,false),false),false)", + "@true" + ] + } + ] + }, + "type": "If" + }, + "Ifcyber_metadata_contains_vulnerabilities": { + "actions": { + "For_each_vulnerabilities": { + "foreach": "@items('For_each_alert')?['metadata']?['cyber']?['vulnerabilities']", + "actions": { + "Append_id_to_velnerabilities": { + "runAfter": {}, + "type": "AppendToArrayVariable", + "inputs": { + "name": "vulnerabilities", + "value": "@if(contains(items('For_each_vulnerabilities'),'id'),items('For_each_vulnerabilities')?['id'],'')" + } + } + }, + "runAfter": {}, + "type": "Foreach" + } + }, + "runAfter": { + "If_cyber_metadata_contains_addresses": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@if(contains(items('For_each_alert'),'metadata'),if(contains(items('For_each_alert')?['metadata'],'cyber'),if(contains(items('For_each_alert')?['metadata']?['cyber'],'vulnerabilities'),true,false),false),false)", + true + ] + } + ] + }, + "type": "If" + }, + "Set_asOrg_to_empty": { + "runAfter": { + "Set_asns_to_empty": [ + "Succeeded" + ] + }, + "type": "SetVariable", + "inputs": { + "name": "asOrg", + "value": "@null" + } + }, + "Set_asns_to_empty": { + "runAfter": { + "Set_vulnerabilities_to_empty": [ + "Succeeded" + ] + }, + "type": "SetVariable", + "inputs": { + "name": "asns", + "value": "@null" + } + }, + "Set_categories": { + "runAfter": { + "Add_comment_to_incident_when_matching_alert_data_found": [ + "Succeeded" + ] + }, + "type": "SetVariable", + "inputs": { + "name": "categories", + "value": "@null" + } + }, + "Set_companies_to_empty": { + "runAfter": { + "Set_relatedTermsUrl": [ + "Succeeded" + ] + }, + "type": "SetVariable", + "inputs": { + "name": "companies", + "value": "@null" + } + }, + "Set_hashValues_to_empty": { + "runAfter": { + "Set_asOrg_to_empty": [ + "Succeeded" + ] + }, + "type": "SetVariable", + "inputs": { + "name": "hashValues", + "value": "@null" + } + }, + "Set_relatedTermsText": { + "runAfter": { + "Set_categories": [ + "Succeeded" + ] + }, + "type": "SetVariable", + "inputs": { + "name": "relatedTermsText", + "value": "@null" + } + }, + "Set_relatedTermsUrl": { + "runAfter": { + "Set_relatedTermsText": [ + "Succeeded" + ] + }, + "type": "SetVariable", + "inputs": { + "name": "relatedTermsUrl", + "value": "@null" + } + }, + "Set_vulnerabilities_to_empty": { + "runAfter": { + "Set_watchlistsMatchedByType_to_empty": [ + "Succeeded" + ] + }, + "type": "SetVariable", + "inputs": { + "name": "vulnerabilities", + "value": "@null" + } + }, + "Set_watchlistsMatchedByType_to_empty": { + "runAfter": { + "Set_companies_to_empty": [ + "Succeeded" + ] + }, + "type": "SetVariable", + "inputs": { + "name": "watchlistsMatchedByType", + "value": "@null" + } + } + }, + "runAfter": {}, + "type": "Foreach", + "runtimeConfiguration": { + "concurrency": { + "repetitions": 1 + } + } + } + }, + "runAfter": { + "If_status_code_is_not_200": [ + "Succeeded" + ] + }, + "else": { + "actions": { + "Add_comment_to_incident_when_no_matching_alert_data_found": { + "runAfter": {}, + "type": "ApiConnection", + "inputs": { + "body": { + "incidentArmId": "@triggerBody()?['object']?['id']", + "message": "

No data found from DataminrPulse related to  query parameter : @{variables('query')}

" + }, + "host": { + "connection": { + "name": "@parameters('$connections')['azuresentinel']['connectionId']" + } + }, + "method": "post", + "path": "/Incidents/Comment" + } + } + } + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(body('Parse_Alerts_Data_into_JSON')?['data']?['alerts'])", + false + ] + } + ] + }, + "type": "If" + }, + "If_loop_exit_due_to_authentication_error": { + "actions": { + "Terminate_": { + "runAfter": {}, + "type": "Terminate", + "inputs": { + "runError": { + "code": "@{outputs('Generate_auth_token')['statusCode']}", + "message": "@variables('AuthErrorMessage')" + }, + "runStatus": "Failed" + } + } + }, + "runAfter": { + "Initialize_hashValues": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "equals": [ + "@empty(variables('AuthErrorMessage'))", + false + ] + } + ] + }, + "type": "If" + }, + "If_status_code_is_not_200": { + "actions": { + "Terminate": { + "runAfter": {}, + "type": "Terminate", + "inputs": { + "runError": { + "code": "@{outputs('Get_Alerts_from_Dataminr_Pulse_API')['statusCode']}", + "message": "@{body('Get_Alerts_from_Dataminr_Pulse_API')?['errors'][0]?['message']}" + }, + "runStatus": "Failed" + } + } + }, + "runAfter": { + "If_loop_exit_due_to_authentication_error": [ + "Succeeded" + ] + }, + "expression": { + "and": [ + { + "not": { + "equals": [ + "@outputs('Get_Alerts_from_Dataminr_Pulse_API')['statusCode']", + 200 + ] + } + } + ] + }, + "type": "If" + }, + "Initialize_AuthErrorMessage": { + "runAfter": { + "Initialize_ErrorMessage": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "AuthErrorMessage", + "type": "string" + } + ] + } + }, + "Initialize_BaseUrl": { + "runAfter": {}, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "BaseUrl", + "type": "string", + "value": "[parameters('BaseURL')]" + } + ] + } + }, + "Initialize_DmaTokenKey": { + "runAfter": { + "Initialize_AuthErrorMessage": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "DmaTokenKey", + "type": "string", + "value": "DataMinrPulse-DmaToken" + } + ] + } + }, + "Initialize_ErrorMessage": { + "runAfter": { + "Initialize_BaseUrl": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "ErrorMessage", + "type": "string" + } + ] + } + }, + "Initialize_ExpireTimeKey": { + "runAfter": { + "Initialize_RefreshTokenKey": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "ExpireTimeKey", + "type": "string", + "value": "DataMinrPulse-Expire" + } + ] + } + }, + "Initialize_KeyVaultName": { + "runAfter": { + "Initialize_ExpireTimeKey": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "KeyVaultName", + "type": "string", + "value": "[parameters('KeyVaultName')]" + } + ] + } + }, + "Initialize_RefreshTokenKey": { + "runAfter": { + "Initialize_DmaTokenKey": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "RefreshTokenKey", + "type": "string", + "value": "DataMinrPulse-RefreshToken" + } + ] + } + }, + "Initialize_asOrg": { + "runAfter": { + "Initialize_asns": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "asOrg", + "type": "array" + } + ] + } + }, + "Initialize_asns": { + "runAfter": { + "Initialize_vulnerabilities": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "asns", + "type": "array" + } + ] + } + }, + "Initialize_categories": { + "runAfter": { + "Initialize_relatedTermsText": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "categories", + "type": "array" + } + ] + } + }, + "Initialize_companies": { + "runAfter": { + "Initialize_watchlistsMatchedByType": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "companies", + "type": "array" + } + ] + } + }, + "Initialize_count": { + "runAfter": { + "Initialize_query": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "count", + "type": "integer", + "value": 2 + } + ] + } + }, + "Initialize_hashValues": { + "runAfter": { + "Initialize_asOrg": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "hashValues", + "type": "array" + } + ] + } + }, + "Initialize_ip": { + "runAfter": { + "Initialize_relatedTermsUrl": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "ip", + "type": "string" + } + ] + } + }, + "Initialize_port": { + "runAfter": { + "Initialize_ip": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "port", + "type": "string" + } + ] + } + }, + "Initialize_query": { + "runAfter": { + "Initialize_KeyVaultName": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "query", + "type": "string" + } + ] + } + }, + "Initialize_relatedTermsText": { + "runAfter": { + "Initialize_count": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "relatedTermsText", + "type": "array" + } + ] + } + }, + "Initialize_relatedTermsUrl": { + "runAfter": { + "Initialize_companies": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "relatedTermsUrl", + "type": "array" + } + ] + } + }, + "Initialize_vulnerabilities": { + "runAfter": { + "Initialize_port": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "vulnerabilities", + "type": "array" + } + ] + } + }, + "Initialize_watchlistsMatchedByType": { + "runAfter": { + "Until_retry_count_gets_0": [ + "Succeeded" + ] + }, + "type": "InitializeVariable", + "inputs": { + "variables": [ + { + "name": "watchlistsMatchedByType", + "type": "array" + } + ] + } + }, + "Until_retry_count_gets_0": { + "actions": { + "Get_Alerts_from_Dataminr_Pulse_API": { + "runAfter": { + "Get_DmaToken": [ + "Succeeded" + ] + }, + "type": "Http", + "inputs": { + "headers": { + "Authorization": "Dmauth @{body('Get_DmaToken')?['value']}" + }, + "method": "GET", + "queries": { + "alertversion": "14", + "query": "@variables('query')" + }, + "uri": "@{concat(variables('BaseUrl'),'api/3/alerts')}" + } + }, + "Get_DmaToken": { + "runAfter": {}, + "type": "ApiConnection", + "inputs": { + "host": { + "connection": { + "name": "@parameters('$connections')['keyvault']['connectionId']" + } + }, + "method": "get", + "path": "/secrets/@{encodeURIComponent('DataMinrPulse-DmaToken')}/value" + }, + "runtimeConfiguration": { + "secureData": { + "properties": [ + "inputs", + "outputs" + ] + } + } + }, + "_if_status_code_is_200": { + "actions": { + "Parse_Alerts_Data_into_JSON": { + "runAfter": {}, + "type": "ParseJson", + "inputs": { + "content": "@body('Get_Alerts_from_Dataminr_Pulse_API')", + "schema": { + "properties": { + "data": { + "properties": { + "alerts": { + "items": { + "properties": { + "alertId": { + "type": "string" + }, + "alertType": { + "properties": { + "color": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "availableRelatedAlerts": { + "type": "integer" + }, + "caption": { + "type": "string" + }, + "categories": { + "items": { + "properties": { + "id": { + "type": "string" + }, + "idStr": { + "type": "string" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "requested": { + "type": "string" + }, + "retired": { + "type": "boolean" + }, + "topicType": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "companies": { + "items": { + "properties": { + "dm_bucket": { + "items": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "dm_sector": { + "items": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "id": { + "type": "string" + }, + "idStr": { + "type": "string" + }, + "name": { + "type": "string" + }, + "retired": { + "type": "boolean" + }, + "ticker": { + "type": "string" + }, + "topicType": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "eventLocation": { + "properties": { + "coordinates": { + "items": { + "type": "number" + }, + "type": "array" + }, + "name": { + "type": "string" + }, + "places": { + "items": { + "type": "string" + }, + "type": "array" + }, + "probability": { + "type": "integer" + }, + "radius": { + "type": [ + "number", + "integer" + ] + } + }, + "type": "object" + }, + "eventMapLargeURL": { + "type": "string" + }, + "eventMapSmallURL": { + "type": "string" + }, + "eventTime": { + "type": "integer" + }, + "eventVolume": { + "type": "integer" + }, + "expandAlertURL": { + "type": "string" + }, + "expandMapURL": { + "type": "string" + }, + "headerColor": { + "type": "string" + }, + "headerLabel": { + "type": "string" + }, + "metadata": { + "properties": { + "cyber": { + "properties": { + "URLs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "addresses": { + "items": { + "properties": { + "ip": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "asOrgs": { + "items": { + "properties": { + "asOrg": { + "type": "string" + }, + "asn": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "asns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "hashValues": { + "items": { + "properties": { + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "hashes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "malwares": { + "items": { + "type": "string" + }, + "type": "array" + }, + "orgs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "products": { + "items": { + "properties": { + "productName": { + "type": "string" + }, + "productVendor": { + "type": "string" + } + }, + "type": [ + "object", + "string" + ] + }, + "type": "array" + }, + "threats": { + "items": { + "type": "string" + }, + "type": "array" + }, + "vulnerabilities": { + "items": { + "properties": { + "id": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "post": { + "properties": { + "languages": { + "items": { + "properties": { + "lang": { + "type": "string" + }, + "position": { + "type": "integer" + } + }, + "type": "object" + }, + "type": "array" + }, + "link": { + "type": "string" + }, + "media": { + "type": "array" + }, + "text": { + "type": "string" + }, + "timestamp": { + "type": "integer" + }, + "translatedText": { + "type": "string" + } + }, + "type": "object" + }, + "publisherCategory": { + "properties": { + "color": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "shortName": { + "type": "string" + } + }, + "type": "object" + }, + "relatedTerms": { + "items": { + "properties": { + "text": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "relatedTermsQueryURL": { + "type": "string" + }, + "sectors": { + "items": { + "properties": { + "id": { + "type": "string" + }, + "idStr": { + "type": "string" + }, + "name": { + "type": "string" + }, + "retired": { + "type": "boolean" + }, + "topicType": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "source": { + "properties": { + "channels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "verified": { + "type": "boolean" + } + }, + "type": "object" + }, + "subCaption": { + "properties": { + "bullets": { + "properties": { + "content": { + "type": "string" + }, + "media": { + "type": "string" + }, + "source": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "userRecentImages": { + "type": "array" + }, + "userTopHashtags": { + "type": "array" + }, + "watchlistsMatchedByType": { + "items": { + "properties": { + "externalTopicIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "userProperties": { + "properties": { + "omnilist": { + "type": "string" + }, + "uiListType": { + "type": "string" + }, + "watchlistColor": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "type": "array" + }, + "from": { + "type": "string" + }, + "to": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + } + } + }, + "Set_count_variable_to_0": { + "runAfter": { + "Parse_Alerts_Data_into_JSON": [ + "Succeeded" + ] + }, + "type": "SetVariable", + "inputs": { + "name": "count", + "value": 0 + } + } + }, + "runAfter": { + "Get_Alerts_from_Dataminr_Pulse_API": [ + "Succeeded", + "Failed" + ] + }, + "else": { + "actions": { + "_if_status_code_is_401": { + "actions": { + "Generate_auth_token": { + "runAfter": {}, + "type": "Http", + "inputs": { + "body": "client_id=@{body('Get_ClientId')?['value']}&client_secret=@{body('Get_ClientSecret')?['value']}&grant_type=api_key", + "headers": { + "Content-Type": "application/x-www-form-urlencoded" + }, + "method": "POST", + "uri": "@{concat(variables('BaseUrl'),'auth/2/token')}" + }, + "runtimeConfiguration": { + "secureData": { + "properties": [ + "outputs" + ] + } + } + }, + "If_Generate_auth_token_status_code_is_200": { + "actions": { + "If_Update_DmaToken_status_code_is_200": { + "actions": {}, + "runAfter": { + "Update_DmaToken_in_Keyvault": [ + "Succeeded", + "Failed" + ] + }, + "else": { + "actions": { + "Set_AuthErrorMessage_for_updating_DmaToken": { + "runAfter": {}, + "type": "SetVariable", + "inputs": { + "name": "AuthErrorMessage", + "value": "Error:@{body('Update_DmaToken_in_Keyvault')?['error']?['message']}" + } + }, + "Set_count_equals_to_0": { + "runAfter": { + "Set_AuthErrorMessage_for_updating_DmaToken": [ + "Succeeded" + ] + }, + "type": "SetVariable", + "inputs": { + "name": "count", + "value": 0 + } + } + } + }, + "expression": { + "and": [ + { + "equals": [ + "@outputs('Update_DmaToken_in_Keyvault')['statusCode']", + 200 + ] + } + ] + }, + "type": "If" + }, + "Parse_JSON": { + "runAfter": {}, + "type": "ParseJson", + "inputs": { + "content": "@body('Generate_auth_token')", + "schema": { + "properties": { + "dmaToken": { + "type": "string" + }, + "expire": { + "type": "integer" + }, + "refreshToken": { + "type": "string" + } + }, + "type": "object" + } + } + }, + "Update_DmaToken_in_Keyvault": { + "runAfter": { + "Parse_JSON": [ + "Succeeded" + ] + }, + "type": "Http", + "inputs": { + "authentication": { + "audience": "[concat('https://',parameters('azure key vault'),'.net')]", + "type": "ManagedServiceIdentity" + }, + "body": { + "value": "@{body('Parse_JSON')?['dmaToken']}" + }, + "method": "PUT", + "uri": "@{concat('https://',variables('KeyVaultName'),'.',parameters('azure key vault'),'.net/secrets/',body('Get_DmaToken')?['name'],'?api-version=7.2')}" + } + }, + "if_count_value_is_greater_than_0": { + "actions": { + "Decrement_count_by_1": { + "runAfter": {}, + "type": "DecrementVariable", + "inputs": { + "name": "count", + "value": 1 + } + } + }, + "runAfter": { + "If_Update_DmaToken_status_code_is_200": [ + "Succeeded", + "Failed", + "Skipped" + ] + }, + "expression": { + "and": [ + { + "greater": [ + "@variables('count')", + 0 + ] + } + ] + }, + "type": "If" + } + }, + "runAfter": { + "Generate_auth_token": [ + "Succeeded", + "Failed" + ] + }, + "else": { + "actions": { + "Set_ErrorMessage": { + "runAfter": {}, + "type": "SetVariable", + "inputs": { + "name": "AuthErrorMessage", + "value": "Message:@{body('Generate_auth_token')?['errors'][0]?['message']}" + } + }, + "Set_count_to_0_as_error_in_authentication": { + "runAfter": { + "Set_ErrorMessage": [ + "Succeeded" + ] + }, + "type": "SetVariable", + "inputs": { + "name": "count", + "value": 0 + } + } + } + }, + "expression": { + "and": [ + { + "equals": [ + "@outputs('Generate_auth_token')['statusCode']", + 200 + ] + } + ] + }, + "type": "If" + } + }, + "runAfter": {}, + "else": { + "actions": { + "Set_Errormessage_ofr_status_code_other_than_200_and_401": { + "runAfter": {}, + "type": "SetVariable", + "inputs": { + "name": "ErrorMessage", + "value": "Error:@{body('Get_Alerts_from_Dataminr_Pulse_API')?['errors'][0]?['message']}" + } + }, + "Set_retry_count_to_0": { + "runAfter": { + "Set_Errormessage_ofr_status_code_other_than_200_and_401": [ + "Succeeded" + ] + }, + "type": "SetVariable", + "inputs": { + "name": "count", + "value": 0 + } + } + } + }, + "expression": { + "and": [ + { + "equals": [ + "@outputs('Get_Alerts_from_Dataminr_Pulse_API')['statusCode']", + 401 + ] + } + ] + }, + "type": "If" + } + } + }, + "expression": { + "and": [ + { + "equals": [ + "@outputs('Get_Alerts_from_Dataminr_Pulse_API')['statusCode']", + 200 + ] + } + ] + }, + "type": "If" + } + }, + "runAfter": { + "Get_ClientSecret": [ + "Succeeded" + ] + }, + "expression": "@equals(variables('count'), 0)", + "limit": { + "count": 60, + "timeout": "PT1H" + }, + "type": "Until" + } + }, + "outputs": {} + }, + "parameters": { + "$connections": { + "value": { + "azuresentinel": { + "connectionId": "[resourceId('Microsoft.Web/connections', variables('MicrosoftSentinelConnectionName'))]", + "connectionName": "[variables('MicrosoftSentinelConnectionName')]", + "id": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Web/locations/', resourceGroup().location, '/managedApis/Azuresentinel')]", + "connectionProperties": { + "authentication": { + "type": "ManagedServiceIdentity" + } + } + }, + "keyvault": { + "connectionId": "[resourceId('Microsoft.Web/connections', variables('KeyvaultConnectionName'))]", + "connectionName": "[variables('KeyvaultConnectionName')]", + "id": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Web/locations/', resourceGroup().location, '/managedApis/Keyvault')]" + } + } + } + } + }, + "name": "[parameters('PlaybookName')]", + "type": "Microsoft.Logic/workflows", + "location": "[resourceGroup().location]", + "tags": { + "hidden-SentinelTemplateName": "DataminrPulseAlertEnrichment", + "hidden-SentinelTemplateVersion": "1.0" + }, + "identity": { + "type": "SystemAssigned" + }, + "apiVersion": "2019-05-01", + "dependsOn": [ + "[resourceId('Microsoft.Web/connections', variables('MicrosoftSentinelConnectionName'))]", + "[resourceId('Microsoft.Web/connections', variables('KeyvaultConnectionName'))]" + ] + }, + { + "type": "Microsoft.Web/connections", + "apiVersion": "2016-06-01", + "name": "[variables('MicrosoftSentinelConnectionName')]", + "location": "[resourceGroup().location]", + "kind": "V1", + "properties": { + "displayName": "[variables('MicrosoftSentinelConnectionName')]", + "customParameterValues": {}, + "parameterValueType": "Alternative", + "api": { + "id": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Web/locations/', resourceGroup().location, '/managedApis/Azuresentinel')]" + } + } + }, + { + "type": "Microsoft.Web/connections", + "apiVersion": "2016-06-01", + "name": "[variables('KeyvaultConnectionName')]", + "location": "[resourceGroup().location]", + "kind": "V1", + "properties": { + "displayName": "[variables('KeyvaultConnectionName')]", + "customParameterValues": {}, + "api": { + "id": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Web/locations/', resourceGroup().location, '/managedApis/Keyvault')]" + }, + "parameterValues": { + "token:TenantId": "[parameters('tenantId')]", + "token:grantType": "code", + "vaultName": "[parameters('keyvaultName')]" + } + } + } + ] +} \ No newline at end of file diff --git a/Solutions/Dataminr Pulse/ReleaseNotes.md b/Solutions/Dataminr Pulse/ReleaseNotes.md new file mode 100644 index 00000000000..6875632b16f --- /dev/null +++ b/Solutions/Dataminr Pulse/ReleaseNotes.md @@ -0,0 +1,3 @@ +| **Version** | **Date Modified (DD-MM-YYYY)** | **Change History** | +|-------------|--------------------------------|---------------------------------------------| +| 3.0.0 | 14-07-2023 | Initial Version Release | \ No newline at end of file diff --git a/Solutions/Dataminr Pulse/SolutionMetadata.json b/Solutions/Dataminr Pulse/SolutionMetadata.json new file mode 100644 index 00000000000..859907c861d --- /dev/null +++ b/Solutions/Dataminr Pulse/SolutionMetadata.json @@ -0,0 +1,22 @@ +{ + "publisherId": "dataminr_pulse", + "offerId": "dataminr_sentinel", + "firstPublishDate": "2023-04-12", + "lastPublishDate": "2023-04-12", + "providers": [ + "Dataminr" + ], + "categories": { + "domains": [ + "Security - Others", + "Security - Threat Intelligence", + "Security - Automation (SOAR)" + ] + }, + "support": { + "name": "Dataminr Support", + "email": "support@dataminr.com", + "tier": "Partner", + "link": "https://www.dataminr.com/dataminr-support#support" + } +} \ No newline at end of file diff --git a/Solutions/Dataminr Pulse/Watchlists/DataminrPulse-Asset/DataminrPulseAsset.json b/Solutions/Dataminr Pulse/Watchlists/DataminrPulse-Asset/DataminrPulseAsset.json new file mode 100644 index 00000000000..a8bdaffd1f6 --- /dev/null +++ b/Solutions/Dataminr Pulse/Watchlists/DataminrPulse-Asset/DataminrPulseAsset.json @@ -0,0 +1,33 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "workspaceName": { + "type": "string", + "metadata": { + "description": "Workspace name for Log Analytics where Sentinel is setup." + } + } + }, + "resources": [ + { + "name": "[concat(parameters('workspaceName'), '/Microsoft.SecurityInsights/ReferenceTemplate')]", + "type": "Microsoft.OperationalInsights/workspaces/providers/Watchlists", + "properties": { + "displayName": "DataminrPulseAsset", + "watchlistAlias": "DataminrPulseAsset", + "source": "dataminr_asset_close_proximity_alerting.csv", + "description": "Watchlist contains data of assets to use in Close Proximity Overview dashboard.", + "provider": "Custom", + "isDeleted": false, + "defaultDuration": "P1000Y", + "contentType": "Text/Csv", + "numberOfLinesToSkip": 0, + "itemsSearchKey": "asset_name", + "rawContent": "asset_name, asset_type, asset_description, asset_lat, asset_long, alerting_distance_miles\r\nDataminr_Newyork,Office,Dataminr Inc.,135 Madison Ave Floor 10, New York, NY 10016,United States,40.745900,-73.983940,5\r\nDataminr_Bozeman,Office,Dataminr Inc.,131 W Main St, Unit D, Bozeman, MT 59715,45.6794878,-111.0398014,5\r\nDataminr_Virginia,Office,Dataminr Inc.,2101 Wilson Blvd #1002,Arlington, VA 22201,United States,38.8940199,-77.0683043,5\r\nDataminr_Dublin,Office,Dataminr Inc.,2 Windmill Lane,D02 K156, Dublin, Ireland,53.3458505,-6.245248,5\r\nDataminr_London,Office,Dataminr Inc.,10 York Rd, London SE1 7ND, UK,51.5037543,-0.1181606,5\r\nDataminr_Melbourne,Office,Dataminr Inc.,120 Spencer St, Melbourne VIC 3000, Australia,-37.8182119,144.9521438,5\r\nDataminr_Seattle,Office,Dataminr Inc.,925 4th Ave #11th, Seattle, WA 98104,47.6054854,-122.3354275,5" + }, + "apiVersion": "2022-08-01" + } + ] + } + \ No newline at end of file diff --git a/Solutions/Dataminr Pulse/Watchlists/DataminrPulse-VulnerableDomain/DataminrPulseVulnerableDomain.json b/Solutions/Dataminr Pulse/Watchlists/DataminrPulse-VulnerableDomain/DataminrPulseVulnerableDomain.json new file mode 100644 index 00000000000..a396dce2c98 --- /dev/null +++ b/Solutions/Dataminr Pulse/Watchlists/DataminrPulse-VulnerableDomain/DataminrPulseVulnerableDomain.json @@ -0,0 +1,32 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "workspaceName": { + "type": "string", + "metadata": { + "description": "Workspace name for Log Analytics where Sentinel is setup" + } + } + }, + "resources": [ + { + "name": "[concat(parameters('workspaceName'), '/Microsoft.SecurityInsights/ReferenceTemplate')]", + "type": "Microsoft.OperationalInsights/workspaces/providers/Watchlists", + "properties": { + "displayName": "DataminrPulseVulnerableDomain", + "watchlistAlias": "DataminrPulseVulnerableDomain", + "source": "dataminr_vulnerable_domains_30d.csv", + "description": "Watchlist contains data of vulnerable domains of Dataminr to use in IOC Overview dashboard.", + "provider": "Custom", + "isDeleted": false, + "defaultDuration": "P1000Y", + "contentType": "Text/Csv", + "numberOfLinesToSkip": 0, + "itemsSearchKey": "url", + "rawContent": "_time,domain,url,caption,company,source\r\n1678819858,000webhostapp.com,https://centers4f3ty67v3rific4ti0nc0mf1rm4t10n.0source00webhostapp.com/verifications-security-pages.php,Phishing URL detected impersonating Facebook: Local Source via urlscan.,Meta Platforms, Inc.,urlscan\r\n1678819910,amazonaws.com,ec2-175-41-177-135.ap-southeast-1.compute.amazonaws.com,Amazon Web Services IP 175.41.177.135 has open RDP port 3389: Local Source via Shodan.,Amazon Web Services, Inc.,Shodan\r\n1678819861,anaturaledit.co.uk,https://anaturaledit.co.uk/login.html?dozpufx=FHOwMm3Oe5wz6vzgjhEbSKgoX9TeV&oxvprhsis=UUhdLARKkboE1nwm9et&nohjyzal=Aq5U1zYzvKYhERjGv8D1JxSYh,Phishing URL detected impersonating Microsoft: Local Source via urlscan.,Microsoft Corporation,urlscan\r\n1678819858,co.nz,bestandlesstravel.co.nz,Rackspace IP 119.9.51.147 hosts server configuration with CVE(s): Local Source via Shodan.,Rackspace Hosting, Inc.,Shodan\r\n1678819901,columbia.edu,ds1.cs.columbia.edu,Columbia Sportswear IP 128.59.22.27 has exposed MongoDB database: Local Source via Shodan.,Columbia Sportswear Company,Shodan\r\n1678819879,com.au,ec2-3-104-52-84.ap-southeast-2.compute.amazonaws.com,Amazon IP 3.104.52.84 hosts server configuration with CVE(s): Local Source via Shodan.,Amazon.com, Inc.,Shodan\r\n1678810260,connectlon.org,https://connectlon.org/login,Phishing URL detected impersonating Microsoft: Local Source via urlscan.,Microsoft Corporation,urlscan\r\n1678819887,easynet.nl,213.201.230.reverse.easynet.nl,GTT Communications IP 213.201.230.96 hosts server configuration with CVE(s): Local Source via Shodan.,GTT Communications, Inc.,Shodan\r\n1678819860,filedn.com,https://filedn.com/lmtf06DxeexRuabg6razTLL/testoff%20(1).html,Phishing URL detected impersonating Microsoft: Local Source via urlscan.,Microsoft Corporation,urlscan\r\n1678819879,firebaseapp.com,https://business-page-appeal-19f1a.firebaseapp.com/,Phishing URL detected impersonating Facebook: Local Source via urlscan.,Meta Platforms, Inc.,urlscan\r\n1678819860,fleek.co,https://twilight-bonus-4110.on.fleek.co/support-closing.html,Phishing URL detected impersonating Microsoft: Local Source via urlscan.,Microsoft Corporation,urlscan\r\n1678819879,fleek.one,https://storageapi-stg.fleek.one/8837a275-8aca-4d7b-9c7f-25709249184e-bucket/way/wordindx.html,Phishing URL detected impersonating Microsoft: Local Source via urlscan.,Microsoft Corporation,urlscan\r\n1678819910,gassafetycerts.com,ec2-79-125-76-130.eu-west-1.compute.amazonaws.com,Amazon Web Services IP 79.125.76.130 hosts server configuration with CVE(s): Local Source via Shodan.,Amazon Web Services, Inc.,Shodan\r\n1678819888,googlefiber.net,136-36-82-15.googlefiber.net,Google IP 136.36.82.15 hosts server configuration with CVE(s): Local Source via Shodan.,Google LLC,Shodan\r\n1678819908,googleusercontent.com,15.56.64.34.bc.googleusercontent.com,Google IP 34.64.56.15 has exposed MySQL database: Local Source via Shodan.,Google LLC,Shodan\r\n1678819864,guesteasy.uk,http://guesteasy.uk/0000/quad/,Phishing URL detected impersonating Microsoft: Local Source via urlscan.,Microsoft Corporation,urlscan\r\n1678819875,inet.fi,mobile-user-c2fb13-242.dhcp.inet.fi,Telia Company IP 194.251.19.242 has exposed MS-SQL Server 2017 RTM database: Local Source via Shodan.,Telia Company AB (publ),Shodan\r\n1678819849,jblapps.com,oa.jblapps.com,Verizon IP 202.94.114.21 hosts server configuration with CVE(s): Local Source via Shodan.,Jabil Inc.,Shodan\r\n1678819859,jhadlkacoiwuz.co.vu,http://jhadlkacoiwuz.co.vu/Policies.html,Phishing URL detected impersonating Facebook: Local Source via urlscan.,Meta Platforms, Inc.,urlscan\r\n1678819905,kyivstar.net,94-153-188-61.mobile.kyivstar.net,Kyivstar IP 94.153.188.61 has exposed MySQL database: Local Source via Shodan.,VEON Ltd.,Shodan\r\n1678819842,leadcom.biz,https://leadcom.biz/godaddy/godaddy.php?user=,Phishing URL detected impersonating Godaddy: Local Source via urlscan.,GoDaddy Inc.,urlscan\r\n1678819844,llnw.net,lvp-029.phx7.llnw.net,Limelight Networks IP 68.142.64.87 hosts server configuration with CVE(s): Local Source via Shodan.,Limelight Networks, Inc.,Shodan\r\n1678819887,mirai.ne.jp,p211246.bsn.mirai.ne.jp,Mirai IP 210.172.211.246 has exposed PostgreSQL database: Local Source via Shodan.,Toyota Motor Corporation,Shodan\r\n1678819906,mitre.org,mrt-js.mitre.org,The MITRE Corporation IP 66.170.227.78 hosts server configuration with CVE(s): Local Source via Shodan.,The MITRE Corporation,Shodan\r\n1678819863,mystudywriters.com,https://mystudywriters.com/static/css/godaddy/godaddy.php?user=*@*,Phishing URL detected impersonating Godaddy: Local Source via urlscan.,GoDaddy Inc.,urlscan\r\n1678819845,negozialia.com,ec2-46-137-73-18.eu-west-1.compute.amazonaws.com,Amazon Web Services IP 46.137.73.18 hosts server configuration with CVE(s): Local Source via Shodan.,Amazon Web Services, Inc.,NULL\r\n1678819879,network-support.us,http://network-support.us/landing/form/4fc67c03-4ed5-4240-9ce9-14d9d4d33c02,Phishing URL detected impersonating Microsoft: Local Source via urlscan.,Microsoft Corporation,urlscan\r\n1678819885,oxford-union.org,speakers.oxford-union.org,Amazon Web Services IP 46.137.87.82 hosts server configuration with CVE(s): Local Source via Shodan.,Amazon Web Services, Inc.,Shodan\r\n1678819904,r2ceurope.com,153.vps.r2ceurope.com,VMware IP 185.69.233.145 hosts server configuration with CVE(s): Local Source via Shodan.,VMware, Inc.,Shodan\r\n1678819905,route-server.jp,b4kebweac120.route-server.jp,KDDI IP 180.235.234.120 has exposed MySQL database: Local Source via Shodan.,NULL,Shodan\r\n1678819842,sharestion.com,https://www.sharestion.com/gbr/73a29c01-4e78-437f-a0d4-c8553e1960c1/14ebb15a-e337-46a2-8cfc-e84e6ad3b319/4a07b645-7049-4161-ac15-d994427c31b9/login?id=a2dPQ0dqZkxYV1duc3crcHhqdE9iT2w4K0VHZkxMWTJVYjIzamV5N0NXZE9EcEhlYnJpbjd2NEJtRGNoQldicWpoOGo5dFVWalMvWFY2eXVFZmtOYW45RlNPbzRsT2FNZDhZVEdORkNBS3ZoMnUwNjlhcERZdTVaYTZJYUJwK2V4NEFUUTVGM0U1cmVjUCt1Qi9qVVNWTEJNSHNwUG05bExPblFvcWJOc3FpbEdoSkFTbXgwL3E2Um5TYzB1TEJBVndITXNJSk9heDNjbi82WXNTak92L1UreDZ1WXNGdGFNcTg0REc2L1BVT0dNbkRnN080YXFXRHI5TXlOdXJPZ3ZMNUJFUzliRDZqUE9iLzZCM2JLakIveVRhM2daNTUremVTTkpGQncrUGZOejdEMjQwaXlZMldsbWpMbUxkUURyWXZVYmRReUY5UzY1bHA4QzR1NVhTbXcrOG5lcVNaZzM5cGlGc0tmdExIWC9Bb3gzaVpSK04wR2xORE9TcWFx,Phishing URL detected impersonating Microsoft: Local Source via urlscan.,Microsoft Corporation,urlscan\r\n1678819889,sprintdatacenter.net,n8236h209.sprintdatacenter.net,Sprint data center IP 188.68.236.209 has exposed MS-SQL Server 2014 SP2 database: Local Source via Shodan.,Sprintex Limited,Shodan\r\n1678819890,steadfastdns.net,ip24.23-29-134.static.steadfastdns.net,Fortinet IP 23.29.134.24 hosts server configuration with CVE(s): Local Source via Shodan.,Fortinet, Inc.,Shodan\r\n1678819850,taica.family,ec2-176-32-71-215.ap-northeast-1.compute.amazonaws.com,Amazon Web Services IP 176.32.71.215 hosts server configuration with CVE(s): Local Source via Shodan.,Amazon Web Services, Inc.,Shodan\r\n1678819858,tiptoealaska.com,http://tiptoealaska.com/,Phishing URL detected impersonating Facebook: Local Source via urlscan.,Meta Platforms, Inc.,urlscan\r\n1678811471,trucktrax.biz,http://trucktrax.biz/,Phishing URL detected impersonating Facebook: Local Source via urlscan.,Meta Platforms, Inc.,urlscan\r\n1678819902,tylertech.com,tylertech.com,Tyler Technologies IP 207.182.213.172 hosts server configuration with CVE(s): Local Source via Shodan.,Tyler Technologies, Inc.,Shodan\r\n1678819875,verizonwireless.com,scspersonas-qe3-tdc.verizonwireless.com,Verizon IP 8.15.65.94 has SSL certificate expiring within 24 hours: Local Source via Shodan.,Verizon Communications Inc.,Shodan\r\n1678819848,wavenetuk.net,195-26-42-122.dsl.wavenetuk.net,Wavenet IP 195.26.42.122 has open Telnet port 23: Local Source via Shodan.,DEEPMIND TECHNOLOGIES LIMITED,Shodan\r\n1678819880,web.app,https://business-page-appeal-12e2c.web.app/,Phishing URL detected impersonating Facebook: Local Source via urlscan.,Meta Platforms, Inc.,urlscan\r\n1678819892,ziggo.nl,84-25-193-69.cable.dynamic.v4.ziggo.nl,Ziggo IP 84.25.193.69 has exposed PostgreSQL database: Local Source via Shodan.,VodafoneZiggo Group B.V.,Shodan\r\n" + }, + "apiVersion": "2022-08-01" + } + ] +} diff --git a/Solutions/Dataminr Pulse/Watchlists/DataminrPulse-VulnerableHash/DataminrPulseVulnerableHash.json b/Solutions/Dataminr Pulse/Watchlists/DataminrPulse-VulnerableHash/DataminrPulseVulnerableHash.json new file mode 100644 index 00000000000..c7d42568bbe --- /dev/null +++ b/Solutions/Dataminr Pulse/Watchlists/DataminrPulse-VulnerableHash/DataminrPulseVulnerableHash.json @@ -0,0 +1,33 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "workspaceName": { + "type": "string", + "metadata": { + "description": "Workspace name for Log Analytics where Sentinel is setup" + } + } + }, + "resources": [ + { + "name": "[concat(parameters('workspaceName'), '/Microsoft.SecurityInsights/ReferenceTemplate')]", + "type": "Microsoft.OperationalInsights/workspaces/providers/Watchlists", + "properties": { + "displayName": "DataminrPulseVulnerableHash", + "watchlistAlias": "DataminrPulseVulnerableHash", + "source": "dataminr_vulnerable_hashes_30d.csv", + "description": "Watchlist contains data of vulnerable hashes of Dataminr to use in IOC Overview dashboard.", + "provider": "Custom", + "isDeleted": false, + "defaultDuration": "P1000Y", + "contentType": "Text/Csv", + "numberOfLinesToSkip": 0, + "itemsSearchKey": "hash", + "rawContent": "hash,caption,_time,source\r\n3f7eae6cc61fdc2553a2acdede69be84945a7a724b632dea3ff8466f74b56249,Sample of android malware GodFather impersonating MYT Music app to target Turkish users detected and analyzed: Blog via VirusTotal.,1671560525,VirusTotal\r\n" + }, + "apiVersion": "2022-08-01" + } + ] + } + \ No newline at end of file diff --git a/Solutions/Dataminr Pulse/Watchlists/DataminrPulse-VulnerableIp/DataminrPulseVulnerableIp.json b/Solutions/Dataminr Pulse/Watchlists/DataminrPulse-VulnerableIp/DataminrPulseVulnerableIp.json new file mode 100644 index 00000000000..f86995ca0bf --- /dev/null +++ b/Solutions/Dataminr Pulse/Watchlists/DataminrPulse-VulnerableIp/DataminrPulseVulnerableIp.json @@ -0,0 +1,32 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "workspaceName": { + "type": "string", + "metadata": { + "description": "Workspace name for Log Analytics where Sentinel is setup" + } + } + }, + "resources": [ + { + "name": "[concat(parameters('workspaceName'), '/Microsoft.SecurityInsights/ReferenceTemplate')]", + "type": "Microsoft.OperationalInsights/workspaces/providers/Watchlists", + "properties": { + "displayName": "DataminrPulseVulnerableIp", + "watchlistAlias": "DataminrPulseVulnerableIp", + "source": "dataminr_vulnerable_ips_30d.csv", + "description": "Watchlist contains data of vulnerable ips of Dataminr to use in IOC Overview dashboard.", + "provider": "Custom", + "isDeleted": false, + "defaultDuration": "P1000Y", + "contentType": "Text/Csv", + "numberOfLinesToSkip": 0, + "itemsSearchKey": "ip", + "rawContent": "ip,_time,caption,company\r\n119.9.46.78,1678819861,Rackspace IP 119.9.46.78 hosts server configuratiServiceson with CVE(s): Local Source via Shodan.,Rackspace Hosting, Inc.\r\n119.9.51.147,1678819858,Rackspace IP 119.9.51.147 hosts server configuration with CVE(s): Local Source via Shodan.,Rackspace Hosting, Inc.\r\n122.248.205.188,1678819876,Amazon Web Services IP 122.248.205.188 hosts server configuration with CVE(s): Local Source via Shodan.,Amazon Web Services, Inc.\r\n128.59.22.27,1678819901,Columbia Sportswear IP 128.59.22.27 has exposed MongoDB database: Local Source via Shodan.,Columbia Sportswear Company\r\n13.124.104.139,1678819887,Amazon Web Services IP 13.124.104.139 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n13.124.15.202,1678819887,Amazon Web Services IP 13.124.15.202 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n13.125.134.248,1678819904,Amazon Web Services IP 13.125.134.248 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n13.125.61.135,1678819886,Amazon Web Services IP 13.125.61.135 has exposed PostgreSQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n13.209.157.214,1678819907,Amazon Web Services IP 13.209.157.214 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n13.209.212.118,1678819910,Amazon Web Services IP 13.209.212.118 has exposed PostgreSQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n13.209.58.95,1678819886,Amazon Web Services IP 13.209.58.95 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n13.236.26.207,1678819863,Amazon IP 13.236.26.207 has exposed MS-SQL Server 2017 CU19 database: Local Source via Shodan.,Amazon.com, Inc.\r\n13.238.230.228,1678819876,Amazon IP 13.238.230.228 has exposed MySQL database: Local Source via Shodan.,Amazon.com, Inc.\r\n13.54.80.13,1678819889,Amazon IP 13.54.80.13 has exposed MySQL database: Local Source via Shodan.,Amazon.com, Inc.\r\n136.36.82.15,1678819888,Google IP 136.36.82.15 hosts server configuration with CVE(s): Local Source via Shodan.,Google LLC\r\n147.161.131.98,1678819910,Zscaler IP 147.161.131.98 has open Memcached port 11211: Local Source via Shodan.,Zscaler, Inc.\r\n149.18.115.9,1678819849,AT&T IP 149.18.115.9 has exposed MS-SQL Server 2022 CTP1.0+ database: Local Source via Shodan.,AT&T Inc.\r\n149.18.118.63,1678819850,AT&T IP 149.18.118.63 has exposed MS-SQL Server 2022 CTP1.0+ database: Local Source via Shodan.,AT&T Inc.\r\n149.18.119.207,1678819901,AT&T IP 149.18.119.207 has exposed MS-SQL Server 2022 CTP1.0+ database: Local Source via Shodan.,AT&T Inc.\r\n149.18.119.238,1678819903,AT&T IP 149.18.119.238 has exposed MS-SQL Server 2022 CTP1.0+ database: Local Source via Shodan.,AT&T Inc.\r\n149.18.124.59,1678819875,AT&T IP 149.18.124.59 has exposed MS-SQL Server 2022 CTP1.0+ database: Local Source via Shodan.,AT&T Inc.\r\n149.18.125.143,1678819864,AT&T IP 149.18.125.143 has exposed MS-SQL Server 2022 CTP1.0+ database: Local Source via Shodan.,AT&T Inc.\r\n149.18.127.170,1678819909,AT&T IP 149.18.127.170 has exposed MS-SQL Server 2022 CTP1.0+ database: Local Source via Shodan.,AT&T Inc.\r\n15.164.118.15,1678819847,Amazon Web Services IP 15.164.118.15 has exposed MS-SQL Server 2019 CU8 database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n15.164.129.2,1678819893,Amazon Web Services IP 15.164.129.2 has exposed MongoDB database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n15.164.15.11,1678819841,Amazon Web Services IP 15.164.15.11 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n15.164.199.202,1678819859,Amazon Web Services IP 15.164.199.202 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n15.165.176.124,1678819890,Amazon Web Services IP 15.165.176.124 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n15.165.242.79,1678819906,Amazon Web Services IP 15.165.242.79 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n175.41.138.27,1678819906,Amazon Web Services IP 175.41.138.27 has exposed PostgreSQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n175.41.147.118,1678819903,Amazon Web Services IP 175.41.147.118 hosts server configuration with CVE(s): Local Source via Shodan.,Amazon Web Services, Inc.\r\n175.41.177.135,1678819910,Amazon Web Services IP 175.41.177.135 has open RDP port 3389: Local Source via Shodan.,Amazon Web Services, Inc.\r\n175.41.246.120,1678819893,Amazon Web Services IP 175.41.246.120 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n176.32.71.215,1678819850,Amazon Web Services IP 176.32.71.215 hosts server configuration with CVE(s): Local Source via Shodan.,Amazon Web Services, Inc.\r\n180.235.234.120,1678819905,KDDI IP 180.235.234.120 has exposed MySQL database: Local Source via Shodan.,NULL\r\n185.180.12.68,1678819858,Phishing URL detected impersonating Microsoft: Local Source via urlscan.,Microsoft Corporation\r\n185.59.220.194,1678819879,Phishing URL detected impersonating Microsoft: Local Source via urlscan.,Microsoft Corporation\r\n185.69.233.145,1678819904,VMware IP 185.69.233.145 hosts server configuration with CVE(s): Local Source via Shodan.,VMware, Inc.\r\n188.68.236.209,1678819889,Sprint data center IP 188.68.236.209 has exposed MS-SQL Server 2014 SP2 database: Local Source via Shodan.,Sprintex Limited\r\n194.251.19.242,1678819875,Telia Company IP 194.251.19.242 has exposed MS-SQL Server 2017 RTM database: Local Source via Shodan.,Telia Company AB (publ)\r\n195.26.42.122,1678819848,Wavenet IP 195.26.42.122 has open Telnet port 23: Local Source via Shodan.,DEEPMIND TECHNOLOGIES LIMITED\r\n202.159.8.148,1678819850,Microsoft IP 202.159.8.148 hosts server configuration with CVE(s): Local Source via Shodan.,Microsoft Corporation\r\n202.94.114.21,1678819849,Verizon IP 202.94.114.21 hosts server configuration with CVE(s): Local Source via Shodan.,Jabil Inc.\r\n206.62.165.185,1678819846,Matrix IP 206.62.165.185 has exposed MySQL database: Local Source via Shodan.,Toyota Motor Corporation\r\n207.182.213.172,1678819902,Tyler Technologies IP 207.182.213.172 hosts server configuration with CVE(s): Local Source via Shodan.,Tyler Technologies, Inc.\r\n210.172.211.246,1678819887,Mirai IP 210.172.211.246 has exposed PostgreSQL database: Local Source via Shodan.,Toyota Motor Corporation\r\n213.201.230.96,1678819887,GTT Communications IP 213.201.230.96 hosts server configuration with CVE(s): Local Source via Shodan.,GTT Communications, Inc.\r\n213.71.13.147,1678819864,Verizon IP 213.71.13.147 hosts server configuration with CVE(s): Local Source via Shodan.,Verizon Communications Inc.\r\n23.109.93.100,1678819860,Phishing URL detected impersonating Microsoft: Local Source via urlscan.,Microsoft Corporation\r\n23.228.187.201,1678819877,Google IP 23.228.187.201 hosts server configuration with CVE(s): Local Source via Shodan.,Google LLC\r\n23.29.134.24,1678819890,Fortinet IP 23.29.134.24 hosts server configuration with CVE(s): Local Source via Shodan.,Fortinet, Inc.\r\n3.104.237.239,1678819888,Amazon IP 3.104.237.239 has exposed PostgreSQL database: Local Source via Shodan.,Amazon.com, Inc.\r\n3.104.52.84,1678819879,Amazon IP 3.104.52.84 hosts server configuration with CVE(s): Local Source via Shodan.,Amazon.com, Inc.\r\n3.106.51.243,1678819893,Amazon IP 3.106.51.243 has exposed MySQL database: Local Source via Shodan.,Amazon.com, Inc.\r\n3.217.14.223,1678819879,Phishing URL detected impersonating Microsoft: Local Source via urlscan.,Microsoft Corporation\r\n3.24.249.113,1678819849,Amazon IP 3.24.249.113 has exposed MySQL database: Local Source via Shodan.,Amazon.com, Inc.\r\n3.34.0.4,1678819906,Amazon Web Services IP 3.34.0.4 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n3.34.15.214,1678819900,Amazon Web Services IP 3.34.15.214 has exposed PostgreSQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n3.34.231.79,1678819903,Amazon Web Services IP 3.34.231.79 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n3.34.70.32,1678819892,Amazon Web Services IP 3.34.70.32 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n3.34.86.214,1678819909,Amazon Web Services IP 3.34.86.214 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n3.34.98.152,1678819848,Amazon Web Services IP 3.34.98.152 has exposed MongoDB database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n3.35.191.42,1678819849,Amazon Web Services IP 3.35.191.42 has exposed PostgreSQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n3.35.247.137,1678810284,Amazon Web Services IP 3.35.247.137 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n3.35.54.62,1678819858,Amazon Web Services IP 3.35.54.62 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n3.37.202.208,1678819905,Amazon Web Services IP 3.37.202.208 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n3.38.55.14,1678819843,Amazon Web Services IP 3.38.55.14 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n3.39.26.110,1678819879,Amazon Web Services IP 3.39.26.110 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n3.39.70.101,1678819848,Amazon Web Services IP 3.39.70.101 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n3.39.83.10,1678819901,Amazon Web Services IP 3.39.83.10 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n3.39.88.211,1678819901,Amazon Web Services IP 3.39.88.211 has exposed PostgreSQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n34.101.186.137,1678819889,Google IP 34.101.186.137 hosts server configuration with CVE(s): Local Source via Shodan.,Google LLC\r\n34.101.219.45,1678819859,Google IP 34.101.219.45 has exposed PostgreSQL database: Local Source via Shodan.,Google LLC\r\n34.101.225.45,1678810262,Google IP 34.101.225.45 hosts server configuration with CVE(s): Local Source via Shodan.,Google LLC\r\n34.101.82.9,1678819902,Google IP 34.101.82.9 has exposed MySQL database: Local Source via Shodan.,Google LLC\r\n34.223.244.1,1678819858,Expedia IP 34.223.244.1 has exposed Elastic database: Local Source via Shodan.,Expedia Group, Inc.\r\n34.64.165.63,1678819867,Google IP 34.64.165.63 hosts server configuration with CVE(s): Local Source via Shodan.,Google LLC\r\n34.64.171.179,1678819887,Google IP 34.64.171.179 has SSL certificate expiring within 24 hours: Local Source via Shodan.,Google LLC\r\n34.64.233.209,1678819901,Google IP 34.64.233.209 has open RDP port 3389: Local Source via Shodan.,Google LLC\r\n34.64.56.15,1678819908,Google IP 34.64.56.15 has exposed MySQL database: Local Source via Shodan.,Google LLC\r\n35.219.4.100,1678819892,Google IP 35.219.4.100 has exposed MongoDB database: Local Source via Shodan.,Google LLC\r\n46.137.73.18,1678819846,Amazon Web Services IP 46.137.73.18 hosts server configuration with CVE(s): Local Source via Shodan.,Amazon Web Services, Inc.\r\n46.137.87.82,1678819885,Amazon Web Services IP 46.137.87.82 hosts server configuration with CVE(s): Local Source via Shodan.,Amazon Web Services, Inc.\r\n46.51.135.214,1678819847,Amazon Web Services IP 46.51.135.214 hosts server configuration with CVE(s): Local Source via Shodan.,Amazon Web Services, Inc.\r\n47.254.71.1,1678819859,Phishing URL detected impersonating Facebook: Local Source via urlscan.,Meta Platforms, Inc.\r\n52.78.153.43,1678819902,Amazon Web Services IP 52.78.153.43 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n52.78.58.206,1678810284,Amazon Web Services IP 52.78.58.206 has exposed PostgreSQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n52.79.161.41,1678819874,Amazon Web Services IP 52.79.161.41 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n52.79.75.171,1678819909,Amazon Web Services IP 52.79.75.171 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n54.180.56.82,1678819892,Amazon Web Services IP 54.180.56.82 has exposed PostgreSQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n54.180.96.177,1678819859,Amazon Web Services IP 54.180.96.177 has exposed MySQL database: Local Source via Shodan.,Amazon Web Services, Inc.\r\n65.154.226.14,1678819879,Palo Alto Networks IP 65.154.226.14 has open SMB port 445: Local Source via Shodan.,Palo Alto Networks, Inc.\r\n66.170.109.0,1678819906,VMware IP 66.170.109.0 has open RDP port 3389: Local Source via Shodan.,VMware, Inc.\r\n66.170.227.78,1678819906,The MITRE Corporation IP 66.170.227.78 hosts server configuration with CVE(s): Local Source via Shodan.,The MITRE Corporation\r\n66.29.128.152,1678819863,Phishing URL detected impersonating Godaddy: Local Source via urlscan.,GoDaddy Inc.\r\n68.142.64.87,1678819844,Limelight Networks IP 68.142.64.87 hosts server configuration with CVE(s): Local Source via Shodan.,Limelight Networks, Inc.\r\n69.49.244.24,1678819864,Phishing URL detected impersonating Microsoft: Local Source via urlscan.,Microsoft Corporation\r\n79.125.76.130,1678819910,Amazon Web Services IP 79.125.76.130 hosts server configuration with CVE(s): Local Source via Shodan.,Amazon Web Services, Inc.\r\n8.15.65.94,1678819875,Verizon IP 8.15.65.94 has SSL certificate expiring within 24 hours: Local Source via Shodan.,Verizon Communications Inc.\r\n83.246.46.51,1678819879,VMware IP 83.246.46.51 hosts server configuration with CVE(s): Local Source via Shodan.,VMware, Inc.\r\n84.25.193.69,1678819892,Ziggo IP 84.25.193.69 has exposed PostgreSQL database: Local Source via Shodan.,VodafoneZiggo Group B.V.\r\n94.153.188.61,1678819905,Kyivstar IP 94.153.188.61 has exposed MySQL database: Local Source via Shodan.,VEON Ltd.\r\n" + }, + "apiVersion": "2022-08-01" + } + ] +} diff --git a/Solutions/Dataminr Pulse/Watchlists/DataminrPulse-VulnerableMalware/DataminrPulseVulnerableMalware.json b/Solutions/Dataminr Pulse/Watchlists/DataminrPulse-VulnerableMalware/DataminrPulseVulnerableMalware.json new file mode 100644 index 00000000000..31a57022bb5 --- /dev/null +++ b/Solutions/Dataminr Pulse/Watchlists/DataminrPulse-VulnerableMalware/DataminrPulseVulnerableMalware.json @@ -0,0 +1,32 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "workspaceName": { + "type": "string", + "metadata": { + "description": "Workspace name for Log Analytics where Sentinel is setup" + } + } + }, + "resources": [ + { + "name": "[concat(parameters('workspaceName'), '/Microsoft.SecurityInsights/ReferenceTemplate')]", + "type": "Microsoft.OperationalInsights/workspaces/providers/Watchlists", + "properties": { + "displayName": "DataminrPulseVulnerableMalware", + "watchlistAlias": "DataminrPulseVulnerableMalware", + "source": "dataminr_vulnerable_malwares_30d.csv", + "description": "Watchlist contains data of vulnerable malwares of Dataminr to use in IOC Overview dashboard.", + "provider": "Custom", + "isDeleted": false, + "defaultDuration": "P1000Y", + "contentType": "Text/Csv", + "numberOfLinesToSkip": 0, + "itemsSearchKey": "malware", + "rawContent": "malware,caption,_time,hash,ip,source\r\nGodFather,Sample of android malware GodFather impersonating MYT Music app to tadeployingrget Turkish users detected and analyzed: Blog via VirusTotal.,1671560525,3f7eae6cc61fdc2553a2acdede69be84945a7a724b632dea3ff8466f74b56249,,VirusTotal\r\nGodFather,Sample of android malware GodFather impersonating as MYT Music app to target Turkish users detected and analyzed: Blog via VirusTotal.,1671553995,e67b8b78550396f542ded77d2118487ac1afb0d4ac6b70774889bbb4e6d88265,,VirusTotal\r\nOWASSRF,CrowdStrike shares tool to check logs for evidence of OWASSRF exploitation: Local Source via GitHub.,1671564801,,,GitHub\r\nPupy RAT,C2 server associated with threat actors deploying Pupy RAT malware by exploiting Windows Problem Reporting detected: Blog via VirusTotal.,1673020170,,103.79.76[.]40,VirusTotal\r\nW4SP Stealer,Hackers targeting PyPI Python package repository using W4SP Stealer malware hidden inside malicious packages to steal software developers' data: Blog via Bleeping Computer.,1671562554,,,Bleeping Computer\r\n" + }, + "apiVersion": "2022-08-01" + } + ] +} diff --git a/Solutions/Dataminr Pulse/Workbooks/DataminrPulseAlerts.json b/Solutions/Dataminr Pulse/Workbooks/DataminrPulseAlerts.json new file mode 100644 index 00000000000..d84eda1bccd --- /dev/null +++ b/Solutions/Dataminr Pulse/Workbooks/DataminrPulseAlerts.json @@ -0,0 +1,3549 @@ +{ + "version": "Notebook/1.0", + "items": [ + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "tabs", + "links": [ + { + "id": "da8b6813-e862-406d-be73-aed634a083a2", + "cellValue": "setTab", + "linkTarget": "parameter", + "linkLabel": "Alert Overview", + "subTarget": "Alert Overview", + "style": "link", + "linkIsContextBlade": true + }, + { + "id": "75b5e827-ff38-4252-bbd1-6beedbfe4534", + "cellValue": "setTab", + "linkTarget": "parameter", + "linkLabel": "Cyber Threat Overview", + "subTarget": "Cyber Threat Overview", + "style": "link" + }, + { + "id": "e4bdb76d-c81a-498f-b0ba-5130dba5d9ab", + "cellValue": "setTab", + "linkTarget": "parameter", + "linkLabel": "IOC Overview", + "subTarget": "IOC Overview", + "style": "link" + }, + { + "id": "d76fe7f8-78c7-4537-8de6-7d8a1d050478", + "cellValue": "setTab", + "linkTarget": "parameter", + "linkLabel": "Close Proximity Overview", + "subTarget": "Close Proximity Overview", + "style": "link" + }, + { + "id": "6de2158e-490d-4bed-85c4-f6e87706afc5", + "cellValue": "setTab", + "linkTarget": "parameter", + "linkLabel": "Alerts Drilldown", + "subTarget": "Alerts Drilldown", + "style": "link" + } + ] + }, + "name": "links - 13" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# Dataminr Alert Overview\r\n### Watchlists created in Dataminr" + }, + "name": "text - 0" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "9c52736d-df9f-4db2-a196-6395ba392fe2", + "version": "KqlParameterItem/1.0", + "name": "select_time_range", + "label": "Time Range", + "type": 4, + "isRequired": true, + "typeSettings": { + "selectableValues": [ + { + "durationMs": 300000 + }, + { + "durationMs": 900000 + }, + { + "durationMs": 1800000 + }, + { + "durationMs": 3600000 + }, + { + "durationMs": 14400000 + }, + { + "durationMs": 43200000 + }, + { + "durationMs": 86400000 + }, + { + "durationMs": 172800000 + }, + { + "durationMs": 259200000 + }, + { + "durationMs": 604800000 + }, + { + "durationMs": 1209600000 + }, + { + "durationMs": 2419200000 + }, + { + "durationMs": 2592000000 + }, + { + "durationMs": 5184000000 + }, + { + "durationMs": 7776000000 + } + ], + "allowCustom": true + }, + "timeContext": { + "durationMs": 86400000 + }, + "value": { + "durationMs": 86400000 + } + }, + { + "id": "21aeafb7-3429-4c8c-b74b-d296f0ce22b2", + "version": "KqlParameterItem/1.0", + "name": "watchlist", + "label": "Watchlist", + "type": 2, + "isRequired": true, + "quote": "'", + "delimiter": ",", + "query": "DataminrPulseCyberAlerts\r\n| mv-expand todynamic(WatchlistsMatchedByType)\r\n| where isnotempty(WatchlistsMatchedByType[\"name\"])\r\n| distinct tostring(WatchlistsMatchedByType[\"name\"])", + "typeSettings": { + "additionalResourceOptions": [ + "value::all" + ], + "selectAllValue": "*", + "showDefault": false + }, + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "select_time_range", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "value": "value::all" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "parameters - 1" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "Help", + "expandable": true, + "items": [ + { + "type": 1, + "content": { + "json": "This dashboards shows high level analytics about the Dataminr alerts from the selected Watchlist." + }, + "name": "text - 0" + } + ] + }, + "name": "Help" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts\r\n| where ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}')) and isnotempty(AlertType)\r\n| summarize distinct_count=dcount(AlertId) by AlertType\r\n| sort by distinct_count desc", + "size": 0, + "showAnalytics": true, + "title": "Alerts by Type", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "select_time_range", + "showRefreshButton": true, + "exportFieldName": "x", + "exportParameterName": "alert_type", + "exportDefaultValue": "None", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "categoricalbar", + "chartSettings": { + "xAxis": "AlertType", + "seriesLabelSettings": [ + { + "seriesName": "Urgent", + "color": "orange" + }, + { + "seriesName": "Alert", + "color": "yellow" + }, + { + "seriesName": "Flash", + "color": "redBright" + } + ], + "ySettings": { + "numberFormatSettings": { + "unit": 0, + "options": { + "style": "decimal", + "useGrouping": true + } + } + } + } + }, + "customWidth": "50", + "name": "Alerts by Type", + "styleSettings": { + "padding": "24px", + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts\r\n| where ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\r\n| mv-expand todynamic(Company)\r\n| extend companyName = tostring(Company[\"name\"])\r\n| where isnotempty(Company)\r\n| summarize Count=dcount(AlertId) by companyName\r\n| sort by Count desc", + "size": 3, + "showAnalytics": true, + "title": "Alerts by Company", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "select_time_range", + "showRefreshButton": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "piechart", + "chartSettings": { + "yAxis": [ + "Count" + ], + "group": "companyName", + "createOtherGroup": 10, + "ySettings": { + "numberFormatSettings": { + "unit": 0, + "options": { + "style": "decimal", + "useGrouping": true + } + } + } + } + }, + "customWidth": "50", + "name": "Alerts by Company", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 1, + "content": { + "json": "💡 _Click on a bars in the above 'Alert by Type' chart to view more details_" + }, + "name": "text - 10" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts\r\n| where ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\r\n and isnotempty(AlertType) and AlertType == '{alert_type}'\r\n| summarize count=dcount(AlertId) by AlertType", + "size": 4, + "showAnalytics": true, + "title": "Selected Alerts Type Data", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "select_time_range", + "showRefreshButton": true, + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "rowLimit": 10000 + } + }, + "conditionalVisibility": { + "parameterName": "alert_type", + "comparison": "isNotEqualTo", + "value": "None" + }, + "name": "query - 8", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "89d85ee2-81ec-42ed-bd7e-d8e7bcee1ab1", + "version": "KqlParameterItem/1.0", + "name": "Category_name", + "label": "Category Name", + "type": 2, + "isRequired": true, + "multiSelect": true, + "quote": "'", + "delimiter": ",", + "query": "DataminrPulseCyberAlerts \r\n| mv-expand todynamic(Category)\r\n| extend categories = tostring(Category[\"name\"])\r\n| where ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}')) and isnotempty(categories)\r\n| distinct categories\r\n", + "typeSettings": { + "additionalResourceOptions": [ + "value::all" + ], + "selectAllValue": "*", + "showDefault": false + }, + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "select_time_range", + "defaultValue": "value::all", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "value": [ + "value::all" + ] + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "parameters - 10" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts \r\n| mv-expand todynamic(Category)\r\n| extend Date = format_datetime(todatetime(TimeGenerated), 'yyyy-MM-dd'), CategoryName = tostring(Category[\"name\"])\r\n| where ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}')) and ('*' in ({Category_name}) or CategoryName in ({Category_name})) and isnotempty(CategoryName)\r\n| summarize Dcount=dcount(AlertId) by Date, CategoryName\r\n| project Date, Dcount, CategoryName\r\n| order by Date asc", + "size": 0, + "aggregation": 5, + "showAnalytics": true, + "title": "Alerts Trend", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "select_time_range", + "showRefreshButton": true, + "exportedParameters": [ + { + "fieldName": "x", + "parameterName": "date_Occurrence_Trend", + "parameterType": 1, + "defaultValue": "None" + }, + { + "fieldName": "series", + "parameterName": "CategoryName_Occurrence_Trend", + "parameterType": 1, + "defaultValue": "None" + } + ], + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "timechart", + "chartSettings": { + "xAxis": "Date", + "group": "CategoryName", + "createOtherGroup": 99, + "showDataPoints": true + } + }, + "customWidth": "50", + "name": "Alerts Trend", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts\r\n| where ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}')) and isnotempty(EventLocationName) and isnotempty(WatchlistsMatchedByType)\r\n| summarize dcount=dcount(AlertId) by Latitude, Longitude, EventLocationName\r\n| extend latlng = strcat(\"Latitude : \",Latitude,\"\\nLongitude : \",Longitude,\"\\nName : \",EventLocationName,\"\\nCount : \",dcount)\r\n| order by dcount desc", + "size": 0, + "showAnalytics": true, + "title": "Alerts by Location", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "select_time_range", + "showRefreshButton": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "map", + "graphSettings": { + "type": 0, + "topContent": { + "columnMatch": "lat", + "formatter": 1 + }, + "centerContent": { + "columnMatch": "countID", + "formatter": 1, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + } + }, + "mapSettings": { + "locInfo": "LatLong", + "latitude": "Latitude", + "longitude": "Longitude", + "sizeSettings": "dcount", + "sizeAggregation": "Sum", + "labelSettings": "latlng", + "legendMetric": "dcount", + "numberOfMetrics": 99, + "legendAggregation": "Sum", + "itemColorSettings": { + "nodeColorField": "dcount", + "colorAggregation": "Sum", + "type": "heatmap", + "heatmapPalette": "greenRed" + } + } + }, + "customWidth": "50", + "name": "Alerts by Location", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 1, + "content": { + "json": "💡 _Click on a data points in the above 'Alerts Trend' chart to view more details_" + }, + "customWidth": "45", + "name": "text - 11" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts \r\n| extend TimeGenerated = tostring(TimeGenerated), Channel = substring(SourceChannels,1,strlen(SourceChannels)-2), category = parse_json(Category), embededLabels = parse_json(EmbeddedLabels)\r\n| mv-apply category on (summarize Topics = make_list(category.name))\r\n| mv-apply embededLabels on (summarize addresses = make_list(embededLabels.addresses))\r\n| extend CategoryName = array_index_of(Topics,'{CategoryName_Occurrence_Trend}'), Date = format_datetime(todatetime(TimeGenerated), 'yyyy-MM-dd')\r\n| where TimeGenerated contains '{date_Occurrence_Trend}' and CategoryName >= 0 and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\r\n| summarize any(*) by AlertId, Date\r\n| project-rename [\"Alert ID\"] = AlertId, [\"Alert Type\"] = any_AlertType, [\"Category Names\"] = any_Topics, Companies = any_Company, [\"Cyber Addresses\"] = any_addresses, [\"Location Name\"] = any_EventLocationName, [\"Matched Watchlist\"] = any_WatchlistNames, Source = any_EventSource, [\"Source Channels\"]= any_Channel, [\"Publisher Name\"] = any_PublisherCategoryName, [\"Time Generated\"] = any_TimeGenerated, Caption = any_Caption\r\n| project [\"Alert ID\"], [\"Alert Type\"], Caption, [\"Category Names\"], Companies, [\"Cyber Addresses\"], [\"Location Name\"], format_datetime(todatetime([\"Time Generated\"]), 'yy-MM-dd HH:mm:ss'), [\"Matched Watchlist\"], Source, parse_json([\"Source Channels\"]), [\"Publisher Name\"]\r\n| sort by [\"Time Generated\"] asc", + "size": 0, + "showAnalytics": true, + "title": "Selected Alerts Trend Data", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "select_time_range", + "showRefreshButton": true, + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "rowLimit": 10000, + "filter": true + }, + "sortBy": [] + }, + "conditionalVisibilities": [ + { + "parameterName": "date_Occurrence_Trend", + "comparison": "isNotEqualTo", + "value": "None" + }, + { + "parameterName": "CategoryName_Occurrence_Trend", + "comparison": "isNotEqualTo", + "value": "None" + }, + { + "parameterName": "CategoryName_Occurrence_Trend", + "comparison": "isNotEqualTo", + "value": "Other" + } + ], + "name": "query - 7", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts\r\n| where ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\r\n| extend EventTime = unixtime_milliseconds_todatetime(toint(EventTime)), Channel = substring(SourceChannels,1,strlen(SourceChannels)-2)\r\n| summarize any(*) by AlertId\r\n| project-rename ['Alert ID'] = AlertId, Time = any_TimeGenerated, [\"Alert Type\"] = any_AlertType, Source = any_EventSource, [\"Source Channels\"]= any_Channel, Publisher = any_PublisherCategoryName, Caption = any_Caption, Company = any_CompanyNames, Topics = any_CategoryNames\r\n| project ['Alert ID'], format_datetime(todatetime(Time), 'yy-MM-dd HH:mm:ss'), [\"Alert Type\"], Caption, Company, Source, parse_json([\"Source Channels\"]), Publisher, Topics\r\n| order by Time desc\r\n| limit 10", + "size": 3, + "showAnalytics": true, + "title": "Recent 10 Alerts", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "select_time_range", + "showRefreshButton": true, + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Alert ID", + "formatter": 7, + "formatOptions": { + "linkTarget": "GenericDetails", + "linkIsContextBlade": true + } + } + ], + "filter": true + }, + "sortBy": [] + }, + "name": "Recent 10 Alerts", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 1, + "content": { + "json": "📝 ***Refresh the web page to fetch details of recently collected events***" + }, + "name": "text - 13" + } + ] + }, + "conditionalVisibility": { + "parameterName": "setTab", + "comparison": "isEqualTo", + "value": "Alert Overview" + }, + "name": "group - 2" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# Dataminr Close Proximity Overview\r\n### Show Dataminr alerts in close proximity of important Customer locations" + }, + "name": "text - 0" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "7b8368ba-ff5f-4cc6-a7b3-4bc4a7c00789", + "version": "KqlParameterItem/1.0", + "name": "Select_Time_Range", + "label": "Time Range", + "type": 4, + "isRequired": true, + "typeSettings": { + "selectableValues": [ + { + "durationMs": 300000 + }, + { + "durationMs": 900000 + }, + { + "durationMs": 1800000 + }, + { + "durationMs": 3600000 + }, + { + "durationMs": 14400000 + }, + { + "durationMs": 43200000 + }, + { + "durationMs": 86400000 + }, + { + "durationMs": 172800000 + }, + { + "durationMs": 259200000 + }, + { + "durationMs": 604800000 + }, + { + "durationMs": 1209600000 + }, + { + "durationMs": 2419200000 + }, + { + "durationMs": 2592000000 + }, + { + "durationMs": 5184000000 + }, + { + "durationMs": 7776000000 + } + ], + "allowCustom": true + }, + "timeContext": { + "durationMs": 86400000 + }, + "value": { + "durationMs": 86400000 + } + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "parameters - 1" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "Help", + "expandable": true, + "items": [ + { + "type": 1, + "content": { + "json": "This dashboards shows Dataminr alerts within threshold miles from important customer locations.\r\n\r\nThe important customer locations are configured as part of Sentinel Watchlist. The Watchlist file is included as part of this app.\r\n\r\nPlease update the Watchlist file manually." + }, + "name": "text - 0" + } + ] + }, + "name": "group - 8" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "_GetWatchlist('DataminrPulseAsset')\r\n| extend crossjoin = 1\r\n| join kind=inner (DataminrPulseAlerts | extend crossjoin = 1) on crossjoin\r\n| extend asset_distance_miles = abs(3956 * (2 * asin(sqrt(pow(sin(((Latitude*pi()/180)-(todouble(asset_lat)*pi()/180)) / 2),2) + cos((Latitude*pi()/180)) * cos((todouble(asset_lat)*pi()/180)) * pow(sin(((Longitude*pi()/180)-(todouble(asset_long)*pi()/180)) / 2),2)))))\r\n| where asset_distance_miles <= toreal(alerting_distance_miles)\r\n| summarize any(asset_name), dcount=dcount(AlertId) by AlertId, tostring(asset_lat), tostring(asset_long)\r\n| extend latlng = strcat(\"Name : \",any_asset_name,\"\\nLatitude : \",asset_lat,\"\\nLongitude: \",asset_long)\r\n| order by asset_lat desc\r\n", + "size": 0, + "showAnalytics": true, + "title": "Alerts in Close Proximity Map", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "Select_Time_Range", + "showRefreshButton": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "map", + "graphSettings": { + "type": 0, + "topContent": { + "columnMatch": "AlertId", + "formatter": 1 + }, + "centerContent": { + "columnMatch": "dcount", + "formatter": 1, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + } + }, + "mapSettings": { + "locInfo": "LatLong", + "latitude": "asset_lat", + "longitude": "asset_long", + "sizeSettings": "dcount", + "sizeAggregation": "Sum", + "labelSettings": "latlng", + "legendMetric": "dcount", + "numberOfMetrics": 0, + "legendAggregation": "Sum", + "itemColorSettings": { + "nodeColorField": "dcount", + "colorAggregation": "Sum", + "type": "heatmap", + "heatmapPalette": "greenRed" + } + } + }, + "customWidth": "50", + "showPin": false, + "name": "Alerts in Close Proximity Map", + "styleSettings": { + "padding": "20px", + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "_GetWatchlist('DataminrPulseAsset')\r\n| extend crossjoin = 1\r\n| join kind=inner (DataminrPulseAlerts | extend crossjoin = 1) on crossjoin\r\n| extend asset_distance_miles = abs(3956 * (2 * asin(sqrt(pow(sin(((Latitude*pi()/180)-(todouble(asset_lat)*pi()/180)) / 2),2) + cos((Latitude*pi()/180)) * cos((todouble(asset_lat)*pi()/180)) * pow(sin(((Longitude*pi()/180)-(todouble(asset_long)*pi()/180)) / 2),2)))))\r\n| where asset_distance_miles <= toreal(alerting_distance_miles)\r\n| project-rename [\"Asset Name\"] = asset_name, [\"Asset Type\"] = asset_type, [\"Alert ID\"] = AlertId, [\"Asset Distance Miles\"] = asset_distance_miles\r\n| project [\"Asset Name\"], [\"Asset Type\"], Caption, [\"Alert ID\"], [\"Asset Distance Miles\"]\r\n", + "size": 0, + "showAnalytics": true, + "title": " Alerts in Close Proximity", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "Select_Time_Range", + "showRefreshButton": true, + "exportFieldName": "Alert ID", + "exportParameterName": "alertid", + "exportDefaultValue": "None", + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "showExpandCollapseGrid": true, + "gridSettings": { + "rowLimit": 10000, + "filter": true + }, + "sortBy": [] + }, + "customWidth": "50", + "name": "Alerts in Close Proximity", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 1, + "content": { + "json": "" + }, + "customWidth": "50", + "name": "text - 7" + }, + { + "type": 1, + "content": { + "json": "💡 _Click on a row in the above 'Alerts in Close Proximity' grid to view more details_" + }, + "customWidth": "50", + "name": "text - 6" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseAlerts\r\n| where AlertId == '{alertid}'", + "size": 4, + "showAnalytics": true, + "title": "Selected Close Proximity Alert Data", + "timeContextFromParameter": "Select_Time_Range", + "showRefreshButton": true, + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table" + }, + "conditionalVisibility": { + "parameterName": "alertid", + "comparison": "isNotEqualTo", + "value": "None" + }, + "name": "query - 5", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "_GetWatchlist('DataminrPulseAsset')\r\n| project-rename [\"Asset Name\"] = asset_name, [\"Asset Type\"] = asset_type, [\"Asset Description\"] = asset_description, [\"Alerting Distance Miles\"] = alerting_distance_miles, [\"Asset Latitude\"] = asset_lat, [\"Asset Longitude\"] = asset_long\r\n| project [\"Asset Name\"], [\"Asset Type\"], [\"Asset Description\"], [\"Alerting Distance Miles\"], [\"Asset Latitude\"], [\"Asset Longitude\"]\r\n", + "size": 0, + "showAnalytics": true, + "title": "Configured Important Locations", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "Select_Time_Range", + "showRefreshButton": true, + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "rowLimit": 10000, + "filter": true, + "sortBy": [ + { + "itemKey": "Asset Latitude", + "sortOrder": 1 + } + ] + }, + "sortBy": [ + { + "itemKey": "Asset Latitude", + "sortOrder": 1 + } + ] + }, + "name": "Configured Important Locations", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 1, + "content": { + "json": "📝 ***Refresh the web page to fetch details of recently collected events***" + }, + "name": "text - 9" + } + ] + }, + "conditionalVisibility": { + "parameterName": "setTab", + "comparison": "isEqualTo", + "value": "Close Proximity Overview" + }, + "name": "Close Proximity Overview" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# Dataminr IOC Overview\r\n### IOCs (IP, URL, domain, hashes, filenames) extracted from alerts created by Dataminr" + }, + "showPin": false, + "name": "text - 0" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "4889f111-32cd-4a9f-8ad3-3d5a1a43d812", + "version": "KqlParameterItem/1.0", + "name": "time", + "label": "Time Range", + "type": 4, + "isRequired": true, + "typeSettings": { + "selectableValues": [ + { + "durationMs": 300000 + }, + { + "durationMs": 900000 + }, + { + "durationMs": 1800000 + }, + { + "durationMs": 3600000 + }, + { + "durationMs": 14400000 + }, + { + "durationMs": 43200000 + }, + { + "durationMs": 86400000 + }, + { + "durationMs": 172800000 + }, + { + "durationMs": 259200000 + }, + { + "durationMs": 604800000 + }, + { + "durationMs": 1209600000 + }, + { + "durationMs": 2419200000 + }, + { + "durationMs": 2592000000 + }, + { + "durationMs": 5184000000 + }, + { + "durationMs": 7776000000 + } + ], + "allowCustom": true + }, + "timeContext": { + "durationMs": 86400000 + }, + "value": { + "durationMs": 86400000 + } + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "parameters - 1" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "Help", + "expandable": true, + "items": [ + { + "type": 1, + "content": { + "json": "This dashboards shows Indicator of Compromise in the current Sentinel environment.\r\n\r\nEach row in the panels showing vulnerable IOCs are clickable. Click the row to view more details about the vulnerable IOC.\r\n\r\n" + }, + "name": "text - 0" + } + ] + }, + "name": "group - 14" + }, + { + "type": 1, + "content": { + "json": "#### 📝 Note: To view the Affected IOCs related panles in this dashboard, ASim parsers must be deployed in the workspace and lookup csv data must be available in watchlist. " + }, + "name": "text - 21" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "union isfuzzy=true\r\n(ASimNetworkSession\r\n | where EventVendor !contains_cs(\"Dataminr\")\r\n | summarize src_ip = make_set(SrcIpAddr), dst_ip = make_set(DstIpAddr)\r\n | summarize ip = make_set(set_union(src_ip, dst_ip))),\r\n(ASimDns\r\n | where EventVendor !contains_cs(\"Dataminr\")\r\n | summarize src_ip = make_set(SrcIpAddr), dst_ip = make_set(DstIpAddr)\r\n | summarize ip = make_set(set_union(src_ip, dst_ip))),\r\n(ASimWebSession\r\n | where EventVendor !contains_cs(\"Dataminr\")\r\n | summarize src_ip = make_set(SrcIpAddr), dst_ip = make_set(DstIpAddr)\r\n | summarize ip = make_set(set_union(src_ip, dst_ip))),\r\n(ASimAuditEvent\r\n | where EventVendor !contains_cs(\"Dataminr\")\r\n | summarize src_ip = make_set(SrcIpAddr), dst_ip = make_set(TargetIpAddr)\r\n | summarize ip = make_set(set_union(src_ip, dst_ip)))\r\n| mv-expand ip\r\n| where isnotempty(ip)\r\n| extend ip = tostring(ip)\r\n| join kind=inner (_GetWatchlist(\"DataminrPulseVulnerableIp\")\r\n | project ip, caption) on ip\r\n| project-rename [\"ASIM Ip\"] = ip, [\"Lookup Ip\"] = ip1\r\n| summarize ip_count=dcount([\"ASIM Ip\"])\r\n| project ip_count", + "size": 4, + "showAnalytics": true, + "title": "Affected IP Address", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "tiles", + "tileSettings": { + "titleContent": { + "formatter": 12, + "formatOptions": { + "palette": "none" + } + }, + "rightContent": { + "columnMatch": "ip_count", + "formatter": 12, + "formatOptions": { + "palette": "none" + }, + "numberFormat": { + "unit": 17, + "options": { + "style": "decimal" + }, + "emptyValCustomText": "0" + } + }, + "showBorder": false, + "size": "auto" + }, + "graphSettings": { + "type": 0, + "topContent": {}, + "centerContent": { + "columnMatch": "Count", + "formatter": 12, + "formatOptions": { + "palette": "none" + } + }, + "nodeIdField": "Count", + "sourceIdField": "Count", + "targetIdField": "Count", + "graphOrientation": 3, + "showOrientationToggles": false, + "nodeSize": null, + "staticNodeSize": 100, + "colorSettings": null, + "hivesMargin": 5 + }, + "textSettings": { + "style": "bignumber" + } + }, + "customWidth": "25", + "name": "query - 2", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "union isfuzzy=true\r\n(imFileEvent\r\n | where EventVendor !contains_cs(\"Dataminr\")\r\n | summarize src_md5=make_set(SrcFileMD5), src_sha1=make_set(SrcFileSHA1), src_sha256=make_set(SrcFileSHA256), src_sha512=make_set(SrcFileSHA512), dst_md5=make_set(TargetFileMD5), dst_sha1=make_set(TargetFileSHA1), dst_sha256=make_set(TargetFileSHA256), dst_sha512=make_set(TargetFileSHA512)\r\n | summarize Hashes = make_set(set_union(src_md5, src_sha1, src_sha256, src_sha512, dst_md5, dst_sha1, dst_sha256, dst_sha512))\r\n | project Hashes),\r\n(ASimProcessEvent\r\n | where EventVendor !contains_cs(\"Dataminr\")\r\n | summarize src_md5=make_set(ParentProcessMD5), src_sha1=make_set(ParentProcessSHA1), src_sha256=make_set(ParentProcessSHA256), src_sha512=make_set(ParentProcessSHA512), dst_md5=make_set(TargetProcessMD5), dst_sha1=make_set(TargetProcessSHA1), dst_sha256=make_set(TargetProcessSHA256), dst_sha512=make_set(TargetProcessSHA512), act_md5 = make_set(ActingProcessMD5), act_sha1=make_set(ActingProcessSHA1), act_sha256=make_set(ActingProcessSHA256), act_sha512=make_set(ActingProcessSHA512)\r\n | summarize Hashes = make_set(set_union(src_md5, src_sha1, src_sha256, src_sha512, dst_md5, dst_sha1, dst_sha256, dst_sha512, act_md5, act_sha1, act_sha256, act_sha512))\r\n | project Hashes),\r\n(ASimWebSession\r\n | where EventVendor !contains_cs(\"Dataminr\")\r\n | summarize file_md5=make_set(FileMD5), file_sha1=make_set(FileSHA1), file_sha256=make_set(FileSHA256), file_sha512=make_set(FileSHA512)\r\n | summarize Hashes = make_set(set_union(file_md5, file_sha1, file_sha256, file_sha512))\r\n | project Hashes)\r\n| mv-expand Hashes\r\n| where isnotempty(Hashes)\r\n| extend Hashes = tostring(Hashes)\r\n| join kind=inner (_GetWatchlist('DataminrPulseVulnerableHash')\r\n | project Hashes=SearchKey, caption) on Hashes\r\n| project-rename [\"ASIM Hashes\"] = Hashes, [\"Lookup Hashes\"] = Hashes1\r\n| summarize hash_count = dcount([\"ASIM Hashes\"])\r\n| project hash_count", + "size": 4, + "showAnalytics": true, + "title": "Affected Hashes", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "tiles", + "tileSettings": { + "titleContent": { + "formatter": 12, + "formatOptions": { + "palette": "none" + } + }, + "rightContent": { + "columnMatch": "hash_count", + "formatter": 12, + "formatOptions": { + "palette": "none" + }, + "numberFormat": { + "unit": 17, + "options": { + "style": "decimal" + }, + "emptyValCustomText": "0" + } + }, + "showBorder": false, + "size": "auto" + } + }, + "customWidth": "25", + "name": "query - 2 - Copy", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "union isfuzzy=true\r\n(ASimWebSession\r\n | where EventVendor !contains_cs(\"Dataminr\")\r\n | project url=Url),\r\n(imFileEvent\r\n | where EventVendor !contains_cs(\"Dataminr\")\r\n | project url = TargetUrl),\r\n(ASimAuditEvent\r\n | where EventVendor !contains_cs(\"Dataminr\")\r\n | project url = TargetUrl)\r\n| join kind=inner (_GetWatchlist('DataminrPulseVulnerableDomain')\r\n | project url, caption) on url\r\n| project-rename [\"ASIM URLs\"] = url, [\"Lookup URLs\"] = url1\r\n| summarize domain_count=dcount([\"ASIM URLs\"])\r\n| project domain_count", + "size": 4, + "showAnalytics": true, + "title": "Affected Domains", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "tiles", + "tileSettings": { + "titleContent": { + "formatter": 12, + "formatOptions": { + "palette": "none" + } + }, + "rightContent": { + "columnMatch": "domain_count", + "formatter": 12, + "formatOptions": { + "palette": "none" + }, + "numberFormat": { + "unit": 17, + "options": { + "style": "decimal" + }, + "emptyValCustomText": "0" + } + }, + "showBorder": false, + "size": "auto" + } + }, + "customWidth": "25", + "name": "query - 2 - Copy - Copy", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "union isfuzzy=true\r\n(ASimAuditEvent\r\n | where EventVendor !contains_cs(\"Dataminr\")\r\n | extend malware = ThreatName\r\n | project malware),\r\n(ASimNetworkSession\r\n | where EventVendor !contains_cs(\"Dataminr\")\r\n | extend malware = ThreatName\r\n | project malware),\r\n(ASimDns\r\n | where EventVendor !contains_cs(\"Dataminr\")\r\n | extend malware = ThreatName\r\n | project malware),\r\n(ASimWebSession\r\n | where EventVendor !contains_cs(\"Dataminr\")\r\n | extend malware = ThreatName\r\n | project malware)\r\n| join kind=inner (_GetWatchlist('DataminrPulseVulnerableMalware')\r\n | project malware, caption) on malware\r\n| project-rename [\"ASIM Malwares\"] = malware, [\"Lookup Hashes\"] = malware1\r\n| summarize malware_count= dcount([\"ASIM Malwares\"])\r\n| project malware_count", + "size": 4, + "showAnalytics": true, + "title": "Affected Malwares", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "tiles", + "tileSettings": { + "titleContent": { + "formatter": 12, + "formatOptions": { + "palette": "none" + } + }, + "rightContent": { + "columnMatch": "malware_count", + "formatter": 12, + "formatOptions": { + "palette": "none" + }, + "numberFormat": { + "unit": 17, + "options": { + "style": "decimal" + }, + "emptyValCustomText": "0" + } + }, + "showBorder": false, + "size": "auto" + } + }, + "customWidth": "25", + "name": "query - 2 - Copy - Copy - Copy", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "union isfuzzy=true\r\n(ASimNetworkSession\r\n | where EventVendor !contains_cs(\"Dataminr\")\r\n | extend ip = pack_array(SrcIpAddr, DstIpAddr)\r\n | project ip, EventSchema, EventVendor, EventProduct, TimeGenerated, EventSeverity, EventType),\r\n(ASimDns\r\n | where EventVendor !contains_cs(\"Dataminr\")\r\n | extend ip = pack_array(SrcIpAddr, DstIpAddr)\r\n | project ip, EventSchema, EventVendor, EventProduct, TimeGenerated, EventSeverity, EventType),\r\n(ASimWebSession\r\n | where EventVendor !contains_cs(\"Dataminr\")\r\n | extend ip = pack_array(SrcIpAddr, DstIpAddr)\r\n | project ip, EventSchema, EventVendor, EventProduct, TimeGenerated, EventSeverity, EventType),\r\n(ASimAuditEvent\r\n | where EventVendor !contains_cs(\"Dataminr\")\r\n | extend ip = pack_array(SrcIpAddr, TargetIpAddr)\r\n | project ip, EventSchema, EventVendor, EventProduct, TimeGenerated, EventSeverity, EventType)\r\n| mv-expand ip\r\n| where isnotempty(ip)\r\n| extend ip = tostring(ip)\r\n| join kind=inner (_GetWatchlist(\"DataminrPulseVulnerableIp\")\r\n | project ip, caption) on ip\r\n| project [\"Ip Addresses\"]=ip, EventSchema, EventVendor, EventProduct, TimeGenerated, EventSeverity, EventType, caption", + "size": 0, + "showAnalytics": true, + "title": "Affected IP Address Details", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "rowLimit": 10000, + "filter": true + } + }, + "customWidth": "25", + "name": "query - 17", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "union isfuzzy=true\r\n (imFileEvent\r\n | where EventVendor !contains_cs(\"Dataminr\")\r\n | extend Hashes = pack_array(SrcFileMD5, SrcFileSHA1, SrcFileSHA256, SrcFileSHA512, TargetFileMD5, TargetFileSHA1, TargetFileSHA256, TargetFileSHA512)\r\n | project Hashes, EventSchema, EventVendor, EventProduct, EventSeverity, EventType),\r\n (ASimProcessEvent\r\n | where EventVendor !contains_cs(\"Dataminr\")\r\n | extend Hashes= pack_array(ParentProcessMD5, ParentProcessSHA1, ParentProcessSHA256, ParentProcessSHA512, ActingProcessMD5, ActingProcessSHA1, ActingProcessSHA256, ActingProcessSHA512, TargetProcessMD5, TargetProcessSHA1, TargetProcessSHA256, TargetProcessSHA512)\r\n | project Hashes, EventSchema, EventVendor, EventProduct, EventSeverity, EventType ),\r\n (ASimWebSession\r\n | where EventVendor !contains_cs(\"Dataminr\")\r\n | extend Hashes = pack_array(FileMD5, FileSHA1, FileSHA256, FileSHA512)\r\n | project Hashes, EventSchema, EventVendor, EventProduct, EventSeverity, EventType)\r\n| mv-expand todynamic(Hashes)\r\n| where isnotempty(Hashes)\r\n| extend Hashes = tostring(Hashes)\r\n| join kind=inner (_GetWatchlist('DataminrPulseVulnerableHash')\r\n | project Hashes=SearchKey, caption) on Hashes\r\n| project Hashes, EventSchema, EventVendor, EventProduct, EventSeverity, EventType, caption", + "size": 0, + "showAnalytics": true, + "title": "Affected Hashes Details", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "gridSettings": { + "rowLimit": 10000, + "filter": true + } + }, + "customWidth": "25", + "name": "query - 17 - Copy", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "union isfuzzy=true\r\n (ASimWebSession\r\n | where EventVendor !contains_cs(\"Dataminr\")\r\n | extend url=Url\r\n | project url, EventSchema, EventVendor, EventProduct, TimeGenerated, EventSeverity, EventType),\r\n (imFileEvent\r\n | where EventVendor !contains_cs(\"Dataminr\")\r\n | extend url = TargetUrl\r\n | project url, EventSchema, EventVendor, EventProduct, TimeGenerated, EventSeverity, EventType),\r\n (ASimAuditEvent\r\n | where EventVendor !contains_cs(\"Dataminr\")\r\n | extend url = TargetUrl\r\n | project url, EventSchema, EventVendor, EventProduct, TimeGenerated, EventSeverity, EventType)\r\n| where isnotempty(url)\r\n| join kind=inner (_GetWatchlist('DataminrPulseVulnerableDomain')\r\n | project url, caption) on url\r\n| project URL=url, EventSchema, EventVendor, EventProduct, TimeGenerated, EventSeverity, EventType", + "size": 0, + "showAnalytics": true, + "title": "Affected Domains Details", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "gridSettings": { + "rowLimit": 10000, + "filter": true + } + }, + "customWidth": "25", + "name": "query - 17 - Copy - Copy", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "union isfuzzy=true\r\n (ASimAuditEvent\r\n | where EventVendor !contains_cs(\"Dataminr\")\r\n | extend malware = ThreatName\r\n | project malware, EventSchema, EventVendor, EventProduct, TimeGenerated, EventSeverity, EventType),\r\n (ASimNetworkSession\r\n | where EventVendor !contains_cs(\"Dataminr\")\r\n | extend malware = ThreatName\r\n | project malware, EventSchema, EventVendor, EventProduct, TimeGenerated, EventSeverity, EventType),\r\n (ASimDns\r\n | where EventVendor !contains_cs(\"Dataminr\")\r\n | extend malware = ThreatName\r\n | project malware, EventSchema, EventVendor, EventProduct, TimeGenerated, EventSeverity, EventType),\r\n (ASimWebSession\r\n | where EventVendor !contains_cs(\"Dataminr\")\r\n | extend malware = ThreatName\r\n | project malware, EventSchema, EventVendor, EventProduct, TimeGenerated, EventSeverity, EventType)\r\n| where isnotempty(malware) \r\n| join kind=inner (_GetWatchlist('DataminrPulseVulnerableMalware')\r\n | project malware, caption) on malware\r\n| project malware, EventSchema, EventVendor, EventProduct, TimeGenerated, EventSeverity, EventType", + "size": 0, + "showAnalytics": true, + "title": "Affected Malwares Details", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "gridSettings": { + "rowLimit": 10000, + "filter": true + } + }, + "customWidth": "25", + "name": "query - 17 - Copy - Copy - Copy", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts\r\n| extend embededLabels = parse_json(EmbeddedLabels)\r\n| mv-apply embededLabels on (summarize addresses = make_list(embededLabels.data.addresses))\r\n| mv-apply addresses on (summarize ip = make_list(addresses.ip))\r\n| where isnotempty(ip)\r\n| mv-expand ip\r\n| summarize Count=count_distinct(AlertId) by tostring(ip)\r\n| project-rename [\"IP Addresses\"] = ip\r\n| order by Count desc", + "size": 0, + "showAnalytics": true, + "title": "Dataminr: Vulnerable IP Addresses", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "exportFieldName": "IP Addresses", + "exportParameterName": "SelectedIP", + "exportDefaultValue": "none", + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "formatters": [ + { + "columnMatch": "IP Addresses", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "85%" + } + }, + { + "columnMatch": "Count", + "formatter": 4, + "formatOptions": { + "palette": "greenRed", + "customColumnWidthSetting": "15%" + } + } + ], + "rowLimit": 10000, + "filter": true + } + }, + "customWidth": "25", + "name": "query - 6", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts\r\n| extend embededLabels = parse_json(EmbeddedLabels)\r\n| mv-apply embededLabels on (summarize hashValues = make_list(embededLabels.data.hashValues))\r\n| mv-apply hashValues on (summarize Hash=make_list(hashValues.value))\r\n| where isnotempty(Hash)\r\n| mv-expand Hash\r\n| summarize Count=count_distinct(AlertId) by tostring(Hash)\r\n| order by Count desc", + "size": 0, + "showAnalytics": true, + "title": "Dataminr: Vulnerable Hashes", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "exportFieldName": "Hash", + "exportParameterName": "SelectedHash", + "exportDefaultValue": "none", + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Hash", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "85%" + } + }, + { + "columnMatch": "Count", + "formatter": 4, + "formatOptions": { + "palette": "greenRed", + "customColumnWidthSetting": "15%" + } + } + ], + "rowLimit": 10000, + "filter": true + } + }, + "customWidth": "25", + "name": "query - 6 - Copy", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts\r\n| extend embededLabels = parse_json(EmbeddedLabels)\r\n| mv-apply embededLabels on (summarize urls = make_list(embededLabels.data.URLs))\r\n| where isnotempty(urls)\r\n| extend Domain = extract_all(@'\\\"?(?:[^\"]*https*:\\/\\/)*((w*\\.))*((?P[a-z-A-Z0-9-]+)\\.)*(?P(?:\\w+(?:\\.|\\[\\.\\])(?:com|co|org|gov|int|edu|mil|net)(?:(?:\\.|\\[\\.\\])\\w{1,3})*)|\\d+(?:(?:\\.|\\[\\.\\])\\d+){2}|[a-z-A-Z0-9-]+(?:\\.|\\[\\.\\])\\w+)(?:\\/[^\"]*)*\\\"?[,\\n\\]]',dynamic(['domain']),tostring(urls))\r\n| where isnotempty(Domain)\r\n| mv-expand Domain\r\n| summarize Count=count_distinct(AlertId) by tostring(Domain)\r\n| mv-expand todynamic(Domain)\r\n| order by Count desc", + "size": 0, + "showAnalytics": true, + "title": "Dataminr: Vulnerable Domains", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "exportFieldName": "Domain", + "exportParameterName": "SelectedDomain", + "exportDefaultValue": "none", + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Domain", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "85%" + } + }, + { + "columnMatch": "Count", + "formatter": 4, + "formatOptions": { + "palette": "greenRed", + "customColumnWidthSetting": "15%" + } + } + ], + "rowLimit": 10000, + "filter": true + } + }, + "customWidth": "25", + "name": "query - 6 - Copy - Copy", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts\r\n| extend embededLabels = parse_json(EmbeddedLabels)\r\n| mv-apply embededLabels on (summarize Malware = make_list(embededLabels.data.malwares))\r\n| where isnotempty(Malware)\r\n| mv-expand Malware\r\n| summarize Count=count_distinct(AlertId) by tostring(Malware)\r\n| order by Count desc", + "size": 0, + "showAnalytics": true, + "title": "Dataminr: Vulnerable Malwares", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "exportFieldName": "Malware", + "exportParameterName": "SelectedMalware", + "exportDefaultValue": "none", + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Malware", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "85%" + } + }, + { + "columnMatch": "Count", + "formatter": 4, + "formatOptions": { + "palette": "greenRed", + "customColumnWidthSetting": "15%" + } + } + ], + "rowLimit": 10000, + "filter": true + } + }, + "customWidth": "25", + "name": "query - 6 - Copy - Copy - Copy", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 1, + "content": { + "json": "💡 _Click on a row in the above 'Dataminr: Vulnerable IP Addresses', 'Dataminr: Vulnerable Hashes', 'Dataminr: Vulnerable Domains' & 'Dataminr: Vulnerable Malwares' grid to view more details_" + }, + "name": "text - 15" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts\r\n| extend embededLabels = parse_json(EmbeddedLabels)\r\n| mv-apply embededLabels on (summarize addresses = make_list(embededLabels.data.addresses))\r\n| where addresses contains_cs '{SelectedIP}'\r\n| project [\"Alert ID\"]=AlertId, [\"Alert Type\"]=AlertType, Caption, [\"Category Names\"]=CategoryNames, Companies=Company, [\"Cyber Addresses\"]=addresses, [\"Location Name\"]=EventLocationName, TimeGenerated, [\"Matched Watchlist\"]=WatchlistNames, Source=EventSource\r\n| order by [\"Alert Type\"] asc", + "size": 0, + "showAnalytics": true, + "title": "Dataminr: Vulnerable IP Details", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "rowLimit": 10000, + "filter": true + } + }, + "conditionalVisibility": { + "parameterName": "SelectedIP", + "comparison": "isNotEqualTo", + "value": "none" + }, + "name": "query - 10", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts\r\n| extend embededLabels = parse_json(EmbeddedLabels)\r\n| mv-apply embededLabels on (summarize hashValues = make_list(embededLabels.data.hashValues))\r\n| mv-apply hashValues on (summarize Hash=make_list(hashValues.value))\r\n| where set_has_element(Hash, '{SelectedHash}')\r\n| project [\"Alert ID\"]=AlertId, [\"Alert Type\"]=AlertType, Caption, [\"Category Names\"]=CategoryNames, Companies=Company, [\"Cyber Hashes\"]=Hash, [\"Location Name\"]=EventLocationName, TimeGenerated, [\"Matched Watchlist\"]=WatchlistNames, Source=EventSource\r\n| order by [\"Alert Type\"] asc", + "size": 0, + "showAnalytics": true, + "title": "Dataminr: Vulnerable Hash Details", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "rowLimit": 10000, + "filter": true + } + }, + "conditionalVisibility": { + "parameterName": "SelectedHash", + "comparison": "isNotEqualTo", + "value": "none" + }, + "name": "query - 10 - Copy", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts\r\n| extend embededLabels = parse_json(EmbeddedLabels)\r\n| mv-apply embededLabels on (summarize urls = make_list(embededLabels.data.URLs))\r\n| where isnotempty(urls)\r\n| extend Domain = extract_all(@'\\\"?(?:[^\"]*https*:\\/\\/)*((w*\\.))*((?P[a-z-A-Z0-9-]+)\\.)*(?P(?:\\w+(?:\\.|\\[\\.\\])(?:com|co|org|gov|int|edu|mil|net)(?:(?:\\.|\\[\\.\\])\\w{1,3})*)|\\d+(?:(?:\\.|\\[\\.\\])\\d+){2}|[a-z-A-Z0-9-]+(?:\\.|\\[\\.\\])\\w+)(?:\\/[^\"]*)*\\\"?[,\\n\\]]',dynamic(['domain']),tostring(urls))\r\n| where Domain contains_cs '{SelectedDomain}'\r\n| project [\"Alert ID\"]=AlertId, [\"Alert Type\"]=AlertType, Caption, [\"Category Names\"]=CategoryNames, Companies=Company, URL=urls, [\"Location Name\"]=EventLocationName, TimeGenerated, [\"Matched Watchlist\"]=WatchlistNames, Source=EventSource\r\n| order by [\"Alert Type\"] asc", + "size": 0, + "showAnalytics": true, + "title": "Dataminr: Vulnerable Domain Details", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "rowLimit": 10000, + "filter": true + } + }, + "conditionalVisibility": { + "parameterName": "SelectedDomain", + "comparison": "isNotEqualTo", + "value": "none" + }, + "name": "query - 10 - Copy - Copy", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts\r\n| extend embededLabels = parse_json(EmbeddedLabels)\r\n| mv-apply embededLabels on (summarize Malwares = make_list(embededLabels.data.malwares))\r\n| where set_has_element(Malwares, '{SelectedMalware}')\r\n| project [\"Alert ID\"]=AlertId, [\"Alert Type\"]=AlertType, Caption, [\"Category Names\"]=CategoryNames, Companies=Company, [\"Cyber Malwares\"]=Malwares, [\"Location Name\"]=EventLocationName, TimeGenerated, [\"Matched Watchlist\"]=WatchlistNames, Source=EventSource\r\n| order by [\"Alert Type\"] asc", + "size": 0, + "showAnalytics": true, + "title": "Dataminr: Vulnerable Malware Details", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "rowLimit": 10000, + "filter": true + } + }, + "conditionalVisibility": { + "parameterName": "SelectedMalware", + "comparison": "isNotEqualTo", + "value": "none" + }, + "name": "query - 10 - Copy - Copy - Copy", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 1, + "content": { + "json": "📝 ***Refresh the web page to fetch details of recently collected events***" + }, + "name": "text - 9" + } + ] + }, + "conditionalVisibility": { + "parameterName": "setTab", + "comparison": "isEqualTo", + "value": "IOC Overview" + }, + "name": "group - 5" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# Dataminr Cyber Threat Overview\r\n### Cyber alerts created by Dataminr" + }, + "name": "text - 0" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "e6627420-466f-4e23-ae50-7d153fe50b0c", + "version": "KqlParameterItem/1.0", + "name": "time", + "label": "Time Range", + "type": 4, + "isRequired": true, + "typeSettings": { + "selectableValues": [ + { + "durationMs": 300000 + }, + { + "durationMs": 900000 + }, + { + "durationMs": 1800000 + }, + { + "durationMs": 3600000 + }, + { + "durationMs": 14400000 + }, + { + "durationMs": 43200000 + }, + { + "durationMs": 86400000 + }, + { + "durationMs": 172800000 + }, + { + "durationMs": 259200000 + }, + { + "durationMs": 604800000 + }, + { + "durationMs": 1209600000 + }, + { + "durationMs": 2419200000 + }, + { + "durationMs": 2592000000 + }, + { + "durationMs": 5184000000 + }, + { + "durationMs": 7776000000 + } + ], + "allowCustom": true + }, + "timeContext": { + "durationMs": 86400000 + }, + "value": { + "durationMs": 86400000 + } + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "parameters - 1" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "let trendline=toscalar(DataminrPulseCyberAlerts\r\n| mv-expand todynamic(Category)\r\n| extend selectedTopic = Category[\"name\"]\r\n| where selectedTopic in (\"Advanced Persistent Threats\",\"Ransomware\",\"Hacktivists\") \r\n| extend selectedAllTopics = parse_json('[\"Advanced Persistent Threats\",\"Ransomware\",\"Hacktivists\"]')\r\n| make-series Trend = dcount(AlertId) default = 0 on TimeGenerated from {time:start} to {time:end} step {time:grain} by tostring(selectedAllTopics)\r\n| project Trend);\r\nDataminrPulseCyberAlerts\r\n| mv-expand todynamic(Category)\r\n| extend selectedTopic = Category[\"name\"]\r\n| where selectedTopic in (\"Advanced Persistent Threats\",\"Ransomware\",\"Hacktivists\")\r\n| summarize Count = dcount(AlertId) by tostring(selectedTopic), bin(TimeGenerated, 1d)\r\n| summarize total = sum(Count) by TimeGenerated\r\n| extend today = iff(TimeGenerated==(startofday(now())), total, 0)\r\n| extend yesterday = iff(TimeGenerated==(startofday(now())-1d), total, 0)\r\n| extend Trend = trendline\r\n| serialize\r\n| order by TimeGenerated desc\r\n| extend nextyesterday = iff((today == 0 and yesterday > 0), yesterday, iff(isempty(next(yesterday)), 0, next(yesterday)))\r\n| limit 1\r\n| extend percentage = (todouble(today-nextyesterday)/nextyesterday)*100", + "size": 4, + "showAnalytics": true, + "title": "Threat Actor Activities", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "tiles", + "tileSettings": { + "titleContent": { + "formatter": 5 + }, + "leftContent": { + "columnMatch": "today", + "formatter": 12, + "formatOptions": { + "palette": "none" + }, + "numberFormat": { + "unit": 17, + "options": { + "style": "decimal" + }, + "emptyValCustomText": "0" + } + }, + "rightContent": { + "columnMatch": "percentage", + "formatter": 18, + "formatOptions": { + "thresholdsOptions": "colors", + "thresholdsGrid": [ + { + "operator": ">", + "thresholdValue": "0", + "representation": "redBright", + "text": "{0}{1}" + }, + { + "operator": "<", + "thresholdValue": "0", + "representation": "green", + "text": "{0}{1}" + }, + { + "operator": "==", + "thresholdValue": "0", + "representation": "gray", + "text": "0" + }, + { + "operator": "is Empty", + "representation": "gray", + "text": "N/A" + }, + { + "operator": "Default", + "thresholdValue": null, + "representation": "redBright", + "text": "N/A" + } + ] + }, + "numberFormat": { + "unit": 1, + "options": { + "style": "decimal", + "maximumFractionDigits": 2 + } + } + }, + "secondaryContent": { + "columnMatch": "Trend", + "formatter": 9, + "formatOptions": { + "palette": "blue" + } + }, + "showBorder": false, + "size": "full" + } + }, + "customWidth": "25", + "name": "query - 2", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "let trendline=toscalar(DataminrPulseCyberAlerts\r\n| mv-expand todynamic(Category)\r\n| extend selectedTopic = Category[\"name\"]\r\n| where selectedTopic in (\"Malware\",\"Network Disruptions\",\"Phishing\",\"DDoS\",\"Defacement\",\"Domain Impersonation\",\"Network Scans\") \r\n| extend selectedAllTopics = parse_json('[\"Malware\",\"Network Disruptions\",\"Phishing\",\"DDoS\",\"Defacement\",\"Domain Impersonation\",\"Network Scans\"]')\r\n| make-series Trend = dcount(AlertId) default = 0 on TimeGenerated from {time:start} to {time:end} step {time:grain} by tostring(selectedAllTopics)\r\n| project Trend);\r\nDataminrPulseCyberAlerts\r\n| mv-expand todynamic(Category)\r\n| extend selectedTopic = Category[\"name\"]\r\n| where selectedTopic in (\"Malware\",\"Network Disruptions\",\"Phishing\",\"DDoS\",\"Defacement\",\"Domain Impersonation\",\"Network Scans\")\r\n| summarize Count = dcount(AlertId) by tostring(selectedTopic), bin(TimeGenerated, 1d)\r\n| summarize total = sum(Count) by TimeGenerated\r\n| extend today = iff(TimeGenerated==(startofday(now())), total, 0)\r\n| extend yesterday = iff(TimeGenerated==(startofday(now())-1d), total, 0)\r\n| extend Trend = trendline\r\n| serialize\r\n| order by TimeGenerated desc\r\n| extend nextyesterday = iff((today == 0 and yesterday > 0), yesterday, iff(isempty(next(yesterday)), 0, next(yesterday)))\r\n| limit 1\r\n| extend percentage = (todouble(today-nextyesterday)/nextyesterday)*100", + "size": 4, + "showAnalytics": true, + "title": "Cyber Attacks", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "tiles", + "tileSettings": { + "titleContent": { + "formatter": 5 + }, + "leftContent": { + "columnMatch": "today", + "formatter": 12, + "formatOptions": { + "palette": "none" + }, + "numberFormat": { + "unit": 17, + "options": { + "style": "decimal" + }, + "emptyValCustomText": "0" + } + }, + "rightContent": { + "columnMatch": "percentage", + "formatter": 18, + "formatOptions": { + "thresholdsOptions": "colors", + "thresholdsGrid": [ + { + "operator": ">", + "thresholdValue": "0", + "representation": "redBright", + "text": "{0}{1}" + }, + { + "operator": "<", + "thresholdValue": "0", + "representation": "green", + "text": "{0}{1}" + }, + { + "operator": "==", + "thresholdValue": "0", + "representation": "gray", + "text": "0" + }, + { + "operator": "is Empty", + "representation": "gray", + "text": "N/A" + }, + { + "operator": "Default", + "thresholdValue": null, + "representation": "redBright", + "text": "N/A" + } + ] + }, + "numberFormat": { + "unit": 1, + "options": { + "style": "decimal", + "maximumFractionDigits": 2 + } + } + }, + "secondaryContent": { + "columnMatch": "Trend", + "formatter": 9, + "formatOptions": { + "palette": "blue" + } + }, + "showBorder": false, + "size": "full" + } + }, + "customWidth": "25", + "name": "query - 3", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "let trendline=toscalar(DataminrPulseCyberAlerts\r\n| mv-expand todynamic(Category)\r\n| extend selectedTopic = Category[\"name\"]\r\n| where selectedTopic in (\"Data Exposure and Breaches\",\"Doxxing and Leaked Credentials\") \r\n| extend selectedAllTopics = parse_json('[\"Data Exposure and Breaches\",\"Doxxing and Leaked Credentials\"]')\r\n| make-series Trend = dcount(AlertId) default = 0 on TimeGenerated from {time:start} to {time:end} step {time:grain} by tostring(selectedAllTopics)\r\n| project Trend);\r\nDataminrPulseCyberAlerts\r\n| mv-expand todynamic(Category)\r\n| extend selectedTopic = Category[\"name\"]\r\n| where selectedTopic in (\"Data Exposure and Breaches\",\"Doxxing and Leaked Credentials\")\r\n| summarize Count = dcount(AlertId) by tostring(selectedTopic), bin(TimeGenerated, 1d)\r\n| summarize total = sum(Count) by TimeGenerated\r\n| extend today = iff(TimeGenerated==(startofday(now())), total, 0)\r\n| extend yesterday = iff(TimeGenerated==(startofday(now())-1d), total, 0)\r\n| extend Trend = trendline\r\n| serialize\r\n| order by TimeGenerated desc\r\n| extend nextyesterday = iff((today == 0 and yesterday > 0), yesterday, iff(isempty(next(yesterday)), 0, next(yesterday)))\r\n| limit 1\r\n| extend percentage = (todouble(today-nextyesterday)/nextyesterday)*100\r\n", + "size": 4, + "showAnalytics": true, + "title": "Data Breaches", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "tiles", + "tileSettings": { + "titleContent": { + "formatter": 5 + }, + "leftContent": { + "columnMatch": "today", + "formatter": 12, + "formatOptions": { + "palette": "none" + }, + "numberFormat": { + "unit": 17, + "options": { + "style": "decimal" + }, + "emptyValCustomText": "0" + } + }, + "rightContent": { + "columnMatch": "percentage", + "formatter": 18, + "formatOptions": { + "thresholdsOptions": "colors", + "thresholdsGrid": [ + { + "operator": ">", + "thresholdValue": "0", + "representation": "redBright", + "text": "{0}{1}" + }, + { + "operator": "<", + "thresholdValue": "0", + "representation": "green", + "text": "{0}{1}" + }, + { + "operator": "==", + "thresholdValue": "0", + "representation": "gray", + "text": "0" + }, + { + "operator": "is Empty", + "representation": "gray", + "text": "N/A" + }, + { + "operator": "Default", + "thresholdValue": null, + "representation": "redBright", + "text": "N/A" + } + ] + }, + "numberFormat": { + "unit": 1, + "options": { + "style": "decimal", + "maximumFractionDigits": 2 + } + } + }, + "secondaryContent": { + "columnMatch": "Trend", + "formatter": 9, + "formatOptions": { + "palette": "blue" + } + }, + "showBorder": false, + "size": "full" + } + }, + "customWidth": "25", + "name": "query - 4", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "let trendline=toscalar(DataminrPulseCyberAlerts\r\n| mv-expand todynamic(Category)\r\n| extend selectedTopic = Category[\"name\"]\r\n| where selectedTopic in (\"Email and Web Servers\",\"Encryption and Certificates\",\"Remote Access and Management Systems\",\"Vulnerability Disclosures\",\"Exploits\",\"Bug Bounties\") \r\n| extend selectedAllTopics = parse_json('[\"Email and Web Servers\",\"Encryption and Certificates\",\"Remote Access and Management Systems\",\"Vulnerability Disclosures\",\"Exploits\",\"Bug Bounties\"]')\r\n| make-series Trend = dcount(AlertId) default = 0 on TimeGenerated from {time:start} to {time:end} step {time:grain} by tostring(selectedAllTopics)\r\n| project Trend);\r\nDataminrPulseCyberAlerts\r\n| mv-expand todynamic(Category)\r\n| extend selectedTopic = Category[\"name\"]\r\n| where selectedTopic in (\"Email and Web Servers\",\"Encryption and Certificates\",\"Remote Access and Management Systems\",\"Vulnerability Disclosures\",\"Exploits\",\"Bug Bounties\")\r\n| summarize Count = dcount(AlertId) by tostring(selectedTopic), bin(TimeGenerated, 1d)\r\n| summarize total = sum(Count) by TimeGenerated\r\n| extend today = iff(TimeGenerated==(startofday(now())), total, 0)\r\n| extend yesterday = iff(TimeGenerated==(startofday(now())-1d), total, 0)\r\n| extend Trend = trendline\r\n| serialize\r\n| order by TimeGenerated desc\r\n| extend nextyesterday = iff((today == 0 and yesterday > 0), yesterday, iff(isempty(next(yesterday)), 0, next(yesterday)))\r\n| limit 1\r\n| extend percentage = (todouble(today-nextyesterday)/nextyesterday)*100", + "size": 4, + "showAnalytics": true, + "title": "Vulnerabilities", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "tiles", + "tileSettings": { + "titleContent": { + "formatter": 5 + }, + "leftContent": { + "columnMatch": "today", + "formatter": 12, + "formatOptions": { + "palette": "none" + }, + "numberFormat": { + "unit": 17, + "options": { + "style": "decimal" + }, + "emptyValCustomText": "0" + } + }, + "rightContent": { + "columnMatch": "percentage", + "formatter": 18, + "formatOptions": { + "thresholdsOptions": "colors", + "thresholdsGrid": [ + { + "operator": ">", + "thresholdValue": "0", + "representation": "redBright", + "text": "{0}{1}" + }, + { + "operator": "<", + "thresholdValue": "0", + "representation": "green", + "text": "{0}{1}" + }, + { + "operator": "==", + "thresholdValue": "0", + "representation": "gray", + "text": "0" + }, + { + "operator": "is Empty", + "representation": "gray", + "text": "N/A" + }, + { + "operator": "Default", + "thresholdValue": null, + "representation": "redBright", + "text": "N/A" + } + ] + }, + "numberFormat": { + "unit": 1, + "options": { + "style": "decimal", + "maximumFractionDigits": 2 + } + } + }, + "secondaryContent": { + "columnMatch": "Trend", + "formatter": 9, + "formatOptions": { + "palette": "blue" + } + }, + "showBorder": false, + "size": "full" + } + }, + "customWidth": "25", + "name": "query - 5", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts\r\n| mv-expand todynamic(Category)\r\n| extend selectedTopic = Category[\"name\"]\r\n| where selectedTopic in (\"Advanced Persistent Threats\",\"Ransomware\",\"Hacktivists\") \r\n| make-series Trend = dcount(AlertId) default = 0 on TimeGenerated from {time:start} to {time:end} step {time:grain} by tostring(selectedTopic)\r\n| project-away TimeGenerated\r\n| extend Count=array_sum(Trend)\r\n| project Topics=selectedTopic, Count, Trend\r\n| order by Count desc", + "size": 0, + "showAnalytics": true, + "title": "Trending Threat Actor Activities", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "exportFieldName": "Topics", + "exportParameterName": "ThreatActorselectedTopic", + "exportDefaultValue": "none", + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Topics", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "10%" + } + }, + { + "columnMatch": "Count", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "5%" + } + }, + { + "columnMatch": "Trend", + "formatter": 9, + "formatOptions": { + "palette": "blue", + "customColumnWidthSetting": "85%" + } + } + ], + "rowLimit": 10000, + "filter": true + } + }, + "customWidth": "25", + "name": "query - 6", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts\r\n| mv-expand todynamic(Category)\r\n| extend selectedTopic = Category[\"name\"]\r\n| where selectedTopic in (\"Malware\",\"Network Disruptions\",\"Phishing\",\"DDoS\",\"Defacement\",\"Domain Impersonation\",\"Network Scans\") \r\n| make-series Trend = dcount(AlertId) default = 0 on TimeGenerated from {time:start} to {time:end} step {time:grain} by tostring(selectedTopic)\r\n| project-away TimeGenerated\r\n| extend Count=array_sum(Trend)\r\n| project Topics=selectedTopic, Count, Trend\r\n| order by Count desc", + "size": 0, + "showAnalytics": true, + "title": "Trending Cyber Attacks", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "exportFieldName": "Topics", + "exportParameterName": "CyberAttackselectedTopic", + "exportDefaultValue": "none", + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Topics", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "10%" + } + }, + { + "columnMatch": "Count", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "5%" + } + }, + { + "columnMatch": "Trend", + "formatter": 9, + "formatOptions": { + "palette": "blue", + "customColumnWidthSetting": "85%" + } + } + ], + "rowLimit": 10000, + "filter": true + } + }, + "customWidth": "25", + "name": "query - 7", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts\r\n| mv-expand todynamic(Category)\r\n| extend selectedTopic = Category[\"name\"]\r\n| where selectedTopic in (\"Data Exposure and Breaches\",\"Doxxing and Leaked Credentials\") \r\n| make-series Trend = dcount(AlertId) default = 0 on TimeGenerated from {time:start} to {time:end} step {time:grain} by tostring(selectedTopic)\r\n| project-away TimeGenerated\r\n| extend Count=array_sum(Trend)\r\n| project Topics=selectedTopic, Count, Trend\r\n| order by Count desc ", + "size": 0, + "showAnalytics": true, + "title": "Trending Data Breaches", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "exportFieldName": "Topics", + "exportParameterName": "DataBreachselectedTopic", + "exportDefaultValue": "none", + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Topics", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "10%" + } + }, + { + "columnMatch": "Count", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "5%" + } + }, + { + "columnMatch": "Trend", + "formatter": 9, + "formatOptions": { + "palette": "blue", + "customColumnWidthSetting": "85%" + } + } + ], + "rowLimit": 10000, + "filter": true + } + }, + "customWidth": "25", + "name": "query - 8", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts\r\n| mv-expand todynamic(Category)\r\n| extend selectedTopic = Category[\"name\"]\r\n| where selectedTopic in (\"Email and Web Servers\",\"Encryption and Certificates\",\"Remote Access and Management Systems\",\"Vulnerability Disclosures\",\"Exploits\",\"Bug Bounties\") \r\n| make-series Trend = count_distinct(AlertId) default = 0 on TimeGenerated from {time:start} to {time:end} step {time:grain} by tostring(selectedTopic)\r\n| project-away TimeGenerated\r\n| extend Count=array_sum(Trend)\r\n| project Topics=selectedTopic, Count, Trend\r\n| order by Count desc", + "size": 0, + "showAnalytics": true, + "title": "Trending Vulnerabilities", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "exportFieldName": "Topics", + "exportParameterName": "VulnerabilityselectedTopic", + "exportDefaultValue": "none", + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Topics", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "10%" + } + }, + { + "columnMatch": "Count", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "5%" + } + }, + { + "columnMatch": "Trend", + "formatter": 9, + "formatOptions": { + "palette": "blue", + "customColumnWidthSetting": "85%" + } + } + ], + "rowLimit": 10000, + "filter": true + } + }, + "customWidth": "25", + "name": "query - 9", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 1, + "content": { + "json": "💡 _Click on a row in the above 'Trending Threat Actor Activities', 'Trending Cyber Attacks', 'Trending Data Breaches' & 'Trending Vulnerabilities' grid to view more details_" + }, + "name": "text - 26" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts\r\n| mv-expand todynamic(Category), todynamic(EmbeddedLabels)\r\n| extend addresses = tostring(parse_json(EmbeddedLabels.data.addresses))\r\n| extend vulnerabilities = parse_json(EmbeddedLabels.data.vulnerabilities)\r\n| mv-apply vulnerabilities on (summarize vulnerabilitiesId = make_list(vulnerabilities.id))\r\n| extend selectedTopic = Category[\"name\"]\r\n| where selectedTopic == '{ThreatActorselectedTopic}'\r\n| summarize any(*) by AlertId\r\n| project [\"Alert ID\"]=AlertId, [\"Alert Post Link\"]=any_PostLink, [\"Alert Type\"]=any_AlertType, Caption=any_Caption, [\"Category Names\"]=any_CategoryNames, Companies=any_Company, [\"Cyber Addresses\"]=any_addresses, [\"Location Name\"]=any_EventLocationName, TimeGenerated=any_TimeGenerated, Source=any_EventSource, [\"Source Channels\"]=any_SourceChannels, [\"Vulnerability IDs\"]=any_vulnerabilitiesId\r\n", + "size": 0, + "showAnalytics": true, + "title": "Selected Trending Threat Actor Activity Data", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "rowLimit": 10000, + "filter": true + } + }, + "conditionalVisibility": { + "parameterName": "ThreatActorselectedTopic", + "comparison": "isNotEqualTo", + "value": "none" + }, + "name": "query - 18" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts\r\n| mv-expand todynamic(Category), todynamic(EmbeddedLabels)\r\n| extend addresses = tostring(parse_json(EmbeddedLabels.data.addresses))\r\n| extend vulnerabilities = parse_json(EmbeddedLabels.data.vulnerabilities)\r\n| mv-apply vulnerabilities on (summarize vulnerabilitiesId = make_list(vulnerabilities.id))\r\n| extend selectedTopic = Category[\"name\"]\r\n| where selectedTopic == '{CyberAttackselectedTopic}'\r\n| summarize any(*)by AlertId\r\n| project [\"Alert ID\"]=AlertId, [\"Alert Post Link\"]=any_PostLink, [\"Alert Type\"]=any_AlertType, Caption=any_Caption, [\"Category Names\"]=any_CategoryNames, Companies=any_Company, [\"Cyber Addresses\"]=any_addresses, [\"Location Name\"]=any_EventLocationName, TimeGenerated=any_TimeGenerated, Source=any_EventSource, [\"Source Channels\"]=any_SourceChannels, [\"Vulnerability IDs\"]=any_vulnerabilitiesId", + "size": 0, + "showAnalytics": true, + "title": "Selected Trending Cyber Attack Data", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "rowLimit": 10000, + "filter": true + } + }, + "conditionalVisibility": { + "parameterName": "CyberAttackselectedTopic", + "comparison": "isNotEqualTo", + "value": "none" + }, + "name": "query - 19" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts\r\n| mv-expand todynamic(Category), todynamic(EmbeddedLabels)\r\n| extend addresses = tostring(parse_json(EmbeddedLabels.data.addresses))\r\n| extend vulnerabilities = parse_json(EmbeddedLabels.data.vulnerabilities)\r\n| mv-apply vulnerabilities on (summarize vulnerabilitiesId = make_list(vulnerabilities.id))\r\n| extend selectedTopic = Category[\"name\"]\r\n| where selectedTopic == '{DataBreachselectedTopic}'\r\n| summarize any(*)by AlertId\r\n| project [\"Alert ID\"]=AlertId, [\"Alert Post Link\"]=any_PostLink, [\"Alert Type\"]=any_AlertType, Caption=any_Caption, [\"Category Names\"]=any_CategoryNames, Companies=any_Company, [\"Cyber Addresses\"]=any_addresses, [\"Location Name\"]=any_EventLocationName, TimeGenerated=any_TimeGenerated, Source=any_EventSource, [\"Source Channels\"]=any_SourceChannels, [\"Vulnerability IDs\"]=any_vulnerabilitiesId", + "size": 0, + "showAnalytics": true, + "title": "Selected Trending Data Breach Data", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "rowLimit": 10000, + "filter": true + } + }, + "conditionalVisibility": { + "parameterName": "DataBreachselectedTopic", + "comparison": "isNotEqualTo", + "value": "none" + }, + "name": "query - 20" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts\r\n| mv-expand todynamic(Category), todynamic(EmbeddedLabels)\r\n| extend addresses = tostring(parse_json(EmbeddedLabels.data.addresses))\r\n| extend vulnerabilities = parse_json(EmbeddedLabels.data.vulnerabilities)\r\n| mv-apply vulnerabilities on (summarize vulnerabilitiesId = make_list(vulnerabilities.id))\r\n| extend selectedTopic = Category[\"name\"]\r\n| where selectedTopic == '{VulnerabilityselectedTopic}'\r\n| summarize any(*)by AlertId\r\n| project [\"Alert ID\"]=AlertId, [\"Alert Post Link\"]=any_PostLink, [\"Alert Type\"]=any_AlertType, Caption=any_Caption, [\"Category Names\"]=any_CategoryNames, Companies=any_Company, [\"Cyber Addresses\"]=any_addresses, [\"Location Name\"]=any_EventLocationName, TimeGenerated=any_TimeGenerated, Source=any_EventSource, [\"Source Channels\"]=any_SourceChannels, [\"Vulnerability IDs\"]=any_vulnerabilitiesId", + "size": 0, + "showAnalytics": true, + "title": "Selected Trending Vulnerability Data", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "rowLimit": 10000, + "filter": true + } + }, + "conditionalVisibility": { + "parameterName": "VulnerabilityselectedTopic", + "comparison": "isNotEqualTo", + "value": "none" + }, + "name": "query - 21" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts\r\n| mv-expand todynamic(Category)\r\n| extend selectedTopic = Category[\"name\"]\r\n| where selectedTopic in (\"Advanced Persistent Threats\",\"Ransomware\",\"Hacktivists\")\r\n| project TimeGenerated, Caption, Topic=selectedTopic, Severity=AlertType, Source=EventSource, Company=CompanyNames, AlertId\r\n\r\n\r\n", + "size": 0, + "showAnalytics": true, + "title": "Threat Actor Activities", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "exportFieldName": "AlertId", + "exportParameterName": "ThreatActorAlertId", + "exportDefaultValue": "none", + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "formatters": [ + { + "columnMatch": "AlertId", + "formatter": 5 + } + ], + "rowLimit": 10000, + "filter": true + } + }, + "customWidth": "50", + "name": "query - 10", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts\r\n| mv-expand todynamic(Category)\r\n| extend selectedTopic = Category[\"name\"]\r\n| where selectedTopic in (\"Malware\",\"Network Disruptions\",\"Phishing\",\"DDoS\",\"Defacement\",\"Domain Impersonation\",\"Network Scans\")\r\n| project TimeGenerated, Caption, Topic=selectedTopic, Severity=AlertType, Source=EventSource, Company=CompanyNames, AlertId", + "size": 0, + "showAnalytics": true, + "title": "Cyber Attacks", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "exportFieldName": "AlertId", + "exportParameterName": "CyberAttackAlertId", + "exportDefaultValue": "none", + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "formatters": [ + { + "columnMatch": "AlertId", + "formatter": 5 + } + ], + "rowLimit": 10000, + "filter": true + } + }, + "customWidth": "50", + "name": "query - 11", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 1, + "content": { + "json": "💡 _Click on a row in the above 'Threat Actor Activities' grid to view more details_" + }, + "customWidth": "50", + "name": "text - 22" + }, + { + "type": 1, + "content": { + "json": "💡 _Click on a row in the above 'Cyber Attacks' grid to view more details_" + }, + "customWidth": "50", + "name": "text - 22 - Copy" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts\r\n| mv-expand todynamic(Category)\r\n| extend selectedTopic = Category[\"name\"]\r\n| where selectedTopic in (\"Data Exposure and Breaches\",\"Doxxing and Leaked Credentials\") \r\n| project TimeGenerated, Caption, Topic=selectedTopic, Severity=AlertType, Source=EventSource, Company=CompanyNames, AlertId", + "size": 0, + "showAnalytics": true, + "title": "Data Breaches", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "exportFieldName": "AlertId", + "exportParameterName": "DataBreachesAlertId", + "exportDefaultValue": "none", + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "formatters": [ + { + "columnMatch": "AlertId", + "formatter": 5 + } + ], + "rowLimit": 10000, + "filter": true + } + }, + "customWidth": "50", + "name": "query - 12", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts\r\n| mv-expand todynamic(Category)\r\n| extend selectedTopic = Category[\"name\"]\r\n| where selectedTopic in (\"Email and Web Servers\",\"Encryption and Certificates\",\"Remote Access and Management Systems\",\"Vulnerability Disclosures\",\"Exploits\",\"Bug Bounties\")\r\n| project TimeGenerated, Caption, Topic=selectedTopic, Severity=AlertType, Source=EventSource, Company=CompanyNames, AlertId", + "size": 0, + "showAnalytics": true, + "title": "Vulnerabilities", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "exportFieldName": "AlertId", + "exportParameterName": "VulnerabilitiesAlertId", + "exportDefaultValue": "none", + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "formatters": [ + { + "columnMatch": "AlertId", + "formatter": 5 + } + ], + "rowLimit": 10000, + "filter": true + } + }, + "customWidth": "50", + "name": "query - 13", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 1, + "content": { + "json": "💡 _Click on a row in the above 'Data Breaches' grid to view more details_" + }, + "customWidth": "50", + "name": "text - 24" + }, + { + "type": 1, + "content": { + "json": "💡 _Click on a row in the above 'Vulnerabilities' grid to view more details_" + }, + "customWidth": "50", + "name": "text - 24 - Copy" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts\r\n| where AlertId == '{ThreatActorAlertId}'\r\n| mv-expand todynamic(Category), todynamic(EmbeddedLabels)\r\n| extend addresses = tostring(parse_json(EmbeddedLabels.data.addresses))\r\n| extend vulnerabilities = parse_json(EmbeddedLabels.data.vulnerabilities)\r\n| mv-apply vulnerabilities on (summarize vulnerabilitiesId = make_list(vulnerabilities.id))\r\n| extend selectedTopic = Category[\"name\"]\r\n| summarize any(*) by AlertId\r\n| project AlertId, [\"Alert Post Link\"]=any_PostLink, [\"Alert Type\"]=any_AlertType,Caption=any_Caption, [\"Category Names\"]=any_CategoryNames, Companies=any_Company, [\"Cyber Addresses\"]=any_addresses, [\"Location Name\"]=any_EventLocationName, TimeGenerated=any_TimeGenerated, [\"Matched Watchlist\"]=any_WatchlistNames, Source=any_EventSource, [\"Source Channels\"]=any_SourceChannels, [\"Vulnerability IDs\"]=any_vulnerabilitiesId", + "size": 0, + "showAnalytics": true, + "title": "Selected Threat Actor Activity Data", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "rowLimit": 10000 + } + }, + "conditionalVisibility": { + "parameterName": "ThreatActorAlertId", + "comparison": "isNotEqualTo", + "value": "none" + }, + "name": "query - 14" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts\r\n| where AlertId == '{CyberAttackAlertId}'\r\n| mv-expand todynamic(Category), todynamic(EmbeddedLabels)\r\n| extend addresses = tostring(parse_json(EmbeddedLabels.data.addresses))\r\n| extend vulnerabilities = parse_json(EmbeddedLabels.data.vulnerabilities)\r\n| mv-apply vulnerabilities on (summarize vulnerabilitiesId = make_list(vulnerabilities.id))\r\n| extend selectedTopic = Category[\"name\"]\r\n| summarize any(*) by AlertId\r\n| project AlertId, [\"Alert Post Link\"]=any_PostLink, [\"Alert Type\"]=any_AlertType, Caption=any_Caption, [\"Category Names\"]=any_CategoryNames, Companies=any_Company, [\"Cyber Addresses\"]=any_addresses, [\"Location Name\"]=any_EventLocationName, TimeGenerated=any_TimeGenerated, [\"Matched Watchlist\"]=any_WatchlistNames, Source=any_EventSource, [\"Source Channels\"]=any_SourceChannels, [\"Vulnerability IDs\"]=any_vulnerabilitiesId", + "size": 0, + "showAnalytics": true, + "title": "Selected Cyber Attack Data", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "rowLimit": 10000 + } + }, + "conditionalVisibility": { + "parameterName": "CyberAttackAlertId", + "comparison": "isNotEqualTo", + "value": "none" + }, + "name": "query - 15" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts\r\n| where AlertId == '{DataBreachesAlertId}'\r\n| mv-expand todynamic(Category), todynamic(EmbeddedLabels)\r\n| extend addresses = tostring(parse_json(EmbeddedLabels.data.addresses))\r\n| extend vulnerabilities = parse_json(EmbeddedLabels.data.vulnerabilities)\r\n| mv-apply vulnerabilities on (summarize vulnerabilitiesId = make_list(vulnerabilities.id))\r\n| extend selectedTopic = Category[\"name\"]\r\n| summarize any(*) by AlertId\r\n| project AlertId, [\"Alert Post Link\"]=any_PostLink, [\"Alert Type\"]=any_AlertType,Caption=any_Caption, [\"Category Names\"]=any_CategoryNames, Companies=any_Company, [\"Cyber Addresses\"]=any_addresses, [\"Location Name\"]=any_EventLocationName, TimeGenerated=any_TimeGenerated, [\"Matched Watchlist\"]=any_WatchlistNames, Source=any_EventSource, [\"Source Channels\"]=any_SourceChannels, [\"Vulnerability IDs\"]=any_vulnerabilitiesId", + "size": 0, + "showAnalytics": true, + "title": "Selected Data Breach Data", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "rowLimit": 10000 + } + }, + "conditionalVisibility": { + "parameterName": "DataBreachesAlertId", + "comparison": "isNotEqualTo", + "value": "none" + }, + "name": "query - 16" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseCyberAlerts\r\n| where AlertId == '{VulnerabilitiesAlertId}'\r\n| mv-expand todynamic(Category), todynamic(EmbeddedLabels)\r\n| extend addresses = tostring(parse_json(EmbeddedLabels.data.addresses))\r\n| extend vulnerabilities = parse_json(EmbeddedLabels.data.vulnerabilities)\r\n| mv-apply vulnerabilities on (summarize vulnerabilitiesId = make_list(vulnerabilities.id))\r\n| extend selectedTopic = Category[\"name\"]\r\n| summarize any(*) by AlertId\r\n| project AlertId, [\"Alert Post Link\"]=any_PostLink, [\"Alert Type\"]=any_AlertType,Caption=any_Caption, [\"Category Names\"]=any_CategoryNames, Companies=any_Company, [\"Cyber Addresses\"]=any_addresses, [\"Location Name\"]=any_EventLocationName, TimeGenerated=any_TimeGenerated, [\"Matched Watchlist\"]=any_WatchlistNames, Source=any_EventSource, [\"Source Channels\"]=any_SourceChannels, [\"Vulnerability IDs\"]=any_vulnerabilitiesId", + "size": 0, + "showAnalytics": true, + "title": "Selected Vulnerability Data", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "rowLimit": 10000 + } + }, + "conditionalVisibility": { + "parameterName": "VulnerabilitiesAlertId", + "comparison": "isNotEqualTo", + "value": "none" + }, + "name": "query - 17" + }, + { + "type": 1, + "content": { + "json": "📝 ***Refresh the web page to fetch details of recently collected events***" + }, + "name": "text - 27" + } + ] + }, + "conditionalVisibility": { + "parameterName": "setTab", + "comparison": "isEqualTo", + "value": "Cyber Threat Overview" + }, + "name": "group - 4" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# Dataminr Alerts Drilldown\r\n### An overview of your Dataminr alerts stored in Sentinel." + }, + "name": "text - 0" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "c71807b7-f47d-48e8-8b38-13af8b856313", + "version": "KqlParameterItem/1.0", + "name": "time", + "label": "Time Range", + "type": 4, + "isRequired": true, + "typeSettings": { + "selectableValues": [ + { + "durationMs": 300000 + }, + { + "durationMs": 900000 + }, + { + "durationMs": 1800000 + }, + { + "durationMs": 3600000 + }, + { + "durationMs": 14400000 + }, + { + "durationMs": 43200000 + }, + { + "durationMs": 86400000 + }, + { + "durationMs": 172800000 + }, + { + "durationMs": 259200000 + }, + { + "durationMs": 604800000 + }, + { + "durationMs": 1209600000 + }, + { + "durationMs": 2419200000 + }, + { + "durationMs": 2592000000 + }, + { + "durationMs": 5184000000 + }, + { + "durationMs": 7776000000 + } + ], + "allowCustom": true + }, + "timeContext": { + "durationMs": 86400000 + }, + "value": { + "durationMs": 86400000 + } + }, + { + "id": "7c5ac891-169b-4194-a76d-c05fe5e4a381", + "version": "KqlParameterItem/1.0", + "name": "location", + "label": "Location", + "type": 2, + "isRequired": true, + "quote": "'", + "delimiter": ",", + "query": "DataminrPulseAlerts\r\n| where TimeGenerated >=ago(90d)\r\n| distinct EventLocationName\r\n| where isnotempty(EventLocationName)\r\n", + "typeSettings": { + "additionalResourceOptions": [ + "value::all" + ], + "selectAllValue": "*", + "showDefault": false + }, + "defaultValue": "value::all", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "b565146d-68da-42cf-b6ab-b5bd6d426e05", + "version": "KqlParameterItem/1.0", + "name": "event_source", + "label": "Source", + "type": 2, + "isRequired": true, + "quote": "'", + "delimiter": ",", + "query": "DataminrPulseAlerts\r\n| where TimeGenerated >=ago(90d)\r\n| distinct EventSource\r\n| where isnotempty(EventSource)", + "typeSettings": { + "additionalResourceOptions": [ + "value::all" + ], + "selectAllValue": "*", + "showDefault": false + }, + "defaultValue": "value::all", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "020f92cc-41a5-4fc7-bd00-1c71460a169f", + "version": "KqlParameterItem/1.0", + "name": "company", + "label": "Company", + "type": 2, + "isRequired": true, + "quote": "'", + "delimiter": ",", + "query": "DataminrPulseAlerts\r\n| where TimeGenerated >=ago(90d)\r\n| mv-expand todynamic(Company)\r\n| distinct tostring(Company[\"name\"])", + "typeSettings": { + "additionalResourceOptions": [ + "value::all" + ], + "selectAllValue": "*", + "showDefault": false + }, + "defaultValue": "value::all", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "c103d8bb-76dc-42bf-a5da-f6b03bbda2d4", + "version": "KqlParameterItem/1.0", + "name": "severity", + "label": "Severity", + "type": 2, + "isRequired": true, + "quote": "'", + "delimiter": ",", + "query": "DataminrPulseAlerts\r\n| where TimeGenerated >=ago(90d)\r\n| distinct AlertType = case(isempty(AlertType), \"Unknown\", AlertType)", + "typeSettings": { + "additionalResourceOptions": [ + "value::all" + ], + "selectAllValue": "*", + "showDefault": false + }, + "defaultValue": "value::all", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "32f3344a-34e3-4d68-8c2b-ce82e707729e", + "version": "KqlParameterItem/1.0", + "name": "topic", + "label": "Topic", + "type": 2, + "isRequired": true, + "quote": "'", + "delimiter": ",", + "query": "DataminrPulseAlerts\r\n| where TimeGenerated >=ago(90d)\r\n| mv-expand todynamic(Category)\r\n| distinct tostring(Category[\"name\"])", + "typeSettings": { + "additionalResourceOptions": [ + "value::all" + ], + "selectAllValue": "*", + "showDefault": false + }, + "defaultValue": "value::all", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "232e3e4d-8112-4f65-ab5d-15bd4f18da9d", + "version": "KqlParameterItem/1.0", + "name": "watchlist", + "label": "Watchlist", + "type": 2, + "isRequired": true, + "quote": "'", + "delimiter": ",", + "query": "DataminrPulseAlerts\r\n| where TimeGenerated >=ago(90d)\r\n| mv-expand todynamic(WatchlistsMatchedByType)\r\n| distinct tostring(WatchlistsMatchedByType[\"name\"])", + "typeSettings": { + "additionalResourceOptions": [ + "value::all" + ], + "selectAllValue": "*", + "showDefault": false + }, + "defaultValue": "value::all", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "1a2c6025-a4fb-4002-9aa8-9254b1351bc0", + "version": "KqlParameterItem/1.0", + "name": "search_keyword", + "label": "Keyword Search", + "type": 1, + "description": "Provide * for fetching All values", + "isRequired": true, + "value": "*" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "parameters - 1" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseAlerts\r\n| where isnotempty(Latitude) and isnotempty(Longitude) \r\n and ('*' == ('{location}') or EventLocationName == ('{location}'))\r\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\r\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\r\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\r\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\r\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\r\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\r\n| summarize any(EventLocationName), distinct_count=dcount(AlertId) by tostring(Latitude), tostring(Longitude)\r\n| extend latlng = strcat(\"Name: \",any_EventLocationName,\"\\nLatitude: \",Latitude,\"\\nLongitude: \",Longitude)\r\n| order by distinct_count desc", + "size": 0, + "showAnalytics": true, + "title": "Alerts Location Map", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "map", + "mapSettings": { + "locInfo": "LatLong", + "latitude": "Latitude", + "longitude": "Longitude", + "sizeSettings": "distinct_count", + "sizeAggregation": "Sum", + "labelSettings": "latlng", + "legendMetric": "distinct_count", + "numberOfMetrics": 0, + "legendAggregation": "Sum", + "itemColorSettings": { + "nodeColorField": "distinct_count", + "colorAggregation": "Sum", + "type": "heatmap", + "heatmapPalette": "greenRed" + }, + "numberFormatSettings": { + "unit": 0, + "options": { + "style": "decimal" + } + } + } + }, + "customWidth": "50", + "name": "Alerts Location Map", + "styleSettings": { + "padding": "22px", + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseAlerts\r\n| where TimeGenerated >= ago(14d) and TimeGenerated <=ago(7d)\r\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\r\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\r\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\r\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\r\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\r\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\r\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\r\n| mv-expand todynamic(Category)\r\n| extend Topics = Category[\"name\"]\r\n| where ('*' == ('{topic}') or Topics == '{topic}')\r\n| summarize dcount(AlertId) by tostring(Topics)\r\n| project Topics, dcount_AlertId\r\n| join kind=rightouter (DataminrPulseAlerts \r\n | where TimeGenerated >= ago(7d)\r\n | where ('*' == ('{location}') or EventLocationName == ('{location}'))\r\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\r\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\r\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\r\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\r\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\r\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\r\n | mv-expand todynamic(Category)\r\n | extend Topics = Category[\"name\"]\r\n | where ('*' == ('{topic}') or Topics == '{topic}')\r\n | summarize dcount(AlertId) by tostring(Topics)\r\n | project Topics, dcount_AlertId) on Topics\r\n| extend WeekTrendvalue = dcount_AlertId1 - dcount_AlertId\r\n| extend WeekTrend = iff(WeekTrendvalue > 0,strcat(\"+\",WeekTrendvalue),tostring(WeekTrendvalue))\r\n| project Topic=Topics1, [\"Week Trend\"]=WeekTrend, Count=dcount_AlertId1\r\n| order by Count desc ", + "size": 0, + "showAnalytics": true, + "title": "Latest Topics", + "noDataMessage": "No data found in selected timerange.", + "showRefreshButton": true, + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Topic", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "50%" + } + }, + { + "columnMatch": "Count", + "formatter": 4, + "formatOptions": { + "palette": "greenRed", + "customColumnWidthSetting": "25%" + } + }, + { + "columnMatch": "WeekTrend", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "25%" + } + } + ], + "rowLimit": 10000, + "filter": true + }, + "sortBy": [] + }, + "name": "Latest Topics", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 1, + "content": { + "json": "This panel displays data for the alerts ingested in Sentinel for the last 7 days.", + "style": "info" + }, + "name": "text - 1" + } + ] + }, + "customWidth": "50", + "name": "group - 17" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseAlerts\r\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\r\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\r\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\r\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\r\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\r\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\r\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\r\n| extend dt = unixtime_milliseconds_todatetime(EventTime)\r\n| extend Time = format_datetime(dt,'MM-dd-yy HH:mm:ss')\r\n| summarize any(*) by AlertId\r\n| extend Caption = replace_string(any_Caption,\"\\n\",\" \")\r\n| project-rename [\"Alert Type\"] = any_AlertType\r\n| project Caption, [\"Alert Type\"], Time=any_Time, [\"Source Link\"] = any_PostLink\r\n| order by Time desc", + "size": 0, + "showAnalytics": true, + "title": "Latest Alerts Details", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "exportFieldName": "Caption", + "exportParameterName": "SelectedCaption", + "exportDefaultValue": "none", + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Caption", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "45%" + } + }, + { + "columnMatch": "Source Link", + "formatter": 7, + "formatOptions": { + "linkTarget": "Url" + } + } + ], + "rowLimit": 10000, + "filter": true + } + }, + "name": "Latest Alerts Details", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 1, + "content": { + "json": "💡 _Click on a row in the above 'Latest Alerts Details' grid to view more details_" + }, + "name": "text - 14" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "let CyberAddresses = toscalar(\r\nDataminrPulseAlerts\r\n| mv-expand todynamic(EmbeddedLabels)\r\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\r\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\r\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\r\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\r\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\r\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\r\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\r\n| extend Addresses = tostring(parse_json(EmbeddedLabels.data.addresses))\r\n| summarize any(*) by AlertId\r\n| extend Caption = replace_string(any_Caption,\"\\n\",\" \")\r\n| where any_Caption == ```{SelectedCaption}```\r\n| sort by AlertId\r\n| project any_Addresses\r\n);\r\nlet Vulnerabilities = toscalar(\r\nDataminrPulseAlerts\r\n| mv-expand todynamic(EmbeddedLabels)\r\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\r\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\r\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\r\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\r\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\r\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\r\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\r\n| extend Vulnerabilities = parse_json(EmbeddedLabels.data.vulnerabilities)\r\n| mv-apply Vulnerabilities on (summarize VulnerabilitiesId = make_list(Vulnerabilities.id))\r\n| summarize any(*) by AlertId\r\n| extend Caption = replace_string(any_Caption,\"\\n\",\" \")\r\n| where any_Caption == ```{SelectedCaption}```\r\n| sort by AlertId\r\n| project any_VulnerabilitiesId\r\n);\r\nDataminrPulseAlerts\r\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\r\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\r\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\r\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\r\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\r\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\r\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\r\n| extend Caption = replace_string(Caption,\"\\n\",\" \")\r\n| where Caption == ```{SelectedCaption}```\r\n| sort by AlertId\r\n| extend Addresses = CyberAddresses, Vulnerabilities = Vulnerabilities\r\n| project-rename [\"Alert Id\"]=AlertId, [\"Alert Post Link\"]=PostLink, [\"Alert type\"]=AlertType, [\"category Names\"]=CategoryNames, [\"Cyber Addresses\"]=Addresses, [\"Location Name\"]=EventLocationName, [\"Time Generated\"]=TimeGenerated, [\"Matched watchlist\"]=WatchlistNames, [\"Source Channels\"]=SourceChannels, [\"Vulnerability IDs\"]=Vulnerabilities\r\n| project [\"Alert Id\"], [\"Alert Post Link\"], [\"Alert type\"], Caption, [\"category Names\"], Companies=Company, [\"Cyber Addresses\"], [\"Location Name\"], [\"Time Generated\"],[\"Matched watchlist\"], Source=EventSource,[\"Source Channels\"], [\"Vulnerability IDs\"]\r\n", + "size": 1, + "showAnalytics": true, + "title": "Selected Alert data", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Alert Id", + "formatter": 7, + "formatOptions": { + "linkTarget": "GenericDetails", + "linkIsContextBlade": true + } + }, + { + "columnMatch": "Alert Post Link", + "formatter": 7, + "formatOptions": { + "linkTarget": "Url" + } + }, + { + "columnMatch": "AlertId", + "formatter": 7, + "formatOptions": { + "linkTarget": "GenericDetails", + "linkIsContextBlade": true + } + } + ], + "rowLimit": 10000, + "filter": true + } + }, + "conditionalVisibility": { + "parameterName": "SelectedCaption", + "comparison": "isNotEqualTo", + "value": "none" + }, + "name": "Selected Alert data", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "f139d998-2ddd-43b7-9323-c60889d9fed2", + "version": "KqlParameterItem/1.0", + "name": "total", + "type": 1, + "query": "DataminrPulseAlerts\r\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\r\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\r\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\r\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\r\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\r\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\r\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\r\n| summarize dcount(AlertId) by EventSource\r\n| where isnotempty(EventSource)\r\n| summarize totalcount=sum(dcount_AlertId)\r\n| project totalcount = iff(totalcount == 0, \"0\", tostring(totalcount))", + "isHiddenWhenLocked": true, + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "time", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "parameters - 10" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseAlerts\r\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\r\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\r\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\r\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\r\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\r\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\r\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\r\n| summarize distinct_count=dcount(AlertId) by EventSource\r\n| where isnotempty(EventSource)\r\n| order by distinct_count desc", + "size": 3, + "showAnalytics": true, + "title": "Alerts by Source (Total {total} Alerts)", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "exportFieldName": "series", + "exportParameterName": "SelectedEventSource", + "exportDefaultValue": "none", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "piechart", + "chartSettings": { + "group": "EventSource", + "createOtherGroup": 10, + "ySettings": { + "numberFormatSettings": { + "unit": 0, + "options": { + "style": "decimal", + "useGrouping": true, + "maximumSignificantDigits": 15 + } + } + } + } + }, + "customWidth": "50", + "name": "Alerts by Source", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseAlerts\r\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\r\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\r\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\r\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\r\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\r\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\r\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\r\n| mv-expand todynamic(SourceChannels)\r\n| summarize distinct_count=dcount(AlertId) by tostring(SourceChannels)\r\n| where isnotempty(SourceChannels)\r\n| project tostring(SourceChannels), distinct_count\r\n| order by distinct_count desc", + "size": 3, + "showAnalytics": true, + "title": "Alerts by Channel", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "exportFieldName": "series", + "exportParameterName": "SelectedChannels", + "exportDefaultValue": "none", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "piechart", + "chartSettings": { + "group": "SourceChannels", + "createOtherGroup": 10, + "ySettings": { + "numberFormatSettings": { + "unit": 0, + "options": { + "style": "decimal", + "useGrouping": true, + "maximumSignificantDigits": 15 + } + } + } + } + }, + "customWidth": "50", + "name": "query - 6", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 1, + "content": { + "json": "💡 _Click on the above 'Alerts by Source' pie chart to view more details_" + }, + "customWidth": "50", + "name": "text - 15" + }, + { + "type": 1, + "content": { + "json": "_💡 Click on the above 'Alerts by Channel' pie chart to view more details_\r\n\r\n" + }, + "customWidth": "50", + "name": "text - 16" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseAlerts\r\n| mv-expand todynamic(Company), todynamic(WatchlistsMatchedByType), todynamic(Category), todynamic(EmbeddedLabels)\r\n| extend Vulnerabilities = parse_json(EmbeddedLabels.data.vulnerabilities), Addresses = parse_json(EmbeddedLabels.data.addresses)\r\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\r\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\r\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\r\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\r\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\r\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\r\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\r\n| mv-expand Vulnerabilities\r\n| mv-apply Vulnerabilities on (summarize VulnerabilitiesId = make_list(Vulnerabilities.id))\r\n| summarize any(*) by AlertId\r\n| where any_EventSource=='{SelectedEventSource}'\r\n| project-rename [\"Alert Id\"]=AlertId, [\"Alert Post Link\"]=any_PostLink, [\"Alert type\"]=any_AlertType, [\"category Names\"]=any_CategoryNames, [\"Cyber Addresses\"]=any_Addresses, [\"Location Name\"]=any_EventLocationName, [\"Time Generated\"]=any_TimeGenerated, [\"Matched watchlist\"]=any_WatchlistNames, [\"Source Channels\"]=any_SourceChannels, [\"Vulnerability IDs\"]=any_VulnerabilitiesId\r\n| project [\"Alert Id\"], [\"Alert Post Link\"], [\"Alert type\"], Caption=any_Caption, [\"category Names\"], Companies=any_Company, [\"Cyber Addresses\"], [\"Location Name\"], [\"Time Generated\"],[\"Matched watchlist\"], Source=any_EventSource,[\"Source Channels\"], [\"Vulnerability IDs\"]\r\n", + "size": 0, + "showAnalytics": true, + "title": "Selected Alerts by Source Data", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Alert Id", + "formatter": 7, + "formatOptions": { + "linkTarget": "GenericDetails", + "linkIsContextBlade": true + } + }, + { + "columnMatch": "Alert Post Link", + "formatter": 7, + "formatOptions": { + "linkTarget": "Url" + } + }, + { + "columnMatch": "Companies", + "formatter": 1 + }, + { + "columnMatch": "Cyber Addresses", + "formatter": 1 + }, + { + "columnMatch": "Time Generated", + "formatter": 6 + } + ], + "rowLimit": 10000, + "filter": true + }, + "sortBy": [] + }, + "conditionalVisibilities": [ + { + "parameterName": "SelectedEventSource", + "comparison": "isNotEqualTo", + "value": "none" + }, + { + "parameterName": "SelectedEventSource", + "comparison": "isNotEqualTo", + "value": "Other" + } + ], + "name": "Selected Alerts by Source Data", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DataminrPulseAlerts\r\n| mv-expand todynamic(Company), todynamic(WatchlistsMatchedByType), todynamic(Category), todynamic(EmbeddedLabels)\r\n| extend Vulnerabilities = parse_json(EmbeddedLabels.data.vulnerabilities), Addresses = parse_json(EmbeddedLabels.data.addresses)\r\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\r\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\r\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\r\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\r\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\r\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\r\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\r\n| mv-expand Vulnerabilities\r\n| mv-apply Vulnerabilities on (summarize VulnerabilitiesId = make_list(Vulnerabilities.id))\r\n| summarize any(*) by AlertId\r\n| mv-expand todynamic(any_SourceChannels)\r\n| where tostring(any_SourceChannels)=='{SelectedChannels}'\r\n| project-rename [\"Alert Id\"]=AlertId, [\"Alert Post Link\"]=any_PostLink, [\"Alert type\"]=any_AlertType, [\"category Names\"]=any_CategoryNames, [\"Cyber Addresses\"]=any_Addresses, [\"Location Name\"]=any_EventLocationName, [\"Time Generated\"]=any_TimeGenerated, [\"Matched watchlist\"]=any_WatchlistNames, [\"Source Channels\"]=any_SourceChannels, [\"Vulnerability IDs\"]=any_VulnerabilitiesId\r\n| project [\"Alert Id\"], [\"Alert Post Link\"], [\"Alert type\"], Caption=any_Caption, [\"category Names\"], Companies=any_Company, [\"Cyber Addresses\"], [\"Location Name\"], [\"Time Generated\"],[\"Matched watchlist\"], Source=any_EventSource,[\"Source Channels\"], [\"Vulnerability IDs\"]\r\n", + "size": 0, + "showAnalytics": true, + "title": "Selected Alerts by Channel Data", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Alert Id", + "formatter": 7, + "formatOptions": { + "linkTarget": "GenericDetails", + "linkIsContextBlade": true + } + }, + { + "columnMatch": "Alert Post Link", + "formatter": 7, + "formatOptions": { + "linkTarget": "Url" + } + }, + { + "columnMatch": "Companies", + "formatter": 1 + }, + { + "columnMatch": "Cyber Addresses", + "formatter": 1 + } + ], + "rowLimit": 10000, + "filter": true, + "sortBy": [ + { + "itemKey": "Cyber Addresses", + "sortOrder": 2 + } + ] + }, + "sortBy": [ + { + "itemKey": "Cyber Addresses", + "sortOrder": 2 + } + ] + }, + "conditionalVisibilities": [ + { + "parameterName": "SelectedChannels", + "comparison": "isNotEqualTo", + "value": "none" + }, + { + "parameterName": "SelectedChannels", + "comparison": "isNotEqualTo", + "value": "Other" + } + ], + "name": "Selected Alerts by Channel Data", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "let total = toscalar(DataminrPulseAlerts\r\n| mv-expand todynamic(EmbeddedLabels)\r\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\r\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\r\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\r\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\r\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\r\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\r\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\r\n| extend addresses = parse_json(EmbeddedLabels.data.addresses)\r\n| mv-apply addresses on (summarize ip=make_list(addresses.ip))\r\n| mv-expand ip\r\n| summarize dcount(AlertId) by tostring(ip)\r\n| summarize total=sum(dcount_AlertId)\r\n| project total);\r\nDataminrPulseAlerts\r\n| mv-expand todynamic(EmbeddedLabels)\r\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\r\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\r\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\r\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\r\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\r\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\r\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\r\n| extend addresses = parse_json(EmbeddedLabels.data.addresses)\r\n| mv-apply addresses on (summarize ip=make_list(addresses.ip))\r\n| mv-expand ip\r\n| where isnotempty(ip)\r\n| summarize dcount(AlertId) by tostring(ip)\r\n| extend Percent = 100*todouble(dcount_AlertId)/total\r\n| project-rename Count = dcount_AlertId\r\n| project [\"IP Address\"]=ip, Count, Percent\r\n| order by Percent desc\r\n| limit 10", + "size": 0, + "showAnalytics": true, + "title": "Top 10 Exploiting IP Addresses", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Count", + "formatter": 4, + "formatOptions": { + "palette": "greenRed" + } + }, + { + "columnMatch": "Percent", + "formatter": 4, + "formatOptions": { + "min": 0, + "palette": "greenRed" + }, + "numberFormat": { + "unit": 1, + "options": { + "style": "decimal", + "maximumFractionDigits": 2 + } + } + } + ], + "rowLimit": 10000, + "filter": true + }, + "sortBy": [] + }, + "customWidth": "33.33", + "name": "Top 10 Exploiting IP Addresses", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "let total = toscalar(DataminrPulseAlerts\r\n| mv-expand todynamic(EmbeddedLabels)\r\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\r\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\r\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\r\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\r\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\r\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\r\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\r\n| extend vulnerabilities = parse_json(EmbeddedLabels.data.vulnerabilities)\r\n| mv-apply vulnerabilities on (summarize vulnids=make_list(vulnerabilities.id))\r\n| mv-expand vulnids\r\n| where isnotempty(vulnids)\r\n| summarize dcount(AlertId) by tostring(vulnids)\r\n| summarize total=sum(dcount_AlertId)\r\n| project total);\r\nDataminrPulseAlerts\r\n| mv-expand todynamic(EmbeddedLabels)\r\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\r\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\r\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\r\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\r\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\r\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\r\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\r\n| extend vulnerabilities = parse_json(EmbeddedLabels.data.vulnerabilities)\r\n| mv-apply vulnerabilities on (summarize vulnids=make_list(vulnerabilities.id))\r\n| mv-expand vulnids\r\n| where isnotempty(vulnids)\r\n| summarize dcount(AlertId) by tostring(vulnids)\r\n| extend Percent = 100*todouble(dcount_AlertId)/total\r\n| project-rename Count = dcount_AlertId\r\n| project [\"Vulnerability ID\"]=vulnids, Count, Percent\r\n| order by Percent desc\r\n| limit 10", + "size": 0, + "showAnalytics": true, + "title": "Top 10 Trending CVEs", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Count", + "formatter": 4, + "formatOptions": { + "palette": "greenRed" + } + }, + { + "columnMatch": "Percent", + "formatter": 4, + "formatOptions": { + "min": 0, + "palette": "greenRed" + }, + "numberFormat": { + "unit": 1, + "options": { + "style": "decimal", + "maximumFractionDigits": 2 + } + } + } + ], + "rowLimit": 10000, + "filter": true + }, + "sortBy": [] + }, + "customWidth": "33.33", + "name": "Top 10 Trending CVEs", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "let total = toscalar(DataminrPulseAlerts\r\n| mv-expand todynamic(EmbeddedLabels)\r\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\r\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\r\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\r\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\r\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\r\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\r\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\r\n| extend addresses = parse_json(EmbeddedLabels.data.addresses)\r\n| mv-apply addresses on (summarize port=make_list(addresses.port))\r\n| mv-expand port\r\n| summarize dcount(AlertId) by tostring(port)\r\n| summarize total=sum(dcount_AlertId)\r\n| project total);\r\nDataminrPulseAlerts\r\n| mv-expand todynamic(EmbeddedLabels)\r\n| where ('*' == ('{location}') or EventLocationName == ('{location}'))\r\n and ('*' == ('{event_source}') or EventSource == ('{event_source}'))\r\n and ('*' == ('{company}') or set_has_element(todynamic(CompanyNames),'{company}'))\r\n and ('*' == ('{severity}') or AlertType == ('{severity}'))\r\n and ('*' == ('{topic}') or set_has_element(todynamic(CategoryNames), '{topic}'))\r\n and ('*' == ('{watchlist}') or set_has_element(todynamic(WatchlistNames),'{watchlist}'))\r\n and ('{search_keyword:label}' == '*' or (* has '{search_keyword:label}'))\r\n| extend addresses = parse_json(EmbeddedLabels.data.addresses)\r\n| mv-apply addresses on (summarize port=make_list(addresses.port))\r\n| mv-expand port\r\n| where isnotempty(port)\r\n| summarize dcount(AlertId) by tostring(port)\r\n| extend Percent = 100*todouble(dcount_AlertId)/total\r\n| project-rename Count = dcount_AlertId\r\n| project [\"Port\"]=port, Count, Percent\r\n| sort by Percent desc\r\n| limit 10", + "size": 0, + "showAnalytics": true, + "title": "Top 10 Open Ports", + "noDataMessage": "No data found in selected timerange.", + "timeContextFromParameter": "time", + "showRefreshButton": true, + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Count", + "formatter": 4, + "formatOptions": { + "palette": "greenRed" + } + }, + { + "columnMatch": "Percent", + "formatter": 4, + "formatOptions": { + "min": 0, + "palette": "greenRed" + }, + "numberFormat": { + "unit": 1, + "options": { + "style": "decimal", + "maximumFractionDigits": 2 + } + } + } + ], + "rowLimit": 10000, + "filter": true + } + }, + "customWidth": "33.33", + "name": "Top 10 Open Ports", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 1, + "content": { + "json": "📝 ***Refresh the web page to fetch details of recently collected events***" + }, + "name": "text - 9" + } + ] + }, + "conditionalVisibility": { + "parameterName": "setTab", + "comparison": "isEqualTo", + "value": "Alerts Drilldown" + }, + "name": "Alerts Drilldown" + } + ], + "fromTemplateId": "sentinel-DataminrPulseAlerts", + "$schema": "https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json" +} \ No newline at end of file diff --git a/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsBlack1.png b/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsBlack1.png new file mode 100644 index 00000000000..9b7329900e2 Binary files /dev/null and b/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsBlack1.png differ diff --git a/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsBlack2.png b/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsBlack2.png new file mode 100644 index 00000000000..8b49fc69f39 Binary files /dev/null and b/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsBlack2.png differ diff --git a/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsBlack3.png b/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsBlack3.png new file mode 100644 index 00000000000..6a519250b1d Binary files /dev/null and b/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsBlack3.png differ diff --git a/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsBlack4.png b/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsBlack4.png new file mode 100644 index 00000000000..effc09f8d81 Binary files /dev/null and b/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsBlack4.png differ diff --git a/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsBlack5.png b/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsBlack5.png new file mode 100644 index 00000000000..21a91d913ca Binary files /dev/null and b/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsBlack5.png differ diff --git a/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsWhite1.png b/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsWhite1.png new file mode 100644 index 00000000000..8eebc345078 Binary files /dev/null and b/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsWhite1.png differ diff --git a/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsWhite2.png b/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsWhite2.png new file mode 100644 index 00000000000..02c9e2a803b Binary files /dev/null and b/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsWhite2.png differ diff --git a/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsWhite3.png b/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsWhite3.png new file mode 100644 index 00000000000..04075d5bab3 Binary files /dev/null and b/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsWhite3.png differ diff --git a/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsWhite4.png b/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsWhite4.png new file mode 100644 index 00000000000..55e212be604 Binary files /dev/null and b/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsWhite4.png differ diff --git a/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsWhite5.png b/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsWhite5.png new file mode 100644 index 00000000000..bc4d39202bd Binary files /dev/null and b/Solutions/Dataminr Pulse/Workbooks/Images/Preview/DataminrPulseAlertsWhite5.png differ diff --git a/Tools/Create-Azure-Sentinel-Solution/V2/WorkbookMetadata/WorkbooksMetadata.json b/Tools/Create-Azure-Sentinel-Solution/V2/WorkbookMetadata/WorkbooksMetadata.json index 2c6e5e95549..f9d6b5bc141 100644 --- a/Tools/Create-Azure-Sentinel-Solution/V2/WorkbookMetadata/WorkbooksMetadata.json +++ b/Tools/Create-Azure-Sentinel-Solution/V2/WorkbookMetadata/WorkbooksMetadata.json @@ -5530,5 +5530,27 @@ "templateRelativePath": "MailGuard365Dashboard.json", "subtitle": "", "provider": "MailGuard 365" +}, +{ + "workbookKey": "DataminrPulseAlerts", + "logoFileName": "DataminrPulse.svg", + "description": "This Workbook provides insight into the data coming from DataminrPulse.", + "dataTypesDependencies": ["DataminrPulse_Alerts_CL"], + "dataConnectorsDependencies": ["DataminrPulseAlerts"], + "previewImagesFileNames": [ "DataminrPulseAlertsBlack1.png", + "DataminrPulseAlertsBlack2.png", + "DataminrPulseAlertsBlack3.png", + "DataminrPulseAlertsBlack4.png", + "DataminrPulseAlertsBlack5.png", + "DataminrPulseAlertsWhite1.png", + "DataminrPulseAlertsWhite2.png", + "DataminrPulseAlertsWhite3.png", + "DataminrPulseAlertsWhite4.png", + "DataminrPulseAlertsWhite5.png" + ], + "version": "1.0.0", + "title": "Dataminr Pulse Alerts", + "templateRelativePath": "DataminrPulseAlerts.json", + "provider": "Dataminr" } ] \ No newline at end of file diff --git a/Workbooks/Images/Logos/DataminrPulse.svg b/Workbooks/Images/Logos/DataminrPulse.svg new file mode 100644 index 00000000000..8f6252daf77 --- /dev/null +++ b/Workbooks/Images/Logos/DataminrPulse.svg @@ -0,0 +1,4 @@ + + + + diff --git a/Workbooks/Images/Preview/DataminrPulseAlertsBlack1.png b/Workbooks/Images/Preview/DataminrPulseAlertsBlack1.png new file mode 100644 index 00000000000..9b7329900e2 Binary files /dev/null and b/Workbooks/Images/Preview/DataminrPulseAlertsBlack1.png differ diff --git a/Workbooks/Images/Preview/DataminrPulseAlertsBlack2.png b/Workbooks/Images/Preview/DataminrPulseAlertsBlack2.png new file mode 100644 index 00000000000..8b49fc69f39 Binary files /dev/null and b/Workbooks/Images/Preview/DataminrPulseAlertsBlack2.png differ diff --git a/Workbooks/Images/Preview/DataminrPulseAlertsBlack3.png b/Workbooks/Images/Preview/DataminrPulseAlertsBlack3.png new file mode 100644 index 00000000000..6a519250b1d Binary files /dev/null and b/Workbooks/Images/Preview/DataminrPulseAlertsBlack3.png differ diff --git a/Workbooks/Images/Preview/DataminrPulseAlertsBlack4.png b/Workbooks/Images/Preview/DataminrPulseAlertsBlack4.png new file mode 100644 index 00000000000..effc09f8d81 Binary files /dev/null and b/Workbooks/Images/Preview/DataminrPulseAlertsBlack4.png differ diff --git a/Workbooks/Images/Preview/DataminrPulseAlertsBlack5.png b/Workbooks/Images/Preview/DataminrPulseAlertsBlack5.png new file mode 100644 index 00000000000..21a91d913ca Binary files /dev/null and b/Workbooks/Images/Preview/DataminrPulseAlertsBlack5.png differ diff --git a/Workbooks/Images/Preview/DataminrPulseAlertsWhite1.png b/Workbooks/Images/Preview/DataminrPulseAlertsWhite1.png new file mode 100644 index 00000000000..8eebc345078 Binary files /dev/null and b/Workbooks/Images/Preview/DataminrPulseAlertsWhite1.png differ diff --git a/Workbooks/Images/Preview/DataminrPulseAlertsWhite2.png b/Workbooks/Images/Preview/DataminrPulseAlertsWhite2.png new file mode 100644 index 00000000000..02c9e2a803b Binary files /dev/null and b/Workbooks/Images/Preview/DataminrPulseAlertsWhite2.png differ diff --git a/Workbooks/Images/Preview/DataminrPulseAlertsWhite3.png b/Workbooks/Images/Preview/DataminrPulseAlertsWhite3.png new file mode 100644 index 00000000000..04075d5bab3 Binary files /dev/null and b/Workbooks/Images/Preview/DataminrPulseAlertsWhite3.png differ diff --git a/Workbooks/Images/Preview/DataminrPulseAlertsWhite4.png b/Workbooks/Images/Preview/DataminrPulseAlertsWhite4.png new file mode 100644 index 00000000000..55e212be604 Binary files /dev/null and b/Workbooks/Images/Preview/DataminrPulseAlertsWhite4.png differ diff --git a/Workbooks/Images/Preview/DataminrPulseAlertsWhite5.png b/Workbooks/Images/Preview/DataminrPulseAlertsWhite5.png new file mode 100644 index 00000000000..bc4d39202bd Binary files /dev/null and b/Workbooks/Images/Preview/DataminrPulseAlertsWhite5.png differ