From 161b80af14f4284e170c686c050a7bd87857b145 Mon Sep 17 00:00:00 2001 From: Serki Ashagre <132869385+LSerki@users.noreply.github.com> Date: Thu, 22 Aug 2024 11:38:01 +0800 Subject: [PATCH 01/20] Azure Managed Instance for Apache Cassandra Elevation of Privilege Vulnerability - 20240822002 (#946) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * SolarWinds Releases Patches for Access Rights Manager vulnerabilities - 20240219001 * Format markdown files * Format markdown files * Junos OS RCE Vulnerability - 20240226002 * Format markdown files * Windows Themes Spoofing Vulnerability - 20240308003 * Format markdown files * Windows Themes Spoofing Vulnerability - 20240308003 - edited * Akamai Kubernetes Vulnerability - 20240318002 * Format markdown files * CISA Releases Multiple Critical Infrastructure Related Advisories - 20240327001 * Format markdown files * PGAdmin Remote Code Execution Vulnerability - 20240408001 * Format markdown files * Update 20240408001-PGAdmin-Remote-Code-Execution-Vulnerability.md FIxing tables * Format markdown files * Palo Alto Networks PAN-OS Command Injection Vulnerability added to CISA Known Exploited Catalog - 20240415001 * Format markdown files * Palo Alto Networks PAN-OS Command Injection Vulnerability added to CISA Known Exploited Catalog - 20240415001 * Format markdown files * Update 20240415001-PaloAlto-Networks-PAN-OS-Command-Injection-Vulnerability-added-to-CISA-Known-Exploited-Catalog.md Added older versions updates and Zero day notes * Format markdown files * Google Chrome Multiple RCE Vulnerabilities - 20240418002 * Format markdown docs * Remove duplicate 20240415001-PaloAlto * Update 20240418002-Google-Chrome-Multiple-RCE-Vulnerabilities.md Reviewed and Approved * Format markdown docs * Libreswan Popular VPN Software Vulnerability - 20240419004 * Format markdown docs * Update 20240419004-Libreswan-Popular-VPN-Software-Vulnerability.md Fix table * Microsoft Edge (Chromium-based) Security Feature Bypass Vulnerability - 20240422002 * Format markdown docs * Update 20240422002-Microsoft-Edge-Chromium-based-Security-Feature-Bypass-Vulnerability.md fix tables * Windows Kernel Elevation of Privilege Vulnerability - 20240429001 * Format markdown docs * Update 20240429001-Windows-Kernel-Elevation-of-Privilege-Vulnerability.md fixing table * Acrobat Reader Vulnerability - 20240503003 * Format markdown docs * Google Chrome Arbitrary Code Execution Multiple Vulnerabilities - 20240509001 * Format markdown docs * Update 20240509001-Google-Chrome-Arbitrary-Code-Execution-Multiple-Vulnerabilities.md Fix table * Microsoft Edge (Chromium-based) Spoofing Vulnerability - 20240513003 * Format markdown docs * Update 20240513003-Microsoft-Edge-Chromium-based-Spoofing-Vulnerability.md Fix table * Cacti Command Injection and XSS Vulnerabilities - 20240516004 * Format markdown docs * Ivanti EPMM Vulnerability - 20240523002 * Format markdown docs * Ivanti EPMM Vulnerability - 20240523002 * Ivanti EPMM Vulnerability - 20240523002 * Ivanti Endpoint Manager GetRulesetsSQL SQL Injection RCE Vulnerability - 20240527003 * Format markdown docs * Update 20240527003-Ivanti-Endpoint-Manager-GetRulesetsSQL-SQL-Injection-RCE-Vulnerability.md Reduce size of title * WordPress Plugin Vulnerabilities - 20240626003 * Format markdown docs * GeoServer Urgent Advisory - 20240704002 * Format markdown docs * Ivanti Releases New Security Advisories - 20240718004 * Format markdown docs * Apple Releases Multiple Product Updates - 20240731004 * Format markdown docs * Update 20240731004 * Format markdown docs * Azure Managed Instance for Apache Cassandra Elevation of Privilege Vulnerability - 20240822002 * Format markdown docs * Update 20240822002 Renamed page to reduce character count. Updated observations to include vendor knowledge of exploitation. Updated recommendation to "48 hours" in alignment with E8 ML1 Patch Management. --------- Co-authored-by: GitHub Actions Co-authored-by: Joshua Hitchen (DGov) <86041569+DGovEnterprise@users.noreply.github.com> Co-authored-by: LSerki Co-authored-by: DGovEnterprise Co-authored-by: JadonWill <117053393+JadonWill@users.noreply.github.com> Co-authored-by: JadonWill --- ...2-Microsoft-Publishes-Critical-Advisory.md | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 docs/advisories/20240822002-Microsoft-Publishes-Critical-Advisory.md diff --git a/docs/advisories/20240822002-Microsoft-Publishes-Critical-Advisory.md b/docs/advisories/20240822002-Microsoft-Publishes-Critical-Advisory.md new file mode 100644 index 00000000..012088de --- /dev/null +++ b/docs/advisories/20240822002-Microsoft-Publishes-Critical-Advisory.md @@ -0,0 +1,21 @@ +# Microsoft Publishes Critical CVE Advisory - 20240822002 + +## Overview + +Microsoft publishes critical advisory for Azure Managed Instance for Apache Cassandra Elevation of Privilege Vulnerability. An improper access control vulnerability in the Azure Managed Instance for Apache Cassandra allows an authenticated attacker to elevate privileges over a network. + +## What is vulnerable? + +| Product(s) Affected | Version(s) | CVE | CVSS | Severity | +| ------------------------------------------- | ---------------------------------------- | ----------------------------------------------------------------- | ---- | ------------ | +| Azure Managed Instance for Apache Cassandra | clusters updated before 20th August 2024 | [CVE-2024-38175](https://www.cve.org/CVERecord?id=CVE-2024-38175) | 9.6 | **Critical** | + +## What has been observed? + +Microsoft is aware of functional exploitation in the wild. There is no evidence of exploitation affecting Western Australian Government networks at the time of publishing. + +## Recommendation + +The WA SOC recommends administrators apply the solutions as per vendor instructions to all affected devices within expected timeframe of *48 hours...* (refer [Patch Management](../guidelines/patch-management.md)): + +- Microsoft CVE article: From b83d7d7c20e2dd04943b32068d273ad6fab045b6 Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 23 Aug 2024 09:29:59 +0800 Subject: [PATCH 02/20] New CISA ICS advisories (#948) * New CISA ICS advisories * Format markdown docs * Update 20240823002 Minor shuffle of table to have Advisory Links in numerical order. * Update 20240823002 Added link to main CISA ICS Advisory page. --------- Co-authored-by: ryan-aus Co-authored-by: JadonWill <117053393+JadonWill@users.noreply.github.com> --- .../20240823002-CISA-ICS-Advisories.md | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 docs/advisories/20240823002-CISA-ICS-Advisories.md diff --git a/docs/advisories/20240823002-CISA-ICS-Advisories.md b/docs/advisories/20240823002-CISA-ICS-Advisories.md new file mode 100644 index 00000000..83d822fa --- /dev/null +++ b/docs/advisories/20240823002-CISA-ICS-Advisories.md @@ -0,0 +1,20 @@ +# CISA Releases New ICS Advisories - 20240823002 + +## Overview + +CISA has released multiple advisories for Industrial Control Systems (ICS) related vendors. + +## What is vulnerable? + +| Vendor | Advisory Link(s) | +| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Rockwell | [ICSA-24-235-01](https://www.cisa.gov/news-events/ics-advisories/icsa-24-235-01)
[ICSA-24-235-02](https://www.cisa.gov/news-events/ics-advisories/icsa-24-235-02) | +| MOBOTIX | [ICSA-24-235-03](https://www.cisa.gov/news-events/ics-advisories/icsa-24-235-03) | +| Avtec | [ICSA-24-235-04](https://www.cisa.gov/news-events/ics-advisories/icsa-24-235-04) | +| Mitsubishi Electric | [ICSA-20-282-02](https://www.cisa.gov/news-events/ics-advisories/icsa-20-282-02) | + +## Recommendation + +The WA SOC recommends administrators review relevant advisories and apply the recommended actions to all affected devices. + +- CISA Advisory: From abd040f596bc288ab65dc233f037a828877dfcdf Mon Sep 17 00:00:00 2001 From: CharlesRN <125233614+CharlesRN@users.noreply.github.com> Date: Fri, 23 Aug 2024 10:55:49 +0800 Subject: [PATCH 03/20] Advisory-20240823001 (#949) * Cisco Affected by OpenSSH Vulnerability * Format markdown docs * Update 20240709001-Cisco-Affected-by-OpenSSH-Vulnerability.md Update with link to previous mentioned CVE advisory * Oracle Critical Patch Update * Format markdown docs * Update 20240719001 * Format markdown docs * Okta Releases Browser Plugin Advisory * Format markdown docs * Update 20240723002 * Advisory_20240801002 * Format markdown docs * Update 20240801002 Applied "advisory-CISA-ICS-Advisories" template * Format markdown docs * Update 20240801002_02 Hyperlink fix * Format markdown docs * Advisory-20240823001 * Format markdown docs --------- Co-authored-by: CharlesRN Co-authored-by: Joshua Hitchen (DGov) <86041569+DGovEnterprise@users.noreply.github.com> Co-authored-by: JadonWill <117053393+JadonWill@users.noreply.github.com> Co-authored-by: JadonWill --- ...001-SolarWinds-Releases-Critical-Update.md | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 docs/advisories/20240823001-SolarWinds-Releases-Critical-Update.md diff --git a/docs/advisories/20240823001-SolarWinds-Releases-Critical-Update.md b/docs/advisories/20240823001-SolarWinds-Releases-Critical-Update.md new file mode 100644 index 00000000..42fb6615 --- /dev/null +++ b/docs/advisories/20240823001-SolarWinds-Releases-Critical-Update.md @@ -0,0 +1,25 @@ +# SolarWinds Releases Critical Update - 20240823001 + +## Overview + +The SolarWinds Web Help Desk (WHD) software is affected by a hardcoded credential vulnerability, allowing remote unauthenticated user to access internal functionality and modify data. + +## What is vulnerable? + +| Product(s) Affected | Version(s) | CVE | CVSS | Severity | +| ------------------------ | --------------------------------------- | ----------------------------------------------------------------- | ---- | ------------ | +| SolarWinds Web Help Desk | **all versions before** 12.8.3 Hotfix 2 | [CVE-2024-28987](https://nvd.nist.gov/vuln/detail/CVE-2024-28987) | 9.1 | **Critical** | + +## What has been observed? + +There is no evidence of exploitation affecting Western Australian Government networks at the time of publishing. + +## Recommendation + +The WA SOC recommends administrators apply the solutions as per vendor instructions to all affected devices within expected timeframe of *48 Hours...* (refer [Patch Management](../guidelines/patch-management.md)): + +- SolarWinds article: + +## Additional References + +- Cybersecurity News article: From ee72e3cbf4b515692fa4750586c01d37f64317fb Mon Sep 17 00:00:00 2001 From: daniellasurya <108962762+daniellasurya@users.noreply.github.com> Date: Mon, 26 Aug 2024 13:07:01 +0800 Subject: [PATCH 04/20] PR for changes to further five (#952) commit-changes-to-further-five --- docs/guidelines/further-five.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/guidelines/further-five.md b/docs/guidelines/further-five.md index 6a33f2c4..d21f373c 100644 --- a/docs/guidelines/further-five.md +++ b/docs/guidelines/further-five.md @@ -1,4 +1,4 @@ -# ACSC Strategies to Mitigate +# ACSC Strategies to Mitigate Cyber Security Incidents The below are all from [ACSC Strategies to Mitigate Cyber Security Incidents – Mitigation Details](https://www.cyber.gov.au/resources-business-and-government/essential-cyber-security/strategies-mitigate-cyber-security-incidents/strategies-mitigate-cyber-security-incidents-mitigation-details). @@ -24,10 +24,10 @@ Server application hardening helps the organisation to conduct its business with OWASP guidance helps to mitigate web application security vulnerabilities such as SQL injection, and covers code review, data validation and sanitisation, user and session management, protection of data in transit and storage, error handling, user authentication, logging and auditing. !!! info - The ACSC has developed guidance for securing content management systems running on web servers, as part of the ACSC responding to cyber security incidents involving adversaries compromising internet-accessible web servers and using 'web shells' which can facilitate remote access, administration and pivoting to the organisation's internal systems. + Further guidance on server application hardening are available below. - - Further guidance on protecting web applications is available in the *[Protecting Web Applications and Users](https://www.cyber.gov.au/resources-business-and-government/maintaining-devices-and-systems/system-hardening-and-administration/web-hardening/protecting-web-applications-and-users "Protecting Web Applications and Users")* publication. - - Further guidance on securing content management systems is available in the *[Securing Content Management Systems](https://www.cyber.gov.au/resources-business-and-government/maintaining-devices-and-systems/system-hardening-and-administration/web-hardening/securing-content-management-systems "Securing Content Management Systems")* publication. + - Further guidance on system hardening is available in the *[Guidelines for System Hardening](https://www.cyber.gov.au/resources-business-and-government/essential-cyber-security/ism/cyber-security-guidelines/guidelines-system-hardening "Guidelines for System Hardening")* publication. + - Further guidance on protecting web applications and users is available in the *[Protecting Web Application and Users](https://www.cyber.gov.au/sites/default/files/2023-03/PROTECT%20-%20Protecting%20Web%20Applications%20and%20Users%20%28October%202021%29.pdf "Protecting Web Applications and Users")* publication. - Further guidance on secure software development is available in the *[Guidelines for Software Development](https://www.cyber.gov.au/resources-business-and-government/essential-cyber-security/ism/cyber-security-guidelines/guidelines-software-development)* publication. ### Block spoofed emails From c800f75537ff02bd39f9f9f4f5ae227089c13360 Mon Sep 17 00:00:00 2001 From: Dinindu-Wick <116336975+Dinindu-Wick@users.noreply.github.com> Date: Mon, 26 Aug 2024 13:07:44 +0800 Subject: [PATCH 05/20] Chromium Vulnerability Known Exploitation - 20240826001 (#950) --- ...romium-Vulnerability-Known-Exploitation.md | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 docs/advisories/20240826001-Chromium-Vulnerability-Known-Exploitation.md diff --git a/docs/advisories/20240826001-Chromium-Vulnerability-Known-Exploitation.md b/docs/advisories/20240826001-Chromium-Vulnerability-Known-Exploitation.md new file mode 100644 index 00000000..e3ca5e69 --- /dev/null +++ b/docs/advisories/20240826001-Chromium-Vulnerability-Known-Exploitation.md @@ -0,0 +1,22 @@ +# Chromium Vulnerability Known Exploitation - 20240826001 + +## Overview + +Google has released updates to address a Type confusion vulnerability in V8 in Chrome and chromium based browsers (e.g. Microsoft Edge) which could allow remote attacker(s) to exploit heap corruption via a crafted HTML page. The vulnerability is actively exploited in the wild. + +## What is vulnerable? + +| **Product(s) Affected** | **Version(s)** | **CVE #** | **CVSS v4/v3** | **Severity** | +|---|---|---|---|---| +| Microsoft Edge | prior to 128.0.2739.42 | [CVE-2024-7971](https://nvd.nist.gov/vuln/detail/CVE-2024-7971) | 8.8 | High | +| Google Chrome | prior to 128.0.6613.84 for Linux
prior to 128.0.6613.84 for Windows
prior to 128.0.6613.85 for Mac | [CVE-2024-7971](https://nvd.nist.gov/vuln/detail/CVE-2024-7971) | 8.8 | High | + +## Recommendation + +The WA SOC recommends administrators apply the solutions as per vendor instructions to all affected devices within expected timeframe of *one month...* (refer [Patch Management](../guidelines/patch-management.md)): + +## Additional References + +- Microsoft Security Response Center: +- Google Chrome Releases: +- The Hacker News: From e0fcfff8de0295eb4c4dbbe92036548b198fdbf1 Mon Sep 17 00:00:00 2001 From: DGovEnterprise Date: Mon, 26 Aug 2024 05:08:35 +0000 Subject: [PATCH 06/20] Format markdown docs --- .../20240718003-Cisco-Security-Advisories.md | 24 +++++++++---------- ...romium-Vulnerability-Known-Exploitation.md | 8 +++---- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/docs/advisories/20240718003-Cisco-Security-Advisories.md b/docs/advisories/20240718003-Cisco-Security-Advisories.md index c5187db9..aeac6062 100644 --- a/docs/advisories/20240718003-Cisco-Security-Advisories.md +++ b/docs/advisories/20240718003-Cisco-Security-Advisories.md @@ -6,18 +6,18 @@ The WA SOC has been made aware of a number of critical-to-medium vulnerabilites ## What is vulnerable? -| Product(s) Affected | Version(s) | CVE | CVSS | Severity | -| ----------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ------------- | ------------------ | -| Cisco Smart Software Manager | Versions before 8-202212 | [CVE-2024-20419](https://nvd.nist.gov/vuln/detail/CVE-2024-20419) | 10 | **Critical** | -| Cisco Secure Email Gateway | The Content Scanner Tools version is earlier than 23.3.0.4823 | [CVE-2024-20401](https://nvd.nist.gov/vuln/detail/CVE-2024-20401) | 9.8 | **Critical** | -| Cisco Secure Web Appliance | Versions before 14.5.3 MR (Jul 2024), 15.0 MR (Aug 2024), and 15.2.0-164 | [CVE-2024-20435](https://nvd.nist.gov/vuln/detail/CVE-2024-20435) | 8.8 | High | -| RADIUS Protocol | RFC 2865 | [CVE-2024-3596](https://nvd.nist.gov/vuln/detail/CVE-2024-3596) | 8.1 | High | -| Cisco Intelligent Node | Cisco iNode Software versions before 4.0.0
Cisco iNode Manager Software versions before 24.1 | [CVE-2024-20323](https://nvd.nist.gov/vuln/detail/CVE-2024-20323) | 7.5 | High | -| Cisco Small Business RV Series Router Firmware for RV340 and RV345 Dual WAN Gigabit VPN Routers | 1.0.03.24 or later (has reached end-of-life) | [CVE-2024-20416](https://nvd.nist.gov/vuln/detail/CVE-2024-20416) | 6.5 | Medium | -| Cisco Secure Email Gateway | Versions before 14.2.3-027, and 15.0.0-097 | [CVE-2024-20429](https://nvd.nist.gov/vuln/detail/CVE-2024-20429) | 6.5 | Medium | -| Cisco Webex App | Cloud-based software | [ CVE-2024-20395](https://nvd.nist.gov/vuln/detail/CVE-2024-20395)
[CVE-2024-20396](https://nvd.nist.gov/vuln/detail/CVE-2024-20396) | 6.4
5.3 | Medium
Medium | -| Cisco Identity Services Engine Software | Versions before 3.1P10 (Jan 2025), 3.2P7 (Sep 2024), and 3.3P3 | [CVE-2024-20296](https://nvd.nist.gov/vuln/detail/CVE-2024-20296) | 4.7 | Medium | -| Cisco Expressway Series | Versions before 15.0.2 | [CVE-2024-20400](https://nvd.nist.gov/vuln/detail/CVE-2024-20400) | 3.1 | Medium | +| Product(s) Affected | Version(s) | CVE | CVSS | Severity | +| ----------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- | ------------- | ------------------ | +| Cisco Smart Software Manager | Versions before 8-202212 | [CVE-2024-20419](https://nvd.nist.gov/vuln/detail/CVE-2024-20419) | 10 | **Critical** | +| Cisco Secure Email Gateway | The Content Scanner Tools version is earlier than 23.3.0.4823 | [CVE-2024-20401](https://nvd.nist.gov/vuln/detail/CVE-2024-20401) | 9.8 | **Critical** | +| Cisco Secure Web Appliance | Versions before 14.5.3 MR (Jul 2024), 15.0 MR (Aug 2024), and 15.2.0-164 | [CVE-2024-20435](https://nvd.nist.gov/vuln/detail/CVE-2024-20435) | 8.8 | High | +| RADIUS Protocol | RFC 2865 | [CVE-2024-3596](https://nvd.nist.gov/vuln/detail/CVE-2024-3596) | 8.1 | High | +| Cisco Intelligent Node | Cisco iNode Software versions before 4.0.0
Cisco iNode Manager Software versions before 24.1 | [CVE-2024-20323](https://nvd.nist.gov/vuln/detail/CVE-2024-20323) | 7.5 | High | +| Cisco Small Business RV Series Router Firmware for RV340 and RV345 Dual WAN Gigabit VPN Routers | 1.0.03.24 or later (has reached end-of-life) | [CVE-2024-20416](https://nvd.nist.gov/vuln/detail/CVE-2024-20416) | 6.5 | Medium | +| Cisco Secure Email Gateway | Versions before 14.2.3-027, and 15.0.0-097 | [CVE-2024-20429](https://nvd.nist.gov/vuln/detail/CVE-2024-20429) | 6.5 | Medium | +| Cisco Webex App | Cloud-based software | [ CVE-2024-20395](https://nvd.nist.gov/vuln/detail/CVE-2024-20395)
[CVE-2024-20396](https://nvd.nist.gov/vuln/detail/CVE-2024-20396) | 6.4
5.3 | Medium
Medium | +| Cisco Identity Services Engine Software | Versions before 3.1P10 (Jan 2025), 3.2P7 (Sep 2024), and 3.3P3 | [CVE-2024-20296](https://nvd.nist.gov/vuln/detail/CVE-2024-20296) | 4.7 | Medium | +| Cisco Expressway Series | Versions before 15.0.2 | [CVE-2024-20400](https://nvd.nist.gov/vuln/detail/CVE-2024-20400) | 3.1 | Medium | ## What has been observed? diff --git a/docs/advisories/20240826001-Chromium-Vulnerability-Known-Exploitation.md b/docs/advisories/20240826001-Chromium-Vulnerability-Known-Exploitation.md index e3ca5e69..484c5eea 100644 --- a/docs/advisories/20240826001-Chromium-Vulnerability-Known-Exploitation.md +++ b/docs/advisories/20240826001-Chromium-Vulnerability-Known-Exploitation.md @@ -6,10 +6,10 @@ Google has released updates to address a Type confusion vulnerability in V8 in C ## What is vulnerable? -| **Product(s) Affected** | **Version(s)** | **CVE #** | **CVSS v4/v3** | **Severity** | -|---|---|---|---|---| -| Microsoft Edge | prior to 128.0.2739.42 | [CVE-2024-7971](https://nvd.nist.gov/vuln/detail/CVE-2024-7971) | 8.8 | High | -| Google Chrome | prior to 128.0.6613.84 for Linux
prior to 128.0.6613.84 for Windows
prior to 128.0.6613.85 for Mac | [CVE-2024-7971](https://nvd.nist.gov/vuln/detail/CVE-2024-7971) | 8.8 | High | +| **Product(s) Affected** | **Version(s)** | **CVE #** | **CVSS v4/v3** | **Severity** | +| ----------------------- | ----------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | -------------- | ------------ | +| Microsoft Edge | prior to 128.0.2739.42 | [CVE-2024-7971](https://nvd.nist.gov/vuln/detail/CVE-2024-7971) | 8.8 | High | +| Google Chrome | prior to 128.0.6613.84 for Linux
prior to 128.0.6613.84 for Windows
prior to 128.0.6613.85 for Mac | [CVE-2024-7971](https://nvd.nist.gov/vuln/detail/CVE-2024-7971) | 8.8 | High | ## Recommendation From 475c714e59cf9bc06f7abf896fcbe326efc65122 Mon Sep 17 00:00:00 2001 From: Muhammad <125419051+mahmadhabib076@users.noreply.github.com> Date: Mon, 26 Aug 2024 14:37:53 +0800 Subject: [PATCH 07/20] Progress WhatsUp Gold Critical Update - Targeted Advisory (#951) * Format markdown docs * Progress WhatsUp Gold Critical Update - 20240826002 - Targeted Advisory * Format markdown docs --------- Co-authored-by: mahmadhabib076 Co-authored-by: Joshua Hitchen (DGov) <86041569+DGovEnterprise@users.noreply.github.com> --- ...2-Progress-WhatsUp-Gold-Critical-Update.md | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 docs/advisories/20240826002-Progress-WhatsUp-Gold-Critical-Update.md diff --git a/docs/advisories/20240826002-Progress-WhatsUp-Gold-Critical-Update.md b/docs/advisories/20240826002-Progress-WhatsUp-Gold-Critical-Update.md new file mode 100644 index 00000000..df9b4cec --- /dev/null +++ b/docs/advisories/20240826002-Progress-WhatsUp-Gold-Critical-Update.md @@ -0,0 +1,25 @@ +# Progress WhatsUp Gold Critical Update - 20240826002 + +## Overview + +The Progress WhatsUp Gold team has recently disclosed multiple critical vulnerabilities affecting all versions of the software released before 2024.0.0. These vulnerabilities, identified as CVE-2024-6670, CVE-2024-6671, and CVE-2024-6672, pose significant risks to organizations using outdated versions of the network monitoring tool. + +## What is vulnerable? + +| Product(s) Affected | Version(s) | CVE | CVSS | Severity | +| ------------------- | -------------------- | --------------------------------------------------- | --------------------- | -------------------------------------------- | +| Progress WhatsUp | **Gold \< 2024.0.0** | CVE-2024-6670
CVE-2024-6671
CVE-2024-6672 | 9.8
9.8
8.8 | **Critical**
**Critical**
**High** | + +## What has been observed? + +There is no evidence of exploitation affecting Western Australian Government networks at the time of publishing. + +## Recommendation + +The WA SOC recommends administrators apply the solutions as per vendor instructions to all affected devices within expected timeframe of *48 Hours...* (refer [Patch Management](../guidelines/patch-management.md)): + +- Progress Community article: + +## Additional References + +- Cybersecurity News article: From 47081b8e3aaee5e1bcd54696eaac499aab664471 Mon Sep 17 00:00:00 2001 From: JadonWill <117053393+JadonWill@users.noreply.github.com> Date: Mon, 26 Aug 2024 14:38:13 +0800 Subject: [PATCH 08/20] Update 20240826001 (#954) --- .../20240826001-Chromium-Vulnerability-Known-Exploitation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/advisories/20240826001-Chromium-Vulnerability-Known-Exploitation.md b/docs/advisories/20240826001-Chromium-Vulnerability-Known-Exploitation.md index 484c5eea..ac1ec941 100644 --- a/docs/advisories/20240826001-Chromium-Vulnerability-Known-Exploitation.md +++ b/docs/advisories/20240826001-Chromium-Vulnerability-Known-Exploitation.md @@ -13,7 +13,7 @@ Google has released updates to address a Type confusion vulnerability in V8 in C ## Recommendation -The WA SOC recommends administrators apply the solutions as per vendor instructions to all affected devices within expected timeframe of *one month...* (refer [Patch Management](../guidelines/patch-management.md)): +The WA SOC recommends administrators apply the solutions as per vendor instructions to all affected devices within expected timeframe of *48 hours...* (refer [Patch Management](../guidelines/patch-management.md)): ## Additional References From 17f124c591977f63286477a1564e5b36dd899a9d Mon Sep 17 00:00:00 2001 From: JadonWill <117053393+JadonWill@users.noreply.github.com> Date: Tue, 27 Aug 2024 10:06:34 +0800 Subject: [PATCH 09/20] 20240827001 (#957) * 20240827001 * Format markdown docs --------- Co-authored-by: JadonWill --- .../20240827001-SonicWall-Critical-Update.md | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 docs/advisories/20240827001-SonicWall-Critical-Update.md diff --git a/docs/advisories/20240827001-SonicWall-Critical-Update.md b/docs/advisories/20240827001-SonicWall-Critical-Update.md new file mode 100644 index 00000000..fb2c1096 --- /dev/null +++ b/docs/advisories/20240827001-SonicWall-Critical-Update.md @@ -0,0 +1,21 @@ +# SonicWall Publishes Critical Updates - 20240827001 + +## Overview + +SonicWall has published an advisory relating to critical updates affecting multiple products that, if successfully exploited, could grant malicious actors unauthorized access to the devices. + +## What is vulnerable? + +| Product(s) Affected | Version(s) | CVE # | CVSS v4/v3 | Severity | +| -------------------------- | -------------------------------------------------------------------------------- | ----------------------------------------------------------------- | ---------- | -------- | +| SonicWall Firewall devices | - Gen5 \<= 5.9.2.14-12o
- Gen6 \<= 6.5.4.14-109n
- Gen7 \<= 7.0.1-5035 | [CVE-2024-40766](https://nvd.nist.gov/vuln/detail/CVE-2024-40766) | 9.3 | Critical | + +## What has been observed? + +There is no evidence of exploitation affecting Western Australian Government networks at the time of publishing. + +## Recommendation + +The WA SOC recommends administrators apply the solutions as per vendor instructions to all affected devices within expected timeframe of *48 hours...* (refer [Patch Management](../guidelines/patch-management.md)): + +- Sonicwall Security Advisory: From a1c1094af6130612e70822e86da22617862a1c14 Mon Sep 17 00:00:00 2001 From: petarpetrovski <112471287+petarpetrovski@users.noreply.github.com> Date: Tue, 27 Aug 2024 14:45:14 +0800 Subject: [PATCH 10/20] workbooks and guides (#960) * new workbooks * updated guides * minor fixes * minor fixes to MD * update md * update to md * md update * updated * updated md on multiple --- .../guides/AD-Hoc-Threat-Hunting-Workbook.md | 23 +++++++ ...deployment.md => Gap-Analysis-Workbook.md} | 23 ++----- utilities/guides/Rapid-IOC-Workbook.md | 10 +++ utilities/guides/Workbook-Deployment.md | 12 ++++ utilities/screenshots/wrkbk-RI-1.png | Bin 0 -> 81934 bytes utilities/screenshots/wrkbk-RI-2.png | Bin 0 -> 29285 bytes utilities/screenshots/wrkbk-RI-3.png | Bin 0 -> 22389 bytes utilities/screenshots/wrkbk-TH-1.png | Bin 0 -> 57544 bytes utilities/screenshots/wrkbk-TH-2.png | Bin 0 -> 70627 bytes utilities/screenshots/wrkbk-TH-3.png | Bin 0 -> 64210 bytes utilities/screenshots/wrkbk-TH-4.png | Bin 0 -> 51561 bytes utilities/screenshots/wrkbk-TH-5.png | Bin 0 -> 44671 bytes utilities/screenshots/wrkbk-TH-6.png | Bin 0 -> 145926 bytes utilities/screenshots/wrkbk-TH-7.png | Bin 0 -> 79227 bytes ...c-Threat-Hunting-Activities-WASOCv1.0.json | 61 ++++++++++++++++++ .../Gap-Analysis-Workbook-WASOCv1.0.json | 0 utilities/tools/Gap-Analysis/README.md | 12 ---- utilities/tools/README.md | 19 ++++++ .../Rapid-IOC-Search-Workbook-WASOCv1.0.json | 61 ++++++++++++++++++ 19 files changed, 190 insertions(+), 31 deletions(-) create mode 100644 utilities/guides/AD-Hoc-Threat-Hunting-Workbook.md rename utilities/guides/{gap-analysis-workbook-deployment.md => Gap-Analysis-Workbook.md} (63%) create mode 100644 utilities/guides/Rapid-IOC-Workbook.md create mode 100644 utilities/guides/Workbook-Deployment.md create mode 100644 utilities/screenshots/wrkbk-RI-1.png create mode 100644 utilities/screenshots/wrkbk-RI-2.png create mode 100644 utilities/screenshots/wrkbk-RI-3.png create mode 100644 utilities/screenshots/wrkbk-TH-1.png create mode 100644 utilities/screenshots/wrkbk-TH-2.png create mode 100644 utilities/screenshots/wrkbk-TH-3.png create mode 100644 utilities/screenshots/wrkbk-TH-4.png create mode 100644 utilities/screenshots/wrkbk-TH-5.png create mode 100644 utilities/screenshots/wrkbk-TH-6.png create mode 100644 utilities/screenshots/wrkbk-TH-7.png create mode 100644 utilities/tools/AD-Hoc-Threat-Hunting-Activities-WASOCv1.0.json rename utilities/tools/{Gap-Analysis => }/Gap-Analysis-Workbook-WASOCv1.0.json (100%) delete mode 100644 utilities/tools/Gap-Analysis/README.md create mode 100644 utilities/tools/README.md create mode 100644 utilities/tools/Rapid-IOC-Search-Workbook-WASOCv1.0.json diff --git a/utilities/guides/AD-Hoc-Threat-Hunting-Workbook.md b/utilities/guides/AD-Hoc-Threat-Hunting-Workbook.md new file mode 100644 index 00000000..43078b28 --- /dev/null +++ b/utilities/guides/AD-Hoc-Threat-Hunting-Workbook.md @@ -0,0 +1,23 @@ +# WASOC Workbook HOW TO Guide + +## Use of the Ad-Hoc Threat Hunting Workbook + +1. Select the Subscription, Workspace, and TimeRange parameters. These will apply across all the tabs and threat-hunting queries. +![1](/utilities/screenshots/wrkbk-TH-1.png) +1. Select one of the three tabs to start with threat hunting. Queries will automatically run using the selected parameters from step 1. + - Threat Hunting Queries - A number of various queries to detect some of the most common attacks + - Open Source Thret Intelligence - Query that uses open source TI feeds to detect malicious activity + - Pivoting - Queries to pivot on activities from compromised assets to detect malicious +![2](/utilities/screenshots/wrkbk-TH-2.png) +1. When performing the initial investigation under the pivoting tab, update the fields with compromised entities. The below queries will run automatically and show the results. +![3](/utilities/screenshots/wrkbk-TH-3.png) +1. Adding additional queries can be done by copying existing queries and changing the query and the naming. + 1. Select 'Edit' on the whole workbook and click Edit from onj the specific group +![4](/utilities/screenshots/wrkbk-TH-4.png) + 1. Clone one of the existing queries +![5](/utilities/screenshots/wrkbk-TH-5.png) + 1. Under Settings tab, change the query with the new one +![6](/utilities/screenshots/wrkbk-TH-6.png) + 1. Under 'Advanced Settings' tab, change the naming of the query. Ensure the parameters TimeRange and Workspace are as per the globally assigned parameters. +![7](/utilities/screenshots/wrkbk-TH-7.png) +1. Save the workbook \ No newline at end of file diff --git a/utilities/guides/gap-analysis-workbook-deployment.md b/utilities/guides/Gap-Analysis-Workbook.md similarity index 63% rename from utilities/guides/gap-analysis-workbook-deployment.md rename to utilities/guides/Gap-Analysis-Workbook.md index f99d4747..30ef1ac5 100644 --- a/utilities/guides/gap-analysis-workbook-deployment.md +++ b/utilities/guides/Gap-Analysis-Workbook.md @@ -1,27 +1,12 @@ # WASOC Workbook HOW TO Guide -## How To Deploy The GAP Analysis Workbook With ARM Template - -1. From the [README.md](/utilities/tools/Gap-Analysis/README.md) page click on the **Deploy to Azure icon** - ![Deploy Gap Analysis to Azure](/utilities/screenshots/wrkbk-deploy.png) - -1. This will open the custom deployment window. Select the subscription, resource group and manually enter the **log analytics workspace name** where this workbook will be associated with. - ![Custom deployment](/utilities/screenshots/wrkbk-deploy2.png) - -1. In the next step, **Review+Create** check if the information provided is accurate and click **Create**. - ![Custom deployment](/utilities/screenshots/wrkbk-deploy3.png) - - If there are no errors, it will deploy the workbook and **'deployment succeeded'** notification will pop up. - -![Custom deployment](/utilities/screenshots/wrkbk-deploy4.png) - ## Use of the GAP Analysis Workbook 1. The **Data Visibility** tab illustrates the current visibility of data ingested into the Sentinel workspace. These tables are recommended for improved [detections](https://soc.cyber.wa.gov.au/baselines/data-sources/#5-detection-analytics) and [threat hunting](https://soc.cyber.wa.gov.au/guidelines/TTP_Hunt/ttp-detection-guidelines/#threat-hunting-guideline) activities. For more details, please refer to [Baseline for Detection Coverage (MITRE ATT&CK)](https://soc.cyber.wa.gov.au/baselines/data-sources/#baseline-for-detection-coverage-mitre-attck) and [Telemetry to collect (prioritised)](https://soc.cyber.wa.gov.au/onboarding/sentinel-guidance/?h=maturity+model#2-telemetry-to-collect-prioritised) guidelines. - ![Data Visibility](/utilities/screenshots/wrkbk-datavis.png) +![Data Visibility](/utilities/screenshots/wrkbk-datavis.png) 1. The sections under the **Data Visibility** tab, provide details on the activities that can be seen from these tables. They also include links to the data connectors and the recommended actions. - ![Data Visibility](/utilities/screenshots/wrkbk-spltgrps.png) +![Data Visibility](/utilities/screenshots/wrkbk-spltgrps.png) 1. The **Noisy Alerts** tab illustrates the top 5 firing alerts from the previous 30 days that have not been resolved as a [True Positive incident](https://learn.microsoft.com/en-us/azure/sentinel/investigate-cases#closing-an-incident). These are considered as noisy detection rules and require additional measures to mitigate alert fatigue. Please refer to: [Managing your SIEM Sentinel Analytic Rules](https://soc.cyber.wa.gov.au/guidelines/incident-reporting/?h=rules#41-managing-your-siem-sentinel-analytic-rules) for further details. - ![Data Visibility](/utilities/screenshots/wrkbk-noisy.png) +![Data Visibility](/utilities/screenshots/wrkbk-noisy.png) 1. The **Log Ingestion** tab illustrates Data Ingestion Volume per log category, which is intended to illustrate the allocation of majority of the Sentinel costs. It is important for security teams to understand and manage log ingestion costs. Refer to the [performance and cost optimisation guidelines](https://soc.cyber.wa.gov.au/onboarding/sentinel-guidance/?h=cost#5-performance-and-cost-optimisation) for more details. - ![Data Visibility](/utilities/screenshots/wrkbk-logingestion.png) +![Data Visibility](/utilities/screenshots/wrkbk-logingestion.png) \ No newline at end of file diff --git a/utilities/guides/Rapid-IOC-Workbook.md b/utilities/guides/Rapid-IOC-Workbook.md new file mode 100644 index 00000000..873cb39d --- /dev/null +++ b/utilities/guides/Rapid-IOC-Workbook.md @@ -0,0 +1,10 @@ +# WASOC Workbook HOW TO Guide + +## Use of the Rapid IOC Search Workbook + +1. Select the Subscription, Workspace, and TimeRange parameters. These will apply across all the tabs and IOC queries. +![1](/utilities/screenshots/wrkbk-RI-1.png) +1. Select one of the 'IP, HASH, URL, or Email' tabs to start with the IOC threat hunting. Add the IOCs to a list (as per the example shown), within quotes, and separate them by a comma. The queries will automatically run using the selected parameters and the IOCs. +![2](/utilities/screenshots/wrkbk-RI-2.png) +1. The results will show hits on the IOCs per table. These hits should be further investigated in the Log Explorer. +![3](/utilities/screenshots/wrkbk-RI-3.png) \ No newline at end of file diff --git a/utilities/guides/Workbook-Deployment.md b/utilities/guides/Workbook-Deployment.md new file mode 100644 index 00000000..b78151f9 --- /dev/null +++ b/utilities/guides/Workbook-Deployment.md @@ -0,0 +1,12 @@ +# WASOC Workbook HOW TO Guide + +## How To Deploy a Workbook With ARM Template + +1. From the [README.md](/utilities/tools/Gap-Analysis/README.md) page click on the **Deploy to Azure icon** +![Deploy Gap Analysis to Azure](/utilities/screenshots/wrkbk-deploy.png) +1. This will open the custom deployment window. Select the subscription, resource group and manually enter the **log analytics workspace name** where this workbook will be associated with. +![Custom deployment](/utilities/screenshots/wrkbk-deploy2.png) +1. In the next step, **Review+Create** check if the information provided is accurate and click **Create**. +![Custom deployment](/utilities/screenshots/wrkbk-deploy3.png) +If there are no errors, it will deploy the workbook and **'deployment succeeded'** notification will pop up. +![Custom deployment](/utilities/screenshots/wrkbk-deploy4.png) \ No newline at end of file diff --git a/utilities/screenshots/wrkbk-RI-1.png b/utilities/screenshots/wrkbk-RI-1.png new file mode 100644 index 0000000000000000000000000000000000000000..cb8613a5a366097d686a5c9835c2facdefa553a0 GIT binary patch literal 81934 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 literal 0 HcmV?d00001 diff --git a/utilities/screenshots/wrkbk-RI-3.png b/utilities/screenshots/wrkbk-RI-3.png new file mode 100644 index 0000000000000000000000000000000000000000..4f0168fa394733c7008c3f0bf0dca5b635fc0575 GIT binary patch literal 22389 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 ZnVs+Cu=*X^?+nzz;OXk;vd$@?2>^z*YeN74 literal 0 HcmV?d00001 diff --git a/utilities/screenshots/wrkbk-TH-2.png b/utilities/screenshots/wrkbk-TH-2.png new file mode 100644 index 0000000000000000000000000000000000000000..206816b5e03aea53194b1609467c93701a5bb7db GIT binary patch literal 70627 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 literal 0 HcmV?d00001 diff --git a/utilities/screenshots/wrkbk-TH-4.png b/utilities/screenshots/wrkbk-TH-4.png new file mode 100644 index 0000000000000000000000000000000000000000..763358f66413dc6a09223d928bb3135c94e3cfbd GIT binary patch literal 51561 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 literal 0 HcmV?d00001 diff --git a/utilities/screenshots/wrkbk-TH-5.png b/utilities/screenshots/wrkbk-TH-5.png new file mode 100644 index 0000000000000000000000000000000000000000..1a10a3d057478a0b374a9d80e5430479db5d5991 GIT binary patch literal 44671 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 literal 0 HcmV?d00001 diff --git a/utilities/screenshots/wrkbk-TH-6.png b/utilities/screenshots/wrkbk-TH-6.png new file mode 100644 index 0000000000000000000000000000000000000000..b69964faaf5c80c009ec294b2dd919b6fda05854 GIT binary patch literal 145926 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 z

9lQg}H@b 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

_8X$)D3qw{+7DBArCS6S{&2&v7YXR&KrXB5n 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 literal 0 HcmV?d00001 diff --git a/utilities/screenshots/wrkbk-TH-7.png b/utilities/screenshots/wrkbk-TH-7.png new file mode 100644 index 0000000000000000000000000000000000000000..0c8d9a25694b702655386270ee55022e2105fc10 GIT binary patch literal 79227 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", + "minLength": 1, + "metadata": { + "description": "The name of the Log Analytics workspace to which this workbook will be associated" + } + }, + "workbookId": { + "type": "string", + "defaultValue": "[newGuid()]", + "metadata": { + "description": "The unique guid for this workbook instance" + } + } + }, +"variables": { + "workbookSourceId": "[resourceId('Microsoft.OperationalInsights/workspaces', parameters('WorkspaceName'))]" + }, + "resources": [ + { + "name": "[parameters('workbookId')]", + "type": "microsoft.insights/workbooks", + "location": "[resourceGroup().location]", + "apiVersion": "2022-04-01", + "dependsOn": [], + "kind": "shared", + "properties": { + "displayName": "[parameters('workbookDisplayName')]", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":11,\"content\":{\"version\":\"LinkItem/1.0\",\"style\":\"tabs\",\"links\":[{\"id\":\"c3cc19f5-463e-47ba-b039-252c47f29611\",\"cellValue\":\"Tab\",\"linkTarget\":\"parameter\",\"linkLabel\":\"Threat Hunting Queries\",\"subTarget\":\"TH ADS\",\"style\":\"link\"},{\"id\":\"2b992c40-7e9a-419b-b739-13ce441cd0fc\",\"cellValue\":\"Tab\",\"linkTarget\":\"parameter\",\"linkLabel\":\"Open Source TI Detections\",\"subTarget\":\"TI\",\"style\":\"link\"},{\"id\":\"fce23985-f887-4dd2-9f50-8f37f8277e37\",\"cellValue\":\"Tab\",\"linkTarget\":\"parameter\",\"linkLabel\":\"Pivoting\",\"subTarget\":\"piv\",\"style\":\"link\"}]},\"name\":\"links - 10\"},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"crossComponentResources\":[\"{Subscription}\"],\"parameters\":[{\"id\":\"04951277-d010-499c-8e9c-1967c08836b2\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Subscription\",\"type\":6,\"isRequired\":true,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"Resources\\n| summarize Count = count() by subscriptionId\\n| order by Count desc\\n| extend Rank = row_number()\\n| project value = subscriptionId, label = subscriptionId, selected = Rank == 1\",\"crossComponentResources\":[\"value::selected\"],\"typeSettings\":{\"additionalResourceOptions\":[],\"showDefault\":false},\"timeContext\":{\"durationMs\":14400000},\"queryType\":1,\"resourceType\":\"microsoft.resourcegraph/resources\",\"value\":[]},{\"id\":\"55ecfb10-706e-4b16-8b59-7f6107cd5975\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Workspace\",\"type\":5,\"isRequired\":true,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"resources | where type =~ 'Microsoft.operationsmanagement/solutions' | where name contains 'SecurityInsights' | project id = tostring(properties.workspaceResourceId)\",\"crossComponentResources\":[\"{Subscription}\"],\"typeSettings\":{\"additionalResourceOptions\":[],\"showDefault\":false},\"timeContext\":{\"durationMs\":14400000},\"queryType\":1,\"resourceType\":\"microsoft.resourcegraph/resources\"},{\"id\":\"85c3e11e-0568-4c21-8c6f-668f10b85231\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"TimeRange\",\"type\":4,\"isRequired\":true,\"typeSettings\":{\"selectableValues\":[{\"durationMs\":300000},{\"durationMs\":1800000},{\"durationMs\":3600000},{\"durationMs\":14400000},{\"durationMs\":43200000},{\"durationMs\":86400000},{\"durationMs\":172800000},{\"durationMs\":259200000},{\"durationMs\":604800000},{\"durationMs\":1209600000},{\"durationMs\":2592000000},{\"durationMs\":5184000000},{\"durationMs\":7776000000}],\"allowCustom\":true},\"timeContext\":{\"durationMs\":14400000},\"value\":{\"durationMs\":2592000000}},{\"id\":\"62a3e14a-aca9-4f74-8816-51d91b09ed84\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Instructions\",\"label\":\"Show Instructions\",\"type\":10,\"isRequired\":true,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"typeSettings\":{\"additionalResourceOptions\":[\"value::all\"],\"showDefault\":false},\"jsonData\":\"[\\n { \\\"value\\\":\\\"Hide\\\", \\\"label\\\":\\\"Hide\\\",\\\"selected\\\":true},\\n { \\\"value\\\":\\\"Show\\\", \\\"label\\\":\\\"Show\\\" }\\n]\\n\",\"timeContext\":{\"durationMs\":14400000}}],\"style\":\"pills\",\"queryType\":1,\"resourceType\":\"microsoft.resourcegraph/resources\"},\"name\":\"parameters - 3\"},{\"type\":1,\"content\":{\"json\":\"This workbook includes a range of threat hunting queries to help execute Threat Hunts. \\n\\nThe workbook covers three segments: \\n- Threat Hunting Queries - A number of various queries to detect some of the most common attacks \\n- Open Source Thret Intelligence - Query that uses open source TI feeds to detect malicious activity \\n- Pivoting - Queries to pivot on activities from compromised assets to detect malicious \\n

\\nPlease feel free to adapt the content of this workbook to meet the needs of the Agency. For any assistance regarding this workbook contact WA SOC on cybersecurity@dpc.wa.gov.au\\n

\\nv1.0 August 2024 \\n\\n---\\n## Instructions:\\n1. Select Subscription and Workspace\\n2. Define Time Range of the hunting activity \\n3. Queries will run automatically when changes occur \\n\\nFor more Threat Hunting details refer to the [Threat Hunting Guideline](https://soc.cyber.wa.gov.au/guidelines/TTP_Hunt/ttp-detection-guidelines/) or contact WA SOC on cybersecurity@dpc.wa.gov.au\\n

\",\"style\":\"info\"},\"conditionalVisibility\":{\"parameterName\":\"Instructions\",\"comparison\":\"isEqualTo\",\"value\":\"Show\"},\"name\":\"text - 12\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"### Initial Access https://attack.mitre.org/tactics/TA0001/\",\"style\":\"success\"},\"name\":\"text - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let clientThreshold = 1;\\n let scriptExtensions = dynamic([\\\".php\\\", \\\".aspx\\\", \\\".asp\\\", \\\".cfml\\\"]);\\n let data = W3CIISLog\\n | where csUriStem has_any(scriptExtensions)\\n |where scStatus == 200\\n |where ipv4_is_private(cIP) == false and cIP !startswith \\\"fe80\\\" and cIP !startswith \\\"::\\\" and cIP !startswith \\\"127.\\\"\\n |where ipv4_is_private(sIP) == false \\n | summarize StartTime = min(TimeGenerated), EndTime = max(TimeGenerated), makelist(cIP), dcount(TimeGenerated) by csUriStem, sSiteName, csUserAgent;\\n data\\n | mvexpand list_cIP\\n | distinct StartTime, EndTime, tostring(list_cIP), csUriStem, sSiteName, csUserAgent\\n | summarize StartTime = min(StartTime), EndTime = max(StartTime), dcount(list_cIP), makelist(list_cIP), makelist(sSiteName) by csUriStem, csUserAgent\\n | where dcount_list_cIP == clientThreshold \\n | where csUserAgent startswith \\\"Mozilla\\\"\\n | extend timestamp = StartTime, UserAgentCustomEntity = csUserAgent \",\"size\":4,\"showAnalytics\":true,\"title\":\"T1190 WebshellsSuspiciousURI\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1= dynamic([\\\"pcapp.store\\\"]);\\r\\nunion Device*\\r\\n| where RemoteUrl has_any (c1) or InitiatingProcessFolderPath contains \\\"pcappstore\\\"\",\"size\":4,\"showAnalytics\":true,\"title\":\"TA0001 - PcAppStore - Potential malware installed\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let selection_filetype=dynamic([\\\"png\\\",\\\"gif\\\",\\\"jpeg\\\",\\\"jpg\\\"]);\\r\\nlet selection_subject=dynamic([\\\"2FA\\\",\\\"Action\\\",\\\"payroll\\\",\\\"MFA\\\"]); //add other potential subjects\\r\\nlet filter_domain=dynamic([\\\"microsoft.com\\\",\\\"sharepointonline.com\\\"]); //add agency specific filter\\r\\nlet lookback = 3d;\\r\\nEmailEvents\\r\\n| where TimeGenerated > ago(lookback)\\r\\n| summarize arg_min(TimeGenerated,*) by NetworkMessageId, RecipientEmailAddress, TenantId\\r\\n| where EmailDirection == 'Inbound'\\r\\n| where DeliveryAction == 'Delivered'\\r\\n| where SenderMailFromDomain !contains \\\"wa.gov.au\\\"\\r\\n| extend username_ = tostring(split(RecipientEmailAddress, \\\"@\\\")[0])\\r\\n| extend domain_ = tostring(split(RecipientEmailAddress, \\\"@\\\")[1])\\r\\n| extend domain_name_ = tostring(split(domain_, \\\".\\\")[0])\\r\\n| where Subject contains username_ or Subject contains domain_ or Subject contains domain_name_ or Subject has_any (selection_subject)\\r\\n| where not(SenderMailFromDomain has_any (filter_domain))\\r\\n| join \\r\\n(\\r\\nEmailAttachmentInfo\\r\\n| where TimeGenerated > ago(lookback)\\r\\n| where FileType has_any (selection_filetype)\\r\\n| where FileName matches regex \\\"^[A-Za-z0-9]{7,10}\\\\\\\\.[A-Za-z0-9]+$\\\" //tweak here to change potential qr code filename convention changes\\r\\n| where FileName !startswith \\\"image\\\" and FileName !startswith \\\"ATT00\\\" //ignore lists for known attachment false positive\\r\\n) on NetworkMessageId\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1566.001 - QR Code Phishing Attachment (Quishing)\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceFileEvents\\r\\n| where FileName matches regex @\\\"Edge\\\\\\\\.[a-z0-9]{6}\\\\\\\\.zip\\\" or FileName matches regex @\\\"Chrome\\\\\\\\.Update\\\\\\\\.[a-z0-9]{6}\\\\\\\\.zip\\\" or FileName matches regex @\\\"FireFox\\\\\\\\.Update\\\\\\\\.[a-z0-9]{6}\\\\\\\\.zip\\\" or FileName matches regex @\\\"download\\\\\\\\.[a-z0-9]{6}\\\\\\\\.zip\\\"\\r\\n| where InitiatingProcessFileName <> \\\"MsSense.exe\\\" //Exclude files detected by Defender for Endpoint\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1189 - Drive-by Compromise - FakeUpdate\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 2 \"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"TH ADS\"},\"name\":\"group - 7 - Copy\",\"styleSettings\":{\"showBorder\":true}},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"### Execution https://attack.mitre.org/tactics/TA0002/\",\"style\":\"success\"},\"name\":\"text - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let selection_main = dynamic(['wmic.exe','powershell.exe','cmd.exe','ntdsutil.exe']);\\r\\nlet selection_wmic = dynamic([\\\"wmic\\\", \\\"process\\\", \\\"create\\\"]); //not used\\r\\nlet selection_command = dynamic(['ntdsutil','ntds','ac','i','ifm']);\\r\\nunion isfuzzy=true\\r\\n(DeviceProcessEvents\\r\\n| where FolderPath has_any(selection_main)\\r\\n| where ProcessCommandLine has_all (selection_command) or InitiatingProcessCommandLine has_all (selection_command)\\r\\n),\\r\\n(SecurityEvent\\r\\n| where EventID == 4688\\r\\n| where CommandLine has_all (selection_command)\\r\\n)\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1047 - WMIC Commands\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1= dynamic(['.zip','.js']); \\r\\nfind where InitiatingProcessCommandLine has_all (c1) or ProcessCommandLine has_all (c1) or\\r\\nCommandLine has_all (c1) \",\"size\":4,\"showAnalytics\":true,\"title\":\"T1059.007 - GootLoader: JavaScript Execution\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic([@\\\"\\\\scilc.exe\\\", \\\"-do\\\"]);\\r\\nfind where InitiatingProcessCommandLine has_all (c1) or ProcessCommandLine has_all (c1) or CommandLine has_all (c1) \",\"size\":4,\"showAnalytics\":true,\"title\":\"T1059 - MicroSCADA SCILC Command Execution\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"T1059 - MicroSCADA SCILC Command Execution\"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"TH ADS\"},\"name\":\"group - 7 - Copy - Copy\",\"styleSettings\":{\"showBorder\":true}},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"### Persistence https://attack.mitre.org/tactics/TA0003/\",\"style\":\"success\"},\"name\":\"text - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1= dynamic(['reg',' ADD', @'Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Run']); \\r\\nfind where InitiatingProcessCommandLine has_all (c1) or ProcessCommandLine has_all (c1) or CommandLine has_all (c1) \",\"size\":4,\"showAnalytics\":true,\"title\":\"T1547.001 - Potential Persistence Attempt Via Run Keys Using Reg.EXE\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let ExtensionList = pack_array('asp','aspx','aar','ascx','ashx','asmx','c','cfm','cgi','jsp','jspx','php','pl','exe','jsp','jar','py','ps1','psm1','cmd','psd1','java','wsf','vbs');\\r\\nlet IncludeTemp = false; // whether to include files that contain \\\\temp\\\\ in their path\\r\\nDeviceFileEvents\\r\\n| where ActionType in ('FileCreated', 'FileRenamed', 'FileModified')\\r\\n| where InitiatingProcessFileName in~('w3wp.exe','httpd.exe') \\r\\n| where FolderPath contains @'\\\\inetpub\\\\wwwroot\\\\'\\r\\n| where (IncludeTemp or FolderPath !contains @'\\\\temp\\\\')\\r\\n| extend extension = tolower(tostring(split(FileName,'.')[-1]))\\r\\n| where extension in (ExtensionList) \",\"size\":4,\"showAnalytics\":true,\"title\":\"T1505.003 - IIS webshell file writes\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let selection_general = @\\\".*(/httpd|/lighttpd|/nginx|/apache2|/node|/caddy)$\\\";\\r\\nlet selection_tomcat = dynamic(['/bin/java','tomcat']);\\r\\nlet selection_websphere = dynamic(['/bin/java','websphere']);\\r\\nlet sub_processes= @\\\"/(whoami|ifconfig|ip|bin/uname|bin/cat|bin/crontab|hostname|iptables|netstat|pwd|route)$\\\";\\r\\nDeviceProcessEvents\\r\\n| where TimeGenerated > ago(30d)\\r\\n| where InitiatingProcessFolderPath matches regex selection_general or InitiatingProcessCommandLine has_all (selection_tomcat) or InitiatingProcessCommandLine has_all (selection_websphere)\\r\\n| where FolderPath matches regex sub_processes\\r\\n//| summarize count(), earliest_time=min(TimeGenerated), set_DeviceName=make_set(DeviceName) by TenantId, InitiatingProcessFolderPath,InitiatingProcessCommandLine, FolderPath, ProcessCommandLine, SHA256\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1505.003 - Linux Webshell Indicators\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"30\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let cs_uri_query=dynamic(['=C:/Users', '=C:/Program%20Files', '=C:/Windows', '=C%3A%5CUsers', '=C%3A%5CProgram%20Files', '=C%3A%5CWindows']);\\r\\nAzureDiagnostics \\r\\n//| where action_s == \\\"Allowed\\\" // filter to minimise noise\\r\\n| where requestUri_s has_any (cs_uri_query)\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1505.003 - Suspicious Windows Strings In URI\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2 - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let selection_wwwroot = @\\\"\\\\inetpub\\\\wwwroot\\\\\\\";\\r\\nlet selection_ext1 = dynamic(['.asp','.ashx','.ph']);\\r\\nlet selection_static = dynamic([\\\"\\\\\\\\www\\\\\\\\\\\", \\\"\\\\\\\\htdocs\\\\\\\\\\\", \\\"\\\\\\\\html\\\\\\\\\\\"]);\\r\\nlet selection_ext2 = \\\".ph\\\";\\r\\nlet false_positive1 = dynamic(['\\\\\\\\AppData\\\\\\\\Local\\\\\\\\Temp\\\\\\\\', '\\\\\\\\Windows\\\\\\\\Temp\\\\\\\\']); //false positives when unpacking some executables in $TEMP\\r\\nlet false_positive_system = \\\"System\\\"; //backup or restore from drivers\\r\\nlet false_positive_legitimate = dynamic([\\\"\\\\\\\\xampp\\\",\\\"\\\\\\\\QGIS\\\"]);\\r\\nDeviceFileEvents //SOC-748162\\r\\n| where ActionType == \\\"FileCreated\\\" //Modification to filter only file creation\\r\\n| where (FolderPath contains selection_wwwroot and FolderPath has_any (selection_ext1)) or (FolderPath has_any (selection_static) and FolderPath endswith selection_ext2)\\r\\n| where not(FolderPath has_any (false_positive1) or InitiatingProcessFolderPath == false_positive_system or FolderPath has_any (false_positive_legitimate))\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1505.003 - Windows Webshell Creation\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2 - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceProcessEvents\\r\\n| where InitiatingProcessFolderPath endswith '\\\\\\\\sqlservr.exe' and FolderPath matches regex @\\\".*(bash.exe|bitsadmin.exe|cmd.exe|netstat.exe|nltest.exe|ping.exe|powershell.exe|pwsh.exe|regsvr32.exe|rundll32.exe|sh.exe|systeminfo.exe|tasklist.exe|wsl.exe)$\\\"\\r\\n| where InitiatingProcessFolderPath !startswith \\\"C:\\\\\\\\Program Files\\\\\\\\Microsoft SQL Server\\\\\\\\\\\"\\r\\n| where InitiatingProcessFolderPath !endswith \\\"DATEV_DBENGINE\\\\\\\\MSSQL\\\\\\\\Binn\\\\\\\\sqlservr.exe\\\"\\r\\n| where FolderPath !contains 'C:\\\\\\\\Windows\\\\\\\\System32\\\\\\\\cmd.exe'\\r\\n| where ProcessCommandLine !startswith \\\"C:\\\\\\\\Windows\\\\\\\\system32\\\\\\\\cmd.exe\\\"\\r\\n| where ProcessCommandLine !startswith \\\"C:\\\\\\\\Windows\\\\\\\\SysWOW64\\\\\\\\cmd.exe\\\"\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1505.003 - Suspicious Child Process Of SQL Server\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"30\",\"name\":\"query - 2 - Copy - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let selection_1 = dynamic(['.exe','ADMIN$']); \\r\\nlet selection_2 = dynamic(['powershell','start','%COMSPEC%']); \\r\\nDeviceRegistryEvents\\r\\n| where ActionType == \\\"RegistryValueSet\\\"\\r\\n| where RegistryKey has_any (@'HKEY_LOCAL_MACHINE\\\\SYSTEM\\\\ControlSet001\\\\Services', @'HKEY_LOCAL_MACHINE\\\\SYSTEM\\\\ControlSet002\\\\Services', @'HKEY_LOCAL_MACHINE\\\\SYSTEM\\\\CurrentControlSet\\\\Services') \\r\\n| where RegistryValueData has_all (selection_1) or RegistryValueData has_all (selection_2)\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1543.003 - CobaltStrike: Service Installations in Registry\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2 - Copy - Copy - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceProcessEvents\\r\\n| where ProcessCommandLine has_all ('New-Service','-BinaryPathName')\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1543.003 - New Service Creation Using PowerShell\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2 - Copy - Copy - Copy - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let selection=dynamic(['AmmyyAdmin','Atera','BASupportExpressSrvcUpdater','BASupportExpressStandaloneService','chromoting', 'GoToAssist','GoToMyPC','jumpcloud','LMIGuardianSvc','LogMeIn','monblanking','Parsec','RManService','RPCPerformanceService','RPCService','SplashtopRemoteService','SSUService','TightVNC','vncserver','Zoho']);\\r\\nunion \\r\\n(\\r\\nSecurityEvent\\r\\n| where EventID == 4697\\r\\n| where ServiceFileName has_any (selection)\\r\\n| extend TableName_ = \\\"SecurityEvent\\\"\\r\\n| summarize count(), set_Tables=make_set(TableName_) by FileName=ServiceFileName, TenantId\\r\\n),\\r\\n(\\r\\nunion withsource=TableName_ Device*\\r\\n| where FileName has_any (selection)\\r\\n| where FileName endswith \\\".exe\\\"\\r\\n| summarize count(), set_Tables=make_set(TableName_) by FileName, TenantId\\r\\n)\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1543.003 - Create or Modify System Process - Remote Access Tool Services Have Been Installed\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"30\",\"name\":\"T1543.003 - Create or Modify System Process - Remote Access Tool Services Have Been Installed\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let selection_sc_1 = dynamic(['sc','config ','binpath=']); \\r\\nlet selection_sc_2 = dynamic(['sc','failure','command=']); \\r\\nDeviceProcessEvents\\r\\n| where ActionType == \\\"ProcessCreated\\\"\\r\\n| where InitiatingProcessParentFileName <> \\\"msiexec.exe\\\"\\r\\n| where FolderPath endswith \\\"sc.exe\\\"\\r\\n| where (ProcessCommandLine has_all (selection_sc_1) or ProcessCommandLine has_all (selection_sc_2))\\r\\n| summarize count(), earliest_Timestamp=min(TimeGenerated) by AccountDomain, AccountName, InitiatingProcessParentFileName, InitiatingProcessFolderPath, InitiatingProcessFileName, ProcessCommandLine, TenantId\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1543.003 - Potential Persistence Attempt Via Existing Service Tampering (sc.exe)\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"T1543.003 - Potential Persistence Attempt Via Existing Service Tampering (sc.exe)\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let selection_reg_img1 = dynamic(['reg ','add ','FailureCommand']); \\r\\nlet selection_reg_img2 = dynamic(['reg ','add ','ImagePath']); \\r\\nlet selection_reg_ext = dynamic(['.sh', '.exe','.dll','.bin$','.bat','.cmd','.js','.msh$','.reg$','.scr','.ps','.vb','.jar','.pl']); \\r\\nDeviceProcessEvents\\r\\n| where (ProcessCommandLine has_all (selection_reg_img1) and ProcessCommandLine has_all (selection_reg_img2) and ProcessCommandLine has_any (selection_reg_ext))\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1543.003 - Potential Persistence Attempt Via Existing Service Tampering (reg.exe)\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"T1543.003 - Potential Persistence Attempt Via Existing Service Tampering (reg.exe)\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let selection_cli_3 = dynamic(['gacutil','/I']);\\r\\nDeviceProcessEvents\\r\\n| where InitiatingProcessFolderPath endswith \\\"\\\\\\\\w3wp.exe\\\"\\r\\n| where ProcessCommandLine has \\\"appcmd.exe add module\\\" or\\r\\n (ProcessCommandLine has \\\"system.enterpriseservices.internal.publish\\\" and FolderPath endswith \\\"\\\\\\\\powershell.exe\\\") or\\r\\n (ProcessCommandLine has_all (selection_cli_3))\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1505.004 - Suspicious IIS Module Registration\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"30\",\"name\":\"T1505.004 - Suspicious IIS Module Registration\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityEvent\\r\\n| where EventID == 4697 \\r\\n| where AccountType != 'Machine'\\r\\n| project ServiceName, ServiceFileName,Account, Computer,TimeGenerated\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1543.003 - Windows Service - install services on the device \",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"30\",\"name\":\"4\"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"TH ADS\"},\"name\":\"group - 7 - Copy - Copy - Copy\",\"styleSettings\":{\"showBorder\":true}},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"### Defense Evasion https://attack.mitre.org/tactics/TA0005/\",\"style\":\"success\"},\"name\":\"text - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = 'powershell.exe'; \\r\\n let c2 = dynamic(['-version 2', '-v 2']);\\r\\n find where (InitiatingProcessFileName == c1 and InitiatingProcessCommandLine has_any (c2)) or \\r\\n (Process == c1 and CommandLine has_any (c2)) \",\"size\":4,\"showAnalytics\":true,\"title\":\"T1562.001 - Impair Defenses: Disable or Modify Tools - PowerShell Downgrade attack\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"30\",\"name\":\"query - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let exclusion_defender= dynamic([@'c:\\\\programdata\\\\microsoft\\\\windows defender',@'c:\\\\program files\\\\windows defender']); //Exclude activities from Microsoft Defender itself\\r\\nDeviceRegistryEvents\\r\\n| where ActionType == \\\"RegistryKeyDeleted\\\"\\r\\n| where not(InitiatingProcessFolderPath has_any(exclusion_defender) and InitiatingProcessFileName == \\\"msmpeng.exe\\\") and (PreviousRegistryKey endswith '{2781761E-28E0-4109-99FE-B9D127C57AFE}' or PreviousRegistryKey endswith '{A7C452EF-8E9F-42EB-9F2B-245613CA0DC9}')\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1562.001 - Impair Defenses: Removal Of AMSI Provider Registry Keys\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"T1562.001 - Impair Defenses: Removal Of AMSI Provider Registry Keys\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic(['Assembly.GetType','SetValue']); \\r\\nfind where InitiatingProcessCommandLine has_all (c1) or CommandLine has_all (c1) \",\"size\":4,\"showAnalytics\":true,\"title\":\"T1562.001 - Impair Defenses: Disable or Modify Tools - AMSI Bypass attack\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic(['Set-MpPreference', 'Add-MpPreference']);\\r\\n let c2 = dynamic([' -ExclusionPath ', ' -ExclusionExtension ', ' -ExclusionProcess ', ' -ExclusionIpAddress ', 'DisableRealtimeMonitoring ', 'DisableIOAVProtection ', 'DisableBehaviorMonitoring ', 'DisableBlockAtFirstSeen ']); \\r\\n find where (InitiatingProcessCommandLine has_any (c1) or CommandLine has_any (c1)) and \\r\\n (InitiatingProcessCommandLine has_any (c2) or CommandLine has_any (c2)) \",\"size\":4,\"showAnalytics\":true,\"title\":\"T1562.001 - Impair Defenses: Disable or Modify Tools - Defender Disabling or Exclusions\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"30\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let selection_main = dynamic([@'\\\\SOFTWARE\\\\Microsoft\\\\Windows Defender\\\\', @'\\\\SOFTWARE\\\\Policies\\\\Microsoft\\\\Windows Defender Security Center\\\\',@'\\\\SOFTWARE\\\\Policies\\\\Microsoft\\\\Windows Defender\\\\']); \\r\\nlet selection_dword_1 = dynamic(['DisableAntiSpyware','DisableAntiVirus', 'DisableBehaviorMonitoring','DisableIntrusionPreventionSystem', 'DisableIOAVProtection', 'DisableOnAccessProtection','DisableRealtimeMonitoring','DisableScanOnRealtimeEnable','DisableScriptScanning','DisableEnhancedNotifications', 'DisableBlockAtFirstSeen']); \\r\\nlet selection_dword_0 = dynamic(['DisallowExploitProtectionOverride', 'TamperProtection', 'MpEnablePus', 'PUAProtection', 'ForceUpdateFromMU', 'SpynetReporting', 'SubmitSamplesConsent','EnableControlledFolderAccess']); \\r\\nlet exclusion_defender= dynamic([@'c:\\\\programdata\\\\microsoft\\\\windows defender',@'c:\\\\program files\\\\windows defender']); //Exclude activities from Microsoft Defender itself\\r\\nDeviceRegistryEvents\\r\\n| where ActionType == \\\"RegistryValueSet\\\"\\r\\n| where RegistryKey has_any (selection_main)\\r\\n| where (RegistryKey matches regex @\\\"(?i)(\\\\\\\\Real-Time Protection|\\\\\\\\Reporting|\\\\\\\\SpyNet)$\\\" and RegistryValueName has_any (selection_dword_1) and RegistryValueType =~ \\\"Dword\\\" and RegistryValueData == 1 )//DWORD (0x00000001) \\r\\nor \\r\\n(RegistryKey matches regex @\\\"(?i)(\\\\\\\\App and Browser protection|\\\\\\\\Features|\\\\\\\\MpEngine|\\\\\\\\Signature Update|\\\\\\\\SpyNet|\\\\\\\\Windows Defender Exploit Guard\\\\\\\\Controlled Folder Access)$\\\" and RegistryValueName has_any(selection_dword_0) and RegistryValueType =~ \\\"Dword\\\" and RegistryValueData == 0 )//DWORD (0x00000000) \\r\\n| where not(InitiatingProcessFolderPath has_any (exclusion_defender) and InitiatingProcessFileName == \\\"msmpeng.exe\\\") //Exclude activities from Microsoft Defender itself\\r\\n//| summarize count(), start_TimeStamp =min(TimeGenerated),last_TimeStamp=max(TimeGenerated), set_DeviceName=make_set(DeviceName), DeviceNum=dcount(DeviceName), set_RegistryValueName=make_set(RegistryValueName) by ActionType, InitiatingProcessAccountDomain, InitiatingProcessAccountName, InitiatingProcessFolderPath, InitiatingProcessParentFileName, InitiatingProcessFileName, InitiatingProcessCommandLine, RegistryKey, TenantId\\r\\n//| project start_TimeStamp, last_TimeStamp, ActionType, InitiatingProcessParentFileName, InitiatingProcessFolderPath, InitiatingProcessFileName, InitiatingProcessCommandLine, RegistryKey, set_RegistryValueName, DeviceNum, set_DeviceName, count_, TenantId\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1562.001 ImpairDefenses - Disable Defender Functionalities Via Registry Keys\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceRegistryEvents\\r\\n| where RegistryKey endswith @\\\"\\\\Control\\\\MiniNt\\\" \",\"size\":4,\"showAnalytics\":true,\"title\":\"T1562.002 - Impair Defenses: Disable Windows Logging\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic(['1102','104']);\\r\\nunion isfuzzy=true \\r\\n(SecurityEvent\\r\\n| where EventSourceName =~ \\\"Microsoft-Windows-Eventlog\\\" and EventID in (c1)),\\r\\n(WindowsEvent\\r\\n| where Provider =~ \\\"Microsoft-Windows-Eventlog\\\" and EventID in (c1)),\\r\\n(Event\\r\\n| where EventLog =~ \\\"Microsoft-Windows-Eventlog\\\" and EventID in (c1)) \",\"size\":4,\"showAnalytics\":true,\"title\":\"T1562.002 - Impair Defenses: Disable Windows Logging on EventID\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"30\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let selection_wevtutil = dynamic([\\\"/e:false\\\", \\\"cl\\\", \\\"clear-log\\\"]);\\r\\nDeviceProcessEvents\\r\\n| where ProcessCommandLine has \\\"WEVTUTIL\\\" and ProcessCommandLine has_any(selection_wevtutil)\\r\\n//| summarize count(), first_seen = min(TimeGenerated), last_seen = max(TimeGenerated) by TenantId, DeviceName, AccountName, InitiatingProcessFolderPath, FolderPath, ProcessCommandLine\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1562.002 Impair Defenses: Disable Windows Logging using wevtutil\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceEvents\\r\\n| where ActionType == \\\"BrowserLaunchedToOpenUrl\\\" and isnotempty(RemoteUrl) \\r\\n| where base64_decode_tostring(extract(@\\\".+http.*\\\\%2F([A-Za-z0-9+\\\\/]{6,}=?)\\\", 1, RemoteUrl)) has_any (\\\".gov\\\", \\\".com\\\") \",\"size\":4,\"showAnalytics\":true,\"title\":\"T1027.006 - HTML Smuggling\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2 \"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"TH ADS\"},\"name\":\"group - 7 - Copy - Copy\",\"styleSettings\":{\"showBorder\":true}},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"### Credential Access https://attack.mitre.org/tactics/TA0006/\",\"style\":\"success\"},\"name\":\"text - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic([\\\"procdump\\\", \\\"lsass\\\"]); \\r\\nlet c2 = dynamic([\\\"rundll32\\\", \\\"comsvcs\\\", \\\"MiniDump\\\"]);\\r\\nlet c3 = dynamic(['MiniDump',' full']); \\r\\nlet c4 = 'sekurlsa'; \\r\\nfind where InitiatingProcessCommandLine has_all (c1) or ProcessCommandLine has_all (c1) or CommandLine has_all (c1) or\\r\\nInitiatingProcessCommandLine has_all (c2) or ProcessCommandLine has_all (c2) or CommandLine has_all (c2) or\\r\\nInitiatingProcessCommandLine has_all (c3) or ProcessCommandLine has_all (c3) or CommandLine has_all (c3) or \\r\\nInitiatingProcessCommandLine has c4 or ProcessCommandLine has c4 or CommandLine has c4 \\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1003.001 - OS Credential Dumping LSASS Memory\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic([\\\"ntds.dit\\\"]); \\r\\nfind where InitiatingProcessCommandLine has_all (c1) or ProcessCommandLine has_all (c1) or CommandLine has_all (c1) \\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1003.003 - OS Credential Dumping Exfiltrate ntds.dit\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic([\\\"Invoke-NinjaCopy\\\",\\\"Secretsdump.py\\\",\\\"DSInternals\\\"]);\\r\\nfind where InitiatingProcessCommandLine has_any (c1) or ProcessCommandLine has_any (c1) or CommandLine has_any (c1) \\r\\n\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1003.003 - OS Credential Dumping: NTDS using Tools\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"30\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let selection_properties = dynamic(['Replicating Directory Changes All','1131f6ad-9c07-11d1-f79f-00c04fc2dcd2','1131f6aa-9c07-11d1-f79f-00c04fc2dcd2','9923a32a-3607-11d2-b9be-0000f87a36b2','89e95b76-444d-4c62-991a-0facbeda640c']);\\r\\nlet selection_AccessMask = '0x100';\\r\\nlet filter1 = 'Window Manager';\\r\\nlet filter2 = @\\\"^(NT AUT|MSOL_)\\\";\\r\\nlet filter3 = \\\"$\\\";\\r\\nSecurityEvent\\r\\n| where EventID == 4662\\r\\n| where Properties has_any (selection_properties) and AccessMask == selection_AccessMask\\r\\n| where not(SubjectDomainName == filter1 or SubjectUserName matches regex filter2 or SubjectUserName endswith filter3)\\r\\n| summarize first_TimeStamp=min(TimeGenerated), last_TimeStamp=max(TimeGenerated), count(), set_SubjectDomainNAme = make_set(SubjectDomainName), set_SubjectUserName = make_set(SubjectUserName), set_Properties=make_set(Properties) by Account, Computer, TenantId\\r\\n\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1003.006 - OS Credential Dumping: DCSync\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic([\\\"dir\\\", \\\".ssh\\\",\\\"known_hosts\\\"]); \\r\\nlet c2 = dynamic([\\\"dir\\\", @\\\"firefox\\\\profiles\\\"]); \\r\\nlet c3 = dynamic([\\\"reg\\\", \\\" query\\\", \\\"OpenSSH\\\"]); \\r\\nlet c4 = dynamic([\\\"reg\\\", \\\" query\\\", \\\"realvnc\\\"]); \\r\\nlet c5 = dynamic([\\\"reg\\\", \\\" query\\\", @\\\"putty\\\\session\\\"]); \\r\\nlet c6 = dynamic([\\\"reg\\\", \\\" save\\\", @\\\" hklm\\\\sam\\\", \\\" ss.dat\\\"]); \\r\\nlet c7 = dynamic([\\\"reg\\\", \\\" save\\\", @\\\" hklm\\\\system\\\", \\\" sy.dat\\\"]); \\r\\nfind where (InitiatingProcessCommandLine has_all (c1) or ProcessCommandLine has_all (c1) or CommandLine has_all (c1)) or\\r\\n(InitiatingProcessCommandLine has_all (c2) or ProcessCommandLine has_all (c2) or CommandLine has_all (c2)) or\\r\\n(InitiatingProcessCommandLine has_all (c3) or ProcessCommandLine has_all (c3) or CommandLine has_all (c3)) or \\r\\n(InitiatingProcessCommandLine has_all (c4) or ProcessCommandLine has_all (c4) or CommandLine has_all (c4)) or\\r\\n(InitiatingProcessCommandLine has_all (c5) or ProcessCommandLine has_all (c5) or CommandLine has_all (c5)) or\\r\\n(InitiatingProcessCommandLine has_all (c6) or ProcessCommandLine has_all (c6) or CommandLine has_all (c6)) or\\r\\n(InitiatingProcessCommandLine has_all (c7) or ProcessCommandLine has_all (c7) or CommandLine has_all (c7)) \\r\\n\\r\\n\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1555 - Credentials from Password Stores\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = @'reg.*query\\\\s.*password';\\r\\nfind where InitiatingProcessCommandLine matches regex c1 or ProcessCommandLine matches regex c1 or CommandLine matches regex c1 \\r\\n\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1552.002 - REGISTRY Password Dumping\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"30\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityEvent \\r\\n | where EventID == 4769 \\r\\n | parse EventData with * 'ServiceName\\\">' ServiceName \\\"<\\\" * \\r\\n | where ServiceName contains \\\"pick\\\"\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1558.003 - Steal or Forge Kerberos Tickets: Kerberoasting\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SigninLogs \\r\\n| where parse_json(RiskEventTypes_V2) has \\\"unfamiliarFeatures\\\" and RiskLevelDuringSignIn == \\\"high\\\"\\r\\n| where ResultType == \\\"0\\\"\\r\\n| where AppDisplayName == \\\"OfficeHome\\\"\\r\\n| project-reorder TimeGenerated,IPAddress, Location, UserPrincipalName, AppDisplayName, Category, ResultType, ResultDescription, RiskLevelDuringSignIn, RiskEventTypes_V2, RiskDetail, AutonomousSystemNumber, AuthenticationDetails\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1557 - AiTM - Phishing logging\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"30\",\"name\":\"query - 2 \"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"TH ADS\"},\"name\":\"group - 7\",\"styleSettings\":{\"showBorder\":true}},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"### Discovery https://attack.mitre.org/tactics/TA0007/\",\"style\":\"success\"},\"name\":\"text - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic([\\\"curl\\\", \\\"www.ip-api.com\\\"]);\\r\\nlet c2 = dynamic([\\\"ldifde.exe\\\", \\\"subtree\\\"]);\\r\\nfind where InitiatingProcessCommandLine has_all (c1) or ProcessCommandLine has_all (c1) or CommandLine has_all (c1) or\\r\\nInitiatingProcessCommandLine has_all (c2) or ProcessCommandLine has_all (c2) or CommandLine has_all (c2) \\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1016 - Enumerate Network Topology\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic([\\\"Get-EventLog\\\", \\\"4624\\\"]);\\r\\nfind where InitiatingProcessCommandLine has_all (c1) or ProcessCommandLine has_all (c1) or CommandLine has_all (c1) \\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1033 - Identify successful logons to the host\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 1 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic([\\\"cmd\\\", \\\"wmic\\\", \\\"caption\\\", \\\"filesystem\\\"]); \\r\\nfind where InitiatingProcessCommandLine has_all (c1) or ProcessCommandLine has_all (c1) or CommandLine has_all (c1) \\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1082 - System Information Discovery\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"30\",\"name\":\"query - 1 \"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"TH ADS\"},\"name\":\"group - 8\",\"styleSettings\":{\"showBorder\":true}},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"### Lateral Movement https://attack.mitre.org/tactics/TA0008/\",\"style\":\"success\"},\"name\":\"text - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let webserver_ip = ()\\r\\n{DeviceNetworkEvents\\r\\n| where InitiatingProcessFileName has_any ('w3wp','nginx','apache') and LocalIPType == \\\"Private\\\"\\r\\n| distinct LocalIP};\\r\\nDeviceNetworkEvents\\r\\n| where (LocalIP has_any (webserver_ip()) or DeviceName contains \\\"Web\\\") and RemotePort in (3389,22)\\r\\n| distinct RemoteIP, DeviceName,RemotePort, InitiatingProcessCommandLine\\r\\n\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1021 - Lateral Movement - Remote Services\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceFileEvents\\r\\n| where RequestProtocol == \\\"Smb\\\" \\r\\n| where FileName endswith \\\".exe\\\" // Filter for executables, remove for a wider scope \\r\\n| summarize make_set(FileName), make_set(DeviceName), make_set(SHA1), make_set(ShareName), count() by RequestSourceIP, RequestAccountName\\r\\n| where count_ < 20 // Filter on lower count to reduce noise\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1021.002 - SMB/Windows Admin Shares\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 1 - Copy\"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"TH ADS\"},\"name\":\"group - 9\",\"styleSettings\":{\"showBorder\":true}},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"### Command and Control https://attack.mitre.org/tactics/TA0011/\",\"style\":\"success\"},\"name\":\"text - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic([\\\"portproxy\\\", \\\"netsh\\\", \\\"add\\\"]);\\r\\nfind where InitiatingProcessCommandLine has_all (c1) or ProcessCommandLine has_all (c1) or CommandLine has_all (c1)\\r\\n\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1090 - Proxy\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 1\"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"TH ADS\"},\"name\":\"group - 10\",\"styleSettings\":{\"showBorder\":true}},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"### Impact https://attack.mitre.org/tactics/TA0040/\",\"style\":\"success\"},\"name\":\"text - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceEvents\\r\\n| where ActionType in ('AsrRansomwareBlocked', 'AsrRansomwareAudited')\\r\\n| where FileName !in ('vssadmin.exe')\\r\\n| summarize arg_max(TimeGenerated, *), TotalEvents = count(), TriggeredFiles = make_set(FileName), FileHashes = make_set(SHA1), IntiatingProcesses = make_set(InitiatingProcessCommandLine) by DeviceName, AccountName\\r\\n| project TimeGenerated, DeviceName, AccountDomain, AccountName, TotalEvents, TriggeredFiles, FileHashes, IntiatingProcesses \\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1486 - ASR Ransomware - Detects when the ASR rule AsrRansomwareBlocked or AsrRansomwareAudited is triggered\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 1\"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"TH ADS\"},\"name\":\"group - 10 - Copy\",\"styleSettings\":{\"showBorder\":true}},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"title\":\"Malware / Tools\",\"items\":[{\"type\":1,\"content\":{\"json\":\"### Impacket https://attack.mitre.org/software/S0357/\",\"style\":\"success\"},\"name\":\"text - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic([\\\"cmd.exe\\\", \\\"2>&1\\\", \\\"ADMIN$\\\"]);\\r\\nfind where InitiatingProcessCommandLine has_all (c1) or ProcessCommandLine has_all (c1) or CommandLine has_all (c1) \\r\\n\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"S0357 - Potential Impacket Execution \\\"dir\\\" command\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"(union isfuzzy=true\\r\\n (SecurityEvent\\r\\n | where EventID == '5145'\\r\\n | where RelativeTargetName has 'SYSTEM32' and RelativeTargetName endswith @\\\".tmp\\\"\\r\\n | where ShareName has \\\"\\\\\\\\\\\\\\\\*\\\\\\\\ADMIN$\\\"\\r\\n ),\\r\\n (WindowsEvent\\r\\n | where EventID == '5145' \\r\\n | extend RelativeTargetName= tostring(EventData.RelativeTargetName)\\r\\n | extend ShareName= tostring(EventData.ShareName)\\r\\n | where RelativeTargetName has 'SYSTEM32' and RelativeTargetName endswith @\\\".tmp\\\"\\r\\n | where ShareName has \\\"\\\\\\\\\\\\\\\\*\\\\\\\\ADMIN$\\\"\\r\\n | extend Account = strcat(tostring(EventData.SubjectDomainName),\\\"\\\\\\\\\\\", tostring(EventData.SubjectUserName))\\r\\n )\\r\\n )\\r\\n | extend timestamp = TimeGenerated \\r\\n | extend NTDomain = split(Account, '\\\\\\\\', 0)[0], UserName = split(Account, '\\\\\\\\', 1)[0]\\r\\n | extend HostName = split(Computer, '.', 0)[0], DnsDomain = strcat_array(array_slice(split(Computer, '.'), 1, -1), '.')\\r\\n | extend Account_0_Name = UserName\\r\\n | extend Account_0_NTDomain = NTDomain\\r\\n | extend Host_0_HostName = HostName\\r\\n | extend Host_0_DnsDomain = DnsDomain\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"S0357 - Impacket Secretdump with SMB2\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 2\"},{\"type\":1,\"content\":{\"json\":\"### Cobalt Strike https://attack.mitre.org/software/S0154/\",\"style\":\"success\"},\"name\":\"text - 3\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let badNames = dynamic([\\\"aaa.stage\\\",\\\"baa.stage\\\",\\\"caa.stage\\\", \\\"post.1\\\"]);\\r\\n(union isfuzzy=true\\r\\n(DnsEvents \\r\\n| where Name has_any (badNames)\\r\\n| extend Domain = Name, SourceIp = ClientIP, RemoteIP = todynamic(IPAddresses)\\r\\n| mvexpand RemoteIP\\r\\n| extend RemoteIP = tostring(RemoteIP)),\\r\\n(VMConnection\\r\\n| where isnotempty(RemoteDnsCanonicalNames) \\r\\n| parse RemoteDnsCanonicalNames with * '[\\\"' DNSName '\\\"]' *\\r\\n| where DNSName has_any (badNames)\\r\\n| extend Domain = DNSName, RemoteIP = RemoteIp\\r\\n))\\r\\n| summarize StartTimeUtc = min(TimeGenerated), EndTimeUtc = max(TimeGenerated) by Domain, SourceIp, RemoteIP, Computer\\r\\n| extend timestamp = StartTimeUtc, HostCustomEntity = Computer, IPCustomEntity = RemoteIP\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"S0154 - Cobalt Strike: DNS Beaconing\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let selection_MSSE = dynamic([@'\\\\MSSE-', '-server']);\\r\\nlet selection_Pipename = dynamic(['\\\\\\\\postex_', '\\\\\\\\status_', '\\\\\\\\msagent_', '\\\\\\\\mojo_', '\\\\\\\\interprocess_', '\\\\\\\\samr_', '\\\\\\\\netlogon_', '\\\\\\\\srvsvc_', '\\\\\\\\lsarpc_', '\\\\\\\\wkssvc_']); // Also include the pipe \\\"\\\\postex_ssh_\\\"\\r\\nDeviceEvents\\r\\n| where ActionType == \\\"NamedPipeEvent\\\"\\r\\n| extend FileOperation_ = tostring(AdditionalFields.FileOperation)\\r\\n| extend PipeName_ = tostring(AdditionalFields.PipeName)\\r\\n| where FileOperation_ == \\\"File created\\\"\\r\\n| where PipeName_ has_all (selection_MSSE) or PipeName_ has_any (selection_Pipename)\\r\\n| where not(InitiatingProcessFolderPath contains \\\"kdsstm.exe\\\" and PipeName_ contains \\\"kyoceradocumentsolutions\\\") // Kyocera drivers\\r\\n//| summarize count(), earliest_Timestamp=min(TimeGenerated) by ActionType, DeviceName, InitiatingProcessParentFileName, InitiatingProcessAccountDomain, InitiatingProcessAccountName, InitiatingProcessFolderPath, InitiatingProcessCommandLine, FileOperation_, PipeName_, TenantId\",\"size\":4,\"showAnalytics\":true,\"title\":\"S0154 - Cobalt Strike: NamedPipe\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 2 \"},{\"type\":1,\"content\":{\"json\":\"### QakBot https://attack.mitre.org/software/S0650/\",\"style\":\"success\"},\"name\":\"text - 9\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic(['net view', 'cmd /c set', 'nslookup-querytype=ALL -timeout=12', '_ldap._tcp.dc._msdcs.WORKGROUP', 'net share', 'net1 share', 'route print', 'net localgroup', 'whoami /all']);\\r\\nfind where InitiatingProcessCommandLine in (c1) or ProcessCommandLine in (c1) or CommandLine in (c1) \\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"S0650 - Qakbot: Post compromise commands\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic([@'/c ping.exe -n 6 127.0.0.1 & type']);\\r\\nlet c2 = dynamic(['regsvr32.exe','.tmp',@'C:\\\\ProgramData']);\\r\\nfind where InitiatingProcessCommandLine has_all (c1) or ProcessCommandLine has_all (c1) or CommandLine has_all (c1) or\\r\\nInitiatingProcessCommandLine has_all (c2) or ProcessCommandLine has_all (c2) or CommandLine has_all (c2) \\r\\n\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"S0650 - Qakbot: Process executions\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let selection_1 = dynamic([@'SOFTWARE\\\\Microsoft\\\\Windows Defender\\\\Exclusions\\\\Paths', @'SOFTWARE\\\\Microsoft\\\\Microsoft Antimalware\\\\Exclusions\\\\Paths']); \\r\\nlet selection_2 = dynamic(['ADD ', @'/t ','REG_DWORD ',@'/v ',@'/d ', '0']); \\r\\nDeviceProcessEvents\\r\\n| where ActionType == \\\"ProcessCreated\\\"\\r\\n| where FolderPath endswith @'\\\\\\\\reg.exe'\\r\\n| where ProcessCommandLine has_any (selection_1) and ProcessCommandLine has_all (selection_2)\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"S0650 - Qakbot: Defender Exclusions\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"30\",\"name\":\"query - 2 \"},{\"type\":1,\"content\":{\"json\":\"### Bloodhound/Sharphound https://attack.mitre.org/software/S0521/\",\"style\":\"success\"},\"name\":\"text - 10\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\" let c1 = dynamic([' -CollectionMethod All ', ' --CollectionMethods Session ', ' --Loop --Loopduration ', ' --PortScanTimeout ', '.exe -c All -d', 'Invoke-Bloodhound', 'Get-BloodHoundData']);\\r\\n let c2 = dynamic([' -JsonFolder ', ' -ZipFileName ']);\\r\\n let c3 = dynamic([' DCOnly ', ' --NoSaveCache ']);\\r\\n find where (InitiatingProcessCommandLine has_any (c1) or ProcessCommandLine has_any (c1) or CommandLine has_any (c1)) or \\r\\n InitiatingProcessCommandLine has_all (c2) or ProcessCommandLine has_all (c2) or CommandLine has_all (c2) or \\r\\n InitiatingProcessCommandLine has_all (c3) or ProcessCommandLine has_any (c3) or CommandLine has_all (c3) \\r\\n\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"S0521 - Bloodhound/Sharphound Execution Commandlets\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 2 \"},{\"type\":1,\"content\":{\"json\":\"### AdFind https://attack.mitre.org/software/S0552/\",\"style\":\"success\"},\"name\":\"text - 12\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic(['domainlist', 'trustdmp', 'dcmodes', 'adinfo', ' dclist ', 'computer_pwdnotreqd', 'objectcategory=', '-subnets -f', 'name=\\\"Domain Admins\\\"', '-sc u:', 'domainncs', 'dompol', ' oudmp ', 'subnetdmp', 'gpodmp', 'fspdmp', 'users_noexpire', 'computers_active', 'computers_pwdnotreqd']);\\r\\nfind where \\r\\nFileName =~ \\\"AdFind.exe\\\" or ProcessVersionInfoOriginalFileName =~ \\\"AdFind.exe\\\" or \\r\\nInitiatingProcessFileName =~ \\\"AdFind.exe\\\" or InitiatingProcessVersionInfoOriginalFileName =~ \\\"AdFind.exe\\\" or Process =~ \\\"AdFind.exe\\\" or\\r\\nProcessCommandLine has_any (c1) \\r\\n\\r\\n\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"S0552 - AdFind Execution\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 2 \"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"TH ADS\"},\"name\":\"group - 11\",\"styleSettings\":{\"showBorder\":true}},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"title\":\"Open Source TI hunts\",\"items\":[{\"type\":1,\"content\":{\"json\":\"# Threat Hunts based on Open-Source-Threat-Intel-Feeds\\n\\nref.
\\n[Bert-Jan](https://github.com/Bert-JanP/Open-Source-Threat-Intel-Feeds)
\\n[montysecurity](https://github.com/montysecurity)
\\n[tweetfeed.live](https://tweetfeed.live/)
\\n[drb-ra](https://github.com/drb-ra/C2IntelFeeds)
\\n\"},\"name\":\"text - 0\"},{\"type\":1,\"content\":{\"json\":\"# IP IOCs \",\"style\":\"success\"},\"name\":\"text - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"// TI - montysecurity\\nlet BruteRatel = externaldata(IP:string, Tag:string, TIFeed:string)[@\\\"https://raw.githubusercontent.com/montysecurity/C2-Tracker/main/data/Brute%20Ratel%20C4%20IPs.txt\\\"] | extend Tag='BruteRatel', TIFeed='montysecurity';\\nlet AresRat = externaldata(IP:string, Tag:string, TIFeed:string)[@\\\"https://raw.githubusercontent.com/montysecurity/C2-Tracker/main/data/Ares%20RAT%20C2%20IPs.txt\\\"] | extend Tag='AresRat', TIFeed='montysecurity';\\nlet CalderaC2 = externaldata(IP:string, Tag:string, TIFeed:string)[@\\\"https://raw.githubusercontent.com/montysecurity/C2-Tracker/main/data/Caldera%20C2%20IPs.txt\\\"] | extend Tag='CalderaC2', TIFeed='montysecurity';\\nlet CobaltStrike = externaldata(IP:string, Tag:string, TIFeed:string)[@\\\"https://raw.githubusercontent.com/montysecurity/C2-Tracker/main/data/Cobalt%20Strike%20C2%20IPs.txt\\\"] | extend Tag='CobaltStrike', TIFeed='montysecurity';\\nlet Covenant = externaldata(IP:string, Tag:string, TIFeed:string)[@\\\"https://raw.githubusercontent.com/montysecurity/C2-Tracker/main/data/Covenant%20C2%20IPs.txt\\\"] | extend Tag='Covenant', TIFeed='montysecurity';\\nlet MetasploitFrameworkC2 = externaldata(IP:string, Tag:string, TIFeed:string)[@\\\"https://github.com/montysecurity/C2-Tracker/raw/main/data/Metasploit%20Framework%20C2%20IPs.txt\\\"] | extend Tag='MetasploitFrameworkC2', TIFeed='montysecurity';\\nlet RemcosProRAT = externaldata(IP:string, Tag:string, TIFeed:string)[@\\\"https://github.com/montysecurity/C2-Tracker/raw/main/data/Remcos%20Pro%20RAT%20Trojan%20IPs.txt\\\"] | extend Tag='RemcosProRAT', TIFeed='montysecurity';\\nlet SliverC2 = externaldata(IP:string, Tag:string, TIFeed:string)[@\\\"https://github.com/montysecurity/C2-Tracker/raw/main/data/Remcos%20Pro%20RAT%20Trojan%20IPs.txt\\\"] | extend Tag='SliverC2', TIFeed='montysecurity';\\nlet montysecurity_all = externaldata(IP:string, Tag:string, TIFeed:string)[@\\\"https://github.com/montysecurity/C2-Tracker/raw/main/data/all.txt\\\"] | extend Tag='montysecurity_all', TIFeed='montysecurity';\\n// tweetfeed.live\\nlet tweetfeed_live = externaldata( Date_:datetime, reporter:string, type:string, IP:string, tag:string , twiter:string, Tag:string, TIFeed:string)[@\\\"https://raw.githubusercontent.com/0xDanielLopez/TweetFeed/master/month.csv\\\"] | where type=='ip' | extend Tag=strcat(tag,\\\" - \\\", twiter), TIFeed='tweetfeed.live';\\n// proofpoint\\nlet proofpoint = externaldata(IP:string, Tag:string, TIFeed:string)[@\\\"https://rules.emergingthreats.net/blockrules/compromised-ips.txt\\\"] | extend Tag='compromised-ips', TIFeed='proofpoint';\\n// CINS // 15000\\nlet cins = externaldata(IP:string, Tag:string, TIFeed:string)[@\\\"https://cinsscore.com/list/ci-badguys.txt\\\"] | extend Tag='CI-badguys', TIFeed='CINS';\\n// drb-ra C2IntelFeeds\\nlet ['drb-ra'] = externaldata(IP:string, Tag:string, TIFeed:string)[@\\\"https://github.com/drb-ra/C2IntelFeeds/raw/master/feeds/IPC2s-30day.csv\\\"] | extend Tag=strcat(Tag, ' - C2IntelFeeds'), TIFeed='drb-ra';\\nlet whitelist= dynamic(['']); // Add IPs to whitelist\\nlet IPList = union BruteRatel,AresRat, CalderaC2,CobaltStrike,Covenant, MetasploitFrameworkC2, RemcosProRAT, SliverC2, montysecurity_all, tweetfeed_live, proofpoint,cins,['drb-ra'] | where IP !in (whitelist) | summarize TIName=make_set(Tag) by IP, TIFeed;\\nDeviceNetworkEvents\\n| where RemoteIP in (IPList)\\n//| where InitiatingProcessFileName !in ('svchost.exe','cvd.exe','cvfwd.exe','dns.exe','firefox.exe','msedge.exe','chrome.exe') //filter on process\\n//| where ActionType !in ('InboundConnectionAccepted') // filter on action type\\n| join IPList on $left.RemoteIP == $right.IP\\n| extend GeoIPInfo = geo_info_from_ip_address(RemoteIP)\\n| extend country = tostring(parse_json(GeoIPInfo).country), state = tostring(parse_json(GeoIPInfo).state), city = tostring(parse_json(GeoIPInfo).city), latitude = tostring(parse_json(GeoIPInfo).latitude), longitude = tostring(parse_json(GeoIPInfo).longitude)\\n| project TimeGenerated, DeviceName, ActionType, RemoteIP, RemoteUrl, TIFeed, TIName, country, InitiatingProcessCommandLine, InitiatingProcessFileName, InitiatingProcessSHA1, InitiatingProcessFolderPath, InitiatingProcessParentFileName\\n\\n\",\"size\":2,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"TI\"},\"name\":\"query - 44\"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"TI\"},\"name\":\"TI1\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"# Initial Investigation - Pivoting on compromised assets \\n\",\"style\":\"info\"},\"name\":\"text - 1\"},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"parameters\":[{\"id\":\"12605331-9507-4adf-999e-6cf39a0eda8c\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"UserAccount\",\"type\":1,\"description\":\"Add user account(s) in array format e.g. \\\"user@domain.au\\\",\\\"user3\\\"\",\"typeSettings\":{\"multiLineText\":true,\"editorLanguage\":\"text\",\"multiLineHeight\":2},\"timeContext\":{\"durationMs\":86400000},\"value\":\"\\\"user@domain.au\\\",\\\"user3\\\"\"},{\"id\":\"3c68e0ad-30ce-4fb3-9102-d9277f3a7b72\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"IP_IOC\",\"label\":\"IP Addresses\",\"type\":1,\"description\":\"Add IP addresses in array format e.g. \\\"1.1.1.1\\\",\\\"8.8.8.8\\\"\",\"typeSettings\":{\"multiLineText\":true,\"editorLanguage\":\"text\",\"multiLineHeight\":2},\"timeContext\":{\"durationMs\":86400000},\"value\":\"\\\"1.1.1.1\\\",\\\"8.8.8.8\\\"\"},{\"id\":\"3c9a6385-4ff8-4c03-86ae-95b300deed1e\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Host_IOC\",\"type\":1,\"description\":\"Add host names in array format e.g. \\\"host1\\\",\\\"host2\\\"\",\"typeSettings\":{\"multiLineText\":true,\"editorLanguage\":\"text\",\"multiLineHeight\":2},\"timeContext\":{\"durationMs\":86400000},\"value\":\"\\\"host1\\\",\\\"host2\\\"\"}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"parameters - 2\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"### Security alerts in past 30 days\",\"style\":\"success\"},\"name\":\"text - 4\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityAlert\\n| where TimeGenerated > ago(30d)\\n| summarize arg_max(TimeGenerated, *) by SystemAlertId\\n| where Entities has_any ({Host_IOC}) or CompromisedEntity has_any ({Host_IOC})\\nor Entities has_any ({UserAccount}) or CompromisedEntity has_any ({UserAccount}) \\nor Entities has_any ({IP_IOC}) or CompromisedEntity has_any ({IP_IOC}) \\n| project StartTime, AlertName, AlertSeverity, CompromisedEntity, Entities, AlertLink | order by StartTime asc \",\"size\":0,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"AlertLink\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\",\"linkLabel\":\"Go to Alert\"}}]},\"sortBy\":[]},\"name\":\"query - 0\"}]},\"name\":\"Security Alerts\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"### Host activities\",\"style\":\"success\"},\"name\":\"text - 4\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceProcessEvents\\n| where DeviceName has_any ({Host_IOC}) \\n| where AccountName != \\\"system\\\" // If you suspect that the system user is compromised, remove this filter.\\n| where InitiatingProcessFileName == \\\"powershell.exe\\\"\\n| sort by TimeGenerated\\n| top 100 by TimeGenerated\\n| project TimeGenerated, DeviceName, ActionType, FileName, ProcessCommandLine, AccountDomain, AccountName, InitiatingProcessCommandLine\\n\",\"size\":1,\"title\":\"DeviceProcessEvents - Powershell executions\",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"]},\"customWidth\":\"33\",\"name\":\"query - 0\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceProcessEvents\\n| where DeviceName has_any ({Host_IOC}) \\n| where FileName in (\\\"net.exe\\\", \\\"net1.exe\\\")\\n| extend NetActionType = case(ProcessCommandLine has \\\"accounts\\\", \\\"ACCOUNTS\\\",\\n ProcessCommandLine has \\\"group\\\", \\\"GROUP\\\",\\n ProcessCommandLine has \\\"user\\\", \\\"USER\\\",\\n ProcessCommandLine has \\\"localgroup\\\", \\\"LOCALGROUP\\\",\\n \\\"Other\\\")\\n| where NetActionType != \\\"Other\\\"\\n| project-reorder TimeGenerated, ProcessCommandLine\\n| sort by TimeGenerated\",\"size\":1,\"title\":\"DeviceProcessEvents - net.exe activities\",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"]},\"customWidth\":\"33\",\"name\":\"query - 0 - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceNetworkEvents\\n| where DeviceName has_any ({Host_IOC}) \\n| where RemotePort == 445\\n| where ActionType == \\\"ConnectionSuccess\\\"\",\"size\":1,\"title\":\"DeviceNetworkEvents - successful SMB connections\",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"]},\"customWidth\":\"33\",\"name\":\"query - 0 - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceFileEvents\\n| where RequestProtocol == \\\"Smb\\\" //and FileName endswith \\\".exe\\\"\\n| where DeviceName has_any ({Host_IOC}) or RequestAccountName has_any ({UserAccount})\\n| summarize FileName_=make_set(FileName), DeviceName_=make_set(DeviceName), SHA1_=make_set(SHA1), ShareName_=make_set(ShareName), count() by RequestSourceIP\",\"size\":1,\"title\":\"DeviceFileEvents - File transfers - SMB/Windows Admin Shares \",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"]},\"customWidth\":\"33\",\"name\":\"query - 0 - Copy - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceEvents\\n| where DeviceName has_any ({Host_IOC}) \\n| where ActionType == \\\"AntivirusDetection\\\"\\n| summarize TotalDetections = count() by DeviceName , FileName, SHA1 \",\"size\":1,\"title\":\"DeviceEvents - Antivirus events\",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"]},\"customWidth\":\"33\",\"name\":\"query - 0 - Copy - Copy - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"IdentityLogonEvents \\n| where DeviceName has_any ({Host_IOC}) \\n| summarize\\n TotalDevicesAccessed = dcount(DestinationDeviceName),\\n DevicesAccessed = make_set(DestinationDeviceName),\\n ProtocolsUsed = make_set(Protocol)\\n by DeviceName\",\"size\":1,\"title\":\"IdentityLogonEvents - Devices that have been accessed by a compromised device\",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"]},\"customWidth\":\"33\",\"name\":\"query - 0 - Copy - Copy - Copy - Copy - Copy\"}]},\"name\":\"Host entities\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"### User account activities\",\"style\":\"success\"},\"name\":\"text - 4\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"union isfuzzy=true SigninLogs, AADNonInteractiveUserSignInLogs\\n| where ResultType == 0\\n| where UserPrincipalName has_any ({UserAccount})\\n// In case of all details remove line below\\n| project TimeGenerated, UserPrincipalName, Category, Location, IPAddress, AppDisplayName, ClientAppUsed, RiskState\\n\",\"size\":1,\"showAnalytics\":true,\"title\":\"SigninLogs - Sign Ins by comrpomised account\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"exportToExcelOptions\":\"all\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"filter\":true}},\"customWidth\":\"33\",\"name\":\"query - 0\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"EmailEvents\\n| where SenderFromAddress has_any ({UserAccount})\\n| where AttachmentCount > 0\\n| join kind=leftouter EmailAttachmentInfo on NetworkMessageId\\n| project TimeGenerated, NetworkMessageId, SenderFromAddress, RecipientEmailAddress, Subject, ThreatTypes, SHA256\\n| join kind=leftouter DeviceFileEvents on SHA256\\n| summarize\\n EmailReciepients = make_set(RecipientEmailAddress),\\n Subject= make_set(Subject),\\n FileOnDevices = make_set(DeviceName)\\n by SHA256, NetworkMessageId\\n| extend\\n TotalReciepients = array_length(EmailReciepients),\\n DeviceWithFileInteraction = array_length(FileOnDevices)\",\"size\":1,\"showAnalytics\":true,\"title\":\"EmailEvents/DeviceFileEvents - Attachments sent from a compromised mailbox\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"exportToExcelOptions\":\"all\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"filter\":true}},\"customWidth\":\"33\",\"name\":\"query - 0 - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"AuditLogs\\n| extend InitiatingUser = parse_json(InitiatedBy.user)\\n| extend InitatingUPN = parse_json(InitiatingUser).userPrincipalName\\n| where InitatingUPN has_any ({UserAccount})\\n| project-reorder TimeGenerated, InitatingUPN, OperationName, ResultDescription, ActivityDisplayName, Resource, Result\\n\",\"size\":1,\"showAnalytics\":true,\"title\":\"AuditLogs - List AuditLog activities by user\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"exportToExcelOptions\":\"all\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"]},\"customWidth\":\"33\",\"name\":\"query - 0 - Copy\"}]},\"name\":\"Account entities\"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"piv\"},\"name\":\"group - 13\"}],\"isLocked\":false,\"fallbackResourceIds\":[],\"fromTemplateId\":\"sentinel-UserWorkbook\"}", + "version": "1.0", + "sourceId": "[parameters('workbookSourceId')]", + "category": "[parameters('workbookType')]" + } + } + ], + "outputs": { + "workbookId": { + "type": "string", + "value": "[resourceId( 'microsoft.insights/workbooks', parameters('workbookId'))]" + } + }, + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#" +} \ No newline at end of file diff --git a/utilities/tools/Gap-Analysis/Gap-Analysis-Workbook-WASOCv1.0.json b/utilities/tools/Gap-Analysis-Workbook-WASOCv1.0.json similarity index 100% rename from utilities/tools/Gap-Analysis/Gap-Analysis-Workbook-WASOCv1.0.json rename to utilities/tools/Gap-Analysis-Workbook-WASOCv1.0.json diff --git a/utilities/tools/Gap-Analysis/README.md b/utilities/tools/Gap-Analysis/README.md deleted file mode 100644 index ddf5d81f..00000000 --- a/utilities/tools/Gap-Analysis/README.md +++ /dev/null @@ -1,12 +0,0 @@ -**WASOC GAP Analysis** - -Use the following deploy button to deploy the Gap Analysis workbook: - -

- -| **Gap Analysis Workbook** | [![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fwagov%2Fwasocshared%2Fmain%2Futilities%2Ftools%2FGap-Analysis%2FGap-Analysis-Workbook-WASOCv1.0.json) | -| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - -
- -For detailed steps on the deployment, go to ['How To' Deploy the GAP Analysis workbook](/utilities/guides/gap-analysis-workbook-deployment.md). diff --git a/utilities/tools/README.md b/utilities/tools/README.md new file mode 100644 index 00000000..fa2ed83e --- /dev/null +++ b/utilities/tools/README.md @@ -0,0 +1,19 @@ +**WASOC Workbooks** + +Use the following deploy links to deploy WASOC workbooks: + +| Name | Deployment Link | +| ---------------------- | ------------- | +| **Gap Analysis Workbook** | [![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fwagov%2Fwasocshared%2Fmain%2Futilities%2Ftools%2FGap-Analysis-Workbook-WASOCv1.0.json) | +| **WAGov - Threat Hunting - Rapid IOC Search** | [![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fwagov%2Fwasocshared%2Fmain%2Futilities%2Ftools%2FRapid-IOC-Search-Workbook-WASOCv1.0.json) | +| **AD-Hoc Threat hunting activities** | [![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fwagov%2Fwasocshared%2Fmain%2Futilities%2Ftools%2FAD-Hoc-Threat-Hunting-Activities-WASOCv1.0.json) | + +'How to' guides: + +[How to Deploy a Workbook With ARM Template](/utilities/guides/Workbook-Deployment.md) + +[How to use the GAP Analysis workbook](/utilities/guides/Gap-Analysis-Workbook.md) + +[How to use the Rapid IOC workbook](/utilities/guides/Rapid-IOC-Workbook.md) + +[How to use the Ad-Hoc Threat Hunting workbook](/utilities/guides/AD-Hoc-Threat-Hunting-Workbook.md) diff --git a/utilities/tools/Rapid-IOC-Search-Workbook-WASOCv1.0.json b/utilities/tools/Rapid-IOC-Search-Workbook-WASOCv1.0.json new file mode 100644 index 00000000..0bba5429 --- /dev/null +++ b/utilities/tools/Rapid-IOC-Search-Workbook-WASOCv1.0.json @@ -0,0 +1,61 @@ +{ + "contentVersion": "1.0.0.0", + "parameters": { + "workbookDisplayName": { + "type": "string", + "defaultValue": "WAGov - Threat Hunting - Rapid IOC Search", + "metadata": { + "description": "The friendly name for the workbook that is used in the Gallery or Saved List. This name must be unique within a resource group." + } + }, + "workbookType": { + "type": "string", + "defaultValue": "sentinel", + "metadata": { + "description": "The gallery that the workbook will been shown under. Supported values include workbook, tsg, etc. Usually, this is 'workbook'" + } + }, + "WorkspaceName": { + "type": "string", + "defaultValue": "", + "minLength": 1, + "metadata": { + "description": "The name of the Log Analytics workspace to which this workbook will be associated" + } + }, + "workbookId": { + "type": "string", + "defaultValue": "[newGuid()]", + "metadata": { + "description": "The unique guid for this workbook instance" + } + } + }, +"variables": { + "workbookSourceId": "[resourceId('Microsoft.OperationalInsights/workspaces', parameters('WorkspaceName'))]" + }, + "resources": [ + { + "name": "[parameters('workbookId')]", + "type": "microsoft.insights/workbooks", + "location": "[resourceGroup().location]", + "apiVersion": "2022-04-01", + "dependsOn": [], + "kind": "shared", + "properties": { + "displayName": "[parameters('workbookDisplayName')]", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"crossComponentResources\":[\"value::selected\"],\"parameters\":[{\"id\":\"8e7728b6-d24b-484f-8882-30681973ac2a\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Subscription\",\"type\":6,\"isRequired\":true,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"Resources\\r\\n| summarize Count = count() by subscriptionId\\r\\n| order by Count desc\\r\\n| extend Rank = row_number()\\r\\n| project value = subscriptionId, label = subscriptionId, selected = Rank == 1\",\"crossComponentResources\":[\"value::selected\"],\"typeSettings\":{\"additionalResourceOptions\":[],\"showDefault\":false},\"queryType\":1,\"resourceType\":\"microsoft.resourcegraph/resources\",\"value\":[]},{\"id\":\"41102d0e-96f6-42aa-9496-d43573a7537a\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Workspace\",\"type\":5,\"isRequired\":true,\"query\":\"resources | where type =~ 'Microsoft.operationsmanagement/solutions' | where name contains 'SecurityInsights' | project id = tostring(properties.workspaceResourceId)\",\"crossComponentResources\":[\"{Subscription}\"],\"typeSettings\":{\"additionalResourceOptions\":[],\"showDefault\":false},\"timeContext\":{\"durationMs\":86400000},\"queryType\":1,\"resourceType\":\"microsoft.resourcegraph/resources\",\"value\":null},{\"id\":\"79b21540-298d-4224-8349-fb32b4cb02e9\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"TimeRange\",\"label\":\"Time Range\",\"type\":4,\"isRequired\":true,\"typeSettings\":{\"selectableValues\":[{\"durationMs\":86400000},{\"durationMs\":172800000},{\"durationMs\":604800000},{\"durationMs\":1209600000},{\"durationMs\":2592000000},{\"durationMs\":5184000000},{\"durationMs\":7776000000}]},\"timeContext\":{\"durationMs\":86400000},\"value\":{\"durationMs\":2592000000}},{\"id\":\"8d9f06c4-b230-46cc-ae35-4c6b6ddb25c5\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Instructions\",\"label\":\"Show Instructions\",\"type\":10,\"typeSettings\":{\"additionalResourceOptions\":[]},\"jsonData\":\"[\\n { \\\"value\\\":\\\"Hide\\\", \\\"label\\\":\\\"Hide\\\",\\\"selected\\\":true},\\n { \\\"value\\\":\\\"Show\\\", \\\"label\\\":\\\"Show\\\" }\\n]\",\"timeContext\":{\"durationMs\":86400000}}],\"style\":\"pills\",\"queryType\":1,\"resourceType\":\"microsoft.resourcegraph/resources\"},\"name\":\"parameters - 1\"},{\"type\":1,\"content\":{\"json\":\"This workbook help analyst to perform IOC threat hunting activites in their own agency. The search results allow SOC Analyst to immediately identify table and agency of interest, to be able to perform deeper analysis at agency's own workspaces. \\nPlease Note: The workbooks does not guarantee 100% coverage of all logs, Security analyst needs to perform further analysis in Log Analytics workspace.\\n\\n---\\n## Instructions:\\n1. Select Workspace (Default to all)\\n2. Define Time Range of search.\\n3. Prepare your IOCs. Supported IOCs (FileHash,IP Address, URL, Email)\\n4. Copy-paste your search query into the \\\"Search Query\\\" field\\n5. Contact cybersecurity@dpc.wa.gov.au for further enquiries and training on this workbook\"},\"conditionalVisibility\":{\"parameterName\":\"Instructions\",\"comparison\":\"isEqualTo\",\"value\":\"Show\"},\"name\":\"text - 0\"},{\"type\":11,\"content\":{\"version\":\"LinkItem/1.0\",\"style\":\"tabs\",\"tabStyle\":\"bigger\",\"links\":[{\"id\":\"4d3e6860-e43a-4b79-acac-f7fa20cfe0a5\",\"cellValue\":\"Tab\",\"linkTarget\":\"parameter\",\"linkLabel\":\"IP Address\",\"subTarget\":\"ip\",\"style\":\"link\"},{\"id\":\"dd6cbcf7-9e1f-4533-8003-45b4d2e989e8\",\"cellValue\":\"Tab\",\"linkTarget\":\"parameter\",\"linkLabel\":\"File Hash\",\"subTarget\":\"filehash\",\"style\":\"link\"},{\"id\":\"61df5b01-b497-4525-94b0-cad9d87aaea0\",\"cellValue\":\"Tab\",\"linkTarget\":\"parameter\",\"linkLabel\":\"URL\",\"subTarget\":\"url\",\"style\":\"link\"},{\"id\":\"f861bc97-f235-414b-82df-898af0b47a87\",\"cellValue\":\"Tab\",\"linkTarget\":\"parameter\",\"linkLabel\":\"Email (External)\",\"subTarget\":\"email_external\",\"style\":\"link\"}]},\"name\":\"links - 2\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"parameters\":[{\"id\":\"28514c62-46bc-49f9-9b5e-ce7b5512200e\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"IP_IOC\",\"label\":\"IP Addresses\",\"type\":1,\"description\":\"Add IP addresses in array format e.g. (\\\"1.1.1.1\\\",\\\"8.8.8.8\\\")\",\"typeSettings\":{\"multiLineText\":true,\"editorLanguage\":\"text\"},\"timeContext\":{\"durationMs\":86400000},\"value\":\"(\\\"8.8.8.8\\\",\\\"1.1.1.1\\\")\"}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"parameters - 3\"},{\"type\":1,\"content\":{\"json\":\"### SecurityAlert\"},\"name\":\"text - 47\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityAlert\\r\\n|summarize arg_max(TimeGenerated,*) by SystemAlertId\\r\\n| extend Entities = iff(isempty(Entities), todynamic('[{\\\"dummy\\\" : \\\"\\\"}]'), todynamic(Entities))\\r\\n| mvexpand Entities\\r\\n| evaluate bag_unpack(Entities, \\\"Entity_\\\")\\r\\n| extend Entity_Type = columnifexists(\\\"Entity_Type\\\", \\\"\\\")\\r\\n| extend Entity_Name = columnifexists(\\\"Entity_Name\\\", \\\"\\\")\\r\\n| extend Entity_ResourceId = columnifexists(\\\"Entity_ResourceId\\\", \\\"\\\")\\r\\n| extend Entity_Directory = columnifexists(\\\"Entity_Directory\\\", \\\"\\\")\\r\\n| extend Entity_Value = columnifexists(\\\"Entity_Value\\\", \\\"\\\")\\r\\n| extend Entity_HostName = columnifexists(\\\"Entity_HostName\\\", \\\"\\\")\\r\\n| extend Entity_Address = columnifexists(\\\"Entity_Address\\\", \\\"\\\")\\r\\n| extend Entity_ProcessId = columnifexists(\\\"Entity_ProcessId\\\", \\\"\\\")\\r\\n| extend Entity_Url = columnifexists(\\\"Entity_Url\\\", \\\"\\\")\\r\\n| extend Target = iif(Entity_Type == \\\"account\\\", Entity_Name, iif(Entity_Type == \\\"azure-resource\\\", Entity_ResourceId, iif(Entity_Type == \\\"cloud-application\\\", Entity_Name, iif(Entity_Type == \\\"dns\\\", Entity_Name, iif(Entity_Type == \\\"file\\\", strcat(Entity_Directory, \\\"\\\\\\\\\\\", Entity_Name), iif(Entity_Type == \\\"filehash\\\", Entity_Value, iif(Entity_Type == \\\"host\\\", Entity_HostName, iif(Entity_Type == \\\"ip\\\" , Entity_Address, iif(Entity_Type == \\\"malware\\\", Entity_HostName, iif(Entity_Type == \\\"network-connection\\\", Entity_Name, iif(Entity_Type == \\\"process\\\", Entity_ProcessId, iif(Entity_Type == \\\"registry-key\\\", Entity_Name, iif(Entity_Type == \\\"registry-value\\\", Entity_Name, iif(Entity_Type == \\\"security-group\\\", Entity_Name, iif(Entity_Type == \\\"url\\\", Entity_Url, \\\"NoTarget\\\")))))))))))))))\\r\\n| where Entity_Type == \\\"ip\\\"\\r\\n|where Target has_any {IP_IOC}\\r\\n|summarize IOC=make_set(Target), AlertName=make_set(AlertName),SystemAlertId=make_set(SystemAlertId) ,count_=count(Target) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend AlertName = tostring(strcat_array(AlertName,\\\", \\\")), SystemAlertId = tostring(strcat_array(SystemAlertId,\\\", \\\"))\\r\\n|project AlertName, SystemAlertId, count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"SecurityAlert - IP\",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"AlertName\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"30%\"}},{\"columnMatch\":\"SystemAlertId\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"30%\"}},{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"20%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"name\":\"SecurityAlert\"},{\"type\":1,\"content\":{\"json\":\"### Azure Active Directory\"},\"name\":\"text - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SigninLogs\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where IPAddress has_any {IP_IOC}\\r\\n|summarize IOC=make_set(IPAddress), count_=count(IPAddress) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"SigninLogs - IPAddress\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"AAD-1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"AADNonInteractiveUserSignInLogs\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where IPAddress has_any {IP_IOC}\\r\\n|summarize IOC=make_set(IPAddress), count_=count(IPAddress) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"AADNonInteractiveUserSignInLogs - IPAddress\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"AAD-2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"AADServicePrincipalSignInLogs\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where IPAddress has_any {IP_IOC}\\r\\n|summarize IOC=make_set(IPAddress), count_=count(IPAddress) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"AADServicePrincipalSignInLogs - IPAddress\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"AAD-3\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"ADFSSignInLogs\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where IPAddress has_any {IP_IOC}\\r\\n|summarize IOC=make_set(IPAddress), count_=count(IPAddress) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"ADFSSignInLogs - IPAddress\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"Agency_Short\",\"label\":\"Agency\"},{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"AAD-4\"},{\"type\":1,\"content\":{\"json\":\"### Azure Activity, Azure AD Identity Protection,Microsoft Defender for Cloud, Azure Information Protection\"},\"name\":\"text - 2 - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"AzureActivity\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where CallerIpAddress has_any {IP_IOC}\\r\\n|summarize IOC=make_set(CallerIpAddress), count_=count(CallerIpAddress) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"AzureActivity - CallerIpAddress\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"AzureActivity-1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityAlert\\r\\n|where ProviderName == \\\"IPC\\\"\\r\\n|extend IPAddress_ = tostring(parse_json(ExtendedProperties).[\\\"Client IP Address\\\"])\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where IPAddress_ has_any {IP_IOC}\\r\\n|summarize IOC=make_set(IPAddress_), count_=count(IPAddress_) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"showAnalytics\":true,\"title\":\"Azure AD Identity Protection - IPAddress_\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"AADIPC-1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityAlert\\r\\n|where ProviderName == \\\"Azure Security Center\\\"\\r\\n|extend IPAddress_ = tostring(parse_json(ExtendedProperties).Answers)\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where IPAddress_ has_any {IP_IOC}\\r\\n|summarize IOC=make_set(IPAddress_), count_=count(IPAddress_) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"showAnalytics\":true,\"title\":\"Microsoft Defender for Cloud - IPAddress_\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"Agency_Short\",\"label\":\"Agency\"},{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"Microsoft Defender for Cloud\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"InformationProtectionLogs_CL\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where IPv4_s has_any {IP_IOC}\\r\\n|summarize IOC=make_set(IPv4_s), count_=count(IPv4_s) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"Azure Information Protection - IPv4_s\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContext\":{\"durationMs\":14400000},\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"AzureInformationProtection-IP\"},{\"type\":1,\"content\":{\"json\":\"### DNS Inventory\"},\"name\":\"text - 2 - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DnsEvents\\r\\n|where SubType == \\\"LookupQuery\\\"\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where IPAddresses has_any {IP_IOC}\\r\\n|summarize IOC=make_set(IPAddresses), count_=count(IPAddresses) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"DNSEvents - IPAddresses\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"DNSEvents-1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DnsEvents\\r\\n|where SubType == \\\"LookupQuery\\\"\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where MaliciousIP has_any {IP_IOC}\\r\\n|summarize IOC=make_set(MaliciousIP), count_=count(MaliciousIP) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"DNSEvents - MaliciousIP\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"Agency_Short\",\"label\":\"Agency\"},{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"DNSEvents-2\"},{\"type\":1,\"content\":{\"json\":\"### CommonSecurityLog\"},\"name\":\"text - 2 - Copy - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"CommonSecurityLog\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where SourceIP has_any {IP_IOC}\\r\\n|summarize IOC=make_set(SourceIP), count_=count(SourceIP) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"CommonSecurityLog- SourceIP\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"CommonSecurityLog-1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"CommonSecurityLog\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where DestinationIP has_any {IP_IOC}\\r\\n|summarize IOC=make_set(DestinationIP), count_=count(DestinationIP) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"CommonSecurityLog- DestinationIP\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"CommonSecurityLog-2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"CommonSecurityLog\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where MaliciousIP has_any {IP_IOC}\\r\\n|summarize IOC=make_set(MaliciousIP), count_=count(MaliciousIP) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"CommonSecurityLog- MaliciousIP\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"Agency_Short\",\"label\":\"Agency\"},{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"CommonSecurityLog-3\"},{\"type\":1,\"content\":{\"json\":\"### OfficeActivity\"},\"name\":\"OfficeActivity\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"OfficeActivity\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where ClientIP has_any {IP_IOC}\\r\\n|summarize IOC=make_set(ClientIP),Type_=make_set(OfficeWorkload), count_=count(ClientIP) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend Type_ = tostring(strcat_array(Type_,\\\", \\\"))\\r\\n|project count_ ,IOC,Type_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"OfficeActivity (Other than Exchange) - ClientIP\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Agency\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"2fr\"}},{\"columnMatch\":\"count_\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"1fr\"}},{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"3fr\"}},{\"columnMatch\":\"Type_\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"2fr\"}}],\"sortBy\":[{\"itemKey\":\"count_\",\"sortOrder\":2}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"},{\"columnId\":\"Type_\",\"label\":\"Activity Type\"}]},\"sortBy\":[{\"itemKey\":\"count_\",\"sortOrder\":2}]},\"customWidth\":\"50\",\"name\":\"OfficeActivity-1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"OfficeActivity\\r\\n|where OfficeWorkload == \\\"Exchange\\\"\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where Client_IPAddress has_any {IP_IOC}\\r\\n|summarize IOC=make_set(Client_IPAddress), count_=count(Client_IPAddress) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"OfficeActivity(Exchange) - Client_IPAddress\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"OfficeActivity-2\"},{\"type\":1,\"content\":{\"json\":\"### Syslog\"},\"name\":\"Syslog\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"Syslog\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|extend IPAddresses_ = extract_all(@\\\"((?:[0-9]{1,3}\\\\.){3}[0-9]{1,3})\\\",SyslogMessage) //Extracting IP addresses from Syslog Message\\r\\n|where isnotempty(IPAddresses_) //Further data filter, only show records with IP Addresses\\r\\n|mv-expand IPAddresses_ // Expand the dynamic results into individual rows\\r\\n|where IPAddresses_ has_any {IP_IOC}\\r\\n|summarize IOC=make_set(IPAddresses_), count_=count(IPAddresses_) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"Syslog - IPAddresses_ (Regex:SyslogMessage) \",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"name\":\"Syslog\"},{\"type\":1,\"content\":{\"json\":\"### Sysmon\"},\"name\":\"Event\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"Event\\r\\n|where Source =~ \\\"Microsoft-Windows-sysmon\\\" //Workaround since Sentinel Workbooks encounter conflict with target workspace when the searches contains the word 'Sysm0n'\\r\\n|where EventID ==3\\r\\n| project TimeGenerated, Source, EventID, Computer, UserName, EventData, RenderedDescription, TenantId\\r\\n|parse EventData with * \\\"\\\\\\\"SourceIp\\\\\\\">\\\" SourceIp \\\"\\\" * //parsing specific field inside EventID 3\\r\\n|summarize count() by TenantId, tostring(SourceIp) //Performance tweak\\r\\n|where SourceIp has_any {IP_IOC}\\r\\n|summarize IOC=make_set(SourceIp), count_=sum(count_) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"Sysmon - EventID 3 - SourceIP \",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"Sysmon - 3 - SourceIp\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"Event\\r\\n|where Source =~ \\\"Microsoft-Windows-sysmon\\\" //Workaround since Sentinel Workbooks encounter conflict with target workspace when the searches contains the word 'Sysm0n'\\r\\n|where EventID ==3\\r\\n| project TimeGenerated, Source, EventID, Computer, UserName, EventData, RenderedDescription, TenantId\\r\\n|parse EventData with * \\\"\\\\\\\"DestinationIp\\\\\\\">\\\" DestinationIp \\\"\\\" * //parsing specific field inside EventID 3\\r\\n|summarize count() by TenantId, tostring(DestinationIp) //Performance tweak\\r\\n|where DestinationIp has_any {IP_IOC}\\r\\n|summarize IOC=make_set(DestinationIp), count_=sum(count_) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"Sysmon - EventID 3 - DestinationIp\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"Sysmon - 3 - DestinationIp\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"Event\\r\\n|where Source =~ \\\"Microsoft-Windows-sysmon\\\" //Workaround since Sentinel Workbooks encounter conflict with target workspace when the searches contains the word 'Sysm0n'\\r\\n|where EventID == 22\\r\\n|project TimeGenerated, Source, EventID, Computer, UserName, EventData, RenderedDescription, TenantId\\r\\n|parse EventData with * \\\"\\\\\\\"QueryResults\\\\\\\">\\\" QueryResults \\\"\\\" * //parsing specific field inside EventID 22\\r\\n|summarize count() by TenantId, tostring(QueryResults) //Performance tweak\\r\\n|where QueryResults has_any {IP_IOC}\\r\\n|summarize IOC=make_set(QueryResults), count_=sum(count_) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\\r\\n\",\"size\":1,\"title\":\"Sysmon - EventID 22 - QueryResults\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Agency\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"5%\"}},{\"columnMatch\":\"count_\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"5%\"}},{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}},{\"columnMatch\":\"QueryName\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"90\",\"name\":\"Sysmon - 22 - QueryResults\"},{\"type\":1,\"content\":{\"json\":\"### Notes\\r\\n\\r\\nThe EventID:22 results contains resolved domain(s) only, given the vast variations of data format in the raw data\"},\"customWidth\":\"10\",\"name\":\"text - 27\"},{\"type\":1,\"content\":{\"json\":\"### Security Events\"},\"name\":\"Security Events\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityEvent\\r\\n|where IpAddress has_any {IP_IOC}\\r\\n|summarize IOC=make_set(IpAddress),EventID=make_set(EventID), count_=count(IpAddress) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend EventID = tostring(strcat_array(EventID,\\\", \\\"))\\r\\n|project EventID, IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"SecurityEvents - IpAddress\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"SecurityEvent-IpAddress\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityEvent\\r\\n|where EventID in (5156,5157)\\r\\n|extend EvData = parse_xml(EventData)\\r\\n|extend EventDetail = EvData.EventData.Data\\r\\n| project-away EventData, EvData\\r\\n|extend SourceAddress = EventDetail.[3].[\\\"#text\\\"], DestAddress = EventDetail.[5].[\\\"#text\\\"]\\r\\n|where SourceAddress has_any {IP_IOC}\\r\\n|summarize IOC=make_set(SourceAddress),EventID=make_set(EventID), count_=count(SourceAddress) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend EventID = tostring(strcat_array(EventID,\\\", \\\"))\\r\\n|project EventID, IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"SecurityEvents - SourceAddress (EventID: 5156 & 5157 Only)\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"SecurityEvent-SourceAddress\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityEvent\\r\\n|where EventID in (5156,5157)\\r\\n|extend EvData = parse_xml(EventData)\\r\\n|extend EventDetail = EvData.EventData.Data\\r\\n| project-away EventData, EvData\\r\\n|extend SourceAddress = EventDetail.[3].[\\\"#text\\\"], DestAddress = EventDetail.[5].[\\\"#text\\\"]\\r\\n|where DestAddress has_any {IP_IOC}\\r\\n|summarize IOC=make_set(DestAddress),EventID=make_set(EventID), count_=count(DestAddress) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend EventID = tostring(strcat_array(EventID,\\\", \\\"))\\r\\n|project EventID, IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"SecurityEvents - DestAddress (EventID: 5156 & 5157 Only)\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"SecurityEvent-DestAddress\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityEvent\\r\\n|where EventID == 5158\\r\\n|extend EvData = parse_xml(EventData)\\r\\n|extend EventDetail = EvData.EventData.Data\\r\\n| project-away EventData, EvData\\r\\n|extend SourceAddress = EventDetail.[2].[\\\"#text\\\"]\\r\\n|where SourceAddress has_any {IP_IOC}\\r\\n|summarize IOC=make_set(SourceAddress),EventID=make_set(EventID), count_=count(SourceAddress) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend EventID = tostring(strcat_array(EventID,\\\", \\\"))\\r\\n|project EventID, IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"SecurityEvents - SourceAddress (EventID: 5158 Only)\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"SecurityEvent-SourceAddress - 5158\"},{\"type\":1,\"content\":{\"json\":\"### Microsoft Defender For Endpoint\"},\"name\":\"Microsoft Defender for Endpoint\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceEvents\\r\\n|where FileOriginIP has_any {IP_IOC}\\r\\n|summarize IOC=make_set(FileOriginIP), count_=count(FileOriginIP) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceEvents - FileOriginIP\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"33\",\"name\":\"MSDE - DeviceEvents - FileOriginIP\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceEvents\\r\\n|where LocalIP has_any {IP_IOC}\\r\\n|summarize IOC=make_set(LocalIP), count_=count(LocalIP) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceEvents - LocalIP\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"33\",\"name\":\"MSDE - DeviceEvents - LocalIP\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceEvents\\r\\n|where RemoteIP has_any {IP_IOC}\\r\\n|summarize IOC=make_set(RemoteIP), count_=count(RemoteIP) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceEvents - RemoteIP\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"33\",\"name\":\"MSDE - DeviceEvents - RemoteIP\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceFileEvents\\r\\n|where FileOriginIP has_any {IP_IOC}\\r\\n|summarize IOC=make_set(FileOriginIP), count_=count(FileOriginIP) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceFileEvents - FileOriginIP\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"33\",\"name\":\"MSDE - DeviceFileEvents - FileOriginIP\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceFileEvents\\r\\n|where RequestSourceIP has_any {IP_IOC}\\r\\n|summarize IOC=make_set(RequestSourceIP), count_=count(RequestSourceIP) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceFileEvents - RequestSourceIP\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"sortBy\":[{\"itemKey\":\"Agency\",\"sortOrder\":1}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]},\"sortBy\":[{\"itemKey\":\"Agency\",\"sortOrder\":1}]},\"customWidth\":\"33\",\"name\":\"MSDE - DeviceFileEvents - RequestSourceIP\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceInfo\\r\\n|where PublicIP has_any {IP_IOC}\\r\\n|summarize IOC=make_set(PublicIP), count_=count(PublicIP) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceInfo - PublicIP\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]},\"sortBy\":[]},\"customWidth\":\"33\",\"name\":\"MSDE - DeviceInfo - PublicIP\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceLogonEvents\\r\\n|where RemoteIP has_any {IP_IOC}\\r\\n|summarize IOC=make_set(RemoteIP), count_=count(RemoteIP) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceLogonEvents - RemoteIP\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]},\"sortBy\":[]},\"customWidth\":\"33\",\"name\":\"MSDE - DeviceLogonEvents- RemoteIP\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceNetworkEvents\\r\\n|where LocalIP has_any {IP_IOC}\\r\\n|summarize IOC=make_set(LocalIP), count_=count(LocalIP) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceNetworkEvents - LocalIP\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]},\"sortBy\":[]},\"customWidth\":\"33\",\"name\":\"MSDE - DeviceNetworkEvents - LocalIP\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceNetworkEvents\\r\\n|where RemoteIP has_any {IP_IOC}\\r\\n|summarize IOC=make_set(RemoteIP), count_=count(RemoteIP) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceNetworkEvents - RemoteIP\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]},\"sortBy\":[]},\"customWidth\":\"33\",\"name\":\"MSDE - DeviceNetworkEvents - RemoteIP\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceNetworkInfo\\r\\n|where IPv4Dhcp has_any {IP_IOC}\\r\\n|summarize IOC=make_set(IPv4Dhcp), count_=count(IPv4Dhcp) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceNetworkInfo - IPv4Dhcp\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]},\"sortBy\":[]},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceNetworkInfo - IPv4Dhcp\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceNetworkInfo\\r\\n|where IPv6Dhcp has_any {IP_IOC}\\r\\n|summarize IOC=make_set(IPv6Dhcp), count_=count(IPv6Dhcp) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceNetworkInfo - IPv6Dhcp\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"sortBy\":[{\"itemKey\":\"Agency\",\"sortOrder\":1}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]},\"sortBy\":[{\"itemKey\":\"Agency\",\"sortOrder\":1}]},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceNetworkInfo - IPv6Dhcp\"},{\"type\":1,\"content\":{\"json\":\"## Microsoft Defender for Office 365\"},\"name\":\"text - 53\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"EmailEvents\\r\\n|where SenderIPv4 has_any {IP_IOC}\\r\\n|summarize IOC=make_set(SenderIPv4), count_=count(SenderIPv4) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - EmailEvents - SenderIPv4\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]},\"sortBy\":[]},\"customWidth\":\"50\",\"name\":\"MSDE - EmailEvents - SenderIPv4\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"EmailEvents\\r\\n|where SenderIPv6 has_any {IP_IOC}\\r\\n|summarize IOC=make_set(SenderIPv6), count_=count(SenderIPv6) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - EmailEvents - SenderIPv6\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"sortBy\":[{\"itemKey\":\"Agency\",\"sortOrder\":1}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]},\"sortBy\":[{\"itemKey\":\"Agency\",\"sortOrder\":1}]},\"customWidth\":\"50\",\"name\":\"MSDE - EmailEvents - SenderIPv6\"},{\"type\":1,\"content\":{\"json\":\"### Azure Diagnostics\"},\"name\":\"text - 49\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"AzureDiagnostics\\r\\n|where clientIp_s has_any {IP_IOC}\\r\\n|summarize IOC=make_set(clientIp_s), Category=make_set(Category), count_=count(clientIp_s) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")), Category = tostring(strcat_array(Category,\\\", \\\"))\\r\\n|project IOC, Category, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"AzureDiagnostics - clientIp_s\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}},{\"columnMatch\":\"Category\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"sortBy\":[{\"itemKey\":\"Agency\",\"sortOrder\":1}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]},\"sortBy\":[{\"itemKey\":\"Agency\",\"sortOrder\":1}]},\"customWidth\":\"33\",\"name\":\"AzureDiagnostics - clientIp_s \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"AzureDiagnostics\\r\\n|where clientIP_s has_any {IP_IOC}\\r\\n|summarize IOC=make_set(clientIP_s), Category=make_set(Category), count_=count(clientIP_s) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")), Category = tostring(strcat_array(Category,\\\", \\\"))\\r\\n|project IOC, Category, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"AzureDiagnostics - clientIP_s\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}},{\"columnMatch\":\"Category\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]},\"sortBy\":[]},\"customWidth\":\"33\",\"name\":\"AzureDiagnostics - clientIP_s\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"AzureDiagnostics\\r\\n|where CallerIPAddress has_any {IP_IOC}\\r\\n|summarize IOC=make_set(CallerIPAddress), Category=make_set(Category), count_=count(CallerIPAddress) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")), Category = tostring(strcat_array(Category,\\\", \\\"))\\r\\n|project IOC, Category, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"AzureDiagnostics - CallerIPAddress\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}},{\"columnMatch\":\"Category\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"sortBy\":[{\"itemKey\":\"Agency\",\"sortOrder\":1}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]},\"sortBy\":[{\"itemKey\":\"Agency\",\"sortOrder\":1}]},\"customWidth\":\"33\",\"name\":\"AzureDiagnostics - CallerIPAddress\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"AzureDiagnostics\\r\\n|where client_ip_s has_any {IP_IOC}\\r\\n|summarize IOC=make_set(client_ip_s), Category=make_set(Category), count_=count(client_ip_s) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")), Category = tostring(strcat_array(Category,\\\", \\\"))\\r\\n|project IOC, Category, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"AzureDiagnostics - client_ip_s\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}},{\"columnMatch\":\"Category\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]},\"sortBy\":[]},\"customWidth\":\"33\",\"name\":\"AzureDiagnostics - client_ip_s\"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"ip\"},\"name\":\"ip-address\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"parameters\":[{\"version\":\"KqlParameterItem/1.0\",\"name\":\"SHA256_IOC\",\"label\":\"SHA256 Hash\",\"type\":1,\"description\":\"Add SHA1 hashes in array format e.g. (\\\"hash1\\\",\\\"hash2\\\")\",\"value\":\"(\\\"9327b77c27070db62a6da46f0c1d8da2725c5ae0c24d6ccf9be6aa0da5f99600\\\",\\\"f157090fd3ccd4220298c06ce8734361b724d80459592b10ac632acc624f455e\\\",\\\"f11009988b813821857c8d2db0f88e1d45b20762f62a3cf432339f352b12cefe\\\")\",\"typeSettings\":{\"multiLineText\":true,\"editorLanguage\":\"text\"},\"timeContext\":{\"durationMs\":86400000},\"id\":\"2732e809-7fbd-4241-a435-ad6d44ac07ec\"},{\"id\":\"519ef4e6-ec90-4fcf-9e77-79bd28e27e4e\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"SHA1_IOC\",\"type\":1,\"description\":\"Add SHA 256 hashes in array format e.g. (\\\"hash1\\\",\\\"hash2\\\")\",\"value\":\"(\\\"c8f5825499315eaf4b5046ff79ac9553e71ad1c0\\\")\",\"typeSettings\":{\"multiLineText\":true,\"editorLanguage\":\"text\"},\"timeContext\":{\"durationMs\":86400000}},{\"id\":\"fbe9622d-a202-4e71-b7cf-7a6f9343ca96\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"IMPHASH\",\"type\":1,\"description\":\"Add IMPHASH hashes in array format e.g. (\\\"hash1\\\",\\\"hash2\\\")\",\"typeSettings\":{\"multiLineText\":true,\"editorLanguage\":\"text\"},\"timeContext\":{\"durationMs\":86400000},\"value\":\"(\\\"c8f5825499315eaf4b5046ff79ac9553e71ad1c0\\\")\"}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"parameters - 0\"},{\"type\":1,\"content\":{\"json\":\"# Notes:\\r\\n- Prioritize in using SHA256 over SHA1, unless certain table that only accepts SHA1\\r\\n- If only SHA1 information available, use VirusTotal to grab the SHA256\"},\"conditionalVisibility\":{\"parameterName\":\"Instructions\",\"comparison\":\"isEqualTo\",\"value\":\"Show\"},\"name\":\"text - 16\"},{\"type\":1,\"content\":{\"json\":\"## SecurityAlert - FileHash\"},\"name\":\"SecurityAlert2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityAlert\\r\\n|summarize arg_max(TimeGenerated,*) by SystemAlertId\\r\\n| extend Entities = iff(isempty(Entities), todynamic('[{\\\"dummy\\\" : \\\"\\\"}]'), todynamic(Entities))\\r\\n| mv-expand Entities\\r\\n| evaluate bag_unpack(Entities, \\\"Entity_\\\")\\r\\n| extend Entity_Type = columnifexists(\\\"Entity_Type\\\", \\\"\\\")\\r\\n| extend Entity_Name = columnifexists(\\\"Entity_Name\\\", \\\"\\\")\\r\\n| extend Entity_ResourceId = columnifexists(\\\"Entity_ResourceId\\\", \\\"\\\")\\r\\n| extend Entity_Directory = columnifexists(\\\"Entity_Directory\\\", \\\"\\\")\\r\\n| extend Entity_Value = columnifexists(\\\"Entity_Value\\\", \\\"\\\")\\r\\n| extend Entity_HostName = columnifexists(\\\"Entity_HostName\\\", \\\"\\\")\\r\\n| extend Entity_Address = columnifexists(\\\"Entity_Address\\\", \\\"\\\")\\r\\n| extend Entity_ProcessId = columnifexists(\\\"Entity_ProcessId\\\", \\\"\\\")\\r\\n| extend Entity_Url = columnifexists(\\\"Entity_Url\\\", \\\"\\\")\\r\\n| extend Target = iif(Entity_Type == \\\"account\\\", Entity_Name, iif(Entity_Type == \\\"azure-resource\\\", Entity_ResourceId, iif(Entity_Type == \\\"cloud-application\\\", Entity_Name, iif(Entity_Type == \\\"dns\\\", Entity_Name, iif(Entity_Type == \\\"file\\\", strcat(Entity_Directory, \\\"\\\\\\\\\\\", Entity_Name), iif(Entity_Type == \\\"filehash\\\", Entity_Value, iif(Entity_Type == \\\"host\\\", Entity_HostName, iif(Entity_Type == \\\"ip\\\" , Entity_Address, iif(Entity_Type == \\\"malware\\\", Entity_HostName, iif(Entity_Type == \\\"network-connection\\\", Entity_Name, iif(Entity_Type == \\\"process\\\", Entity_ProcessId, iif(Entity_Type == \\\"registry-key\\\", Entity_Name, iif(Entity_Type == \\\"registry-value\\\", Entity_Name, iif(Entity_Type == \\\"security-group\\\", Entity_Name, iif(Entity_Type == \\\"url\\\", Entity_Url, \\\"NoTarget\\\")))))))))))))))\\r\\n|where Entity_Type == \\\"filehash\\\"\\r\\n|where Entity_Algorithm == \\\"SHA256\\\"\\r\\n|where Target has_any {SHA256_IOC}\\r\\n|summarize IOC=make_set(Target), AlertName=make_set(AlertName),SystemAlertId=make_set(SystemAlertId) ,count_=count(Target) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend AlertName = tostring(strcat_array(AlertName,\\\", \\\")), SystemAlertId = tostring(strcat_array(SystemAlertId,\\\", \\\"))\\r\\n|project AlertName, SystemAlertId, count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"SecurityAlert - FileHash - SHA256\",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"AlertName\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"30%\"}},{\"columnMatch\":\"SystemAlertId\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"30%\"}},{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"20%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"name\":\"SecurityAlert - FileHash\"},{\"type\":1,\"content\":{\"json\":\"## CommonSecurityLog\"},\"name\":\"text - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"CommonSecurityLog\\r\\n|where FileHash has_any {SHA1_IOC}\\r\\n|summarize IOC=make_set(FileHash), FileName=make_set(FileName) ,count_=count(FileHash) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend FileName = tostring(strcat_array(FileName,\\\", \\\"))\\r\\n|project IOC, FileName, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"CommonSecurityLog - FileHash - SHA1\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"CommonSecurityLog - FileHash - SHA1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"CommonSecurityLog\\r\\n|where FileHash has_any {SHA256_IOC}\\r\\n|summarize IOC=make_set(FileHash), FileName=make_set(FileName) ,count_=count(FileHash) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend FileName = tostring(strcat_array(FileName,\\\", \\\"))\\r\\n|project IOC, FileName, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"CommonSecurityLog - FileHash - SHA256\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"CommonSecurityLog - FileHash - SHA256\"},{\"type\":1,\"content\":{\"json\":\"## Sysmon\"},\"name\":\"text - 3\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"Event\\r\\n|where Source =~ \\\"Microsoft-Windows-sysmon\\\" //Workaround since Sentinel Workbooks encounter conflict with target workspace when the searches contains the word 'Sysm0n'\\r\\n|where EventID == 1\\r\\n| project TimeGenerated, Source, EventID, Computer, UserName, EventData, RenderedDescription, TenantId\\r\\n|parse EventData with * \\\"\\\\\\\"OriginalFileName\\\\\\\">\\\" OriginalFileName \\\"\\\" * \\\"\\\\\\\"Hashes\\\\\\\">\\\" Hashes \\\"\\\" *\\r\\n|summarize count() by TenantId, tostring(Hashes), tostring(OriginalFileName) //Performance tweak\\r\\n|where Hashes has_any {SHA256_IOC}\\r\\n// Hashes parse section --START\\r\\n|extend Hashes = extract_all(@\\\"(?P\\\\w+)=(?P[a-zA-Z0-9]+)\\\", dynamic([\\\"key\\\",\\\"value\\\"]), tostring(Hashes)) //Transform Hashes field into dynamics format\\r\\n|mv-apply todynamic(Hashes) on (summarize Hashes = make_bag(pack(tostring(Hashes[0]), tostring(Hashes[1])))) //Address inconsistency on hashes used on different agencies\\r\\n|extend SHA256_Hash = tostring(Hashes.SHA256) //Grab only Hash 256\\r\\n// Hashes parse section --END\\r\\n|summarize IOC=make_set(SHA256_Hash), OriginalFileName=make_set(OriginalFileName), count_=sum(count_) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")) , OriginalFileName = tostring(strcat_array(OriginalFileName,\\\", \\\"))\\r\\n|project count_ ,OriginalFileName ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"Sysmon - 1 - SHA256_Hash - SHA256 (Child Process)\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"Sysmon - 1 - SHA256_Hash - SHA256\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"Event\\r\\n|where Source =~ \\\"Microsoft-Windows-sysmon\\\" //Workaround since Sentinel Workbooks encounter conflict with target workspace when the searches contains the word 'Sysm0n'\\r\\n|where EventID == 1\\r\\n| project TimeGenerated, Source, EventID, Computer, UserName, EventData, RenderedDescription, TenantId\\r\\n|parse EventData with * \\\"\\\\\\\"OriginalFileName\\\\\\\">\\\" OriginalFileName \\\"\\\" * \\\"\\\\\\\"Hashes\\\\\\\">\\\" Hashes \\\"\\\" *\\r\\n|summarize count() by TenantId, tostring(Hashes), tostring(OriginalFileName) //Performance tweak\\r\\n|where Hashes has_any {IMPHASH}\\r\\n// Hashes parse section --START\\r\\n|extend Hashes = extract_all(@\\\"(?P\\\\w+)=(?P[a-zA-Z0-9]+)\\\", dynamic([\\\"key\\\",\\\"value\\\"]), tostring(Hashes)) //Transform Hashes field into dynamics format\\r\\n|mv-apply todynamic(Hashes) on (summarize Hashes = make_bag(pack(tostring(Hashes[0]), tostring(Hashes[1])))) //Address inconsistency on hashes used on different agencies\\r\\n|extend IMPHASH_Hash = tostring(Hashes.IMPHASH) //Grab only Hash 256\\r\\n// Hashes parse section --END\\r\\n|summarize IOC=make_set(IMPHASH_Hash), OriginalFileName=make_set(OriginalFileName), count_=sum(count_) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")) , OriginalFileName = tostring(strcat_array(OriginalFileName,\\\", \\\"))\\r\\n|project count_ ,OriginalFileName ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"Sysmon - 1 - IMPHASH_Hash - IMPHASH (Child Process)\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"Sysmon - 1 - IMPHASH_Hash - IMPHASH\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"Event\\r\\n|where Source =~ \\\"Microsoft-Windows-sysmon\\\" //Workaround since Sentinel Workbooks encounter conflict with target workspace when the searches contains the word 'Sysm0n'\\r\\n|where EventID == 6\\r\\n| project TimeGenerated, Source, EventID, Computer, UserName, EventData, RenderedDescription, TenantId\\r\\n|parse EventData with * \\\"\\\\\\\"Hashes\\\\\\\">\\\" Hashes \\\"\\\" *\\r\\n|summarize count() by TenantId, tostring(Hashes) //Performance tweak\\r\\n|where Hashes has_any {SHA256_IOC}\\r\\n// Hashes parse section --START\\r\\n|extend Hashes = extract_all(@\\\"(?P\\\\w+)=(?P[a-zA-Z0-9]+)\\\", dynamic([\\\"key\\\",\\\"value\\\"]), tostring(Hashes)) //Transform Hashes field into dynamics format\\r\\n|mv-apply todynamic(Hashes) on (summarize Hashes = make_bag(pack(tostring(Hashes[0]), tostring(Hashes[1])))) //Address inconsistency on hashes used on different agencies\\r\\n|extend SHA256_Hash = tostring(Hashes.SHA256) //Grab only Hash 256\\r\\n// Hashes parse section --END\\r\\n|summarize IOC=make_set(SHA256_Hash), count_=sum(count_) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")) \\r\\n|project count_ , IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"Sysmon - 6 - SHA256_Hash - SHA256 (Driver Loaded)\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"Sysmon - 6 - SHA256_Hash - SHA256 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"Event\\r\\n|where Source =~ \\\"Microsoft-Windows-sysmon\\\" //Workaround since Sentinel Workbooks encounter conflict with target workspace when the searches contains the word 'Sysm0n'\\r\\n|where EventID == 6\\r\\n| project TimeGenerated, Source, EventID, Computer, UserName, EventData, RenderedDescription, TenantId\\r\\n|parse EventData with * \\\"\\\\\\\"Hashes\\\\\\\">\\\" Hashes \\\"\\\" *\\r\\n|summarize count() by TenantId, tostring(Hashes) //Performance tweak\\r\\n|where Hashes has_any {IMPHASH}\\r\\n// Hashes parse section --START\\r\\n|extend Hashes = extract_all(@\\\"(?P\\\\w+)=(?P[a-zA-Z0-9]+)\\\", dynamic([\\\"key\\\",\\\"value\\\"]), tostring(Hashes)) //Transform Hashes field into dynamics format\\r\\n|mv-apply todynamic(Hashes) on (summarize Hashes = make_bag(pack(tostring(Hashes[0]), tostring(Hashes[1])))) //Address inconsistency on hashes used on different agencies\\r\\n|extend IMPHASH_Hash = tostring(Hashes.IMPHASH) //Grab only Hash 256\\r\\n// Hashes parse section --END\\r\\n|summarize IOC=make_set(IMPHASH_Hash), count_=sum(count_) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")) \\r\\n|project count_ , IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"Sysmon - 6 - IMPHASH_Hash - IMPHASH (Driver Loaded)\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"Sysmon - 6 - IMPHASH_Hash - IMPHASH \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"Event\\r\\n|where Source =~ \\\"Microsoft-Windows-sysmon\\\" //Workaround since Sentinel Workbooks encounter conflict with target workspace when the searches contains the word 'Sysm0n'\\r\\n|where EventID == 7\\r\\n| project TimeGenerated, Source, EventID, Computer, UserName, EventData, RenderedDescription, TenantId\\r\\n|parse EventData with * \\\"\\\\\\\"OriginalFileName\\\\\\\">\\\" OriginalFileName \\\"\\\" * \\\"\\\\\\\"Hashes\\\\\\\">\\\" Hashes \\\"\\\" *\\r\\n|summarize count() by TenantId, tostring(Hashes), tostring(OriginalFileName) //Performance tweak\\r\\n|where Hashes has_any {SHA256_IOC}\\r\\n// Hashes parse section --START\\r\\n|extend Hashes = extract_all(@\\\"(?P\\\\w+)=(?P[a-zA-Z0-9]+)\\\", dynamic([\\\"key\\\",\\\"value\\\"]), tostring(Hashes)) //Transform Hashes field into dynamics format\\r\\n|mv-apply todynamic(Hashes) on (summarize Hashes = make_bag(pack(tostring(Hashes[0]), tostring(Hashes[1])))) //Address inconsistency on hashes used on different agencies\\r\\n|extend SHA256_Hash = tostring(Hashes.SHA256) //Grab only Hash 256\\r\\n// Hashes parse section --END\\r\\n|summarize IOC=make_set(SHA256_Hash), OriginalFileName=make_set(OriginalFileName), count_=sum(count_) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")) , OriginalFileName = tostring(strcat_array(OriginalFileName,\\\", \\\"))\\r\\n|project count_ ,OriginalFileName ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"Sysmon - 7 - SHA256_Hash - SHA256 (Image Loaded)\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"Sysmon - 7 - SHA256_Hash - SHA256\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"Event\\r\\n|where Source =~ \\\"Microsoft-Windows-sysmon\\\" //Workaround since Sentinel Workbooks encounter conflict with target workspace when the searches contains the word 'Sysm0n'\\r\\n|where EventID == 7\\r\\n| project TimeGenerated, Source, EventID, Computer, UserName, EventData, RenderedDescription, TenantId\\r\\n|parse EventData with * \\\"\\\\\\\"OriginalFileName\\\\\\\">\\\" OriginalFileName \\\"\\\" * \\\"\\\\\\\"Hashes\\\\\\\">\\\" Hashes \\\"\\\" *\\r\\n|summarize count() by TenantId, tostring(Hashes), tostring(OriginalFileName) //Performance tweak\\r\\n|where Hashes has_any {IMPHASH}\\r\\n// Hashes parse section --START\\r\\n|extend Hashes = extract_all(@\\\"(?P\\\\w+)=(?P[a-zA-Z0-9]+)\\\", dynamic([\\\"key\\\",\\\"value\\\"]), tostring(Hashes)) //Transform Hashes field into dynamics format\\r\\n|mv-apply todynamic(Hashes) on (summarize Hashes = make_bag(pack(tostring(Hashes[0]), tostring(Hashes[1])))) //Address inconsistency on hashes used on different agencies\\r\\n|extend IMPHASH_Hash = tostring(Hashes.IMPHASH) //Grab only Hash 256\\r\\n// Hashes parse section --END\\r\\n|summarize IOC=make_set(IMPHASH_Hash), OriginalFileName=make_set(OriginalFileName), count_=sum(count_) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")) , OriginalFileName = tostring(strcat_array(OriginalFileName,\\\", \\\"))\\r\\n|project count_ ,OriginalFileName ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"Sysmon - 7 - IMPHASH_Hash - IMPHASH (Image Loaded)\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"Sysmon - 7 - IMPHASH_Hash - IMPHASH \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"Event\\r\\n|where Source =~ \\\"Microsoft-Windows-sysmon\\\" //Workaround since Sentinel Workbooks encounter conflict with target workspace when the searches contains the word 'Sysm0n'\\r\\n|where EventID == 15\\r\\n| project TimeGenerated, Source, EventID, Computer, UserName, EventData, RenderedDescription, TenantId\\r\\n|parse EventData with * \\\"\\\\\\\"TargetFilename\\\\\\\">\\\" TargetFilename \\\"\\\" * \\\"\\\\\\\"Hash\\\\\\\">\\\" Hashes \\\"\\\" * \\r\\n|summarize count() by TenantId, tostring(Hashes), tostring(TargetFilename) //Performance tweak\\r\\n|where Hashes has_any {SHA256_IOC}\\r\\n// Hashes parse section --START\\r\\n|extend Hashes = extract_all(@\\\"(?P\\\\w+)=(?P[a-zA-Z0-9]+)\\\", dynamic([\\\"key\\\",\\\"value\\\"]), tostring(Hashes)) //Transform Hashes field into dynamics format\\r\\n|mv-apply todynamic(Hashes) on (summarize Hashes = make_bag(pack(tostring(Hashes[0]), tostring(Hashes[1])))) //Address inconsistency on hashes used on different agencies\\r\\n|extend SHA256_Hash = tostring(Hashes.SHA256) //Grab only Hash 256\\r\\n// Hashes parse section --END\\r\\n|summarize IOC=make_set(SHA256_Hash), TargetFilename=make_set(TargetFilename), count_=sum(count_) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")) , TargetFilename = tostring(strcat_array(TargetFilename,\\\", \\\"))\\r\\n|project count_ ,TargetFilename ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"Sysmon - 15 - SHA256_Hash - SHA256 (FileCreateStreamHash)\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"Sysmon - 15 - SHA256_Hash - SHA256\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"Event\\r\\n|where Source =~ \\\"Microsoft-Windows-sysmon\\\" //Workaround since Sentinel Workbooks encounter conflict with target workspace when the searches contains the word 'Sysm0n'\\r\\n|where EventID == 26\\r\\n| project TimeGenerated, Source, EventID, Computer, UserName, EventData, RenderedDescription, TenantId\\r\\n|parse EventData with * \\\"\\\\\\\"TargetFilename\\\\\\\">\\\" TargetFilename \\\"\\\" * \\\"\\\\\\\"Hashes\\\\\\\">\\\" Hashes \\\"\\\" * \\r\\n|summarize count() by TenantId, tostring(Hashes), tostring(TargetFilename) //Performance tweak\\r\\n|where Hashes has_any {SHA256_IOC}\\r\\n// Hashes parse section --START\\r\\n|extend Hashes = extract_all(@\\\"(?P\\\\w+)=(?P[a-zA-Z0-9]+)\\\", dynamic([\\\"key\\\",\\\"value\\\"]), tostring(Hashes)) //Transform Hashes field into dynamics format\\r\\n|mv-apply todynamic(Hashes) on (summarize Hashes = make_bag(pack(tostring(Hashes[0]), tostring(Hashes[1])))) //Address inconsistency on hashes used on different agencies\\r\\n|extend SHA256_Hash = tostring(Hashes.SHA256) //Grab only Hash 256\\r\\n// Hashes parse section --END\\r\\n|summarize IOC=make_set(SHA256_Hash), TargetFilename=make_set(TargetFilename), count_=sum(count_) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")) , TargetFilename = tostring(strcat_array(TargetFilename,\\\", \\\"))\\r\\n|project count_ ,TargetFilename ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"Sysmon - 26 - SHA256_Hash - SHA256 (FileDeleteDetected)\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"Sysmon - 26 - SHA256_Hash - SHA256\"},{\"type\":1,\"content\":{\"json\":\"## Microsoft Defender for Endpoint\"},\"name\":\"text - 4\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceEvents\\r\\n|where InitiatingProcessSHA256 has_any {SHA256_IOC}\\r\\n|summarize IOC=make_set(InitiatingProcessSHA256), InitiatingProcessFileName=make_set(InitiatingProcessFileName),count_=count(InitiatingProcessSHA256) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend InitiatingProcessFileName = tostring(strcat_array(InitiatingProcessFileName,\\\", \\\"))\\r\\n|project IOC,InitiatingProcessFileName, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceEvents - InitiatingProcessSHA256\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"InitiatingProcessFileName\",\"label\":\"Process Name\"},{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceEvents - InitiatingProcessSHA256 - SHA256\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceEvents\\r\\n|where SHA256 has_any {SHA256_IOC}\\r\\n|summarize IOC=make_set(SHA256), FileName=make_set(FileName), count_=count(SHA256) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend FileName = tostring(strcat_array(FileName,\\\", \\\"))\\r\\n|project IOC,FileName, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceEvents - SHA256\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceEvents - SHA256\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceFileEvents\\r\\n|where InitiatingProcessSHA256 has_any {SHA256_IOC}\\r\\n|summarize IOC=make_set(InitiatingProcessSHA256),InitiatingProcessFileName=make_set(InitiatingProcessFileName), count_=count(InitiatingProcessSHA256) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend InitiatingProcessFileName = tostring(strcat_array(InitiatingProcessFileName,\\\", \\\"))\\r\\n|project IOC,InitiatingProcessFileName, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceFileEvents - InitiatingProcessSHA256\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"InitiatingProcessFileName\",\"label\":\"Process Name\"},{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceFileEvents - InitiatingProcessSHA256 - SHA256\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceFileEvents\\r\\n|where SHA256 has_any {SHA256_IOC}\\r\\n|summarize IOC=make_set(SHA256), FileName=make_set(FileName),count_=count(SHA256) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend FileName = tostring(strcat_array(FileName,\\\", \\\"))\\r\\n|project IOC, FileName, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceFileEvents - SHA256\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceFileEvents - SHA256\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceFileCertificateInfo\\r\\n|where SHA1 has_any {SHA1_IOC}\\r\\n|summarize IOC=make_set(SHA1), Issuer = make_set(Issuer), count_=count(SHA1) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend Issuer = tostring(strcat_array(Issuer,\\\", \\\"))\\r\\n|project IOC, Issuer, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceFileCertificateInfo - SHA1\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceFileCertificateInfo - SHA1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"EmailAttachmentInfo\\r\\n|where SHA256 has_any {SHA256_IOC}\\r\\n|summarize IOC=make_set(SHA256), FileName=make_set(FileName), count_=count(SHA256) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend FileName = tostring(strcat_array(FileName,\\\", \\\"))\\r\\n|project IOC,FileName, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - EmailAttachmentInfo - SHA256\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - EmailAttachmentInfo - SHA256\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceImageLoadEvents\\r\\n|where InitiatingProcessSHA256 has_any {SHA256_IOC}\\r\\n|summarize IOC=make_set(InitiatingProcessSHA256),InitiatingProcessFileName=make_set(InitiatingProcessFileName), count_=count(InitiatingProcessSHA256) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend InitiatingProcessFileName = tostring(strcat_array(InitiatingProcessFileName,\\\", \\\"))\\r\\n|project IOC, InitiatingProcessFileName, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceImageLoadEvents - InitiatingProcessSHA256\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"InitiatingProcessFileName\",\"label\":\"Process Name\"},{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceImageLoadEvents - InitiatingProcessSHA256 - SHA256 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceImageLoadEvents\\r\\n|where SHA256 has_any {SHA256_IOC}\\r\\n|summarize IOC=make_set(SHA256), FileName=make_set(FileName), count_=count(SHA256) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend FileName = tostring(strcat_array(FileName,\\\", \\\"))\\r\\n|project IOC, FileName, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceImageLoadEvents - SHA256\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceImageLoadEvents - SHA256\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceProcessEvents\\r\\n|where InitiatingProcessSHA256 has_any {SHA256_IOC}\\r\\n|summarize IOC=make_set(InitiatingProcessSHA256), InitiatingProcessFileName=make_set(InitiatingProcessFileName), count_=count(InitiatingProcessSHA256) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend InitiatingProcessFileName = tostring(strcat_array(InitiatingProcessFileName,\\\", \\\"))\\r\\n|project IOC, InitiatingProcessFileName, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceProcessEvents - InitiatingProcessSHA256\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"InitiatingProcessFileName\",\"label\":\"Process Name\"},{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceProcessEvents- InitiatingProcessSHA256 - SHA256\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceProcessEvents\\r\\n|where SHA256 has_any {SHA256_IOC}\\r\\n|summarize IOC=make_set(SHA256),FileName=make_set(FileName), count_=count(SHA256) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend FileName = tostring(strcat_array(FileName,\\\", \\\"))\\r\\n|project IOC,FileName, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceProcessEvents - SHA256\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceProcessEvents - SHA256\"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"filehash\"},\"name\":\"file-hash\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"parameters\":[{\"id\":\"e40fc7ee-23fb-4339-8fa8-a7fe07592f79\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"URL_IOC\",\"type\":1,\"description\":\"Put multiple URL in the following array format (\\\"url.com/main.php\\\", \\\"url2.com/menu.php\\\")\",\"typeSettings\":{\"multiLineText\":true,\"editorLanguage\":\"text\",\"multiLineHeight\":4},\"timeContext\":{\"durationMs\":86400000},\"value\":\"(\\\"emirjk.ru\\\",\\\"google.com\\\")\"}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"parameters - 2\"},{\"type\":1,\"content\":{\"json\":\"## Security Alert - URL\"},\"name\":\"text - 0\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityAlert\\n|summarize arg_max(TimeGenerated,*) by SystemAlertId\\n| extend Entities = iff(isempty(Entities), todynamic('[{\\\"dummy\\\" : \\\"\\\"}]'), todynamic(Entities))\\n| mv-expand Entities\\n| evaluate bag_unpack(Entities, \\\"Entity_\\\")\\n| extend Entity_Type = columnifexists(\\\"Entity_Type\\\", \\\"\\\")\\n| extend Entity_Name = columnifexists(\\\"Entity_Name\\\", \\\"\\\")\\n| extend Entity_ResourceId = columnifexists(\\\"Entity_ResourceId\\\", \\\"\\\")\\n| extend Entity_Directory = columnifexists(\\\"Entity_Directory\\\", \\\"\\\")\\n| extend Entity_Value = columnifexists(\\\"Entity_Value\\\", \\\"\\\")\\n| extend Entity_HostName = columnifexists(\\\"Entity_HostName\\\", \\\"\\\")\\n| extend Entity_Address = columnifexists(\\\"Entity_Address\\\", \\\"\\\")\\n| extend Entity_ProcessId = columnifexists(\\\"Entity_ProcessId\\\", \\\"\\\")\\n| extend Entity_Url = columnifexists(\\\"Entity_Url\\\", \\\"\\\")\\n| extend Target = iif(Entity_Type == \\\"account\\\", Entity_Name, iif(Entity_Type == \\\"azure-resource\\\", Entity_ResourceId, iif(Entity_Type == \\\"cloud-application\\\", Entity_Name, iif(Entity_Type == \\\"dns\\\", Entity_Name, iif(Entity_Type == \\\"file\\\", strcat(Entity_Directory, \\\"\\\\\\\\\\\", Entity_Name), iif(Entity_Type == \\\"filehash\\\", Entity_Value, iif(Entity_Type == \\\"host\\\", Entity_HostName, iif(Entity_Type == \\\"ip\\\" , Entity_Address, iif(Entity_Type == \\\"malware\\\", Entity_HostName, iif(Entity_Type == \\\"network-connection\\\", Entity_Name, iif(Entity_Type == \\\"process\\\", Entity_ProcessId, iif(Entity_Type == \\\"registry-key\\\", Entity_Name, iif(Entity_Type == \\\"registry-value\\\", Entity_Name, iif(Entity_Type == \\\"security-group\\\", Entity_Name, iif(Entity_Type == \\\"url\\\", Entity_Url, \\\"NoTarget\\\")))))))))))))))\\n|where Entity_Type == \\\"url\\\"\\n|where Target has_any {URL_IOC}\\n|summarize IOC=make_set(Target), AlertName=make_set(AlertName),SystemAlertId=make_set(SystemAlertId) ,count_=count(Target) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|extend AlertName = tostring(strcat_array(AlertName,\\\", \\\")), SystemAlertId = tostring(strcat_array(SystemAlertId,\\\", \\\"))\\n|project AlertName, SystemAlertId, count_ ,IOC\\n|sort by count_ desc\",\"size\":1,\"title\":\"SecurityAlert - URL\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"AlertName\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"30%\"}},{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"25%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"name\":\"SecurityAlert - URL\"},{\"type\":1,\"content\":{\"json\":\"## CommonSecurityLog\"},\"name\":\"text - 4\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"CommonSecurityLog\\n|where TimeGenerated {TimeRange:query}\\n|where RequestURL has_any {URL_IOC}\\n|summarize IOC=make_set(RequestURL), count_=count(RequestURL) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|project count_ ,IOC\\n|sort by count_ desc\",\"size\":1,\"title\":\"CommonSecurityLog - RequestURL\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"50%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"name\":\"query - 5\"},{\"type\":1,\"content\":{\"json\":\"## DNS\"},\"name\":\"text - 25\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DnsEvents\\n|where SubType == \\\"LookupQuery\\\"\\n|where TimeGenerated {TimeRange:query}\\n|where Name has_any {URL_IOC}\\n|summarize IOC=make_set(Name), count_=count(Name) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|project count_ ,IOC\\n|sort by count_ desc\",\"size\":1,\"title\":\"DNS - DnsEvents\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"]},\"name\":\"DNS - DnsEvents\"},{\"type\":1,\"content\":{\"json\":\"## Office 365\"},\"name\":\"text - 6\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"OfficeActivity\\n|where TimeGenerated {TimeRange:query}\\n|where OfficeObjectId has_any {URL_IOC}\\n|summarize IOC=make_set(OfficeObjectId),Type_=make_set(OfficeWorkload, 100000), count_=count(OfficeObjectId) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|extend Type_ = tostring(strcat_array(Type_,\\\", \\\"))\\n|project count_ ,IOC,Type_\\n|sort by count_ desc\",\"size\":1,\"title\":\"OfficeActivity - OfficeObjectId\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"]},\"customWidth\":\"50\",\"name\":\"query - 7\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"OfficeActivity\\n|where TimeGenerated {TimeRange:query}\\n|where Site_Url has_any {URL_IOC}\\n|summarize IOC=make_set(Site_Url),Type_=make_set(OfficeWorkload, 100000), count_=count(Site_Url) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|extend Type_ = tostring(strcat_array(Type_,\\\", \\\"))\\n|project count_ ,IOC,Type_\\n|sort by count_ desc\",\"size\":1,\"title\":\"OfficeActivity - Site_Url\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"},{\"columnId\":\"Type_\",\"label\":\"Type\"}]}},\"customWidth\":\"50\",\"name\":\"OfficeActivity - Site_Url\"},{\"type\":1,\"content\":{\"json\":\"## Security Event\"},\"name\":\"text - 8\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityEvent\\n|where CommandLine has_any {URL_IOC}\\n|summarize IOC=make_set(CommandLine),EventID=make_set(EventID), count_=count(CommandLine) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|extend EventID = tostring(strcat_array(EventID,\\\", \\\"))\\n|project EventID, IOC, count_\\n|sort by count_ desc\",\"size\":1,\"title\":\"SecurityEvent - CommandLine\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"]},\"name\":\"SecurityEvent - CommandLine\"},{\"type\":1,\"content\":{\"json\":\"## Microsoft Defender for Endpoint\"},\"name\":\"text - 11\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceEvents\\n|where FileOriginUrl has_any {URL_IOC}\\n|summarize FileName=make_set(FileName), IOC=make_set(FileOriginUrl), count_=count(FileOriginUrl) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|project FileName, IOC, count_\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceEvents - FileOriginUrl\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"FileName\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}},{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"labelSettings\":[{\"columnId\":\"FileName\",\"label\":\"File Name\"},{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceEvents - FileOriginUrl\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceEvents\\n|where RemoteUrl has_any {URL_IOC}\\n|summarize InitiatingProcessFileName=make_set(InitiatingProcessFileName), IOC=make_set(RemoteUrl), count_=count(RemoteUrl) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")), InitiatingProcessFileName = tostring(strcat_array(InitiatingProcessFileName,\\\", \\\"))\\n|project InitiatingProcessFileName, IOC, count_\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceEvents - RemoteUrl\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"InitiatingProcessFileName\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"15%\"}},{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"labelSettings\":[{\"columnId\":\"InitiatingProcessFileName\",\"label\":\"Initiating Process FileName\"},{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceEvents - RemoteUrl-2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceFileEvents\\n|where FileOriginUrl has_any {URL_IOC}\\n|summarize IOC=make_set(FileOriginUrl),FileName=make_set(FileName), count_=count(FileOriginUrl) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|extend FileName = tostring(strcat_array(FileName,\\\", \\\"))\\n|project IOC, FileName, count_\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceFileEvents - FileOriginUrl\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}},{\"columnMatch\":\"FileName\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceFileEvents - FileOriginUrl\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceFileEvents\\n|where FileOriginReferrerUrl has_any {URL_IOC}\\n|summarize IOC=make_set(FileOriginReferrerUrl),FileName=make_set(FileName), count_=count(FileOriginReferrerUrl) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|extend FileName = tostring(strcat_array(FileName,\\\", \\\"))\\n|project IOC, FileName, count_\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceFileEvents - FileOriginReferrerUrl\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}},{\"columnMatch\":\"FileName\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceFileEvents - FileOriginReferrerUrl\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceProcessEvents\\n|where InitiatingProcessCommandLine has_any {URL_IOC}\\n|summarize IOC=make_set(InitiatingProcessCommandLine),FileName=make_set(FileName), count_=count(InitiatingProcessCommandLine) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|extend FileName = tostring(strcat_array(FileName,\\\", \\\"))\\n|project IOC, FileName, count_\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceProcessEvents - InitiatingProcessCommandLine\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}},{\"columnMatch\":\"FileName\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceProcessEvents - InitiatingProcessCommandLine\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceProcessEvents\\n|where ProcessCommandLine has_any {URL_IOC}\\n|summarize IOC=make_set(ProcessCommandLine),FileName=make_set(FileName), count_=count(ProcessCommandLine) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|extend FileName = tostring(strcat_array(FileName,\\\", \\\"))\\n|project IOC, FileName, count_\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceProcessEvents - ProcessCommandLine\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}},{\"columnMatch\":\"FileName\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceProcessEvents - ProcessCommandLine\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceImageLoadEvents\\n|where InitiatingProcessCommandLine has_any {URL_IOC}\\n|summarize IOC=make_set(InitiatingProcessCommandLine),FileName=make_set(FileName), count_=count(InitiatingProcessCommandLine) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|extend FileName = tostring(strcat_array(FileName,\\\", \\\"))\\n|project IOC, FileName, count_\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceImageLoadEvents - InitiatingProcessCommandLine\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}},{\"columnMatch\":\"FileName\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceImageLoadEvents - InitiatingProcessCommandLine\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceRegistryEvents\\n|where RegistryValueData has_any {URL_IOC}\\n|summarize IOC=make_set(RegistryValueData),ActionType=make_set(ActionType), count_=count(RegistryValueData) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|extend ActionType = tostring(strcat_array(ActionType,\\\", \\\"))\\n|project IOC, ActionType, count_\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceRegistryEvents - RegistryValueData\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}},{\"columnMatch\":\"FileName\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceRegistryEvents - RegistryValueData\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceFileCertificateInfo\\n|where CrlDistributionPointUrls has_any {URL_IOC}\\n|summarize IOC=make_set(CrlDistributionPointUrls), count_=count(CrlDistributionPointUrls) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|project IOC, count_\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceFileCertificateInfo - CrlDistributionPointUrls\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceFileCertificateInfo - CrlDistributionPointUrls\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceNetworkEvents\\n|where RemoteUrl has_any {URL_IOC}\\n|summarize IOC=make_set(RemoteUrl), count_=count(RemoteUrl) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|project IOC, count_\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceNetworkEvents - RemoteUrl\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceNetworkEvents - RemoteUrl\"},{\"type\":1,\"content\":{\"json\":\"## Microsoft Defender for Office 365\"},\"name\":\"text - 18\"},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"crossComponentResources\":[\"{Workspace}\"],\"parameters\":[{\"id\":\"65985eea-0c6b-412a-bdda-29533e73c7b4\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"DeliveryAction\",\"label\":\"Delivery Action\",\"type\":2,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"typeSettings\":{\"additionalResourceOptions\":[\"value::all\"],\"showDefault\":false},\"jsonData\":\"[\\n { \\\"value\\\":\\\"Delivered\\\", \\\"label\\\":\\\"Delivered\\\"},\\n { \\\"value\\\":\\\"Blocked\\\", \\\"label\\\":\\\"Blocked\\\" },\\n { \\\"value\\\":\\\"Junked\\\", \\\"label\\\":\\\"Junked\\\"},\\n { \\\"value\\\":\\\"Unknown\\\", \\\"label\\\":\\\"Unknown\\\"}\\n]\",\"timeContext\":{\"durationMs\":14400000},\"defaultValue\":\"value::all\",\"value\":[\"value::all\"]}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"customWidth\":\"20\",\"name\":\"parameters - 24\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"EmailUrlInfo\\n|where TimeGenerated {TimeRange:value}\\n|where Url has_any {URL_IOC}\\n|join kind=inner\\n(\\nEmailEvents\\n|where TimeGenerated {TimeRange:value}\\n| where DeliveryAction in ({DeliveryAction:value})\\n) on NetworkMessageId\\n|summarize IOC=make_set(Url), count_=count(Url), Recipient=make_set(RecipientEmailAddress) , Sender=make_set(SenderMailFromAddress), EmailSubject=make_set(Subject), DeliveryAction=make_set(DeliveryAction) ,FirstEvent= min(TimeGenerated), LastEvent=max(TimeGenerated) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")), Recipient = tostring(strcat_array(Recipient,\\\", \\\")), Sender = tostring(strcat_array(Sender,\\\", \\\")), EmailSubject = tostring(strcat_array(EmailSubject,\\\", \\\")), DeliveryAction = tostring(strcat_array(DeliveryAction,\\\", \\\"))\\n|project IOC, count_, FirstEvent, LastEvent, DeliveryAction ,Recipient, Sender, EmailSubject\\n|sort by count_ desc\",\"size\":0,\"title\":\"MSDO365 - EmailUrlInfo - Url\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"},{\"columnId\":\"DeliveryAction\",\"label\":\"Delivery Action\"},{\"columnId\":\"EmailSubject\",\"label\":\"Email Subject\"}]}},\"name\":\"MSDO365 - EmailUrlInfo - Url\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"UrlClickEvents\\n|where TimeGenerated {TimeRange:value}\\n|where Url has_any {URL_IOC}\\n|join kind=leftouter\\n(\\nEmailEvents\\n|where TimeGenerated {TimeRange:value}\\n) on NetworkMessageId\\n|summarize IOC=make_set(Url), count_=count(Url), ActionType=make_set(ActionType), Account=make_set(AccountUpn), FirstEvent= min(TimeGenerated), LastEvent=max(TimeGenerated) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")), ActionType = tostring(strcat_array(ActionType,\\\", \\\")), Account = tostring(strcat_array(Account,\\\", \\\"))\\n|project IOC, count_, ActionType, Account, FirstEvent, LastEvent\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDO365 - UrlClickEvents - Url\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"name\":\"MSDO365 - UrlClickEvents - Url\"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"url\"},\"name\":\"url\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"loadType\":\"always\",\"items\":[{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"parameters\":[{\"id\":\"a66098f8-6aa0-4439-9c84-e7be5831649a\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"EMAIL_IOC\",\"label\":\"Email Address\",\"type\":1,\"description\":\"Recommend to only add 1 email IOC for deeper analysis\",\"isRequired\":true,\"typeSettings\":{\"multiLineText\":true,\"editorLanguage\":\"text\",\"multiLineHeight\":2},\"timeContext\":{\"durationMs\":86400000},\"value\":\"(\\\"sample@google.com\\\")\"}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"parameters - 2\"},{\"type\":1,\"content\":{\"json\":\"## Overview of General Information on Email Deliverability\"},\"name\":\"text - 9\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"EmailEvents\\n| where SenderMailFromAddress has_any {EMAIL_IOC} or SenderFromAddress has_any {EMAIL_IOC} //Must use both P1 P2 column names\\n| where EmailDirection == \\\"Inbound\\\"\\n| summarize count() by DeliveryAction\",\"size\":0,\"title\":\"Email Inbound Deliverability in the {TimeRange:label}\",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"piechart\",\"chartSettings\":{\"group\":\"DeliveryAction\",\"createOtherGroup\":null,\"seriesLabelSettings\":[{\"seriesName\":\"Blocked\",\"color\":\"green\"},{\"seriesName\":\"Delivered\",\"color\":\"redBright\"},{\"seriesName\":\"Junked\",\"color\":\"orange\"},{\"color\":\"gray\"}]}},\"customWidth\":\"20\",\"name\":\"query - 10\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"EmailEvents\\n| where SenderMailFromAddress has_any {EMAIL_IOC} or SenderFromAddress has_any {EMAIL_IOC} //Must use both P1 P2 column names\\n| where EmailDirection == \\\"Inbound\\\"\\n| where DeliveryAction == \\\"Delivered\\\"\\n| summarize count() by DeliveryLocation\",\"size\":0,\"title\":\"Email inbound deliverability by Location in the {TimeRange:label}\",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"piechart\",\"chartSettings\":{\"seriesLabelSettings\":[{\"seriesName\":\"Blocked\",\"color\":\"green\"},{\"seriesName\":\"Delivered\",\"color\":\"redBright\"}]}},\"customWidth\":\"20\",\"name\":\"query - 11\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"EmailEvents\\n| where TimeGenerated {TimeRange:value}\\n| where SenderMailFromAddress has_any {EMAIL_IOC} or SenderFromAddress has_any {EMAIL_IOC} //Must use both P1 P2 column names\\n| where EmailDirection == \\\"Inbound\\\"\\n| where DeliveryAction == \\\"Delivered\\\"\\n| project NetworkMessageId, DeliveryAction, DeliveryLocation, SenderFromAddress, SenderMailFromAddress, RecipientEmailAddress, Subject, SenderIPv4, EmailDirection, TenantId\\n| join kind=leftouter \\n( \\nEmailPostDeliveryEvents\\n| where TimeGenerated {TimeRange:value}\\n| summarize arg_max(TimeGenerated,*) by NetworkMessageId\\n| extend \\n DeliveryLocation_Post = DeliveryLocation, //Differentiate with original location\\n TenantId_Post = TenantId //Differentiate with original location\\n) on NetworkMessageId, RecipientEmailAddress\\n| extend \\n Action = iff(isempty(Action), \\\"No Action\\\", Action),\\n ActionResult = iff(isempty(ActionResult), \\\"No Result\\\",ActionResult),\\n ActionTrigger = iff(isempty(ActionTrigger), \\\"No Trigger\\\",ActionTrigger),\\n ActionType = iff(isempty(ActionType), \\\"No Action\\\",ActionType),\\n final_DeliveryLocation = iff(isempty(DeliveryLocation_Post), \\n iff(ActionType contains \\\"ZAP\\\", ActionType, DeliveryLocation),\\n DeliveryLocation_Post) //Find a final location of the email\\n| evaluate pivot(final_DeliveryLocation,count(RecipientEmailAddress),DeliveryLocation)\",\"size\":0,\"title\":\"Original Email Location vs. Final Email Location in the {TimeRange:label}\",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Phish ZAP\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"icons\",\"thresholdsGrid\":[{\"operator\":\">=\",\"thresholdValue\":\"1\",\"representation\":\"success\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"thresholdValue\":null,\"representation\":\"Blank\",\"text\":\"{0}{1}\"}]}},{\"columnMatch\":\"Delete\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"icons\",\"thresholdsGrid\":[{\"operator\":\">=\",\"thresholdValue\":\"1\",\"representation\":\"success\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"thresholdValue\":null,\"representation\":\"Blank\",\"text\":\"{0}{1}\"}]}},{\"columnMatch\":\"Inbox/folder\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"icons\",\"thresholdsGrid\":[{\"operator\":\">=\",\"thresholdValue\":\"1\",\"representation\":\"3\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"thresholdValue\":null,\"representation\":\"Blank\",\"text\":\"{0}{1}\"}]}},{\"columnMatch\":\"Junk\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"icons\",\"thresholdsGrid\":[{\"operator\":\">=\",\"representation\":\"2\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"thresholdValue\":null,\"representation\":\"Blank\",\"text\":\"{0}{1}\"}]}}],\"labelSettings\":[{\"columnId\":\"DeliveryLocation\",\"label\":\"Original Location\"}]}},\"customWidth\":\"30\",\"name\":\"query - 12\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"EmailEvents\\n| where TimeGenerated {TimeRange:value}\\n| where SenderMailFromAddress has_any {EMAIL_IOC} or SenderFromAddress has_any {EMAIL_IOC} //Must use both P1 P2 column names\\n| where EmailDirection == \\\"Inbound\\\"\\n| where DeliveryAction == \\\"Delivered\\\"\\n| project NetworkMessageId, DeliveryAction, DeliveryLocation, SenderFromAddress, SenderMailFromAddress, RecipientEmailAddress, Subject, SenderIPv4, EmailDirection, TenantId\\n| join kind=leftouter \\n( \\nEmailPostDeliveryEvents\\n| where TimeGenerated {TimeRange:value}\\n| summarize arg_max(TimeGenerated,*) by NetworkMessageId\\n| extend \\n DeliveryLocation_Post = DeliveryLocation, //Differentiate with original location\\n TenantId_Post = TenantId //Differentiate with original location\\n) on NetworkMessageId, RecipientEmailAddress\\n| extend \\n Action = iff(isempty(Action), \\\"No Action\\\", Action),\\n ActionResult = iff(isempty(ActionResult), \\\"No Result\\\",ActionResult),\\n ActionTrigger = iff(isempty(ActionTrigger), \\\"No Trigger\\\",ActionTrigger),\\n ActionType = iff(isempty(ActionType), \\\"No Action\\\",ActionType),\\n final_DeliveryLocation = iff(isempty(DeliveryLocation_Post), \\n iff(ActionType contains \\\"ZAP\\\", ActionType, DeliveryLocation),\\n DeliveryLocation_Post) //Find a final location of the email\\n| evaluate pivot(final_DeliveryLocation,count(RecipientEmailAddress),TenantId)\",\"size\":0,\"title\":\"Email final location by Agency in the {TimeRange:label}\",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Phish ZAP\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"colors\",\"thresholdsGrid\":[{\"operator\":\">=\",\"thresholdValue\":\"1\",\"representation\":\"green\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"thresholdValue\":null,\"text\":\"{0}{1}\"}]}},{\"columnMatch\":\"Delete\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"colors\",\"thresholdsGrid\":[{\"operator\":\">=\",\"thresholdValue\":\"1\",\"representation\":\"green\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"thresholdValue\":null,\"representation\":null,\"text\":\"{0}{1}\"}]}},{\"columnMatch\":\"Inbox/folder\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"colors\",\"thresholdsGrid\":[{\"operator\":\">=\",\"thresholdValue\":\"1\",\"representation\":\"redBright\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"thresholdValue\":null,\"representation\":null,\"text\":\"{0}{1}\"}]}},{\"columnMatch\":\"Junk\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"colors\",\"thresholdsGrid\":[{\"operator\":\">=\",\"thresholdValue\":\"1\",\"representation\":\"orange\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"thresholdValue\":null,\"text\":\"{0}{1}\"}]}}]}},\"customWidth\":\"30\",\"name\":\"query - 13\"},{\"type\":1,\"content\":{\"json\":\"## Security Alert - mailMessage\"},\"name\":\"text - 0\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityAlert\\n|summarize arg_max(TimeGenerated,*) by SystemAlertId\\n| extend Entities = iff(isempty(Entities), todynamic('[{\\\"dummy\\\" : \\\"\\\"}]'), todynamic(Entities))\\n| mv-expand Entities\\n| evaluate bag_unpack(Entities, \\\"Entity_\\\")\\n| extend Entity_Type = columnifexists(\\\"Entity_Type\\\", \\\"\\\")\\n| extend Entity_Name = columnifexists(\\\"Entity_Name\\\", \\\"\\\")\\n| extend Entity_ResourceId = columnifexists(\\\"Entity_ResourceId\\\", \\\"\\\")\\n| extend Entity_Directory = columnifexists(\\\"Entity_Directory\\\", \\\"\\\")\\n| extend Entity_Value = columnifexists(\\\"Entity_Value\\\", \\\"\\\")\\n| extend Entity_HostName = columnifexists(\\\"Entity_HostName\\\", \\\"\\\")\\n| extend Entity_Address = columnifexists(\\\"Entity_Address\\\", \\\"\\\")\\n| extend Entity_ProcessId = columnifexists(\\\"Entity_ProcessId\\\", \\\"\\\")\\n| extend Entity_Url = columnifexists(\\\"Entity_Url\\\", \\\"\\\")\\n| extend Entity_Sender = columnifexists(\\\"Entity_Sender\\\", \\\"\\\")\\n| extend Target = iif(Entity_Type == \\\"account\\\", Entity_Name, iif(Entity_Type == \\\"azure-resource\\\", Entity_ResourceId, iif(Entity_Type == \\\"cloud-application\\\", Entity_Name, iif(Entity_Type == \\\"dns\\\", Entity_Name, iif(Entity_Type == \\\"file\\\", strcat(Entity_Directory, \\\"\\\\\\\\\\\", Entity_Name), iif(Entity_Type == \\\"filehash\\\", Entity_Value, iif(Entity_Type == \\\"host\\\", Entity_HostName, iif(Entity_Type == \\\"ip\\\" , Entity_Address, iif(Entity_Type == \\\"malware\\\", Entity_HostName, iif(Entity_Type == \\\"network-connection\\\", Entity_Name, iif(Entity_Type == \\\"process\\\", Entity_ProcessId, iif(Entity_Type == \\\"registry-key\\\", Entity_Name, iif(Entity_Type == \\\"registry-value\\\", Entity_Name, iif(Entity_Type == \\\"mailMessage\\\", Entity_Sender, iif(Entity_Type == \\\"security-group\\\", Entity_Name, iif(Entity_Type == \\\"url\\\", Entity_Url, \\\"NoTarget\\\"))))))))))))))))\\n|where Entity_Type == \\\"mailMessage\\\"\\n|where Target has_any {EMAIL_IOC}\\n|summarize IOC=make_set(Target), AlertName=make_set(AlertName),SystemAlertId=make_set(SystemAlertId) ,count_=count(Target), LatestTimestamp=max(TimeGenerated) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|extend AlertName = tostring(strcat_array(AlertName,\\\", \\\")), SystemAlertId = tostring(strcat_array(SystemAlertId,\\\", \\\"))\\n|project AlertName, SystemAlertId, LatestTimestamp, count_ ,IOC\\n|sort by LatestTimestamp desc\",\"size\":1,\"title\":\"Security Alert - mailMessage - Entity_Sender\",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"AlertName\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"25%\"}},{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"25%\"}}],\"sortBy\":[{\"itemKey\":\"LatestTimestamp\",\"sortOrder\":2}],\"labelSettings\":[{\"columnId\":\"LatestTimestamp\",\"label\":\"Latest Timestamp\"},{\"columnId\":\"count_\",\"label\":\"Count\"}]},\"sortBy\":[{\"itemKey\":\"LatestTimestamp\",\"sortOrder\":2}]},\"name\":\"Security Alert - mailMessage - Entity_Sender\"},{\"type\":1,\"content\":{\"json\":\"## Microsoft Defender for Office 365\"},\"name\":\"text - 3\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let time_step = {TimeRange:grain};\\nEmailEvents\\n| where SenderMailFromAddress has_any {EMAIL_IOC} or SenderFromAddress has_any {EMAIL_IOC} //Must use both P1 P2 column names\\n| extend IOC = SenderMailFromAddress\\n| make-series Email_Trend = count() default=0 on TimeGenerated in range({TimeRange:start}+time_step,{TimeRange:end}-time_step,time_step) by IOC\",\"size\":1,\"title\":\"EmailEvents - SenderMailFromAddress - Cross-sector overview\",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"timechart\"},\"name\":\"EmailEvents - SenderMailFromAddress\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"EmailEvents\\n| where TimeGenerated {TimeRange:value}\\n| where SenderMailFromAddress has_any {EMAIL_IOC} or SenderFromAddress has_any {EMAIL_IOC} //Must use both P1 P2 column names\\n| join kind=leftouter \\n( \\nEmailPostDeliveryEvents\\n| where TimeGenerated {TimeRange:value}\\n| summarize arg_max(TimeGenerated,*) by NetworkMessageId\\n| extend \\n DeliveryLocation_Post = DeliveryLocation, //Differentiate with original location\\n TenantId_Post = TenantId\\n) on NetworkMessageId, RecipientEmailAddress\\n| extend \\n Action = iff(isempty(Action), \\\"No Action\\\", Action),\\n ActionResult = iff(isempty(ActionResult), \\\"No Result\\\",ActionResult),\\n ActionTrigger = iff(isempty(ActionTrigger), \\\"No Trigger\\\",ActionTrigger),\\n ActionType = iff(isempty(ActionType), \\\"No Action\\\",ActionType),\\n final_DeliveryLocation = iff(isempty(DeliveryLocation_Post), DeliveryLocation,DeliveryLocation_Post) //Find a final location of the email\\n| summarize IOC=make_set(SenderMailFromAddress), count_=count(SenderMailFromAddress) ,Recipient=make_set(RecipientEmailAddress), EmailSubject=make_set(Subject), DeliveryAction=make_set(DeliveryAction) ,FirstEvent= min(TimeGenerated), LastEvent=max(TimeGenerated) , final_DeliveryLocation=make_set(final_DeliveryLocation) by TenantId\\n| extend IOC = tostring(strcat_array(IOC,\\\", \\\")), Recipient = tostring(strcat_array(Recipient,\\\", \\\")), EmailSubject = tostring(strcat_array(EmailSubject,\\\", \\\")), DeliveryAction = tostring(strcat_array(DeliveryAction,\\\", \\\")), final_DeliveryLocation = tostring(strcat_array(final_DeliveryLocation,\\\", \\\"))\\n| project FirstEvent, LastEvent, IOC, count_, Recipient, EmailSubject, DeliveryAction, final_DeliveryLocation\\n| sort by count_ desc\",\"size\":0,\"title\":\"EmailEvents - SenderMailFromAddress + EmailPostDeliveryAction\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Recipient\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"30%\"}},{\"columnMatch\":\"EmailSubject\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"20%\"}}],\"filter\":true,\"labelSettings\":[{\"columnId\":\"FirstEvent\",\"label\":\"First Event\"},{\"columnId\":\"LastEvent\",\"label\":\"Last Event\"},{\"columnId\":\"count_\",\"label\":\"Count\"},{\"columnId\":\"EmailSubject\",\"label\":\"Email Subject\"},{\"columnId\":\"DeliveryAction\",\"label\":\"Delivery Action\"},{\"columnId\":\"final_DeliveryLocation\",\"label\":\"Final Delivery Location\"}]}},\"name\":\"EmailEvents - SenderMailFromAddress\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"EmailEvents\\n| where TimeGenerated {TimeRange:value}\\n| where SenderMailFromAddress has_any {EMAIL_IOC} or SenderFromAddress has_any {EMAIL_IOC} //Must use both P1 P2 column names\\n| project TimeGenerated, DeliveryAction, DeliveryLocation, SenderMailFromAddress, RecipientEmailAddress, Subject, NetworkMessageId\\n| join kind=inner \\n(\\nUrlClickEvents\\n| where TimeGenerated {TimeRange:value}\\n) on NetworkMessageId\\n| summarize IOC=make_set(SenderMailFromAddress) ,count_=count(SenderMailFromAddress), Recipient=make_set(RecipientEmailAddress), EmailSubject=make_set(Subject), DeliveryAction=make_set(DeliveryAction), DeliveryLocation=make_set(DeliveryLocation) , UserClick = make_set(AccountUpn) ,FirstEvent= min(TimeGenerated), LastEvent=max(TimeGenerated), Url=make_set(Url) by TenantId\\n| extend IOC = tostring(strcat_array(IOC,\\\", \\\")), Recipient = tostring(strcat_array(Recipient,\\\", \\\")), EmailSubject = tostring(strcat_array(EmailSubject,\\\", \\\")), DeliveryAction = tostring(strcat_array(DeliveryAction,\\\", \\\")), DeliveryLocation = tostring(strcat_array(DeliveryLocation,\\\", \\\")), Url = tostring(strcat_array(Url,\\\", \\\")), UserClick = tostring(strcat_array(UserClick,\\\", \\\"))\\n|project FirstEvent, LastEvent, IOC, count_, Recipient, UserClick, EmailSubject, DeliveryAction, DeliveryLocation, Url\\n|sort by count_ desc\\n\",\"size\":0,\"title\":\"UrlClickEvents - Click Events from email sent by Sender\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"UserClick\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"20%\"}}],\"labelSettings\":[{\"columnId\":\"IOC\",\"label\":\"IOC (Email Sender)\"},{\"columnId\":\"count_\",\"label\":\"Count\"},{\"columnId\":\"UserClick\",\"label\":\"User Clicking the Link\"}]},\"sortBy\":[]},\"name\":\"UrlClickEvents - NetworkMessageId\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let time_step = {TimeRange:grain};\\nEmailEvents\\n| where SenderMailFromAddress has_any {EMAIL_IOC} or SenderFromAddress has_any {EMAIL_IOC} //Must use both P1 P2 column names\\n| extend IOC = RecipientEmailAddress\\n| make-series Email_Trend = count() default=0 on TimeGenerated in range({TimeRange:start}+time_step,{TimeRange:end}-time_step,time_step) by IOC\",\"size\":1,\"title\":\"EmailEvents - RecipientEmailAddress - Outbound email interaction with IOCS - Cross-sector overview\",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"timechart\"},\"name\":\"EmailEvents - RecipientEmailAddress\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"EmailEvents\\n|where RecipientEmailAddress has_any {EMAIL_IOC}\\n|summarize IOC=make_set(RecipientEmailAddress), count_=count(RecipientEmailAddress) ,Sender=make_set(SenderMailFromAddress) ,Recipient=make_set(RecipientEmailAddress), EmailSubject=make_set(Subject), DeliveryAction=make_set(DeliveryAction) ,FirstEvent= min(TimeGenerated), LastEvent=max(TimeGenerated) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")),Sender = tostring(strcat_array(Sender,\\\", \\\")), Recipient = tostring(strcat_array(Recipient,\\\", \\\")), EmailSubject = tostring(strcat_array(EmailSubject,\\\", \\\")), DeliveryAction = tostring(strcat_array(DeliveryAction,\\\", \\\"))\\n|project FirstEvent, LastEvent, IOC, count_, Sender, Recipient, EmailSubject, DeliveryAction\\n|sort by count_ desc\",\"size\":0,\"title\":\"EmailEvents - RecipientEmailAddress - User outbound email interaction with IOCs\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"]},\"name\":\"EmailEvents - RecipientEmailAddress\"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"email_external\"},\"name\":\"email_external\"}],\"isLocked\":false,\"fallbackResourceIds\":[],\"fromTemplateId\":\"sentinel-UserWorkbook\"}", + "version": "1.0", + "sourceId": "[parameters('workbookSourceId')]", + "category": "[parameters('workbookType')]" + } + } + ], + "outputs": { + "workbookId": { + "type": "string", + "value": "[resourceId( 'microsoft.insights/workbooks', parameters('workbookId'))]" + } + }, + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#" +} \ No newline at end of file From 80608d337f6d425fcf9c1aefd4b01744890f10c6 Mon Sep 17 00:00:00 2001 From: DGovEnterprise Date: Tue, 27 Aug 2024 06:45:56 +0000 Subject: [PATCH 11/20] Format markdown docs --- .../guides/AD-Hoc-Threat-Hunting-Workbook.md | 16 ++++++++-------- utilities/guides/Gap-Analysis-Workbook.md | 8 ++++---- utilities/guides/Rapid-IOC-Workbook.md | 10 +++++----- utilities/guides/Workbook-Deployment.md | 10 +++++----- utilities/tools/README.md | 12 ++++++------ 5 files changed, 28 insertions(+), 28 deletions(-) diff --git a/utilities/guides/AD-Hoc-Threat-Hunting-Workbook.md b/utilities/guides/AD-Hoc-Threat-Hunting-Workbook.md index 43078b28..0d17883a 100644 --- a/utilities/guides/AD-Hoc-Threat-Hunting-Workbook.md +++ b/utilities/guides/AD-Hoc-Threat-Hunting-Workbook.md @@ -3,21 +3,21 @@ ## Use of the Ad-Hoc Threat Hunting Workbook 1. Select the Subscription, Workspace, and TimeRange parameters. These will apply across all the tabs and threat-hunting queries. -![1](/utilities/screenshots/wrkbk-TH-1.png) + ![1](/utilities/screenshots/wrkbk-TH-1.png) 1. Select one of the three tabs to start with threat hunting. Queries will automatically run using the selected parameters from step 1. - Threat Hunting Queries - A number of various queries to detect some of the most common attacks - Open Source Thret Intelligence - Query that uses open source TI feeds to detect malicious activity - Pivoting - Queries to pivot on activities from compromised assets to detect malicious -![2](/utilities/screenshots/wrkbk-TH-2.png) + ![2](/utilities/screenshots/wrkbk-TH-2.png) 1. When performing the initial investigation under the pivoting tab, update the fields with compromised entities. The below queries will run automatically and show the results. -![3](/utilities/screenshots/wrkbk-TH-3.png) + ![3](/utilities/screenshots/wrkbk-TH-3.png) 1. Adding additional queries can be done by copying existing queries and changing the query and the naming. 1. Select 'Edit' on the whole workbook and click Edit from onj the specific group -![4](/utilities/screenshots/wrkbk-TH-4.png) + ![4](/utilities/screenshots/wrkbk-TH-4.png) 1. Clone one of the existing queries -![5](/utilities/screenshots/wrkbk-TH-5.png) + ![5](/utilities/screenshots/wrkbk-TH-5.png) 1. Under Settings tab, change the query with the new one -![6](/utilities/screenshots/wrkbk-TH-6.png) + ![6](/utilities/screenshots/wrkbk-TH-6.png) 1. Under 'Advanced Settings' tab, change the naming of the query. Ensure the parameters TimeRange and Workspace are as per the globally assigned parameters. -![7](/utilities/screenshots/wrkbk-TH-7.png) -1. Save the workbook \ No newline at end of file + ![7](/utilities/screenshots/wrkbk-TH-7.png) +1. Save the workbook diff --git a/utilities/guides/Gap-Analysis-Workbook.md b/utilities/guides/Gap-Analysis-Workbook.md index 30ef1ac5..38c4e9b1 100644 --- a/utilities/guides/Gap-Analysis-Workbook.md +++ b/utilities/guides/Gap-Analysis-Workbook.md @@ -3,10 +3,10 @@ ## Use of the GAP Analysis Workbook 1. The **Data Visibility** tab illustrates the current visibility of data ingested into the Sentinel workspace. These tables are recommended for improved [detections](https://soc.cyber.wa.gov.au/baselines/data-sources/#5-detection-analytics) and [threat hunting](https://soc.cyber.wa.gov.au/guidelines/TTP_Hunt/ttp-detection-guidelines/#threat-hunting-guideline) activities. For more details, please refer to [Baseline for Detection Coverage (MITRE ATT&CK)](https://soc.cyber.wa.gov.au/baselines/data-sources/#baseline-for-detection-coverage-mitre-attck) and [Telemetry to collect (prioritised)](https://soc.cyber.wa.gov.au/onboarding/sentinel-guidance/?h=maturity+model#2-telemetry-to-collect-prioritised) guidelines. -![Data Visibility](/utilities/screenshots/wrkbk-datavis.png) + ![Data Visibility](/utilities/screenshots/wrkbk-datavis.png) 1. The sections under the **Data Visibility** tab, provide details on the activities that can be seen from these tables. They also include links to the data connectors and the recommended actions. -![Data Visibility](/utilities/screenshots/wrkbk-spltgrps.png) + ![Data Visibility](/utilities/screenshots/wrkbk-spltgrps.png) 1. The **Noisy Alerts** tab illustrates the top 5 firing alerts from the previous 30 days that have not been resolved as a [True Positive incident](https://learn.microsoft.com/en-us/azure/sentinel/investigate-cases#closing-an-incident). These are considered as noisy detection rules and require additional measures to mitigate alert fatigue. Please refer to: [Managing your SIEM Sentinel Analytic Rules](https://soc.cyber.wa.gov.au/guidelines/incident-reporting/?h=rules#41-managing-your-siem-sentinel-analytic-rules) for further details. -![Data Visibility](/utilities/screenshots/wrkbk-noisy.png) + ![Data Visibility](/utilities/screenshots/wrkbk-noisy.png) 1. The **Log Ingestion** tab illustrates Data Ingestion Volume per log category, which is intended to illustrate the allocation of majority of the Sentinel costs. It is important for security teams to understand and manage log ingestion costs. Refer to the [performance and cost optimisation guidelines](https://soc.cyber.wa.gov.au/onboarding/sentinel-guidance/?h=cost#5-performance-and-cost-optimisation) for more details. -![Data Visibility](/utilities/screenshots/wrkbk-logingestion.png) \ No newline at end of file + ![Data Visibility](/utilities/screenshots/wrkbk-logingestion.png) diff --git a/utilities/guides/Rapid-IOC-Workbook.md b/utilities/guides/Rapid-IOC-Workbook.md index 873cb39d..642f0825 100644 --- a/utilities/guides/Rapid-IOC-Workbook.md +++ b/utilities/guides/Rapid-IOC-Workbook.md @@ -2,9 +2,9 @@ ## Use of the Rapid IOC Search Workbook -1. Select the Subscription, Workspace, and TimeRange parameters. These will apply across all the tabs and IOC queries. -![1](/utilities/screenshots/wrkbk-RI-1.png) -1. Select one of the 'IP, HASH, URL, or Email' tabs to start with the IOC threat hunting. Add the IOCs to a list (as per the example shown), within quotes, and separate them by a comma. The queries will automatically run using the selected parameters and the IOCs. -![2](/utilities/screenshots/wrkbk-RI-2.png) +1. Select the Subscription, Workspace, and TimeRange parameters. These will apply across all the tabs and IOC queries.\ + ![1](/utilities/screenshots/wrkbk-RI-1.png) +1. Select one of the 'IP, HASH, URL, or Email' tabs to start with the IOC threat hunting. Add the IOCs to a list (as per the example shown), within quotes, and separate them by a comma. The queries will automatically run using the selected parameters and the IOCs. + ![2](/utilities/screenshots/wrkbk-RI-2.png) 1. The results will show hits on the IOCs per table. These hits should be further investigated in the Log Explorer. -![3](/utilities/screenshots/wrkbk-RI-3.png) \ No newline at end of file + ![3](/utilities/screenshots/wrkbk-RI-3.png) diff --git a/utilities/guides/Workbook-Deployment.md b/utilities/guides/Workbook-Deployment.md index b78151f9..7f0200c3 100644 --- a/utilities/guides/Workbook-Deployment.md +++ b/utilities/guides/Workbook-Deployment.md @@ -3,10 +3,10 @@ ## How To Deploy a Workbook With ARM Template 1. From the [README.md](/utilities/tools/Gap-Analysis/README.md) page click on the **Deploy to Azure icon** -![Deploy Gap Analysis to Azure](/utilities/screenshots/wrkbk-deploy.png) + ![Deploy Gap Analysis to Azure](/utilities/screenshots/wrkbk-deploy.png) 1. This will open the custom deployment window. Select the subscription, resource group and manually enter the **log analytics workspace name** where this workbook will be associated with. -![Custom deployment](/utilities/screenshots/wrkbk-deploy2.png) + ![Custom deployment](/utilities/screenshots/wrkbk-deploy2.png) 1. In the next step, **Review+Create** check if the information provided is accurate and click **Create**. -![Custom deployment](/utilities/screenshots/wrkbk-deploy3.png) -If there are no errors, it will deploy the workbook and **'deployment succeeded'** notification will pop up. -![Custom deployment](/utilities/screenshots/wrkbk-deploy4.png) \ No newline at end of file + ![Custom deployment](/utilities/screenshots/wrkbk-deploy3.png) + If there are no errors, it will deploy the workbook and **'deployment succeeded'** notification will pop up. + ![Custom deployment](/utilities/screenshots/wrkbk-deploy4.png) diff --git a/utilities/tools/README.md b/utilities/tools/README.md index fa2ed83e..9a78ca25 100644 --- a/utilities/tools/README.md +++ b/utilities/tools/README.md @@ -2,15 +2,15 @@ Use the following deploy links to deploy WASOC workbooks: -| Name | Deployment Link | -| ---------------------- | ------------- | -| **Gap Analysis Workbook** | [![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fwagov%2Fwasocshared%2Fmain%2Futilities%2Ftools%2FGap-Analysis-Workbook-WASOCv1.0.json) | -| **WAGov - Threat Hunting - Rapid IOC Search** | [![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fwagov%2Fwasocshared%2Fmain%2Futilities%2Ftools%2FRapid-IOC-Search-Workbook-WASOCv1.0.json) | -| **AD-Hoc Threat hunting activities** | [![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fwagov%2Fwasocshared%2Fmain%2Futilities%2Ftools%2FAD-Hoc-Threat-Hunting-Activities-WASOCv1.0.json) | +| Name | Deployment Link | +| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| **Gap Analysis Workbook** | [![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fwagov%2Fwasocshared%2Fmain%2Futilities%2Ftools%2FGap-Analysis-Workbook-WASOCv1.0.json) | +| **WAGov - Threat Hunting - Rapid IOC Search** | [![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fwagov%2Fwasocshared%2Fmain%2Futilities%2Ftools%2FRapid-IOC-Search-Workbook-WASOCv1.0.json) | +| **AD-Hoc Threat hunting activities** | [![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fwagov%2Fwasocshared%2Fmain%2Futilities%2Ftools%2FAD-Hoc-Threat-Hunting-Activities-WASOCv1.0.json) | 'How to' guides: -[How to Deploy a Workbook With ARM Template](/utilities/guides/Workbook-Deployment.md) +[How to Deploy a Workbook With ARM Template](/utilities/guides/Workbook-Deployment.md) [How to use the GAP Analysis workbook](/utilities/guides/Gap-Analysis-Workbook.md) From f2b84fa8f967462981148b1087647720e74bdfdd Mon Sep 17 00:00:00 2001 From: CharlesRN <125233614+CharlesRN@users.noreply.github.com> Date: Fri, 30 Aug 2024 12:35:00 +0800 Subject: [PATCH 12/20] CISA Joint Advisory Aug 2024. (#963) * Cisco Affected by OpenSSH Vulnerability * Format markdown docs * Update 20240709001-Cisco-Affected-by-OpenSSH-Vulnerability.md Update with link to previous mentioned CVE advisory * Oracle Critical Patch Update * Format markdown docs * Update 20240719001 * Format markdown docs * Okta Releases Browser Plugin Advisory * Format markdown docs * Update 20240723002 * Advisory_20240801002 * Format markdown docs * Update 20240801002 Applied "advisory-CISA-ICS-Advisories" template * Format markdown docs * Update 20240801002_02 Hyperlink fix * Format markdown docs * Advisory-20240823001 * Format markdown docs * CISA Joint Advisory * Format markdown docs --------- Co-authored-by: CharlesRN Co-authored-by: Joshua Hitchen (DGov) <86041569+DGovEnterprise@users.noreply.github.com> Co-authored-by: JadonWill <117053393+JadonWill@users.noreply.github.com> Co-authored-by: JadonWill --- ...1-CISA-Advisory-on-RansomHub-Ransomware.md | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 docs/advisories/20240830001-CISA-Advisory-on-RansomHub-Ransomware.md diff --git a/docs/advisories/20240830001-CISA-Advisory-on-RansomHub-Ransomware.md b/docs/advisories/20240830001-CISA-Advisory-on-RansomHub-Ransomware.md new file mode 100644 index 00000000..151742c6 --- /dev/null +++ b/docs/advisories/20240830001-CISA-Advisory-on-RansomHub-Ransomware.md @@ -0,0 +1,21 @@ +# CISA Releases Joint Advisory on RansomHub Ransomware - 20240830001 + +## Overview + +The Federal Bureau of Investigation (FBI), the Cybersecurity and Infrastructure Security Agency (CISA), the Multi-State Information Sharing and Analysis Center (MS-ISAC), and the Department of Health and Human Services (HHS) released joint Cybersecurity Advisory (CSA) [#StopRansomware: RansomHub Ransomware](https://www.cisa.gov/news-events/cybersecurity-advisories/aa24-242a), detailing its indicators of compromise (IOCs) and tactics, techniques, and procedures (TTPs). RansomHub, previously known as Cyclops and Knight, has become a successful ransomware-as-a-service model, attracting affiliates from other major variants like LockBit and ALPHV. + +## What has been observed? + +CISA added this vulnerabilty based on CVEs observed [Cybersecurity Alerts & Advisories](https://www.cisa.gov/news-events/cybersecurity-advisories?f%5B0%5D=advisory_type%3A94) catalog on *August 28, 2024*. + +There is no evidence of exploitation affecting Western Australian Government networks at the time of publishing. + +## Recommendation + +The WA SOC recommends administrators perform a scan for the IOCs included and apply the mitigations as per CISA instructions. + +**Immediate action to take includes:** + +1. Secure and closely monitor Remote Desktop Protocol (RDP). +1. Maintain offline backups of data, and regularly maintain backup and restoration. +1. Enable and enforce phishing-resistant multifactor authentication (MFA). From 36aa26f9bfe33ac09e72eed0a750b4aa614416f0 Mon Sep 17 00:00:00 2001 From: JadonWill <117053393+JadonWill@users.noreply.github.com> Date: Tue, 3 Sep 2024 11:36:47 +0800 Subject: [PATCH 13/20] 20240903002 (#967) * 20240903002 * Format markdown docs * 20240903002 update * Format markdown docs --------- Co-authored-by: JadonWill --- .../20240903002-CISA-New-ICS-Advisories.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 docs/advisories/20240903002-CISA-New-ICS-Advisories.md diff --git a/docs/advisories/20240903002-CISA-New-ICS-Advisories.md b/docs/advisories/20240903002-CISA-New-ICS-Advisories.md new file mode 100644 index 00000000..90d4ef2d --- /dev/null +++ b/docs/advisories/20240903002-CISA-New-ICS-Advisories.md @@ -0,0 +1,18 @@ +# CISA Releases New ICS Advisories - 20240903002 + +## Overview + +CISA has released multiple advisories for Industrial Control Systems (ICS) related vendors. + +## What is vulnerable? + +| Vendor | Advisory | +| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Rockwell Automation | [ICSA-24-242-01](https://www.cisa.gov/news-events/ics-advisories/icsa-24-242-01)
[ICSA-24-226-06](https://www.cisa.gov/news-events/ics-advisories/icsa-24-226-06) | +| Delta Electronics | [ICSA-24-242-02](https://www.cisa.gov/news-events/ics-advisories/icsa-24-242-02) | + +## Recommendation + +The WA SOC recommends administrators review relevant advisories and apply the recommended actions to all affected devices. + +- CISA Advisory: From e7566dfefe23aeb785a03f7eca6575b5de91d339 Mon Sep 17 00:00:00 2001 From: CharlesRN <125233614+CharlesRN@users.noreply.github.com> Date: Tue, 3 Sep 2024 13:33:52 +0800 Subject: [PATCH 14/20] Zabbix Server Advisory (#968) * Cisco Affected by OpenSSH Vulnerability * Format markdown docs * Update 20240709001-Cisco-Affected-by-OpenSSH-Vulnerability.md Update with link to previous mentioned CVE advisory * Oracle Critical Patch Update * Format markdown docs * Update 20240719001 * Format markdown docs * Okta Releases Browser Plugin Advisory * Format markdown docs * Update 20240723002 * Advisory_20240801002 * Format markdown docs * Update 20240801002 Applied "advisory-CISA-ICS-Advisories" template * Format markdown docs * Update 20240801002_02 Hyperlink fix * Format markdown docs * Advisory-20240823001 * Format markdown docs * CISA Joint Advisory * Format markdown docs * Zabbix Server Advisory * Format markdown docs --------- Co-authored-by: CharlesRN Co-authored-by: Joshua Hitchen (DGov) <86041569+DGovEnterprise@users.noreply.github.com> Co-authored-by: JadonWill <117053393+JadonWill@users.noreply.github.com> Co-authored-by: JadonWill --- ...001-Zabbix-Code-Execution Vulnerability.md | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 docs/advisories/20240903001-Zabbix-Code-Execution Vulnerability.md diff --git a/docs/advisories/20240903001-Zabbix-Code-Execution Vulnerability.md b/docs/advisories/20240903001-Zabbix-Code-Execution Vulnerability.md new file mode 100644 index 00000000..bb2fdbe4 --- /dev/null +++ b/docs/advisories/20240903001-Zabbix-Code-Execution Vulnerability.md @@ -0,0 +1,22 @@ +# Zabbix Server Critical Vulnerability - 20240903001 + +## Overview + +The WA SOC has been made aware of vulnerability discovered in Zabbix Server that allows attackers with restrited administrative permissions to execute arbitrary code. +The flaw, identified in the Ping script execution within the Monitoring Hosts section, could compromise the infrastructure. + +## What is vulnerable? + +| Product(s) Affected | Version(s) | CVE # | CVSS v4/v3 | Severity | +| ------------------- | --------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- | ---------- | -------- | +| Zabbix Server | Zabbix Server versions 6.4.0 to 6.4.15
Zabbix Server versions 7.0.0alpha1 to 7.0.0rc2
| [CVE-2024-22116](https://nvd.nist.gov/vuln/detail/CVE-2024-22116) | 9.9 | Critical | + +## What has been observed? + +There is no evidence of exploitation affecting Western Australian Government networks at the time of publishing. + +## Recommendation + +The WA SOC recommends administrators apply the solutions as per vendor instructions to all affected devices within expected timeframe of *48 hours...* (refer [Patch Management](../guidelines/patch-management.md)): + +- Zabbix Bugs and Issues: From daa9da4135ee85c3f282a70c728b6f38ec31dfb0 Mon Sep 17 00:00:00 2001 From: "Joshua Hitchen (DGov)" <86041569+DGovEnterprise@users.noreply.github.com> Date: Tue, 3 Sep 2024 14:57:57 +0800 Subject: [PATCH 15/20] Temp fix to advisory --- ...lity.md => 20240903001-Zabbix-Code-Execution+Vulnerability.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/advisories/{20240903001-Zabbix-Code-Execution Vulnerability.md => 20240903001-Zabbix-Code-Execution+Vulnerability.md} (100%) diff --git a/docs/advisories/20240903001-Zabbix-Code-Execution Vulnerability.md b/docs/advisories/20240903001-Zabbix-Code-Execution+Vulnerability.md similarity index 100% rename from docs/advisories/20240903001-Zabbix-Code-Execution Vulnerability.md rename to docs/advisories/20240903001-Zabbix-Code-Execution+Vulnerability.md From 66eadd42a3bfec6329412426fa28e34a38a5f392 Mon Sep 17 00:00:00 2001 From: petarpetrovski <112471287+petarpetrovski@users.noreply.github.com> Date: Wed, 4 Sep 2024 11:16:27 +0800 Subject: [PATCH 16/20] minor fix (#969) * minor fix * 0240904002 * Update 20240904002 Slight rewording. Changed recommendation to 48 hours. --------- Co-authored-by: JadonWill <117053393+JadonWill@users.noreply.github.com> --- .../20240904002-WinRAR-Active-Exploitation.md | 27 +++++++++++++++++++ ...c-Threat-Hunting-Activities-WASOCv1.0.json | 2 +- .../Rapid-IOC-Search-Workbook-WASOCv1.0.json | 2 +- 3 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 docs/advisories/20240904002-WinRAR-Active-Exploitation.md diff --git a/docs/advisories/20240904002-WinRAR-Active-Exploitation.md b/docs/advisories/20240904002-WinRAR-Active-Exploitation.md new file mode 100644 index 00000000..8748ffbc --- /dev/null +++ b/docs/advisories/20240904002-WinRAR-Active-Exploitation.md @@ -0,0 +1,27 @@ +# WinRAR Vulnerability Active Exploitation - 20240904002 + +## Overview + +The WA SOC has been made aware of active exploitation in the wild against WinRAR products allowing an attacker to execute arbitrary code on the system via a specially prepared archive. + +## What is vulnerable? + +| Product(s) Affected | Version(s) | CVE | CVSS | Severity | +| ------------------- | ---------- | --- | ---- | -------- | +| WinRAR | < 6.23 | [CVE-2023-38831](https://nvd.nist.gov/vuln/detail/CVE-2023-38831) | 7.8 | High | + + +## What has been observed? + +However, Proof of Concept (PoC) is made available, and there are reports of active exploitation in the wild. +There is no evidence of exploitation affecting Western Australian Government networks at the time of publishing. + +## Recommendation + +The WA SOC recommends administrators apply the solutions as per vendor instructions to all affected devices within expected timeframe of *48 hours...* (refer [Patch Management](../guidelines/patch-management.md)): + +- Vendor page: + +## Additional References + +- TheHackerNews article: diff --git a/utilities/tools/AD-Hoc-Threat-Hunting-Activities-WASOCv1.0.json b/utilities/tools/AD-Hoc-Threat-Hunting-Activities-WASOCv1.0.json index 3de01d2c..55d0cde6 100644 --- a/utilities/tools/AD-Hoc-Threat-Hunting-Activities-WASOCv1.0.json +++ b/utilities/tools/AD-Hoc-Threat-Hunting-Activities-WASOCv1.0.json @@ -46,7 +46,7 @@ "displayName": "[parameters('workbookDisplayName')]", "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":11,\"content\":{\"version\":\"LinkItem/1.0\",\"style\":\"tabs\",\"links\":[{\"id\":\"c3cc19f5-463e-47ba-b039-252c47f29611\",\"cellValue\":\"Tab\",\"linkTarget\":\"parameter\",\"linkLabel\":\"Threat Hunting Queries\",\"subTarget\":\"TH ADS\",\"style\":\"link\"},{\"id\":\"2b992c40-7e9a-419b-b739-13ce441cd0fc\",\"cellValue\":\"Tab\",\"linkTarget\":\"parameter\",\"linkLabel\":\"Open Source TI Detections\",\"subTarget\":\"TI\",\"style\":\"link\"},{\"id\":\"fce23985-f887-4dd2-9f50-8f37f8277e37\",\"cellValue\":\"Tab\",\"linkTarget\":\"parameter\",\"linkLabel\":\"Pivoting\",\"subTarget\":\"piv\",\"style\":\"link\"}]},\"name\":\"links - 10\"},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"crossComponentResources\":[\"{Subscription}\"],\"parameters\":[{\"id\":\"04951277-d010-499c-8e9c-1967c08836b2\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Subscription\",\"type\":6,\"isRequired\":true,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"Resources\\n| summarize Count = count() by subscriptionId\\n| order by Count desc\\n| extend Rank = row_number()\\n| project value = subscriptionId, label = subscriptionId, selected = Rank == 1\",\"crossComponentResources\":[\"value::selected\"],\"typeSettings\":{\"additionalResourceOptions\":[],\"showDefault\":false},\"timeContext\":{\"durationMs\":14400000},\"queryType\":1,\"resourceType\":\"microsoft.resourcegraph/resources\",\"value\":[]},{\"id\":\"55ecfb10-706e-4b16-8b59-7f6107cd5975\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Workspace\",\"type\":5,\"isRequired\":true,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"resources | where type =~ 'Microsoft.operationsmanagement/solutions' | where name contains 'SecurityInsights' | project id = tostring(properties.workspaceResourceId)\",\"crossComponentResources\":[\"{Subscription}\"],\"typeSettings\":{\"additionalResourceOptions\":[],\"showDefault\":false},\"timeContext\":{\"durationMs\":14400000},\"queryType\":1,\"resourceType\":\"microsoft.resourcegraph/resources\"},{\"id\":\"85c3e11e-0568-4c21-8c6f-668f10b85231\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"TimeRange\",\"type\":4,\"isRequired\":true,\"typeSettings\":{\"selectableValues\":[{\"durationMs\":300000},{\"durationMs\":1800000},{\"durationMs\":3600000},{\"durationMs\":14400000},{\"durationMs\":43200000},{\"durationMs\":86400000},{\"durationMs\":172800000},{\"durationMs\":259200000},{\"durationMs\":604800000},{\"durationMs\":1209600000},{\"durationMs\":2592000000},{\"durationMs\":5184000000},{\"durationMs\":7776000000}],\"allowCustom\":true},\"timeContext\":{\"durationMs\":14400000},\"value\":{\"durationMs\":2592000000}},{\"id\":\"62a3e14a-aca9-4f74-8816-51d91b09ed84\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Instructions\",\"label\":\"Show Instructions\",\"type\":10,\"isRequired\":true,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"typeSettings\":{\"additionalResourceOptions\":[\"value::all\"],\"showDefault\":false},\"jsonData\":\"[\\n { \\\"value\\\":\\\"Hide\\\", \\\"label\\\":\\\"Hide\\\",\\\"selected\\\":true},\\n { \\\"value\\\":\\\"Show\\\", \\\"label\\\":\\\"Show\\\" }\\n]\\n\",\"timeContext\":{\"durationMs\":14400000}}],\"style\":\"pills\",\"queryType\":1,\"resourceType\":\"microsoft.resourcegraph/resources\"},\"name\":\"parameters - 3\"},{\"type\":1,\"content\":{\"json\":\"This workbook includes a range of threat hunting queries to help execute Threat Hunts. \\n\\nThe workbook covers three segments: \\n- Threat Hunting Queries - A number of various queries to detect some of the most common attacks \\n- Open Source Thret Intelligence - Query that uses open source TI feeds to detect malicious activity \\n- Pivoting - Queries to pivot on activities from compromised assets to detect malicious \\n

\\nPlease feel free to adapt the content of this workbook to meet the needs of the Agency. For any assistance regarding this workbook contact WA SOC on cybersecurity@dpc.wa.gov.au\\n

\\nv1.0 August 2024 \\n\\n---\\n## Instructions:\\n1. Select Subscription and Workspace\\n2. Define Time Range of the hunting activity \\n3. Queries will run automatically when changes occur \\n\\nFor more Threat Hunting details refer to the [Threat Hunting Guideline](https://soc.cyber.wa.gov.au/guidelines/TTP_Hunt/ttp-detection-guidelines/) or contact WA SOC on cybersecurity@dpc.wa.gov.au\\n

\",\"style\":\"info\"},\"conditionalVisibility\":{\"parameterName\":\"Instructions\",\"comparison\":\"isEqualTo\",\"value\":\"Show\"},\"name\":\"text - 12\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"### Initial Access https://attack.mitre.org/tactics/TA0001/\",\"style\":\"success\"},\"name\":\"text - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let clientThreshold = 1;\\n let scriptExtensions = dynamic([\\\".php\\\", \\\".aspx\\\", \\\".asp\\\", \\\".cfml\\\"]);\\n let data = W3CIISLog\\n | where csUriStem has_any(scriptExtensions)\\n |where scStatus == 200\\n |where ipv4_is_private(cIP) == false and cIP !startswith \\\"fe80\\\" and cIP !startswith \\\"::\\\" and cIP !startswith \\\"127.\\\"\\n |where ipv4_is_private(sIP) == false \\n | summarize StartTime = min(TimeGenerated), EndTime = max(TimeGenerated), makelist(cIP), dcount(TimeGenerated) by csUriStem, sSiteName, csUserAgent;\\n data\\n | mvexpand list_cIP\\n | distinct StartTime, EndTime, tostring(list_cIP), csUriStem, sSiteName, csUserAgent\\n | summarize StartTime = min(StartTime), EndTime = max(StartTime), dcount(list_cIP), makelist(list_cIP), makelist(sSiteName) by csUriStem, csUserAgent\\n | where dcount_list_cIP == clientThreshold \\n | where csUserAgent startswith \\\"Mozilla\\\"\\n | extend timestamp = StartTime, UserAgentCustomEntity = csUserAgent \",\"size\":4,\"showAnalytics\":true,\"title\":\"T1190 WebshellsSuspiciousURI\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1= dynamic([\\\"pcapp.store\\\"]);\\r\\nunion Device*\\r\\n| where RemoteUrl has_any (c1) or InitiatingProcessFolderPath contains \\\"pcappstore\\\"\",\"size\":4,\"showAnalytics\":true,\"title\":\"TA0001 - PcAppStore - Potential malware installed\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let selection_filetype=dynamic([\\\"png\\\",\\\"gif\\\",\\\"jpeg\\\",\\\"jpg\\\"]);\\r\\nlet selection_subject=dynamic([\\\"2FA\\\",\\\"Action\\\",\\\"payroll\\\",\\\"MFA\\\"]); //add other potential subjects\\r\\nlet filter_domain=dynamic([\\\"microsoft.com\\\",\\\"sharepointonline.com\\\"]); //add agency specific filter\\r\\nlet lookback = 3d;\\r\\nEmailEvents\\r\\n| where TimeGenerated > ago(lookback)\\r\\n| summarize arg_min(TimeGenerated,*) by NetworkMessageId, RecipientEmailAddress, TenantId\\r\\n| where EmailDirection == 'Inbound'\\r\\n| where DeliveryAction == 'Delivered'\\r\\n| where SenderMailFromDomain !contains \\\"wa.gov.au\\\"\\r\\n| extend username_ = tostring(split(RecipientEmailAddress, \\\"@\\\")[0])\\r\\n| extend domain_ = tostring(split(RecipientEmailAddress, \\\"@\\\")[1])\\r\\n| extend domain_name_ = tostring(split(domain_, \\\".\\\")[0])\\r\\n| where Subject contains username_ or Subject contains domain_ or Subject contains domain_name_ or Subject has_any (selection_subject)\\r\\n| where not(SenderMailFromDomain has_any (filter_domain))\\r\\n| join \\r\\n(\\r\\nEmailAttachmentInfo\\r\\n| where TimeGenerated > ago(lookback)\\r\\n| where FileType has_any (selection_filetype)\\r\\n| where FileName matches regex \\\"^[A-Za-z0-9]{7,10}\\\\\\\\.[A-Za-z0-9]+$\\\" //tweak here to change potential qr code filename convention changes\\r\\n| where FileName !startswith \\\"image\\\" and FileName !startswith \\\"ATT00\\\" //ignore lists for known attachment false positive\\r\\n) on NetworkMessageId\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1566.001 - QR Code Phishing Attachment (Quishing)\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceFileEvents\\r\\n| where FileName matches regex @\\\"Edge\\\\\\\\.[a-z0-9]{6}\\\\\\\\.zip\\\" or FileName matches regex @\\\"Chrome\\\\\\\\.Update\\\\\\\\.[a-z0-9]{6}\\\\\\\\.zip\\\" or FileName matches regex @\\\"FireFox\\\\\\\\.Update\\\\\\\\.[a-z0-9]{6}\\\\\\\\.zip\\\" or FileName matches regex @\\\"download\\\\\\\\.[a-z0-9]{6}\\\\\\\\.zip\\\"\\r\\n| where InitiatingProcessFileName <> \\\"MsSense.exe\\\" //Exclude files detected by Defender for Endpoint\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1189 - Drive-by Compromise - FakeUpdate\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 2 \"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"TH ADS\"},\"name\":\"group - 7 - Copy\",\"styleSettings\":{\"showBorder\":true}},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"### Execution https://attack.mitre.org/tactics/TA0002/\",\"style\":\"success\"},\"name\":\"text - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let selection_main = dynamic(['wmic.exe','powershell.exe','cmd.exe','ntdsutil.exe']);\\r\\nlet selection_wmic = dynamic([\\\"wmic\\\", \\\"process\\\", \\\"create\\\"]); //not used\\r\\nlet selection_command = dynamic(['ntdsutil','ntds','ac','i','ifm']);\\r\\nunion isfuzzy=true\\r\\n(DeviceProcessEvents\\r\\n| where FolderPath has_any(selection_main)\\r\\n| where ProcessCommandLine has_all (selection_command) or InitiatingProcessCommandLine has_all (selection_command)\\r\\n),\\r\\n(SecurityEvent\\r\\n| where EventID == 4688\\r\\n| where CommandLine has_all (selection_command)\\r\\n)\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1047 - WMIC Commands\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1= dynamic(['.zip','.js']); \\r\\nfind where InitiatingProcessCommandLine has_all (c1) or ProcessCommandLine has_all (c1) or\\r\\nCommandLine has_all (c1) \",\"size\":4,\"showAnalytics\":true,\"title\":\"T1059.007 - GootLoader: JavaScript Execution\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic([@\\\"\\\\scilc.exe\\\", \\\"-do\\\"]);\\r\\nfind where InitiatingProcessCommandLine has_all (c1) or ProcessCommandLine has_all (c1) or CommandLine has_all (c1) \",\"size\":4,\"showAnalytics\":true,\"title\":\"T1059 - MicroSCADA SCILC Command Execution\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"T1059 - MicroSCADA SCILC Command Execution\"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"TH ADS\"},\"name\":\"group - 7 - Copy - Copy\",\"styleSettings\":{\"showBorder\":true}},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"### Persistence https://attack.mitre.org/tactics/TA0003/\",\"style\":\"success\"},\"name\":\"text - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1= dynamic(['reg',' ADD', @'Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Run']); \\r\\nfind where InitiatingProcessCommandLine has_all (c1) or ProcessCommandLine has_all (c1) or CommandLine has_all (c1) \",\"size\":4,\"showAnalytics\":true,\"title\":\"T1547.001 - Potential Persistence Attempt Via Run Keys Using Reg.EXE\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let ExtensionList = pack_array('asp','aspx','aar','ascx','ashx','asmx','c','cfm','cgi','jsp','jspx','php','pl','exe','jsp','jar','py','ps1','psm1','cmd','psd1','java','wsf','vbs');\\r\\nlet IncludeTemp = false; // whether to include files that contain \\\\temp\\\\ in their path\\r\\nDeviceFileEvents\\r\\n| where ActionType in ('FileCreated', 'FileRenamed', 'FileModified')\\r\\n| where InitiatingProcessFileName in~('w3wp.exe','httpd.exe') \\r\\n| where FolderPath contains @'\\\\inetpub\\\\wwwroot\\\\'\\r\\n| where (IncludeTemp or FolderPath !contains @'\\\\temp\\\\')\\r\\n| extend extension = tolower(tostring(split(FileName,'.')[-1]))\\r\\n| where extension in (ExtensionList) \",\"size\":4,\"showAnalytics\":true,\"title\":\"T1505.003 - IIS webshell file writes\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let selection_general = @\\\".*(/httpd|/lighttpd|/nginx|/apache2|/node|/caddy)$\\\";\\r\\nlet selection_tomcat = dynamic(['/bin/java','tomcat']);\\r\\nlet selection_websphere = dynamic(['/bin/java','websphere']);\\r\\nlet sub_processes= @\\\"/(whoami|ifconfig|ip|bin/uname|bin/cat|bin/crontab|hostname|iptables|netstat|pwd|route)$\\\";\\r\\nDeviceProcessEvents\\r\\n| where TimeGenerated > ago(30d)\\r\\n| where InitiatingProcessFolderPath matches regex selection_general or InitiatingProcessCommandLine has_all (selection_tomcat) or InitiatingProcessCommandLine has_all (selection_websphere)\\r\\n| where FolderPath matches regex sub_processes\\r\\n//| summarize count(), earliest_time=min(TimeGenerated), set_DeviceName=make_set(DeviceName) by TenantId, InitiatingProcessFolderPath,InitiatingProcessCommandLine, FolderPath, ProcessCommandLine, SHA256\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1505.003 - Linux Webshell Indicators\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"30\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let cs_uri_query=dynamic(['=C:/Users', '=C:/Program%20Files', '=C:/Windows', '=C%3A%5CUsers', '=C%3A%5CProgram%20Files', '=C%3A%5CWindows']);\\r\\nAzureDiagnostics \\r\\n//| where action_s == \\\"Allowed\\\" // filter to minimise noise\\r\\n| where requestUri_s has_any (cs_uri_query)\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1505.003 - Suspicious Windows Strings In URI\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2 - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let selection_wwwroot = @\\\"\\\\inetpub\\\\wwwroot\\\\\\\";\\r\\nlet selection_ext1 = dynamic(['.asp','.ashx','.ph']);\\r\\nlet selection_static = dynamic([\\\"\\\\\\\\www\\\\\\\\\\\", \\\"\\\\\\\\htdocs\\\\\\\\\\\", \\\"\\\\\\\\html\\\\\\\\\\\"]);\\r\\nlet selection_ext2 = \\\".ph\\\";\\r\\nlet false_positive1 = dynamic(['\\\\\\\\AppData\\\\\\\\Local\\\\\\\\Temp\\\\\\\\', '\\\\\\\\Windows\\\\\\\\Temp\\\\\\\\']); //false positives when unpacking some executables in $TEMP\\r\\nlet false_positive_system = \\\"System\\\"; //backup or restore from drivers\\r\\nlet false_positive_legitimate = dynamic([\\\"\\\\\\\\xampp\\\",\\\"\\\\\\\\QGIS\\\"]);\\r\\nDeviceFileEvents //SOC-748162\\r\\n| where ActionType == \\\"FileCreated\\\" //Modification to filter only file creation\\r\\n| where (FolderPath contains selection_wwwroot and FolderPath has_any (selection_ext1)) or (FolderPath has_any (selection_static) and FolderPath endswith selection_ext2)\\r\\n| where not(FolderPath has_any (false_positive1) or InitiatingProcessFolderPath == false_positive_system or FolderPath has_any (false_positive_legitimate))\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1505.003 - Windows Webshell Creation\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2 - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceProcessEvents\\r\\n| where InitiatingProcessFolderPath endswith '\\\\\\\\sqlservr.exe' and FolderPath matches regex @\\\".*(bash.exe|bitsadmin.exe|cmd.exe|netstat.exe|nltest.exe|ping.exe|powershell.exe|pwsh.exe|regsvr32.exe|rundll32.exe|sh.exe|systeminfo.exe|tasklist.exe|wsl.exe)$\\\"\\r\\n| where InitiatingProcessFolderPath !startswith \\\"C:\\\\\\\\Program Files\\\\\\\\Microsoft SQL Server\\\\\\\\\\\"\\r\\n| where InitiatingProcessFolderPath !endswith \\\"DATEV_DBENGINE\\\\\\\\MSSQL\\\\\\\\Binn\\\\\\\\sqlservr.exe\\\"\\r\\n| where FolderPath !contains 'C:\\\\\\\\Windows\\\\\\\\System32\\\\\\\\cmd.exe'\\r\\n| where ProcessCommandLine !startswith \\\"C:\\\\\\\\Windows\\\\\\\\system32\\\\\\\\cmd.exe\\\"\\r\\n| where ProcessCommandLine !startswith \\\"C:\\\\\\\\Windows\\\\\\\\SysWOW64\\\\\\\\cmd.exe\\\"\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1505.003 - Suspicious Child Process Of SQL Server\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"30\",\"name\":\"query - 2 - Copy - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let selection_1 = dynamic(['.exe','ADMIN$']); \\r\\nlet selection_2 = dynamic(['powershell','start','%COMSPEC%']); \\r\\nDeviceRegistryEvents\\r\\n| where ActionType == \\\"RegistryValueSet\\\"\\r\\n| where RegistryKey has_any (@'HKEY_LOCAL_MACHINE\\\\SYSTEM\\\\ControlSet001\\\\Services', @'HKEY_LOCAL_MACHINE\\\\SYSTEM\\\\ControlSet002\\\\Services', @'HKEY_LOCAL_MACHINE\\\\SYSTEM\\\\CurrentControlSet\\\\Services') \\r\\n| where RegistryValueData has_all (selection_1) or RegistryValueData has_all (selection_2)\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1543.003 - CobaltStrike: Service Installations in Registry\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2 - Copy - Copy - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceProcessEvents\\r\\n| where ProcessCommandLine has_all ('New-Service','-BinaryPathName')\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1543.003 - New Service Creation Using PowerShell\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2 - Copy - Copy - Copy - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let selection=dynamic(['AmmyyAdmin','Atera','BASupportExpressSrvcUpdater','BASupportExpressStandaloneService','chromoting', 'GoToAssist','GoToMyPC','jumpcloud','LMIGuardianSvc','LogMeIn','monblanking','Parsec','RManService','RPCPerformanceService','RPCService','SplashtopRemoteService','SSUService','TightVNC','vncserver','Zoho']);\\r\\nunion \\r\\n(\\r\\nSecurityEvent\\r\\n| where EventID == 4697\\r\\n| where ServiceFileName has_any (selection)\\r\\n| extend TableName_ = \\\"SecurityEvent\\\"\\r\\n| summarize count(), set_Tables=make_set(TableName_) by FileName=ServiceFileName, TenantId\\r\\n),\\r\\n(\\r\\nunion withsource=TableName_ Device*\\r\\n| where FileName has_any (selection)\\r\\n| where FileName endswith \\\".exe\\\"\\r\\n| summarize count(), set_Tables=make_set(TableName_) by FileName, TenantId\\r\\n)\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1543.003 - Create or Modify System Process - Remote Access Tool Services Have Been Installed\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"30\",\"name\":\"T1543.003 - Create or Modify System Process - Remote Access Tool Services Have Been Installed\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let selection_sc_1 = dynamic(['sc','config ','binpath=']); \\r\\nlet selection_sc_2 = dynamic(['sc','failure','command=']); \\r\\nDeviceProcessEvents\\r\\n| where ActionType == \\\"ProcessCreated\\\"\\r\\n| where InitiatingProcessParentFileName <> \\\"msiexec.exe\\\"\\r\\n| where FolderPath endswith \\\"sc.exe\\\"\\r\\n| where (ProcessCommandLine has_all (selection_sc_1) or ProcessCommandLine has_all (selection_sc_2))\\r\\n| summarize count(), earliest_Timestamp=min(TimeGenerated) by AccountDomain, AccountName, InitiatingProcessParentFileName, InitiatingProcessFolderPath, InitiatingProcessFileName, ProcessCommandLine, TenantId\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1543.003 - Potential Persistence Attempt Via Existing Service Tampering (sc.exe)\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"T1543.003 - Potential Persistence Attempt Via Existing Service Tampering (sc.exe)\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let selection_reg_img1 = dynamic(['reg ','add ','FailureCommand']); \\r\\nlet selection_reg_img2 = dynamic(['reg ','add ','ImagePath']); \\r\\nlet selection_reg_ext = dynamic(['.sh', '.exe','.dll','.bin$','.bat','.cmd','.js','.msh$','.reg$','.scr','.ps','.vb','.jar','.pl']); \\r\\nDeviceProcessEvents\\r\\n| where (ProcessCommandLine has_all (selection_reg_img1) and ProcessCommandLine has_all (selection_reg_img2) and ProcessCommandLine has_any (selection_reg_ext))\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1543.003 - Potential Persistence Attempt Via Existing Service Tampering (reg.exe)\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"T1543.003 - Potential Persistence Attempt Via Existing Service Tampering (reg.exe)\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let selection_cli_3 = dynamic(['gacutil','/I']);\\r\\nDeviceProcessEvents\\r\\n| where InitiatingProcessFolderPath endswith \\\"\\\\\\\\w3wp.exe\\\"\\r\\n| where ProcessCommandLine has \\\"appcmd.exe add module\\\" or\\r\\n (ProcessCommandLine has \\\"system.enterpriseservices.internal.publish\\\" and FolderPath endswith \\\"\\\\\\\\powershell.exe\\\") or\\r\\n (ProcessCommandLine has_all (selection_cli_3))\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1505.004 - Suspicious IIS Module Registration\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"30\",\"name\":\"T1505.004 - Suspicious IIS Module Registration\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityEvent\\r\\n| where EventID == 4697 \\r\\n| where AccountType != 'Machine'\\r\\n| project ServiceName, ServiceFileName,Account, Computer,TimeGenerated\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1543.003 - Windows Service - install services on the device \",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"30\",\"name\":\"4\"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"TH ADS\"},\"name\":\"group - 7 - Copy - Copy - Copy\",\"styleSettings\":{\"showBorder\":true}},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"### Defense Evasion https://attack.mitre.org/tactics/TA0005/\",\"style\":\"success\"},\"name\":\"text - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = 'powershell.exe'; \\r\\n let c2 = dynamic(['-version 2', '-v 2']);\\r\\n find where (InitiatingProcessFileName == c1 and InitiatingProcessCommandLine has_any (c2)) or \\r\\n (Process == c1 and CommandLine has_any (c2)) \",\"size\":4,\"showAnalytics\":true,\"title\":\"T1562.001 - Impair Defenses: Disable or Modify Tools - PowerShell Downgrade attack\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"30\",\"name\":\"query - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let exclusion_defender= dynamic([@'c:\\\\programdata\\\\microsoft\\\\windows defender',@'c:\\\\program files\\\\windows defender']); //Exclude activities from Microsoft Defender itself\\r\\nDeviceRegistryEvents\\r\\n| where ActionType == \\\"RegistryKeyDeleted\\\"\\r\\n| where not(InitiatingProcessFolderPath has_any(exclusion_defender) and InitiatingProcessFileName == \\\"msmpeng.exe\\\") and (PreviousRegistryKey endswith '{2781761E-28E0-4109-99FE-B9D127C57AFE}' or PreviousRegistryKey endswith '{A7C452EF-8E9F-42EB-9F2B-245613CA0DC9}')\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1562.001 - Impair Defenses: Removal Of AMSI Provider Registry Keys\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"T1562.001 - Impair Defenses: Removal Of AMSI Provider Registry Keys\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic(['Assembly.GetType','SetValue']); \\r\\nfind where InitiatingProcessCommandLine has_all (c1) or CommandLine has_all (c1) \",\"size\":4,\"showAnalytics\":true,\"title\":\"T1562.001 - Impair Defenses: Disable or Modify Tools - AMSI Bypass attack\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic(['Set-MpPreference', 'Add-MpPreference']);\\r\\n let c2 = dynamic([' -ExclusionPath ', ' -ExclusionExtension ', ' -ExclusionProcess ', ' -ExclusionIpAddress ', 'DisableRealtimeMonitoring ', 'DisableIOAVProtection ', 'DisableBehaviorMonitoring ', 'DisableBlockAtFirstSeen ']); \\r\\n find where (InitiatingProcessCommandLine has_any (c1) or CommandLine has_any (c1)) and \\r\\n (InitiatingProcessCommandLine has_any (c2) or CommandLine has_any (c2)) \",\"size\":4,\"showAnalytics\":true,\"title\":\"T1562.001 - Impair Defenses: Disable or Modify Tools - Defender Disabling or Exclusions\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"30\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let selection_main = dynamic([@'\\\\SOFTWARE\\\\Microsoft\\\\Windows Defender\\\\', @'\\\\SOFTWARE\\\\Policies\\\\Microsoft\\\\Windows Defender Security Center\\\\',@'\\\\SOFTWARE\\\\Policies\\\\Microsoft\\\\Windows Defender\\\\']); \\r\\nlet selection_dword_1 = dynamic(['DisableAntiSpyware','DisableAntiVirus', 'DisableBehaviorMonitoring','DisableIntrusionPreventionSystem', 'DisableIOAVProtection', 'DisableOnAccessProtection','DisableRealtimeMonitoring','DisableScanOnRealtimeEnable','DisableScriptScanning','DisableEnhancedNotifications', 'DisableBlockAtFirstSeen']); \\r\\nlet selection_dword_0 = dynamic(['DisallowExploitProtectionOverride', 'TamperProtection', 'MpEnablePus', 'PUAProtection', 'ForceUpdateFromMU', 'SpynetReporting', 'SubmitSamplesConsent','EnableControlledFolderAccess']); \\r\\nlet exclusion_defender= dynamic([@'c:\\\\programdata\\\\microsoft\\\\windows defender',@'c:\\\\program files\\\\windows defender']); //Exclude activities from Microsoft Defender itself\\r\\nDeviceRegistryEvents\\r\\n| where ActionType == \\\"RegistryValueSet\\\"\\r\\n| where RegistryKey has_any (selection_main)\\r\\n| where (RegistryKey matches regex @\\\"(?i)(\\\\\\\\Real-Time Protection|\\\\\\\\Reporting|\\\\\\\\SpyNet)$\\\" and RegistryValueName has_any (selection_dword_1) and RegistryValueType =~ \\\"Dword\\\" and RegistryValueData == 1 )//DWORD (0x00000001) \\r\\nor \\r\\n(RegistryKey matches regex @\\\"(?i)(\\\\\\\\App and Browser protection|\\\\\\\\Features|\\\\\\\\MpEngine|\\\\\\\\Signature Update|\\\\\\\\SpyNet|\\\\\\\\Windows Defender Exploit Guard\\\\\\\\Controlled Folder Access)$\\\" and RegistryValueName has_any(selection_dword_0) and RegistryValueType =~ \\\"Dword\\\" and RegistryValueData == 0 )//DWORD (0x00000000) \\r\\n| where not(InitiatingProcessFolderPath has_any (exclusion_defender) and InitiatingProcessFileName == \\\"msmpeng.exe\\\") //Exclude activities from Microsoft Defender itself\\r\\n//| summarize count(), start_TimeStamp =min(TimeGenerated),last_TimeStamp=max(TimeGenerated), set_DeviceName=make_set(DeviceName), DeviceNum=dcount(DeviceName), set_RegistryValueName=make_set(RegistryValueName) by ActionType, InitiatingProcessAccountDomain, InitiatingProcessAccountName, InitiatingProcessFolderPath, InitiatingProcessParentFileName, InitiatingProcessFileName, InitiatingProcessCommandLine, RegistryKey, TenantId\\r\\n//| project start_TimeStamp, last_TimeStamp, ActionType, InitiatingProcessParentFileName, InitiatingProcessFolderPath, InitiatingProcessFileName, InitiatingProcessCommandLine, RegistryKey, set_RegistryValueName, DeviceNum, set_DeviceName, count_, TenantId\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1562.001 ImpairDefenses - Disable Defender Functionalities Via Registry Keys\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceRegistryEvents\\r\\n| where RegistryKey endswith @\\\"\\\\Control\\\\MiniNt\\\" \",\"size\":4,\"showAnalytics\":true,\"title\":\"T1562.002 - Impair Defenses: Disable Windows Logging\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic(['1102','104']);\\r\\nunion isfuzzy=true \\r\\n(SecurityEvent\\r\\n| where EventSourceName =~ \\\"Microsoft-Windows-Eventlog\\\" and EventID in (c1)),\\r\\n(WindowsEvent\\r\\n| where Provider =~ \\\"Microsoft-Windows-Eventlog\\\" and EventID in (c1)),\\r\\n(Event\\r\\n| where EventLog =~ \\\"Microsoft-Windows-Eventlog\\\" and EventID in (c1)) \",\"size\":4,\"showAnalytics\":true,\"title\":\"T1562.002 - Impair Defenses: Disable Windows Logging on EventID\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"30\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let selection_wevtutil = dynamic([\\\"/e:false\\\", \\\"cl\\\", \\\"clear-log\\\"]);\\r\\nDeviceProcessEvents\\r\\n| where ProcessCommandLine has \\\"WEVTUTIL\\\" and ProcessCommandLine has_any(selection_wevtutil)\\r\\n//| summarize count(), first_seen = min(TimeGenerated), last_seen = max(TimeGenerated) by TenantId, DeviceName, AccountName, InitiatingProcessFolderPath, FolderPath, ProcessCommandLine\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1562.002 Impair Defenses: Disable Windows Logging using wevtutil\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceEvents\\r\\n| where ActionType == \\\"BrowserLaunchedToOpenUrl\\\" and isnotempty(RemoteUrl) \\r\\n| where base64_decode_tostring(extract(@\\\".+http.*\\\\%2F([A-Za-z0-9+\\\\/]{6,}=?)\\\", 1, RemoteUrl)) has_any (\\\".gov\\\", \\\".com\\\") \",\"size\":4,\"showAnalytics\":true,\"title\":\"T1027.006 - HTML Smuggling\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2 \"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"TH ADS\"},\"name\":\"group - 7 - Copy - Copy\",\"styleSettings\":{\"showBorder\":true}},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"### Credential Access https://attack.mitre.org/tactics/TA0006/\",\"style\":\"success\"},\"name\":\"text - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic([\\\"procdump\\\", \\\"lsass\\\"]); \\r\\nlet c2 = dynamic([\\\"rundll32\\\", \\\"comsvcs\\\", \\\"MiniDump\\\"]);\\r\\nlet c3 = dynamic(['MiniDump',' full']); \\r\\nlet c4 = 'sekurlsa'; \\r\\nfind where InitiatingProcessCommandLine has_all (c1) or ProcessCommandLine has_all (c1) or CommandLine has_all (c1) or\\r\\nInitiatingProcessCommandLine has_all (c2) or ProcessCommandLine has_all (c2) or CommandLine has_all (c2) or\\r\\nInitiatingProcessCommandLine has_all (c3) or ProcessCommandLine has_all (c3) or CommandLine has_all (c3) or \\r\\nInitiatingProcessCommandLine has c4 or ProcessCommandLine has c4 or CommandLine has c4 \\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1003.001 - OS Credential Dumping LSASS Memory\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic([\\\"ntds.dit\\\"]); \\r\\nfind where InitiatingProcessCommandLine has_all (c1) or ProcessCommandLine has_all (c1) or CommandLine has_all (c1) \\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1003.003 - OS Credential Dumping Exfiltrate ntds.dit\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic([\\\"Invoke-NinjaCopy\\\",\\\"Secretsdump.py\\\",\\\"DSInternals\\\"]);\\r\\nfind where InitiatingProcessCommandLine has_any (c1) or ProcessCommandLine has_any (c1) or CommandLine has_any (c1) \\r\\n\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1003.003 - OS Credential Dumping: NTDS using Tools\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"30\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let selection_properties = dynamic(['Replicating Directory Changes All','1131f6ad-9c07-11d1-f79f-00c04fc2dcd2','1131f6aa-9c07-11d1-f79f-00c04fc2dcd2','9923a32a-3607-11d2-b9be-0000f87a36b2','89e95b76-444d-4c62-991a-0facbeda640c']);\\r\\nlet selection_AccessMask = '0x100';\\r\\nlet filter1 = 'Window Manager';\\r\\nlet filter2 = @\\\"^(NT AUT|MSOL_)\\\";\\r\\nlet filter3 = \\\"$\\\";\\r\\nSecurityEvent\\r\\n| where EventID == 4662\\r\\n| where Properties has_any (selection_properties) and AccessMask == selection_AccessMask\\r\\n| where not(SubjectDomainName == filter1 or SubjectUserName matches regex filter2 or SubjectUserName endswith filter3)\\r\\n| summarize first_TimeStamp=min(TimeGenerated), last_TimeStamp=max(TimeGenerated), count(), set_SubjectDomainNAme = make_set(SubjectDomainName), set_SubjectUserName = make_set(SubjectUserName), set_Properties=make_set(Properties) by Account, Computer, TenantId\\r\\n\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1003.006 - OS Credential Dumping: DCSync\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic([\\\"dir\\\", \\\".ssh\\\",\\\"known_hosts\\\"]); \\r\\nlet c2 = dynamic([\\\"dir\\\", @\\\"firefox\\\\profiles\\\"]); \\r\\nlet c3 = dynamic([\\\"reg\\\", \\\" query\\\", \\\"OpenSSH\\\"]); \\r\\nlet c4 = dynamic([\\\"reg\\\", \\\" query\\\", \\\"realvnc\\\"]); \\r\\nlet c5 = dynamic([\\\"reg\\\", \\\" query\\\", @\\\"putty\\\\session\\\"]); \\r\\nlet c6 = dynamic([\\\"reg\\\", \\\" save\\\", @\\\" hklm\\\\sam\\\", \\\" ss.dat\\\"]); \\r\\nlet c7 = dynamic([\\\"reg\\\", \\\" save\\\", @\\\" hklm\\\\system\\\", \\\" sy.dat\\\"]); \\r\\nfind where (InitiatingProcessCommandLine has_all (c1) or ProcessCommandLine has_all (c1) or CommandLine has_all (c1)) or\\r\\n(InitiatingProcessCommandLine has_all (c2) or ProcessCommandLine has_all (c2) or CommandLine has_all (c2)) or\\r\\n(InitiatingProcessCommandLine has_all (c3) or ProcessCommandLine has_all (c3) or CommandLine has_all (c3)) or \\r\\n(InitiatingProcessCommandLine has_all (c4) or ProcessCommandLine has_all (c4) or CommandLine has_all (c4)) or\\r\\n(InitiatingProcessCommandLine has_all (c5) or ProcessCommandLine has_all (c5) or CommandLine has_all (c5)) or\\r\\n(InitiatingProcessCommandLine has_all (c6) or ProcessCommandLine has_all (c6) or CommandLine has_all (c6)) or\\r\\n(InitiatingProcessCommandLine has_all (c7) or ProcessCommandLine has_all (c7) or CommandLine has_all (c7)) \\r\\n\\r\\n\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1555 - Credentials from Password Stores\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = @'reg.*query\\\\s.*password';\\r\\nfind where InitiatingProcessCommandLine matches regex c1 or ProcessCommandLine matches regex c1 or CommandLine matches regex c1 \\r\\n\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1552.002 - REGISTRY Password Dumping\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"30\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityEvent \\r\\n | where EventID == 4769 \\r\\n | parse EventData with * 'ServiceName\\\">' ServiceName \\\"<\\\" * \\r\\n | where ServiceName contains \\\"pick\\\"\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1558.003 - Steal or Forge Kerberos Tickets: Kerberoasting\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SigninLogs \\r\\n| where parse_json(RiskEventTypes_V2) has \\\"unfamiliarFeatures\\\" and RiskLevelDuringSignIn == \\\"high\\\"\\r\\n| where ResultType == \\\"0\\\"\\r\\n| where AppDisplayName == \\\"OfficeHome\\\"\\r\\n| project-reorder TimeGenerated,IPAddress, Location, UserPrincipalName, AppDisplayName, Category, ResultType, ResultDescription, RiskLevelDuringSignIn, RiskEventTypes_V2, RiskDetail, AutonomousSystemNumber, AuthenticationDetails\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1557 - AiTM - Phishing logging\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"30\",\"name\":\"query - 2 \"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"TH ADS\"},\"name\":\"group - 7\",\"styleSettings\":{\"showBorder\":true}},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"### Discovery https://attack.mitre.org/tactics/TA0007/\",\"style\":\"success\"},\"name\":\"text - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic([\\\"curl\\\", \\\"www.ip-api.com\\\"]);\\r\\nlet c2 = dynamic([\\\"ldifde.exe\\\", \\\"subtree\\\"]);\\r\\nfind where InitiatingProcessCommandLine has_all (c1) or ProcessCommandLine has_all (c1) or CommandLine has_all (c1) or\\r\\nInitiatingProcessCommandLine has_all (c2) or ProcessCommandLine has_all (c2) or CommandLine has_all (c2) \\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1016 - Enumerate Network Topology\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic([\\\"Get-EventLog\\\", \\\"4624\\\"]);\\r\\nfind where InitiatingProcessCommandLine has_all (c1) or ProcessCommandLine has_all (c1) or CommandLine has_all (c1) \\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1033 - Identify successful logons to the host\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 1 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic([\\\"cmd\\\", \\\"wmic\\\", \\\"caption\\\", \\\"filesystem\\\"]); \\r\\nfind where InitiatingProcessCommandLine has_all (c1) or ProcessCommandLine has_all (c1) or CommandLine has_all (c1) \\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1082 - System Information Discovery\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"30\",\"name\":\"query - 1 \"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"TH ADS\"},\"name\":\"group - 8\",\"styleSettings\":{\"showBorder\":true}},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"### Lateral Movement https://attack.mitre.org/tactics/TA0008/\",\"style\":\"success\"},\"name\":\"text - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let webserver_ip = ()\\r\\n{DeviceNetworkEvents\\r\\n| where InitiatingProcessFileName has_any ('w3wp','nginx','apache') and LocalIPType == \\\"Private\\\"\\r\\n| distinct LocalIP};\\r\\nDeviceNetworkEvents\\r\\n| where (LocalIP has_any (webserver_ip()) or DeviceName contains \\\"Web\\\") and RemotePort in (3389,22)\\r\\n| distinct RemoteIP, DeviceName,RemotePort, InitiatingProcessCommandLine\\r\\n\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1021 - Lateral Movement - Remote Services\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceFileEvents\\r\\n| where RequestProtocol == \\\"Smb\\\" \\r\\n| where FileName endswith \\\".exe\\\" // Filter for executables, remove for a wider scope \\r\\n| summarize make_set(FileName), make_set(DeviceName), make_set(SHA1), make_set(ShareName), count() by RequestSourceIP, RequestAccountName\\r\\n| where count_ < 20 // Filter on lower count to reduce noise\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1021.002 - SMB/Windows Admin Shares\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 1 - Copy\"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"TH ADS\"},\"name\":\"group - 9\",\"styleSettings\":{\"showBorder\":true}},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"### Command and Control https://attack.mitre.org/tactics/TA0011/\",\"style\":\"success\"},\"name\":\"text - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic([\\\"portproxy\\\", \\\"netsh\\\", \\\"add\\\"]);\\r\\nfind where InitiatingProcessCommandLine has_all (c1) or ProcessCommandLine has_all (c1) or CommandLine has_all (c1)\\r\\n\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1090 - Proxy\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 1\"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"TH ADS\"},\"name\":\"group - 10\",\"styleSettings\":{\"showBorder\":true}},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"### Impact https://attack.mitre.org/tactics/TA0040/\",\"style\":\"success\"},\"name\":\"text - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceEvents\\r\\n| where ActionType in ('AsrRansomwareBlocked', 'AsrRansomwareAudited')\\r\\n| where FileName !in ('vssadmin.exe')\\r\\n| summarize arg_max(TimeGenerated, *), TotalEvents = count(), TriggeredFiles = make_set(FileName), FileHashes = make_set(SHA1), IntiatingProcesses = make_set(InitiatingProcessCommandLine) by DeviceName, AccountName\\r\\n| project TimeGenerated, DeviceName, AccountDomain, AccountName, TotalEvents, TriggeredFiles, FileHashes, IntiatingProcesses \\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"T1486 - ASR Ransomware - Detects when the ASR rule AsrRansomwareBlocked or AsrRansomwareAudited is triggered\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 1\"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"TH ADS\"},\"name\":\"group - 10 - Copy\",\"styleSettings\":{\"showBorder\":true}},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"title\":\"Malware / Tools\",\"items\":[{\"type\":1,\"content\":{\"json\":\"### Impacket https://attack.mitre.org/software/S0357/\",\"style\":\"success\"},\"name\":\"text - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic([\\\"cmd.exe\\\", \\\"2>&1\\\", \\\"ADMIN$\\\"]);\\r\\nfind where InitiatingProcessCommandLine has_all (c1) or ProcessCommandLine has_all (c1) or CommandLine has_all (c1) \\r\\n\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"S0357 - Potential Impacket Execution \\\"dir\\\" command\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"(union isfuzzy=true\\r\\n (SecurityEvent\\r\\n | where EventID == '5145'\\r\\n | where RelativeTargetName has 'SYSTEM32' and RelativeTargetName endswith @\\\".tmp\\\"\\r\\n | where ShareName has \\\"\\\\\\\\\\\\\\\\*\\\\\\\\ADMIN$\\\"\\r\\n ),\\r\\n (WindowsEvent\\r\\n | where EventID == '5145' \\r\\n | extend RelativeTargetName= tostring(EventData.RelativeTargetName)\\r\\n | extend ShareName= tostring(EventData.ShareName)\\r\\n | where RelativeTargetName has 'SYSTEM32' and RelativeTargetName endswith @\\\".tmp\\\"\\r\\n | where ShareName has \\\"\\\\\\\\\\\\\\\\*\\\\\\\\ADMIN$\\\"\\r\\n | extend Account = strcat(tostring(EventData.SubjectDomainName),\\\"\\\\\\\\\\\", tostring(EventData.SubjectUserName))\\r\\n )\\r\\n )\\r\\n | extend timestamp = TimeGenerated \\r\\n | extend NTDomain = split(Account, '\\\\\\\\', 0)[0], UserName = split(Account, '\\\\\\\\', 1)[0]\\r\\n | extend HostName = split(Computer, '.', 0)[0], DnsDomain = strcat_array(array_slice(split(Computer, '.'), 1, -1), '.')\\r\\n | extend Account_0_Name = UserName\\r\\n | extend Account_0_NTDomain = NTDomain\\r\\n | extend Host_0_HostName = HostName\\r\\n | extend Host_0_DnsDomain = DnsDomain\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"S0357 - Impacket Secretdump with SMB2\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 2\"},{\"type\":1,\"content\":{\"json\":\"### Cobalt Strike https://attack.mitre.org/software/S0154/\",\"style\":\"success\"},\"name\":\"text - 3\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let badNames = dynamic([\\\"aaa.stage\\\",\\\"baa.stage\\\",\\\"caa.stage\\\", \\\"post.1\\\"]);\\r\\n(union isfuzzy=true\\r\\n(DnsEvents \\r\\n| where Name has_any (badNames)\\r\\n| extend Domain = Name, SourceIp = ClientIP, RemoteIP = todynamic(IPAddresses)\\r\\n| mvexpand RemoteIP\\r\\n| extend RemoteIP = tostring(RemoteIP)),\\r\\n(VMConnection\\r\\n| where isnotempty(RemoteDnsCanonicalNames) \\r\\n| parse RemoteDnsCanonicalNames with * '[\\\"' DNSName '\\\"]' *\\r\\n| where DNSName has_any (badNames)\\r\\n| extend Domain = DNSName, RemoteIP = RemoteIp\\r\\n))\\r\\n| summarize StartTimeUtc = min(TimeGenerated), EndTimeUtc = max(TimeGenerated) by Domain, SourceIp, RemoteIP, Computer\\r\\n| extend timestamp = StartTimeUtc, HostCustomEntity = Computer, IPCustomEntity = RemoteIP\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"S0154 - Cobalt Strike: DNS Beaconing\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let selection_MSSE = dynamic([@'\\\\MSSE-', '-server']);\\r\\nlet selection_Pipename = dynamic(['\\\\\\\\postex_', '\\\\\\\\status_', '\\\\\\\\msagent_', '\\\\\\\\mojo_', '\\\\\\\\interprocess_', '\\\\\\\\samr_', '\\\\\\\\netlogon_', '\\\\\\\\srvsvc_', '\\\\\\\\lsarpc_', '\\\\\\\\wkssvc_']); // Also include the pipe \\\"\\\\postex_ssh_\\\"\\r\\nDeviceEvents\\r\\n| where ActionType == \\\"NamedPipeEvent\\\"\\r\\n| extend FileOperation_ = tostring(AdditionalFields.FileOperation)\\r\\n| extend PipeName_ = tostring(AdditionalFields.PipeName)\\r\\n| where FileOperation_ == \\\"File created\\\"\\r\\n| where PipeName_ has_all (selection_MSSE) or PipeName_ has_any (selection_Pipename)\\r\\n| where not(InitiatingProcessFolderPath contains \\\"kdsstm.exe\\\" and PipeName_ contains \\\"kyoceradocumentsolutions\\\") // Kyocera drivers\\r\\n//| summarize count(), earliest_Timestamp=min(TimeGenerated) by ActionType, DeviceName, InitiatingProcessParentFileName, InitiatingProcessAccountDomain, InitiatingProcessAccountName, InitiatingProcessFolderPath, InitiatingProcessCommandLine, FileOperation_, PipeName_, TenantId\",\"size\":4,\"showAnalytics\":true,\"title\":\"S0154 - Cobalt Strike: NamedPipe\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 2 \"},{\"type\":1,\"content\":{\"json\":\"### QakBot https://attack.mitre.org/software/S0650/\",\"style\":\"success\"},\"name\":\"text - 9\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic(['net view', 'cmd /c set', 'nslookup-querytype=ALL -timeout=12', '_ldap._tcp.dc._msdcs.WORKGROUP', 'net share', 'net1 share', 'route print', 'net localgroup', 'whoami /all']);\\r\\nfind where InitiatingProcessCommandLine in (c1) or ProcessCommandLine in (c1) or CommandLine in (c1) \\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"S0650 - Qakbot: Post compromise commands\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic([@'/c ping.exe -n 6 127.0.0.1 & type']);\\r\\nlet c2 = dynamic(['regsvr32.exe','.tmp',@'C:\\\\ProgramData']);\\r\\nfind where InitiatingProcessCommandLine has_all (c1) or ProcessCommandLine has_all (c1) or CommandLine has_all (c1) or\\r\\nInitiatingProcessCommandLine has_all (c2) or ProcessCommandLine has_all (c2) or CommandLine has_all (c2) \\r\\n\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"S0650 - Qakbot: Process executions\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"35\",\"name\":\"query - 2 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let selection_1 = dynamic([@'SOFTWARE\\\\Microsoft\\\\Windows Defender\\\\Exclusions\\\\Paths', @'SOFTWARE\\\\Microsoft\\\\Microsoft Antimalware\\\\Exclusions\\\\Paths']); \\r\\nlet selection_2 = dynamic(['ADD ', @'/t ','REG_DWORD ',@'/v ',@'/d ', '0']); \\r\\nDeviceProcessEvents\\r\\n| where ActionType == \\\"ProcessCreated\\\"\\r\\n| where FolderPath endswith @'\\\\\\\\reg.exe'\\r\\n| where ProcessCommandLine has_any (selection_1) and ProcessCommandLine has_all (selection_2)\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"S0650 - Qakbot: Defender Exclusions\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"30\",\"name\":\"query - 2 \"},{\"type\":1,\"content\":{\"json\":\"### Bloodhound/Sharphound https://attack.mitre.org/software/S0521/\",\"style\":\"success\"},\"name\":\"text - 10\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\" let c1 = dynamic([' -CollectionMethod All ', ' --CollectionMethods Session ', ' --Loop --Loopduration ', ' --PortScanTimeout ', '.exe -c All -d', 'Invoke-Bloodhound', 'Get-BloodHoundData']);\\r\\n let c2 = dynamic([' -JsonFolder ', ' -ZipFileName ']);\\r\\n let c3 = dynamic([' DCOnly ', ' --NoSaveCache ']);\\r\\n find where (InitiatingProcessCommandLine has_any (c1) or ProcessCommandLine has_any (c1) or CommandLine has_any (c1)) or \\r\\n InitiatingProcessCommandLine has_all (c2) or ProcessCommandLine has_all (c2) or CommandLine has_all (c2) or \\r\\n InitiatingProcessCommandLine has_all (c3) or ProcessCommandLine has_any (c3) or CommandLine has_all (c3) \\r\\n\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"S0521 - Bloodhound/Sharphound Execution Commandlets\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 2 \"},{\"type\":1,\"content\":{\"json\":\"### AdFind https://attack.mitre.org/software/S0552/\",\"style\":\"success\"},\"name\":\"text - 12\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let c1 = dynamic(['domainlist', 'trustdmp', 'dcmodes', 'adinfo', ' dclist ', 'computer_pwdnotreqd', 'objectcategory=', '-subnets -f', 'name=\\\"Domain Admins\\\"', '-sc u:', 'domainncs', 'dompol', ' oudmp ', 'subnetdmp', 'gpodmp', 'fspdmp', 'users_noexpire', 'computers_active', 'computers_pwdnotreqd']);\\r\\nfind where \\r\\nFileName =~ \\\"AdFind.exe\\\" or ProcessVersionInfoOriginalFileName =~ \\\"AdFind.exe\\\" or \\r\\nInitiatingProcessFileName =~ \\\"AdFind.exe\\\" or InitiatingProcessVersionInfoOriginalFileName =~ \\\"AdFind.exe\\\" or Process =~ \\\"AdFind.exe\\\" or\\r\\nProcessCommandLine has_any (c1) \\r\\n\\r\\n\\r\\n\",\"size\":4,\"showAnalytics\":true,\"title\":\"S0552 - AdFind Execution\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"rowLimit\":10000}},\"customWidth\":\"50\",\"name\":\"query - 2 \"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"TH ADS\"},\"name\":\"group - 11\",\"styleSettings\":{\"showBorder\":true}},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"title\":\"Open Source TI hunts\",\"items\":[{\"type\":1,\"content\":{\"json\":\"# Threat Hunts based on Open-Source-Threat-Intel-Feeds\\n\\nref.
\\n[Bert-Jan](https://github.com/Bert-JanP/Open-Source-Threat-Intel-Feeds)
\\n[montysecurity](https://github.com/montysecurity)
\\n[tweetfeed.live](https://tweetfeed.live/)
\\n[drb-ra](https://github.com/drb-ra/C2IntelFeeds)
\\n\"},\"name\":\"text - 0\"},{\"type\":1,\"content\":{\"json\":\"# IP IOCs \",\"style\":\"success\"},\"name\":\"text - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"// TI - montysecurity\\nlet BruteRatel = externaldata(IP:string, Tag:string, TIFeed:string)[@\\\"https://raw.githubusercontent.com/montysecurity/C2-Tracker/main/data/Brute%20Ratel%20C4%20IPs.txt\\\"] | extend Tag='BruteRatel', TIFeed='montysecurity';\\nlet AresRat = externaldata(IP:string, Tag:string, TIFeed:string)[@\\\"https://raw.githubusercontent.com/montysecurity/C2-Tracker/main/data/Ares%20RAT%20C2%20IPs.txt\\\"] | extend Tag='AresRat', TIFeed='montysecurity';\\nlet CalderaC2 = externaldata(IP:string, Tag:string, TIFeed:string)[@\\\"https://raw.githubusercontent.com/montysecurity/C2-Tracker/main/data/Caldera%20C2%20IPs.txt\\\"] | extend Tag='CalderaC2', TIFeed='montysecurity';\\nlet CobaltStrike = externaldata(IP:string, Tag:string, TIFeed:string)[@\\\"https://raw.githubusercontent.com/montysecurity/C2-Tracker/main/data/Cobalt%20Strike%20C2%20IPs.txt\\\"] | extend Tag='CobaltStrike', TIFeed='montysecurity';\\nlet Covenant = externaldata(IP:string, Tag:string, TIFeed:string)[@\\\"https://raw.githubusercontent.com/montysecurity/C2-Tracker/main/data/Covenant%20C2%20IPs.txt\\\"] | extend Tag='Covenant', TIFeed='montysecurity';\\nlet MetasploitFrameworkC2 = externaldata(IP:string, Tag:string, TIFeed:string)[@\\\"https://github.com/montysecurity/C2-Tracker/raw/main/data/Metasploit%20Framework%20C2%20IPs.txt\\\"] | extend Tag='MetasploitFrameworkC2', TIFeed='montysecurity';\\nlet RemcosProRAT = externaldata(IP:string, Tag:string, TIFeed:string)[@\\\"https://github.com/montysecurity/C2-Tracker/raw/main/data/Remcos%20Pro%20RAT%20Trojan%20IPs.txt\\\"] | extend Tag='RemcosProRAT', TIFeed='montysecurity';\\nlet SliverC2 = externaldata(IP:string, Tag:string, TIFeed:string)[@\\\"https://github.com/montysecurity/C2-Tracker/raw/main/data/Remcos%20Pro%20RAT%20Trojan%20IPs.txt\\\"] | extend Tag='SliverC2', TIFeed='montysecurity';\\nlet montysecurity_all = externaldata(IP:string, Tag:string, TIFeed:string)[@\\\"https://github.com/montysecurity/C2-Tracker/raw/main/data/all.txt\\\"] | extend Tag='montysecurity_all', TIFeed='montysecurity';\\n// tweetfeed.live\\nlet tweetfeed_live = externaldata( Date_:datetime, reporter:string, type:string, IP:string, tag:string , twiter:string, Tag:string, TIFeed:string)[@\\\"https://raw.githubusercontent.com/0xDanielLopez/TweetFeed/master/month.csv\\\"] | where type=='ip' | extend Tag=strcat(tag,\\\" - \\\", twiter), TIFeed='tweetfeed.live';\\n// proofpoint\\nlet proofpoint = externaldata(IP:string, Tag:string, TIFeed:string)[@\\\"https://rules.emergingthreats.net/blockrules/compromised-ips.txt\\\"] | extend Tag='compromised-ips', TIFeed='proofpoint';\\n// CINS // 15000\\nlet cins = externaldata(IP:string, Tag:string, TIFeed:string)[@\\\"https://cinsscore.com/list/ci-badguys.txt\\\"] | extend Tag='CI-badguys', TIFeed='CINS';\\n// drb-ra C2IntelFeeds\\nlet ['drb-ra'] = externaldata(IP:string, Tag:string, TIFeed:string)[@\\\"https://github.com/drb-ra/C2IntelFeeds/raw/master/feeds/IPC2s-30day.csv\\\"] | extend Tag=strcat(Tag, ' - C2IntelFeeds'), TIFeed='drb-ra';\\nlet whitelist= dynamic(['']); // Add IPs to whitelist\\nlet IPList = union BruteRatel,AresRat, CalderaC2,CobaltStrike,Covenant, MetasploitFrameworkC2, RemcosProRAT, SliverC2, montysecurity_all, tweetfeed_live, proofpoint,cins,['drb-ra'] | where IP !in (whitelist) | summarize TIName=make_set(Tag) by IP, TIFeed;\\nDeviceNetworkEvents\\n| where RemoteIP in (IPList)\\n//| where InitiatingProcessFileName !in ('svchost.exe','cvd.exe','cvfwd.exe','dns.exe','firefox.exe','msedge.exe','chrome.exe') //filter on process\\n//| where ActionType !in ('InboundConnectionAccepted') // filter on action type\\n| join IPList on $left.RemoteIP == $right.IP\\n| extend GeoIPInfo = geo_info_from_ip_address(RemoteIP)\\n| extend country = tostring(parse_json(GeoIPInfo).country), state = tostring(parse_json(GeoIPInfo).state), city = tostring(parse_json(GeoIPInfo).city), latitude = tostring(parse_json(GeoIPInfo).latitude), longitude = tostring(parse_json(GeoIPInfo).longitude)\\n| project TimeGenerated, DeviceName, ActionType, RemoteIP, RemoteUrl, TIFeed, TIName, country, InitiatingProcessCommandLine, InitiatingProcessFileName, InitiatingProcessSHA1, InitiatingProcessFolderPath, InitiatingProcessParentFileName\\n\\n\",\"size\":2,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"TI\"},\"name\":\"query - 44\"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"TI\"},\"name\":\"TI1\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"# Initial Investigation - Pivoting on compromised assets \\n\",\"style\":\"info\"},\"name\":\"text - 1\"},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"parameters\":[{\"id\":\"12605331-9507-4adf-999e-6cf39a0eda8c\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"UserAccount\",\"type\":1,\"description\":\"Add user account(s) in array format e.g. \\\"user@domain.au\\\",\\\"user3\\\"\",\"typeSettings\":{\"multiLineText\":true,\"editorLanguage\":\"text\",\"multiLineHeight\":2},\"timeContext\":{\"durationMs\":86400000},\"value\":\"\\\"user@domain.au\\\",\\\"user3\\\"\"},{\"id\":\"3c68e0ad-30ce-4fb3-9102-d9277f3a7b72\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"IP_IOC\",\"label\":\"IP Addresses\",\"type\":1,\"description\":\"Add IP addresses in array format e.g. \\\"1.1.1.1\\\",\\\"8.8.8.8\\\"\",\"typeSettings\":{\"multiLineText\":true,\"editorLanguage\":\"text\",\"multiLineHeight\":2},\"timeContext\":{\"durationMs\":86400000},\"value\":\"\\\"1.1.1.1\\\",\\\"8.8.8.8\\\"\"},{\"id\":\"3c9a6385-4ff8-4c03-86ae-95b300deed1e\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Host_IOC\",\"type\":1,\"description\":\"Add host names in array format e.g. \\\"host1\\\",\\\"host2\\\"\",\"typeSettings\":{\"multiLineText\":true,\"editorLanguage\":\"text\",\"multiLineHeight\":2},\"timeContext\":{\"durationMs\":86400000},\"value\":\"\\\"host1\\\",\\\"host2\\\"\"}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"parameters - 2\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"### Security alerts in past 30 days\",\"style\":\"success\"},\"name\":\"text - 4\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityAlert\\n| where TimeGenerated > ago(30d)\\n| summarize arg_max(TimeGenerated, *) by SystemAlertId\\n| where Entities has_any ({Host_IOC}) or CompromisedEntity has_any ({Host_IOC})\\nor Entities has_any ({UserAccount}) or CompromisedEntity has_any ({UserAccount}) \\nor Entities has_any ({IP_IOC}) or CompromisedEntity has_any ({IP_IOC}) \\n| project StartTime, AlertName, AlertSeverity, CompromisedEntity, Entities, AlertLink | order by StartTime asc \",\"size\":0,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"AlertLink\",\"formatter\":7,\"formatOptions\":{\"linkTarget\":\"Url\",\"linkLabel\":\"Go to Alert\"}}]},\"sortBy\":[]},\"name\":\"query - 0\"}]},\"name\":\"Security Alerts\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"### Host activities\",\"style\":\"success\"},\"name\":\"text - 4\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceProcessEvents\\n| where DeviceName has_any ({Host_IOC}) \\n| where AccountName != \\\"system\\\" // If you suspect that the system user is compromised, remove this filter.\\n| where InitiatingProcessFileName == \\\"powershell.exe\\\"\\n| sort by TimeGenerated\\n| top 100 by TimeGenerated\\n| project TimeGenerated, DeviceName, ActionType, FileName, ProcessCommandLine, AccountDomain, AccountName, InitiatingProcessCommandLine\\n\",\"size\":1,\"title\":\"DeviceProcessEvents - Powershell executions\",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"]},\"customWidth\":\"33\",\"name\":\"query - 0\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceProcessEvents\\n| where DeviceName has_any ({Host_IOC}) \\n| where FileName in (\\\"net.exe\\\", \\\"net1.exe\\\")\\n| extend NetActionType = case(ProcessCommandLine has \\\"accounts\\\", \\\"ACCOUNTS\\\",\\n ProcessCommandLine has \\\"group\\\", \\\"GROUP\\\",\\n ProcessCommandLine has \\\"user\\\", \\\"USER\\\",\\n ProcessCommandLine has \\\"localgroup\\\", \\\"LOCALGROUP\\\",\\n \\\"Other\\\")\\n| where NetActionType != \\\"Other\\\"\\n| project-reorder TimeGenerated, ProcessCommandLine\\n| sort by TimeGenerated\",\"size\":1,\"title\":\"DeviceProcessEvents - net.exe activities\",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"]},\"customWidth\":\"33\",\"name\":\"query - 0 - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceNetworkEvents\\n| where DeviceName has_any ({Host_IOC}) \\n| where RemotePort == 445\\n| where ActionType == \\\"ConnectionSuccess\\\"\",\"size\":1,\"title\":\"DeviceNetworkEvents - successful SMB connections\",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"]},\"customWidth\":\"33\",\"name\":\"query - 0 - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceFileEvents\\n| where RequestProtocol == \\\"Smb\\\" //and FileName endswith \\\".exe\\\"\\n| where DeviceName has_any ({Host_IOC}) or RequestAccountName has_any ({UserAccount})\\n| summarize FileName_=make_set(FileName), DeviceName_=make_set(DeviceName), SHA1_=make_set(SHA1), ShareName_=make_set(ShareName), count() by RequestSourceIP\",\"size\":1,\"title\":\"DeviceFileEvents - File transfers - SMB/Windows Admin Shares \",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"]},\"customWidth\":\"33\",\"name\":\"query - 0 - Copy - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceEvents\\n| where DeviceName has_any ({Host_IOC}) \\n| where ActionType == \\\"AntivirusDetection\\\"\\n| summarize TotalDetections = count() by DeviceName , FileName, SHA1 \",\"size\":1,\"title\":\"DeviceEvents - Antivirus events\",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"]},\"customWidth\":\"33\",\"name\":\"query - 0 - Copy - Copy - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"IdentityLogonEvents \\n| where DeviceName has_any ({Host_IOC}) \\n| summarize\\n TotalDevicesAccessed = dcount(DestinationDeviceName),\\n DevicesAccessed = make_set(DestinationDeviceName),\\n ProtocolsUsed = make_set(Protocol)\\n by DeviceName\",\"size\":1,\"title\":\"IdentityLogonEvents - Devices that have been accessed by a compromised device\",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"]},\"customWidth\":\"33\",\"name\":\"query - 0 - Copy - Copy - Copy - Copy - Copy\"}]},\"name\":\"Host entities\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":1,\"content\":{\"json\":\"### User account activities\",\"style\":\"success\"},\"name\":\"text - 4\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"union isfuzzy=true SigninLogs, AADNonInteractiveUserSignInLogs\\n| where ResultType == 0\\n| where UserPrincipalName has_any ({UserAccount})\\n// In case of all details remove line below\\n| project TimeGenerated, UserPrincipalName, Category, Location, IPAddress, AppDisplayName, ClientAppUsed, RiskState\\n\",\"size\":1,\"showAnalytics\":true,\"title\":\"SigninLogs - Sign Ins by comrpomised account\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"exportToExcelOptions\":\"all\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"filter\":true}},\"customWidth\":\"33\",\"name\":\"query - 0\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"EmailEvents\\n| where SenderFromAddress has_any ({UserAccount})\\n| where AttachmentCount > 0\\n| join kind=leftouter EmailAttachmentInfo on NetworkMessageId\\n| project TimeGenerated, NetworkMessageId, SenderFromAddress, RecipientEmailAddress, Subject, ThreatTypes, SHA256\\n| join kind=leftouter DeviceFileEvents on SHA256\\n| summarize\\n EmailReciepients = make_set(RecipientEmailAddress),\\n Subject= make_set(Subject),\\n FileOnDevices = make_set(DeviceName)\\n by SHA256, NetworkMessageId\\n| extend\\n TotalReciepients = array_length(EmailReciepients),\\n DeviceWithFileInteraction = array_length(FileOnDevices)\",\"size\":1,\"showAnalytics\":true,\"title\":\"EmailEvents/DeviceFileEvents - Attachments sent from a compromised mailbox\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"exportToExcelOptions\":\"all\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"filter\":true}},\"customWidth\":\"33\",\"name\":\"query - 0 - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"AuditLogs\\n| extend InitiatingUser = parse_json(InitiatedBy.user)\\n| extend InitatingUPN = parse_json(InitiatingUser).userPrincipalName\\n| where InitatingUPN has_any ({UserAccount})\\n| project-reorder TimeGenerated, InitatingUPN, OperationName, ResultDescription, ActivityDisplayName, Resource, Result\\n\",\"size\":1,\"showAnalytics\":true,\"title\":\"AuditLogs - List AuditLog activities by user\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"exportToExcelOptions\":\"all\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"]},\"customWidth\":\"33\",\"name\":\"query - 0 - Copy\"}]},\"name\":\"Account entities\"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"piv\"},\"name\":\"group - 13\"}],\"isLocked\":false,\"fallbackResourceIds\":[],\"fromTemplateId\":\"sentinel-UserWorkbook\"}", "version": "1.0", - "sourceId": "[parameters('workbookSourceId')]", + "sourceId": "[variables('workbookSourceId')]", "category": "[parameters('workbookType')]" } } diff --git a/utilities/tools/Rapid-IOC-Search-Workbook-WASOCv1.0.json b/utilities/tools/Rapid-IOC-Search-Workbook-WASOCv1.0.json index 0bba5429..47c52a63 100644 --- a/utilities/tools/Rapid-IOC-Search-Workbook-WASOCv1.0.json +++ b/utilities/tools/Rapid-IOC-Search-Workbook-WASOCv1.0.json @@ -46,7 +46,7 @@ "displayName": "[parameters('workbookDisplayName')]", "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"crossComponentResources\":[\"value::selected\"],\"parameters\":[{\"id\":\"8e7728b6-d24b-484f-8882-30681973ac2a\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Subscription\",\"type\":6,\"isRequired\":true,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"query\":\"Resources\\r\\n| summarize Count = count() by subscriptionId\\r\\n| order by Count desc\\r\\n| extend Rank = row_number()\\r\\n| project value = subscriptionId, label = subscriptionId, selected = Rank == 1\",\"crossComponentResources\":[\"value::selected\"],\"typeSettings\":{\"additionalResourceOptions\":[],\"showDefault\":false},\"queryType\":1,\"resourceType\":\"microsoft.resourcegraph/resources\",\"value\":[]},{\"id\":\"41102d0e-96f6-42aa-9496-d43573a7537a\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Workspace\",\"type\":5,\"isRequired\":true,\"query\":\"resources | where type =~ 'Microsoft.operationsmanagement/solutions' | where name contains 'SecurityInsights' | project id = tostring(properties.workspaceResourceId)\",\"crossComponentResources\":[\"{Subscription}\"],\"typeSettings\":{\"additionalResourceOptions\":[],\"showDefault\":false},\"timeContext\":{\"durationMs\":86400000},\"queryType\":1,\"resourceType\":\"microsoft.resourcegraph/resources\",\"value\":null},{\"id\":\"79b21540-298d-4224-8349-fb32b4cb02e9\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"TimeRange\",\"label\":\"Time Range\",\"type\":4,\"isRequired\":true,\"typeSettings\":{\"selectableValues\":[{\"durationMs\":86400000},{\"durationMs\":172800000},{\"durationMs\":604800000},{\"durationMs\":1209600000},{\"durationMs\":2592000000},{\"durationMs\":5184000000},{\"durationMs\":7776000000}]},\"timeContext\":{\"durationMs\":86400000},\"value\":{\"durationMs\":2592000000}},{\"id\":\"8d9f06c4-b230-46cc-ae35-4c6b6ddb25c5\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"Instructions\",\"label\":\"Show Instructions\",\"type\":10,\"typeSettings\":{\"additionalResourceOptions\":[]},\"jsonData\":\"[\\n { \\\"value\\\":\\\"Hide\\\", \\\"label\\\":\\\"Hide\\\",\\\"selected\\\":true},\\n { \\\"value\\\":\\\"Show\\\", \\\"label\\\":\\\"Show\\\" }\\n]\",\"timeContext\":{\"durationMs\":86400000}}],\"style\":\"pills\",\"queryType\":1,\"resourceType\":\"microsoft.resourcegraph/resources\"},\"name\":\"parameters - 1\"},{\"type\":1,\"content\":{\"json\":\"This workbook help analyst to perform IOC threat hunting activites in their own agency. The search results allow SOC Analyst to immediately identify table and agency of interest, to be able to perform deeper analysis at agency's own workspaces. \\nPlease Note: The workbooks does not guarantee 100% coverage of all logs, Security analyst needs to perform further analysis in Log Analytics workspace.\\n\\n---\\n## Instructions:\\n1. Select Workspace (Default to all)\\n2. Define Time Range of search.\\n3. Prepare your IOCs. Supported IOCs (FileHash,IP Address, URL, Email)\\n4. Copy-paste your search query into the \\\"Search Query\\\" field\\n5. Contact cybersecurity@dpc.wa.gov.au for further enquiries and training on this workbook\"},\"conditionalVisibility\":{\"parameterName\":\"Instructions\",\"comparison\":\"isEqualTo\",\"value\":\"Show\"},\"name\":\"text - 0\"},{\"type\":11,\"content\":{\"version\":\"LinkItem/1.0\",\"style\":\"tabs\",\"tabStyle\":\"bigger\",\"links\":[{\"id\":\"4d3e6860-e43a-4b79-acac-f7fa20cfe0a5\",\"cellValue\":\"Tab\",\"linkTarget\":\"parameter\",\"linkLabel\":\"IP Address\",\"subTarget\":\"ip\",\"style\":\"link\"},{\"id\":\"dd6cbcf7-9e1f-4533-8003-45b4d2e989e8\",\"cellValue\":\"Tab\",\"linkTarget\":\"parameter\",\"linkLabel\":\"File Hash\",\"subTarget\":\"filehash\",\"style\":\"link\"},{\"id\":\"61df5b01-b497-4525-94b0-cad9d87aaea0\",\"cellValue\":\"Tab\",\"linkTarget\":\"parameter\",\"linkLabel\":\"URL\",\"subTarget\":\"url\",\"style\":\"link\"},{\"id\":\"f861bc97-f235-414b-82df-898af0b47a87\",\"cellValue\":\"Tab\",\"linkTarget\":\"parameter\",\"linkLabel\":\"Email (External)\",\"subTarget\":\"email_external\",\"style\":\"link\"}]},\"name\":\"links - 2\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"parameters\":[{\"id\":\"28514c62-46bc-49f9-9b5e-ce7b5512200e\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"IP_IOC\",\"label\":\"IP Addresses\",\"type\":1,\"description\":\"Add IP addresses in array format e.g. (\\\"1.1.1.1\\\",\\\"8.8.8.8\\\")\",\"typeSettings\":{\"multiLineText\":true,\"editorLanguage\":\"text\"},\"timeContext\":{\"durationMs\":86400000},\"value\":\"(\\\"8.8.8.8\\\",\\\"1.1.1.1\\\")\"}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"parameters - 3\"},{\"type\":1,\"content\":{\"json\":\"### SecurityAlert\"},\"name\":\"text - 47\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityAlert\\r\\n|summarize arg_max(TimeGenerated,*) by SystemAlertId\\r\\n| extend Entities = iff(isempty(Entities), todynamic('[{\\\"dummy\\\" : \\\"\\\"}]'), todynamic(Entities))\\r\\n| mvexpand Entities\\r\\n| evaluate bag_unpack(Entities, \\\"Entity_\\\")\\r\\n| extend Entity_Type = columnifexists(\\\"Entity_Type\\\", \\\"\\\")\\r\\n| extend Entity_Name = columnifexists(\\\"Entity_Name\\\", \\\"\\\")\\r\\n| extend Entity_ResourceId = columnifexists(\\\"Entity_ResourceId\\\", \\\"\\\")\\r\\n| extend Entity_Directory = columnifexists(\\\"Entity_Directory\\\", \\\"\\\")\\r\\n| extend Entity_Value = columnifexists(\\\"Entity_Value\\\", \\\"\\\")\\r\\n| extend Entity_HostName = columnifexists(\\\"Entity_HostName\\\", \\\"\\\")\\r\\n| extend Entity_Address = columnifexists(\\\"Entity_Address\\\", \\\"\\\")\\r\\n| extend Entity_ProcessId = columnifexists(\\\"Entity_ProcessId\\\", \\\"\\\")\\r\\n| extend Entity_Url = columnifexists(\\\"Entity_Url\\\", \\\"\\\")\\r\\n| extend Target = iif(Entity_Type == \\\"account\\\", Entity_Name, iif(Entity_Type == \\\"azure-resource\\\", Entity_ResourceId, iif(Entity_Type == \\\"cloud-application\\\", Entity_Name, iif(Entity_Type == \\\"dns\\\", Entity_Name, iif(Entity_Type == \\\"file\\\", strcat(Entity_Directory, \\\"\\\\\\\\\\\", Entity_Name), iif(Entity_Type == \\\"filehash\\\", Entity_Value, iif(Entity_Type == \\\"host\\\", Entity_HostName, iif(Entity_Type == \\\"ip\\\" , Entity_Address, iif(Entity_Type == \\\"malware\\\", Entity_HostName, iif(Entity_Type == \\\"network-connection\\\", Entity_Name, iif(Entity_Type == \\\"process\\\", Entity_ProcessId, iif(Entity_Type == \\\"registry-key\\\", Entity_Name, iif(Entity_Type == \\\"registry-value\\\", Entity_Name, iif(Entity_Type == \\\"security-group\\\", Entity_Name, iif(Entity_Type == \\\"url\\\", Entity_Url, \\\"NoTarget\\\")))))))))))))))\\r\\n| where Entity_Type == \\\"ip\\\"\\r\\n|where Target has_any {IP_IOC}\\r\\n|summarize IOC=make_set(Target), AlertName=make_set(AlertName),SystemAlertId=make_set(SystemAlertId) ,count_=count(Target) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend AlertName = tostring(strcat_array(AlertName,\\\", \\\")), SystemAlertId = tostring(strcat_array(SystemAlertId,\\\", \\\"))\\r\\n|project AlertName, SystemAlertId, count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"SecurityAlert - IP\",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"AlertName\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"30%\"}},{\"columnMatch\":\"SystemAlertId\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"30%\"}},{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"20%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"name\":\"SecurityAlert\"},{\"type\":1,\"content\":{\"json\":\"### Azure Active Directory\"},\"name\":\"text - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SigninLogs\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where IPAddress has_any {IP_IOC}\\r\\n|summarize IOC=make_set(IPAddress), count_=count(IPAddress) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"SigninLogs - IPAddress\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"AAD-1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"AADNonInteractiveUserSignInLogs\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where IPAddress has_any {IP_IOC}\\r\\n|summarize IOC=make_set(IPAddress), count_=count(IPAddress) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"AADNonInteractiveUserSignInLogs - IPAddress\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"AAD-2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"AADServicePrincipalSignInLogs\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where IPAddress has_any {IP_IOC}\\r\\n|summarize IOC=make_set(IPAddress), count_=count(IPAddress) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"AADServicePrincipalSignInLogs - IPAddress\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"AAD-3\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"ADFSSignInLogs\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where IPAddress has_any {IP_IOC}\\r\\n|summarize IOC=make_set(IPAddress), count_=count(IPAddress) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"ADFSSignInLogs - IPAddress\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"Agency_Short\",\"label\":\"Agency\"},{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"AAD-4\"},{\"type\":1,\"content\":{\"json\":\"### Azure Activity, Azure AD Identity Protection,Microsoft Defender for Cloud, Azure Information Protection\"},\"name\":\"text - 2 - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"AzureActivity\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where CallerIpAddress has_any {IP_IOC}\\r\\n|summarize IOC=make_set(CallerIpAddress), count_=count(CallerIpAddress) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"AzureActivity - CallerIpAddress\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"AzureActivity-1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityAlert\\r\\n|where ProviderName == \\\"IPC\\\"\\r\\n|extend IPAddress_ = tostring(parse_json(ExtendedProperties).[\\\"Client IP Address\\\"])\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where IPAddress_ has_any {IP_IOC}\\r\\n|summarize IOC=make_set(IPAddress_), count_=count(IPAddress_) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"showAnalytics\":true,\"title\":\"Azure AD Identity Protection - IPAddress_\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"AADIPC-1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityAlert\\r\\n|where ProviderName == \\\"Azure Security Center\\\"\\r\\n|extend IPAddress_ = tostring(parse_json(ExtendedProperties).Answers)\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where IPAddress_ has_any {IP_IOC}\\r\\n|summarize IOC=make_set(IPAddress_), count_=count(IPAddress_) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"showAnalytics\":true,\"title\":\"Microsoft Defender for Cloud - IPAddress_\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"Agency_Short\",\"label\":\"Agency\"},{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"Microsoft Defender for Cloud\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"InformationProtectionLogs_CL\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where IPv4_s has_any {IP_IOC}\\r\\n|summarize IOC=make_set(IPv4_s), count_=count(IPv4_s) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"Azure Information Protection - IPv4_s\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContext\":{\"durationMs\":14400000},\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"AzureInformationProtection-IP\"},{\"type\":1,\"content\":{\"json\":\"### DNS Inventory\"},\"name\":\"text - 2 - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DnsEvents\\r\\n|where SubType == \\\"LookupQuery\\\"\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where IPAddresses has_any {IP_IOC}\\r\\n|summarize IOC=make_set(IPAddresses), count_=count(IPAddresses) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"DNSEvents - IPAddresses\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"DNSEvents-1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DnsEvents\\r\\n|where SubType == \\\"LookupQuery\\\"\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where MaliciousIP has_any {IP_IOC}\\r\\n|summarize IOC=make_set(MaliciousIP), count_=count(MaliciousIP) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"DNSEvents - MaliciousIP\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"Agency_Short\",\"label\":\"Agency\"},{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"DNSEvents-2\"},{\"type\":1,\"content\":{\"json\":\"### CommonSecurityLog\"},\"name\":\"text - 2 - Copy - Copy - Copy\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"CommonSecurityLog\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where SourceIP has_any {IP_IOC}\\r\\n|summarize IOC=make_set(SourceIP), count_=count(SourceIP) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"CommonSecurityLog- SourceIP\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"CommonSecurityLog-1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"CommonSecurityLog\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where DestinationIP has_any {IP_IOC}\\r\\n|summarize IOC=make_set(DestinationIP), count_=count(DestinationIP) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"CommonSecurityLog- DestinationIP\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"CommonSecurityLog-2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"CommonSecurityLog\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where MaliciousIP has_any {IP_IOC}\\r\\n|summarize IOC=make_set(MaliciousIP), count_=count(MaliciousIP) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"CommonSecurityLog- MaliciousIP\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"Agency_Short\",\"label\":\"Agency\"},{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"CommonSecurityLog-3\"},{\"type\":1,\"content\":{\"json\":\"### OfficeActivity\"},\"name\":\"OfficeActivity\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"OfficeActivity\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where ClientIP has_any {IP_IOC}\\r\\n|summarize IOC=make_set(ClientIP),Type_=make_set(OfficeWorkload), count_=count(ClientIP) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend Type_ = tostring(strcat_array(Type_,\\\", \\\"))\\r\\n|project count_ ,IOC,Type_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"OfficeActivity (Other than Exchange) - ClientIP\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Agency\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"2fr\"}},{\"columnMatch\":\"count_\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"1fr\"}},{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"3fr\"}},{\"columnMatch\":\"Type_\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"2fr\"}}],\"sortBy\":[{\"itemKey\":\"count_\",\"sortOrder\":2}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"},{\"columnId\":\"Type_\",\"label\":\"Activity Type\"}]},\"sortBy\":[{\"itemKey\":\"count_\",\"sortOrder\":2}]},\"customWidth\":\"50\",\"name\":\"OfficeActivity-1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"OfficeActivity\\r\\n|where OfficeWorkload == \\\"Exchange\\\"\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|where Client_IPAddress has_any {IP_IOC}\\r\\n|summarize IOC=make_set(Client_IPAddress), count_=count(Client_IPAddress) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"OfficeActivity(Exchange) - Client_IPAddress\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"OfficeActivity-2\"},{\"type\":1,\"content\":{\"json\":\"### Syslog\"},\"name\":\"Syslog\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"Syslog\\r\\n|where TimeGenerated {TimeRange:query}\\r\\n|extend IPAddresses_ = extract_all(@\\\"((?:[0-9]{1,3}\\\\.){3}[0-9]{1,3})\\\",SyslogMessage) //Extracting IP addresses from Syslog Message\\r\\n|where isnotempty(IPAddresses_) //Further data filter, only show records with IP Addresses\\r\\n|mv-expand IPAddresses_ // Expand the dynamic results into individual rows\\r\\n|where IPAddresses_ has_any {IP_IOC}\\r\\n|summarize IOC=make_set(IPAddresses_), count_=count(IPAddresses_) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"Syslog - IPAddresses_ (Regex:SyslogMessage) \",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"name\":\"Syslog\"},{\"type\":1,\"content\":{\"json\":\"### Sysmon\"},\"name\":\"Event\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"Event\\r\\n|where Source =~ \\\"Microsoft-Windows-sysmon\\\" //Workaround since Sentinel Workbooks encounter conflict with target workspace when the searches contains the word 'Sysm0n'\\r\\n|where EventID ==3\\r\\n| project TimeGenerated, Source, EventID, Computer, UserName, EventData, RenderedDescription, TenantId\\r\\n|parse EventData with * \\\"\\\\\\\"SourceIp\\\\\\\">\\\" SourceIp \\\"\\\" * //parsing specific field inside EventID 3\\r\\n|summarize count() by TenantId, tostring(SourceIp) //Performance tweak\\r\\n|where SourceIp has_any {IP_IOC}\\r\\n|summarize IOC=make_set(SourceIp), count_=sum(count_) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"Sysmon - EventID 3 - SourceIP \",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"Sysmon - 3 - SourceIp\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"Event\\r\\n|where Source =~ \\\"Microsoft-Windows-sysmon\\\" //Workaround since Sentinel Workbooks encounter conflict with target workspace when the searches contains the word 'Sysm0n'\\r\\n|where EventID ==3\\r\\n| project TimeGenerated, Source, EventID, Computer, UserName, EventData, RenderedDescription, TenantId\\r\\n|parse EventData with * \\\"\\\\\\\"DestinationIp\\\\\\\">\\\" DestinationIp \\\"\\\" * //parsing specific field inside EventID 3\\r\\n|summarize count() by TenantId, tostring(DestinationIp) //Performance tweak\\r\\n|where DestinationIp has_any {IP_IOC}\\r\\n|summarize IOC=make_set(DestinationIp), count_=sum(count_) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"Sysmon - EventID 3 - DestinationIp\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"Sysmon - 3 - DestinationIp\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"Event\\r\\n|where Source =~ \\\"Microsoft-Windows-sysmon\\\" //Workaround since Sentinel Workbooks encounter conflict with target workspace when the searches contains the word 'Sysm0n'\\r\\n|where EventID == 22\\r\\n|project TimeGenerated, Source, EventID, Computer, UserName, EventData, RenderedDescription, TenantId\\r\\n|parse EventData with * \\\"\\\\\\\"QueryResults\\\\\\\">\\\" QueryResults \\\"\\\" * //parsing specific field inside EventID 22\\r\\n|summarize count() by TenantId, tostring(QueryResults) //Performance tweak\\r\\n|where QueryResults has_any {IP_IOC}\\r\\n|summarize IOC=make_set(QueryResults), count_=sum(count_) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project count_ ,IOC\\r\\n|sort by count_ desc\\r\\n\",\"size\":1,\"title\":\"Sysmon - EventID 22 - QueryResults\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Agency\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"5%\"}},{\"columnMatch\":\"count_\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"5%\"}},{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}},{\"columnMatch\":\"QueryName\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"90\",\"name\":\"Sysmon - 22 - QueryResults\"},{\"type\":1,\"content\":{\"json\":\"### Notes\\r\\n\\r\\nThe EventID:22 results contains resolved domain(s) only, given the vast variations of data format in the raw data\"},\"customWidth\":\"10\",\"name\":\"text - 27\"},{\"type\":1,\"content\":{\"json\":\"### Security Events\"},\"name\":\"Security Events\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityEvent\\r\\n|where IpAddress has_any {IP_IOC}\\r\\n|summarize IOC=make_set(IpAddress),EventID=make_set(EventID), count_=count(IpAddress) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend EventID = tostring(strcat_array(EventID,\\\", \\\"))\\r\\n|project EventID, IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"SecurityEvents - IpAddress\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"SecurityEvent-IpAddress\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityEvent\\r\\n|where EventID in (5156,5157)\\r\\n|extend EvData = parse_xml(EventData)\\r\\n|extend EventDetail = EvData.EventData.Data\\r\\n| project-away EventData, EvData\\r\\n|extend SourceAddress = EventDetail.[3].[\\\"#text\\\"], DestAddress = EventDetail.[5].[\\\"#text\\\"]\\r\\n|where SourceAddress has_any {IP_IOC}\\r\\n|summarize IOC=make_set(SourceAddress),EventID=make_set(EventID), count_=count(SourceAddress) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend EventID = tostring(strcat_array(EventID,\\\", \\\"))\\r\\n|project EventID, IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"SecurityEvents - SourceAddress (EventID: 5156 & 5157 Only)\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"SecurityEvent-SourceAddress\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityEvent\\r\\n|where EventID in (5156,5157)\\r\\n|extend EvData = parse_xml(EventData)\\r\\n|extend EventDetail = EvData.EventData.Data\\r\\n| project-away EventData, EvData\\r\\n|extend SourceAddress = EventDetail.[3].[\\\"#text\\\"], DestAddress = EventDetail.[5].[\\\"#text\\\"]\\r\\n|where DestAddress has_any {IP_IOC}\\r\\n|summarize IOC=make_set(DestAddress),EventID=make_set(EventID), count_=count(DestAddress) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend EventID = tostring(strcat_array(EventID,\\\", \\\"))\\r\\n|project EventID, IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"SecurityEvents - DestAddress (EventID: 5156 & 5157 Only)\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"SecurityEvent-DestAddress\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityEvent\\r\\n|where EventID == 5158\\r\\n|extend EvData = parse_xml(EventData)\\r\\n|extend EventDetail = EvData.EventData.Data\\r\\n| project-away EventData, EvData\\r\\n|extend SourceAddress = EventDetail.[2].[\\\"#text\\\"]\\r\\n|where SourceAddress has_any {IP_IOC}\\r\\n|summarize IOC=make_set(SourceAddress),EventID=make_set(EventID), count_=count(SourceAddress) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend EventID = tostring(strcat_array(EventID,\\\", \\\"))\\r\\n|project EventID, IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"SecurityEvents - SourceAddress (EventID: 5158 Only)\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"25\",\"name\":\"SecurityEvent-SourceAddress - 5158\"},{\"type\":1,\"content\":{\"json\":\"### Microsoft Defender For Endpoint\"},\"name\":\"Microsoft Defender for Endpoint\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceEvents\\r\\n|where FileOriginIP has_any {IP_IOC}\\r\\n|summarize IOC=make_set(FileOriginIP), count_=count(FileOriginIP) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceEvents - FileOriginIP\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"33\",\"name\":\"MSDE - DeviceEvents - FileOriginIP\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceEvents\\r\\n|where LocalIP has_any {IP_IOC}\\r\\n|summarize IOC=make_set(LocalIP), count_=count(LocalIP) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceEvents - LocalIP\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"33\",\"name\":\"MSDE - DeviceEvents - LocalIP\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceEvents\\r\\n|where RemoteIP has_any {IP_IOC}\\r\\n|summarize IOC=make_set(RemoteIP), count_=count(RemoteIP) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceEvents - RemoteIP\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"33\",\"name\":\"MSDE - DeviceEvents - RemoteIP\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceFileEvents\\r\\n|where FileOriginIP has_any {IP_IOC}\\r\\n|summarize IOC=make_set(FileOriginIP), count_=count(FileOriginIP) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceFileEvents - FileOriginIP\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"33\",\"name\":\"MSDE - DeviceFileEvents - FileOriginIP\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceFileEvents\\r\\n|where RequestSourceIP has_any {IP_IOC}\\r\\n|summarize IOC=make_set(RequestSourceIP), count_=count(RequestSourceIP) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceFileEvents - RequestSourceIP\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"sortBy\":[{\"itemKey\":\"Agency\",\"sortOrder\":1}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]},\"sortBy\":[{\"itemKey\":\"Agency\",\"sortOrder\":1}]},\"customWidth\":\"33\",\"name\":\"MSDE - DeviceFileEvents - RequestSourceIP\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceInfo\\r\\n|where PublicIP has_any {IP_IOC}\\r\\n|summarize IOC=make_set(PublicIP), count_=count(PublicIP) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceInfo - PublicIP\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]},\"sortBy\":[]},\"customWidth\":\"33\",\"name\":\"MSDE - DeviceInfo - PublicIP\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceLogonEvents\\r\\n|where RemoteIP has_any {IP_IOC}\\r\\n|summarize IOC=make_set(RemoteIP), count_=count(RemoteIP) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceLogonEvents - RemoteIP\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]},\"sortBy\":[]},\"customWidth\":\"33\",\"name\":\"MSDE - DeviceLogonEvents- RemoteIP\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceNetworkEvents\\r\\n|where LocalIP has_any {IP_IOC}\\r\\n|summarize IOC=make_set(LocalIP), count_=count(LocalIP) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceNetworkEvents - LocalIP\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]},\"sortBy\":[]},\"customWidth\":\"33\",\"name\":\"MSDE - DeviceNetworkEvents - LocalIP\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceNetworkEvents\\r\\n|where RemoteIP has_any {IP_IOC}\\r\\n|summarize IOC=make_set(RemoteIP), count_=count(RemoteIP) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceNetworkEvents - RemoteIP\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]},\"sortBy\":[]},\"customWidth\":\"33\",\"name\":\"MSDE - DeviceNetworkEvents - RemoteIP\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceNetworkInfo\\r\\n|where IPv4Dhcp has_any {IP_IOC}\\r\\n|summarize IOC=make_set(IPv4Dhcp), count_=count(IPv4Dhcp) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceNetworkInfo - IPv4Dhcp\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]},\"sortBy\":[]},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceNetworkInfo - IPv4Dhcp\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceNetworkInfo\\r\\n|where IPv6Dhcp has_any {IP_IOC}\\r\\n|summarize IOC=make_set(IPv6Dhcp), count_=count(IPv6Dhcp) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceNetworkInfo - IPv6Dhcp\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"sortBy\":[{\"itemKey\":\"Agency\",\"sortOrder\":1}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]},\"sortBy\":[{\"itemKey\":\"Agency\",\"sortOrder\":1}]},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceNetworkInfo - IPv6Dhcp\"},{\"type\":1,\"content\":{\"json\":\"## Microsoft Defender for Office 365\"},\"name\":\"text - 53\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"EmailEvents\\r\\n|where SenderIPv4 has_any {IP_IOC}\\r\\n|summarize IOC=make_set(SenderIPv4), count_=count(SenderIPv4) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - EmailEvents - SenderIPv4\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]},\"sortBy\":[]},\"customWidth\":\"50\",\"name\":\"MSDE - EmailEvents - SenderIPv4\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"EmailEvents\\r\\n|where SenderIPv6 has_any {IP_IOC}\\r\\n|summarize IOC=make_set(SenderIPv6), count_=count(SenderIPv6) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|project IOC, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - EmailEvents - SenderIPv6\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"sortBy\":[{\"itemKey\":\"Agency\",\"sortOrder\":1}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]},\"sortBy\":[{\"itemKey\":\"Agency\",\"sortOrder\":1}]},\"customWidth\":\"50\",\"name\":\"MSDE - EmailEvents - SenderIPv6\"},{\"type\":1,\"content\":{\"json\":\"### Azure Diagnostics\"},\"name\":\"text - 49\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"AzureDiagnostics\\r\\n|where clientIp_s has_any {IP_IOC}\\r\\n|summarize IOC=make_set(clientIp_s), Category=make_set(Category), count_=count(clientIp_s) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")), Category = tostring(strcat_array(Category,\\\", \\\"))\\r\\n|project IOC, Category, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"AzureDiagnostics - clientIp_s\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}},{\"columnMatch\":\"Category\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"sortBy\":[{\"itemKey\":\"Agency\",\"sortOrder\":1}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]},\"sortBy\":[{\"itemKey\":\"Agency\",\"sortOrder\":1}]},\"customWidth\":\"33\",\"name\":\"AzureDiagnostics - clientIp_s \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"AzureDiagnostics\\r\\n|where clientIP_s has_any {IP_IOC}\\r\\n|summarize IOC=make_set(clientIP_s), Category=make_set(Category), count_=count(clientIP_s) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")), Category = tostring(strcat_array(Category,\\\", \\\"))\\r\\n|project IOC, Category, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"AzureDiagnostics - clientIP_s\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}},{\"columnMatch\":\"Category\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]},\"sortBy\":[]},\"customWidth\":\"33\",\"name\":\"AzureDiagnostics - clientIP_s\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"AzureDiagnostics\\r\\n|where CallerIPAddress has_any {IP_IOC}\\r\\n|summarize IOC=make_set(CallerIPAddress), Category=make_set(Category), count_=count(CallerIPAddress) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")), Category = tostring(strcat_array(Category,\\\", \\\"))\\r\\n|project IOC, Category, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"AzureDiagnostics - CallerIPAddress\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}},{\"columnMatch\":\"Category\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"sortBy\":[{\"itemKey\":\"Agency\",\"sortOrder\":1}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]},\"sortBy\":[{\"itemKey\":\"Agency\",\"sortOrder\":1}]},\"customWidth\":\"33\",\"name\":\"AzureDiagnostics - CallerIPAddress\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"AzureDiagnostics\\r\\n|where client_ip_s has_any {IP_IOC}\\r\\n|summarize IOC=make_set(client_ip_s), Category=make_set(Category), count_=count(client_ip_s) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")), Category = tostring(strcat_array(Category,\\\", \\\"))\\r\\n|project IOC, Category, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"AzureDiagnostics - client_ip_s\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}},{\"columnMatch\":\"Category\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]},\"sortBy\":[]},\"customWidth\":\"33\",\"name\":\"AzureDiagnostics - client_ip_s\"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"ip\"},\"name\":\"ip-address\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"parameters\":[{\"version\":\"KqlParameterItem/1.0\",\"name\":\"SHA256_IOC\",\"label\":\"SHA256 Hash\",\"type\":1,\"description\":\"Add SHA1 hashes in array format e.g. (\\\"hash1\\\",\\\"hash2\\\")\",\"value\":\"(\\\"9327b77c27070db62a6da46f0c1d8da2725c5ae0c24d6ccf9be6aa0da5f99600\\\",\\\"f157090fd3ccd4220298c06ce8734361b724d80459592b10ac632acc624f455e\\\",\\\"f11009988b813821857c8d2db0f88e1d45b20762f62a3cf432339f352b12cefe\\\")\",\"typeSettings\":{\"multiLineText\":true,\"editorLanguage\":\"text\"},\"timeContext\":{\"durationMs\":86400000},\"id\":\"2732e809-7fbd-4241-a435-ad6d44ac07ec\"},{\"id\":\"519ef4e6-ec90-4fcf-9e77-79bd28e27e4e\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"SHA1_IOC\",\"type\":1,\"description\":\"Add SHA 256 hashes in array format e.g. (\\\"hash1\\\",\\\"hash2\\\")\",\"value\":\"(\\\"c8f5825499315eaf4b5046ff79ac9553e71ad1c0\\\")\",\"typeSettings\":{\"multiLineText\":true,\"editorLanguage\":\"text\"},\"timeContext\":{\"durationMs\":86400000}},{\"id\":\"fbe9622d-a202-4e71-b7cf-7a6f9343ca96\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"IMPHASH\",\"type\":1,\"description\":\"Add IMPHASH hashes in array format e.g. (\\\"hash1\\\",\\\"hash2\\\")\",\"typeSettings\":{\"multiLineText\":true,\"editorLanguage\":\"text\"},\"timeContext\":{\"durationMs\":86400000},\"value\":\"(\\\"c8f5825499315eaf4b5046ff79ac9553e71ad1c0\\\")\"}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"parameters - 0\"},{\"type\":1,\"content\":{\"json\":\"# Notes:\\r\\n- Prioritize in using SHA256 over SHA1, unless certain table that only accepts SHA1\\r\\n- If only SHA1 information available, use VirusTotal to grab the SHA256\"},\"conditionalVisibility\":{\"parameterName\":\"Instructions\",\"comparison\":\"isEqualTo\",\"value\":\"Show\"},\"name\":\"text - 16\"},{\"type\":1,\"content\":{\"json\":\"## SecurityAlert - FileHash\"},\"name\":\"SecurityAlert2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityAlert\\r\\n|summarize arg_max(TimeGenerated,*) by SystemAlertId\\r\\n| extend Entities = iff(isempty(Entities), todynamic('[{\\\"dummy\\\" : \\\"\\\"}]'), todynamic(Entities))\\r\\n| mv-expand Entities\\r\\n| evaluate bag_unpack(Entities, \\\"Entity_\\\")\\r\\n| extend Entity_Type = columnifexists(\\\"Entity_Type\\\", \\\"\\\")\\r\\n| extend Entity_Name = columnifexists(\\\"Entity_Name\\\", \\\"\\\")\\r\\n| extend Entity_ResourceId = columnifexists(\\\"Entity_ResourceId\\\", \\\"\\\")\\r\\n| extend Entity_Directory = columnifexists(\\\"Entity_Directory\\\", \\\"\\\")\\r\\n| extend Entity_Value = columnifexists(\\\"Entity_Value\\\", \\\"\\\")\\r\\n| extend Entity_HostName = columnifexists(\\\"Entity_HostName\\\", \\\"\\\")\\r\\n| extend Entity_Address = columnifexists(\\\"Entity_Address\\\", \\\"\\\")\\r\\n| extend Entity_ProcessId = columnifexists(\\\"Entity_ProcessId\\\", \\\"\\\")\\r\\n| extend Entity_Url = columnifexists(\\\"Entity_Url\\\", \\\"\\\")\\r\\n| extend Target = iif(Entity_Type == \\\"account\\\", Entity_Name, iif(Entity_Type == \\\"azure-resource\\\", Entity_ResourceId, iif(Entity_Type == \\\"cloud-application\\\", Entity_Name, iif(Entity_Type == \\\"dns\\\", Entity_Name, iif(Entity_Type == \\\"file\\\", strcat(Entity_Directory, \\\"\\\\\\\\\\\", Entity_Name), iif(Entity_Type == \\\"filehash\\\", Entity_Value, iif(Entity_Type == \\\"host\\\", Entity_HostName, iif(Entity_Type == \\\"ip\\\" , Entity_Address, iif(Entity_Type == \\\"malware\\\", Entity_HostName, iif(Entity_Type == \\\"network-connection\\\", Entity_Name, iif(Entity_Type == \\\"process\\\", Entity_ProcessId, iif(Entity_Type == \\\"registry-key\\\", Entity_Name, iif(Entity_Type == \\\"registry-value\\\", Entity_Name, iif(Entity_Type == \\\"security-group\\\", Entity_Name, iif(Entity_Type == \\\"url\\\", Entity_Url, \\\"NoTarget\\\")))))))))))))))\\r\\n|where Entity_Type == \\\"filehash\\\"\\r\\n|where Entity_Algorithm == \\\"SHA256\\\"\\r\\n|where Target has_any {SHA256_IOC}\\r\\n|summarize IOC=make_set(Target), AlertName=make_set(AlertName),SystemAlertId=make_set(SystemAlertId) ,count_=count(Target) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend AlertName = tostring(strcat_array(AlertName,\\\", \\\")), SystemAlertId = tostring(strcat_array(SystemAlertId,\\\", \\\"))\\r\\n|project AlertName, SystemAlertId, count_ ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"SecurityAlert - FileHash - SHA256\",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"AlertName\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"30%\"}},{\"columnMatch\":\"SystemAlertId\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"30%\"}},{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"20%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"name\":\"SecurityAlert - FileHash\"},{\"type\":1,\"content\":{\"json\":\"## CommonSecurityLog\"},\"name\":\"text - 2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"CommonSecurityLog\\r\\n|where FileHash has_any {SHA1_IOC}\\r\\n|summarize IOC=make_set(FileHash), FileName=make_set(FileName) ,count_=count(FileHash) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend FileName = tostring(strcat_array(FileName,\\\", \\\"))\\r\\n|project IOC, FileName, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"CommonSecurityLog - FileHash - SHA1\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"CommonSecurityLog - FileHash - SHA1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"CommonSecurityLog\\r\\n|where FileHash has_any {SHA256_IOC}\\r\\n|summarize IOC=make_set(FileHash), FileName=make_set(FileName) ,count_=count(FileHash) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend FileName = tostring(strcat_array(FileName,\\\", \\\"))\\r\\n|project IOC, FileName, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"CommonSecurityLog - FileHash - SHA256\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"CommonSecurityLog - FileHash - SHA256\"},{\"type\":1,\"content\":{\"json\":\"## Sysmon\"},\"name\":\"text - 3\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"Event\\r\\n|where Source =~ \\\"Microsoft-Windows-sysmon\\\" //Workaround since Sentinel Workbooks encounter conflict with target workspace when the searches contains the word 'Sysm0n'\\r\\n|where EventID == 1\\r\\n| project TimeGenerated, Source, EventID, Computer, UserName, EventData, RenderedDescription, TenantId\\r\\n|parse EventData with * \\\"\\\\\\\"OriginalFileName\\\\\\\">\\\" OriginalFileName \\\"\\\" * \\\"\\\\\\\"Hashes\\\\\\\">\\\" Hashes \\\"\\\" *\\r\\n|summarize count() by TenantId, tostring(Hashes), tostring(OriginalFileName) //Performance tweak\\r\\n|where Hashes has_any {SHA256_IOC}\\r\\n// Hashes parse section --START\\r\\n|extend Hashes = extract_all(@\\\"(?P\\\\w+)=(?P[a-zA-Z0-9]+)\\\", dynamic([\\\"key\\\",\\\"value\\\"]), tostring(Hashes)) //Transform Hashes field into dynamics format\\r\\n|mv-apply todynamic(Hashes) on (summarize Hashes = make_bag(pack(tostring(Hashes[0]), tostring(Hashes[1])))) //Address inconsistency on hashes used on different agencies\\r\\n|extend SHA256_Hash = tostring(Hashes.SHA256) //Grab only Hash 256\\r\\n// Hashes parse section --END\\r\\n|summarize IOC=make_set(SHA256_Hash), OriginalFileName=make_set(OriginalFileName), count_=sum(count_) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")) , OriginalFileName = tostring(strcat_array(OriginalFileName,\\\", \\\"))\\r\\n|project count_ ,OriginalFileName ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"Sysmon - 1 - SHA256_Hash - SHA256 (Child Process)\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"Sysmon - 1 - SHA256_Hash - SHA256\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"Event\\r\\n|where Source =~ \\\"Microsoft-Windows-sysmon\\\" //Workaround since Sentinel Workbooks encounter conflict with target workspace when the searches contains the word 'Sysm0n'\\r\\n|where EventID == 1\\r\\n| project TimeGenerated, Source, EventID, Computer, UserName, EventData, RenderedDescription, TenantId\\r\\n|parse EventData with * \\\"\\\\\\\"OriginalFileName\\\\\\\">\\\" OriginalFileName \\\"\\\" * \\\"\\\\\\\"Hashes\\\\\\\">\\\" Hashes \\\"\\\" *\\r\\n|summarize count() by TenantId, tostring(Hashes), tostring(OriginalFileName) //Performance tweak\\r\\n|where Hashes has_any {IMPHASH}\\r\\n// Hashes parse section --START\\r\\n|extend Hashes = extract_all(@\\\"(?P\\\\w+)=(?P[a-zA-Z0-9]+)\\\", dynamic([\\\"key\\\",\\\"value\\\"]), tostring(Hashes)) //Transform Hashes field into dynamics format\\r\\n|mv-apply todynamic(Hashes) on (summarize Hashes = make_bag(pack(tostring(Hashes[0]), tostring(Hashes[1])))) //Address inconsistency on hashes used on different agencies\\r\\n|extend IMPHASH_Hash = tostring(Hashes.IMPHASH) //Grab only Hash 256\\r\\n// Hashes parse section --END\\r\\n|summarize IOC=make_set(IMPHASH_Hash), OriginalFileName=make_set(OriginalFileName), count_=sum(count_) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")) , OriginalFileName = tostring(strcat_array(OriginalFileName,\\\", \\\"))\\r\\n|project count_ ,OriginalFileName ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"Sysmon - 1 - IMPHASH_Hash - IMPHASH (Child Process)\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"Sysmon - 1 - IMPHASH_Hash - IMPHASH\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"Event\\r\\n|where Source =~ \\\"Microsoft-Windows-sysmon\\\" //Workaround since Sentinel Workbooks encounter conflict with target workspace when the searches contains the word 'Sysm0n'\\r\\n|where EventID == 6\\r\\n| project TimeGenerated, Source, EventID, Computer, UserName, EventData, RenderedDescription, TenantId\\r\\n|parse EventData with * \\\"\\\\\\\"Hashes\\\\\\\">\\\" Hashes \\\"\\\" *\\r\\n|summarize count() by TenantId, tostring(Hashes) //Performance tweak\\r\\n|where Hashes has_any {SHA256_IOC}\\r\\n// Hashes parse section --START\\r\\n|extend Hashes = extract_all(@\\\"(?P\\\\w+)=(?P[a-zA-Z0-9]+)\\\", dynamic([\\\"key\\\",\\\"value\\\"]), tostring(Hashes)) //Transform Hashes field into dynamics format\\r\\n|mv-apply todynamic(Hashes) on (summarize Hashes = make_bag(pack(tostring(Hashes[0]), tostring(Hashes[1])))) //Address inconsistency on hashes used on different agencies\\r\\n|extend SHA256_Hash = tostring(Hashes.SHA256) //Grab only Hash 256\\r\\n// Hashes parse section --END\\r\\n|summarize IOC=make_set(SHA256_Hash), count_=sum(count_) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")) \\r\\n|project count_ , IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"Sysmon - 6 - SHA256_Hash - SHA256 (Driver Loaded)\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"Sysmon - 6 - SHA256_Hash - SHA256 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"Event\\r\\n|where Source =~ \\\"Microsoft-Windows-sysmon\\\" //Workaround since Sentinel Workbooks encounter conflict with target workspace when the searches contains the word 'Sysm0n'\\r\\n|where EventID == 6\\r\\n| project TimeGenerated, Source, EventID, Computer, UserName, EventData, RenderedDescription, TenantId\\r\\n|parse EventData with * \\\"\\\\\\\"Hashes\\\\\\\">\\\" Hashes \\\"\\\" *\\r\\n|summarize count() by TenantId, tostring(Hashes) //Performance tweak\\r\\n|where Hashes has_any {IMPHASH}\\r\\n// Hashes parse section --START\\r\\n|extend Hashes = extract_all(@\\\"(?P\\\\w+)=(?P[a-zA-Z0-9]+)\\\", dynamic([\\\"key\\\",\\\"value\\\"]), tostring(Hashes)) //Transform Hashes field into dynamics format\\r\\n|mv-apply todynamic(Hashes) on (summarize Hashes = make_bag(pack(tostring(Hashes[0]), tostring(Hashes[1])))) //Address inconsistency on hashes used on different agencies\\r\\n|extend IMPHASH_Hash = tostring(Hashes.IMPHASH) //Grab only Hash 256\\r\\n// Hashes parse section --END\\r\\n|summarize IOC=make_set(IMPHASH_Hash), count_=sum(count_) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")) \\r\\n|project count_ , IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"Sysmon - 6 - IMPHASH_Hash - IMPHASH (Driver Loaded)\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"Sysmon - 6 - IMPHASH_Hash - IMPHASH \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"Event\\r\\n|where Source =~ \\\"Microsoft-Windows-sysmon\\\" //Workaround since Sentinel Workbooks encounter conflict with target workspace when the searches contains the word 'Sysm0n'\\r\\n|where EventID == 7\\r\\n| project TimeGenerated, Source, EventID, Computer, UserName, EventData, RenderedDescription, TenantId\\r\\n|parse EventData with * \\\"\\\\\\\"OriginalFileName\\\\\\\">\\\" OriginalFileName \\\"\\\" * \\\"\\\\\\\"Hashes\\\\\\\">\\\" Hashes \\\"\\\" *\\r\\n|summarize count() by TenantId, tostring(Hashes), tostring(OriginalFileName) //Performance tweak\\r\\n|where Hashes has_any {SHA256_IOC}\\r\\n// Hashes parse section --START\\r\\n|extend Hashes = extract_all(@\\\"(?P\\\\w+)=(?P[a-zA-Z0-9]+)\\\", dynamic([\\\"key\\\",\\\"value\\\"]), tostring(Hashes)) //Transform Hashes field into dynamics format\\r\\n|mv-apply todynamic(Hashes) on (summarize Hashes = make_bag(pack(tostring(Hashes[0]), tostring(Hashes[1])))) //Address inconsistency on hashes used on different agencies\\r\\n|extend SHA256_Hash = tostring(Hashes.SHA256) //Grab only Hash 256\\r\\n// Hashes parse section --END\\r\\n|summarize IOC=make_set(SHA256_Hash), OriginalFileName=make_set(OriginalFileName), count_=sum(count_) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")) , OriginalFileName = tostring(strcat_array(OriginalFileName,\\\", \\\"))\\r\\n|project count_ ,OriginalFileName ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"Sysmon - 7 - SHA256_Hash - SHA256 (Image Loaded)\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"Sysmon - 7 - SHA256_Hash - SHA256\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"Event\\r\\n|where Source =~ \\\"Microsoft-Windows-sysmon\\\" //Workaround since Sentinel Workbooks encounter conflict with target workspace when the searches contains the word 'Sysm0n'\\r\\n|where EventID == 7\\r\\n| project TimeGenerated, Source, EventID, Computer, UserName, EventData, RenderedDescription, TenantId\\r\\n|parse EventData with * \\\"\\\\\\\"OriginalFileName\\\\\\\">\\\" OriginalFileName \\\"\\\" * \\\"\\\\\\\"Hashes\\\\\\\">\\\" Hashes \\\"\\\" *\\r\\n|summarize count() by TenantId, tostring(Hashes), tostring(OriginalFileName) //Performance tweak\\r\\n|where Hashes has_any {IMPHASH}\\r\\n// Hashes parse section --START\\r\\n|extend Hashes = extract_all(@\\\"(?P\\\\w+)=(?P[a-zA-Z0-9]+)\\\", dynamic([\\\"key\\\",\\\"value\\\"]), tostring(Hashes)) //Transform Hashes field into dynamics format\\r\\n|mv-apply todynamic(Hashes) on (summarize Hashes = make_bag(pack(tostring(Hashes[0]), tostring(Hashes[1])))) //Address inconsistency on hashes used on different agencies\\r\\n|extend IMPHASH_Hash = tostring(Hashes.IMPHASH) //Grab only Hash 256\\r\\n// Hashes parse section --END\\r\\n|summarize IOC=make_set(IMPHASH_Hash), OriginalFileName=make_set(OriginalFileName), count_=sum(count_) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")) , OriginalFileName = tostring(strcat_array(OriginalFileName,\\\", \\\"))\\r\\n|project count_ ,OriginalFileName ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"Sysmon - 7 - IMPHASH_Hash - IMPHASH (Image Loaded)\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"Sysmon - 7 - IMPHASH_Hash - IMPHASH \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"Event\\r\\n|where Source =~ \\\"Microsoft-Windows-sysmon\\\" //Workaround since Sentinel Workbooks encounter conflict with target workspace when the searches contains the word 'Sysm0n'\\r\\n|where EventID == 15\\r\\n| project TimeGenerated, Source, EventID, Computer, UserName, EventData, RenderedDescription, TenantId\\r\\n|parse EventData with * \\\"\\\\\\\"TargetFilename\\\\\\\">\\\" TargetFilename \\\"\\\" * \\\"\\\\\\\"Hash\\\\\\\">\\\" Hashes \\\"\\\" * \\r\\n|summarize count() by TenantId, tostring(Hashes), tostring(TargetFilename) //Performance tweak\\r\\n|where Hashes has_any {SHA256_IOC}\\r\\n// Hashes parse section --START\\r\\n|extend Hashes = extract_all(@\\\"(?P\\\\w+)=(?P[a-zA-Z0-9]+)\\\", dynamic([\\\"key\\\",\\\"value\\\"]), tostring(Hashes)) //Transform Hashes field into dynamics format\\r\\n|mv-apply todynamic(Hashes) on (summarize Hashes = make_bag(pack(tostring(Hashes[0]), tostring(Hashes[1])))) //Address inconsistency on hashes used on different agencies\\r\\n|extend SHA256_Hash = tostring(Hashes.SHA256) //Grab only Hash 256\\r\\n// Hashes parse section --END\\r\\n|summarize IOC=make_set(SHA256_Hash), TargetFilename=make_set(TargetFilename), count_=sum(count_) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")) , TargetFilename = tostring(strcat_array(TargetFilename,\\\", \\\"))\\r\\n|project count_ ,TargetFilename ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"Sysmon - 15 - SHA256_Hash - SHA256 (FileCreateStreamHash)\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"Sysmon - 15 - SHA256_Hash - SHA256\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"Event\\r\\n|where Source =~ \\\"Microsoft-Windows-sysmon\\\" //Workaround since Sentinel Workbooks encounter conflict with target workspace when the searches contains the word 'Sysm0n'\\r\\n|where EventID == 26\\r\\n| project TimeGenerated, Source, EventID, Computer, UserName, EventData, RenderedDescription, TenantId\\r\\n|parse EventData with * \\\"\\\\\\\"TargetFilename\\\\\\\">\\\" TargetFilename \\\"\\\" * \\\"\\\\\\\"Hashes\\\\\\\">\\\" Hashes \\\"\\\" * \\r\\n|summarize count() by TenantId, tostring(Hashes), tostring(TargetFilename) //Performance tweak\\r\\n|where Hashes has_any {SHA256_IOC}\\r\\n// Hashes parse section --START\\r\\n|extend Hashes = extract_all(@\\\"(?P\\\\w+)=(?P[a-zA-Z0-9]+)\\\", dynamic([\\\"key\\\",\\\"value\\\"]), tostring(Hashes)) //Transform Hashes field into dynamics format\\r\\n|mv-apply todynamic(Hashes) on (summarize Hashes = make_bag(pack(tostring(Hashes[0]), tostring(Hashes[1])))) //Address inconsistency on hashes used on different agencies\\r\\n|extend SHA256_Hash = tostring(Hashes.SHA256) //Grab only Hash 256\\r\\n// Hashes parse section --END\\r\\n|summarize IOC=make_set(SHA256_Hash), TargetFilename=make_set(TargetFilename), count_=sum(count_) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")) , TargetFilename = tostring(strcat_array(TargetFilename,\\\", \\\"))\\r\\n|project count_ ,TargetFilename ,IOC\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"Sysmon - 26 - SHA256_Hash - SHA256 (FileDeleteDetected)\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"Sysmon - 26 - SHA256_Hash - SHA256\"},{\"type\":1,\"content\":{\"json\":\"## Microsoft Defender for Endpoint\"},\"name\":\"text - 4\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceEvents\\r\\n|where InitiatingProcessSHA256 has_any {SHA256_IOC}\\r\\n|summarize IOC=make_set(InitiatingProcessSHA256), InitiatingProcessFileName=make_set(InitiatingProcessFileName),count_=count(InitiatingProcessSHA256) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend InitiatingProcessFileName = tostring(strcat_array(InitiatingProcessFileName,\\\", \\\"))\\r\\n|project IOC,InitiatingProcessFileName, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceEvents - InitiatingProcessSHA256\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"InitiatingProcessFileName\",\"label\":\"Process Name\"},{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceEvents - InitiatingProcessSHA256 - SHA256\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceEvents\\r\\n|where SHA256 has_any {SHA256_IOC}\\r\\n|summarize IOC=make_set(SHA256), FileName=make_set(FileName), count_=count(SHA256) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend FileName = tostring(strcat_array(FileName,\\\", \\\"))\\r\\n|project IOC,FileName, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceEvents - SHA256\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceEvents - SHA256\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceFileEvents\\r\\n|where InitiatingProcessSHA256 has_any {SHA256_IOC}\\r\\n|summarize IOC=make_set(InitiatingProcessSHA256),InitiatingProcessFileName=make_set(InitiatingProcessFileName), count_=count(InitiatingProcessSHA256) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend InitiatingProcessFileName = tostring(strcat_array(InitiatingProcessFileName,\\\", \\\"))\\r\\n|project IOC,InitiatingProcessFileName, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceFileEvents - InitiatingProcessSHA256\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"InitiatingProcessFileName\",\"label\":\"Process Name\"},{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceFileEvents - InitiatingProcessSHA256 - SHA256\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceFileEvents\\r\\n|where SHA256 has_any {SHA256_IOC}\\r\\n|summarize IOC=make_set(SHA256), FileName=make_set(FileName),count_=count(SHA256) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend FileName = tostring(strcat_array(FileName,\\\", \\\"))\\r\\n|project IOC, FileName, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceFileEvents - SHA256\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceFileEvents - SHA256\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceFileCertificateInfo\\r\\n|where SHA1 has_any {SHA1_IOC}\\r\\n|summarize IOC=make_set(SHA1), Issuer = make_set(Issuer), count_=count(SHA1) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend Issuer = tostring(strcat_array(Issuer,\\\", \\\"))\\r\\n|project IOC, Issuer, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceFileCertificateInfo - SHA1\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceFileCertificateInfo - SHA1\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"EmailAttachmentInfo\\r\\n|where SHA256 has_any {SHA256_IOC}\\r\\n|summarize IOC=make_set(SHA256), FileName=make_set(FileName), count_=count(SHA256) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend FileName = tostring(strcat_array(FileName,\\\", \\\"))\\r\\n|project IOC,FileName, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - EmailAttachmentInfo - SHA256\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - EmailAttachmentInfo - SHA256\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceImageLoadEvents\\r\\n|where InitiatingProcessSHA256 has_any {SHA256_IOC}\\r\\n|summarize IOC=make_set(InitiatingProcessSHA256),InitiatingProcessFileName=make_set(InitiatingProcessFileName), count_=count(InitiatingProcessSHA256) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend InitiatingProcessFileName = tostring(strcat_array(InitiatingProcessFileName,\\\", \\\"))\\r\\n|project IOC, InitiatingProcessFileName, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceImageLoadEvents - InitiatingProcessSHA256\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"InitiatingProcessFileName\",\"label\":\"Process Name\"},{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceImageLoadEvents - InitiatingProcessSHA256 - SHA256 \"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceImageLoadEvents\\r\\n|where SHA256 has_any {SHA256_IOC}\\r\\n|summarize IOC=make_set(SHA256), FileName=make_set(FileName), count_=count(SHA256) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend FileName = tostring(strcat_array(FileName,\\\", \\\"))\\r\\n|project IOC, FileName, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceImageLoadEvents - SHA256\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceImageLoadEvents - SHA256\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceProcessEvents\\r\\n|where InitiatingProcessSHA256 has_any {SHA256_IOC}\\r\\n|summarize IOC=make_set(InitiatingProcessSHA256), InitiatingProcessFileName=make_set(InitiatingProcessFileName), count_=count(InitiatingProcessSHA256) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend InitiatingProcessFileName = tostring(strcat_array(InitiatingProcessFileName,\\\", \\\"))\\r\\n|project IOC, InitiatingProcessFileName, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceProcessEvents - InitiatingProcessSHA256\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"InitiatingProcessFileName\",\"label\":\"Process Name\"},{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceProcessEvents- InitiatingProcessSHA256 - SHA256\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceProcessEvents\\r\\n|where SHA256 has_any {SHA256_IOC}\\r\\n|summarize IOC=make_set(SHA256),FileName=make_set(FileName), count_=count(SHA256) by TenantId\\r\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\r\\n|extend FileName = tostring(strcat_array(FileName,\\\", \\\"))\\r\\n|project IOC,FileName, count_\\r\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceProcessEvents - SHA256\",\"noDataMessage\":\"No IOC Found\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"80%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceProcessEvents - SHA256\"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"filehash\"},\"name\":\"file-hash\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"items\":[{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"parameters\":[{\"id\":\"e40fc7ee-23fb-4339-8fa8-a7fe07592f79\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"URL_IOC\",\"type\":1,\"description\":\"Put multiple URL in the following array format (\\\"url.com/main.php\\\", \\\"url2.com/menu.php\\\")\",\"typeSettings\":{\"multiLineText\":true,\"editorLanguage\":\"text\",\"multiLineHeight\":4},\"timeContext\":{\"durationMs\":86400000},\"value\":\"(\\\"emirjk.ru\\\",\\\"google.com\\\")\"}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"parameters - 2\"},{\"type\":1,\"content\":{\"json\":\"## Security Alert - URL\"},\"name\":\"text - 0\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityAlert\\n|summarize arg_max(TimeGenerated,*) by SystemAlertId\\n| extend Entities = iff(isempty(Entities), todynamic('[{\\\"dummy\\\" : \\\"\\\"}]'), todynamic(Entities))\\n| mv-expand Entities\\n| evaluate bag_unpack(Entities, \\\"Entity_\\\")\\n| extend Entity_Type = columnifexists(\\\"Entity_Type\\\", \\\"\\\")\\n| extend Entity_Name = columnifexists(\\\"Entity_Name\\\", \\\"\\\")\\n| extend Entity_ResourceId = columnifexists(\\\"Entity_ResourceId\\\", \\\"\\\")\\n| extend Entity_Directory = columnifexists(\\\"Entity_Directory\\\", \\\"\\\")\\n| extend Entity_Value = columnifexists(\\\"Entity_Value\\\", \\\"\\\")\\n| extend Entity_HostName = columnifexists(\\\"Entity_HostName\\\", \\\"\\\")\\n| extend Entity_Address = columnifexists(\\\"Entity_Address\\\", \\\"\\\")\\n| extend Entity_ProcessId = columnifexists(\\\"Entity_ProcessId\\\", \\\"\\\")\\n| extend Entity_Url = columnifexists(\\\"Entity_Url\\\", \\\"\\\")\\n| extend Target = iif(Entity_Type == \\\"account\\\", Entity_Name, iif(Entity_Type == \\\"azure-resource\\\", Entity_ResourceId, iif(Entity_Type == \\\"cloud-application\\\", Entity_Name, iif(Entity_Type == \\\"dns\\\", Entity_Name, iif(Entity_Type == \\\"file\\\", strcat(Entity_Directory, \\\"\\\\\\\\\\\", Entity_Name), iif(Entity_Type == \\\"filehash\\\", Entity_Value, iif(Entity_Type == \\\"host\\\", Entity_HostName, iif(Entity_Type == \\\"ip\\\" , Entity_Address, iif(Entity_Type == \\\"malware\\\", Entity_HostName, iif(Entity_Type == \\\"network-connection\\\", Entity_Name, iif(Entity_Type == \\\"process\\\", Entity_ProcessId, iif(Entity_Type == \\\"registry-key\\\", Entity_Name, iif(Entity_Type == \\\"registry-value\\\", Entity_Name, iif(Entity_Type == \\\"security-group\\\", Entity_Name, iif(Entity_Type == \\\"url\\\", Entity_Url, \\\"NoTarget\\\")))))))))))))))\\n|where Entity_Type == \\\"url\\\"\\n|where Target has_any {URL_IOC}\\n|summarize IOC=make_set(Target), AlertName=make_set(AlertName),SystemAlertId=make_set(SystemAlertId) ,count_=count(Target) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|extend AlertName = tostring(strcat_array(AlertName,\\\", \\\")), SystemAlertId = tostring(strcat_array(SystemAlertId,\\\", \\\"))\\n|project AlertName, SystemAlertId, count_ ,IOC\\n|sort by count_ desc\",\"size\":1,\"title\":\"SecurityAlert - URL\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"AlertName\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"30%\"}},{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"25%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"name\":\"SecurityAlert - URL\"},{\"type\":1,\"content\":{\"json\":\"## CommonSecurityLog\"},\"name\":\"text - 4\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"CommonSecurityLog\\n|where TimeGenerated {TimeRange:query}\\n|where RequestURL has_any {URL_IOC}\\n|summarize IOC=make_set(RequestURL), count_=count(RequestURL) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|project count_ ,IOC\\n|sort by count_ desc\",\"size\":1,\"title\":\"CommonSecurityLog - RequestURL\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"50%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"name\":\"query - 5\"},{\"type\":1,\"content\":{\"json\":\"## DNS\"},\"name\":\"text - 25\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DnsEvents\\n|where SubType == \\\"LookupQuery\\\"\\n|where TimeGenerated {TimeRange:query}\\n|where Name has_any {URL_IOC}\\n|summarize IOC=make_set(Name), count_=count(Name) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|project count_ ,IOC\\n|sort by count_ desc\",\"size\":1,\"title\":\"DNS - DnsEvents\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"]},\"name\":\"DNS - DnsEvents\"},{\"type\":1,\"content\":{\"json\":\"## Office 365\"},\"name\":\"text - 6\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"OfficeActivity\\n|where TimeGenerated {TimeRange:query}\\n|where OfficeObjectId has_any {URL_IOC}\\n|summarize IOC=make_set(OfficeObjectId),Type_=make_set(OfficeWorkload, 100000), count_=count(OfficeObjectId) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|extend Type_ = tostring(strcat_array(Type_,\\\", \\\"))\\n|project count_ ,IOC,Type_\\n|sort by count_ desc\",\"size\":1,\"title\":\"OfficeActivity - OfficeObjectId\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"]},\"customWidth\":\"50\",\"name\":\"query - 7\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"OfficeActivity\\n|where TimeGenerated {TimeRange:query}\\n|where Site_Url has_any {URL_IOC}\\n|summarize IOC=make_set(Site_Url),Type_=make_set(OfficeWorkload, 100000), count_=count(Site_Url) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|extend Type_ = tostring(strcat_array(Type_,\\\", \\\"))\\n|project count_ ,IOC,Type_\\n|sort by count_ desc\",\"size\":1,\"title\":\"OfficeActivity - Site_Url\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"},{\"columnId\":\"Type_\",\"label\":\"Type\"}]}},\"customWidth\":\"50\",\"name\":\"OfficeActivity - Site_Url\"},{\"type\":1,\"content\":{\"json\":\"## Security Event\"},\"name\":\"text - 8\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityEvent\\n|where CommandLine has_any {URL_IOC}\\n|summarize IOC=make_set(CommandLine),EventID=make_set(EventID), count_=count(CommandLine) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|extend EventID = tostring(strcat_array(EventID,\\\", \\\"))\\n|project EventID, IOC, count_\\n|sort by count_ desc\",\"size\":1,\"title\":\"SecurityEvent - CommandLine\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"]},\"name\":\"SecurityEvent - CommandLine\"},{\"type\":1,\"content\":{\"json\":\"## Microsoft Defender for Endpoint\"},\"name\":\"text - 11\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceEvents\\n|where FileOriginUrl has_any {URL_IOC}\\n|summarize FileName=make_set(FileName), IOC=make_set(FileOriginUrl), count_=count(FileOriginUrl) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|project FileName, IOC, count_\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceEvents - FileOriginUrl\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"FileName\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}},{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"labelSettings\":[{\"columnId\":\"FileName\",\"label\":\"File Name\"},{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceEvents - FileOriginUrl\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceEvents\\n|where RemoteUrl has_any {URL_IOC}\\n|summarize InitiatingProcessFileName=make_set(InitiatingProcessFileName), IOC=make_set(RemoteUrl), count_=count(RemoteUrl) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")), InitiatingProcessFileName = tostring(strcat_array(InitiatingProcessFileName,\\\", \\\"))\\n|project InitiatingProcessFileName, IOC, count_\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceEvents - RemoteUrl\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"InitiatingProcessFileName\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"15%\"}},{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"labelSettings\":[{\"columnId\":\"InitiatingProcessFileName\",\"label\":\"Initiating Process FileName\"},{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceEvents - RemoteUrl-2\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceFileEvents\\n|where FileOriginUrl has_any {URL_IOC}\\n|summarize IOC=make_set(FileOriginUrl),FileName=make_set(FileName), count_=count(FileOriginUrl) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|extend FileName = tostring(strcat_array(FileName,\\\", \\\"))\\n|project IOC, FileName, count_\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceFileEvents - FileOriginUrl\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}},{\"columnMatch\":\"FileName\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceFileEvents - FileOriginUrl\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceFileEvents\\n|where FileOriginReferrerUrl has_any {URL_IOC}\\n|summarize IOC=make_set(FileOriginReferrerUrl),FileName=make_set(FileName), count_=count(FileOriginReferrerUrl) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|extend FileName = tostring(strcat_array(FileName,\\\", \\\"))\\n|project IOC, FileName, count_\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceFileEvents - FileOriginReferrerUrl\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}},{\"columnMatch\":\"FileName\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceFileEvents - FileOriginReferrerUrl\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceProcessEvents\\n|where InitiatingProcessCommandLine has_any {URL_IOC}\\n|summarize IOC=make_set(InitiatingProcessCommandLine),FileName=make_set(FileName), count_=count(InitiatingProcessCommandLine) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|extend FileName = tostring(strcat_array(FileName,\\\", \\\"))\\n|project IOC, FileName, count_\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceProcessEvents - InitiatingProcessCommandLine\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}},{\"columnMatch\":\"FileName\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceProcessEvents - InitiatingProcessCommandLine\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceProcessEvents\\n|where ProcessCommandLine has_any {URL_IOC}\\n|summarize IOC=make_set(ProcessCommandLine),FileName=make_set(FileName), count_=count(ProcessCommandLine) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|extend FileName = tostring(strcat_array(FileName,\\\", \\\"))\\n|project IOC, FileName, count_\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceProcessEvents - ProcessCommandLine\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}},{\"columnMatch\":\"FileName\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceProcessEvents - ProcessCommandLine\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceImageLoadEvents\\n|where InitiatingProcessCommandLine has_any {URL_IOC}\\n|summarize IOC=make_set(InitiatingProcessCommandLine),FileName=make_set(FileName), count_=count(InitiatingProcessCommandLine) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|extend FileName = tostring(strcat_array(FileName,\\\", \\\"))\\n|project IOC, FileName, count_\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceImageLoadEvents - InitiatingProcessCommandLine\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}},{\"columnMatch\":\"FileName\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceImageLoadEvents - InitiatingProcessCommandLine\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceRegistryEvents\\n|where RegistryValueData has_any {URL_IOC}\\n|summarize IOC=make_set(RegistryValueData),ActionType=make_set(ActionType), count_=count(RegistryValueData) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|extend ActionType = tostring(strcat_array(ActionType,\\\", \\\"))\\n|project IOC, ActionType, count_\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceRegistryEvents - RegistryValueData\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}},{\"columnMatch\":\"FileName\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceRegistryEvents - RegistryValueData\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceFileCertificateInfo\\n|where CrlDistributionPointUrls has_any {URL_IOC}\\n|summarize IOC=make_set(CrlDistributionPointUrls), count_=count(CrlDistributionPointUrls) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|project IOC, count_\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceFileCertificateInfo - CrlDistributionPointUrls\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceFileCertificateInfo - CrlDistributionPointUrls\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"DeviceNetworkEvents\\n|where RemoteUrl has_any {URL_IOC}\\n|summarize IOC=make_set(RemoteUrl), count_=count(RemoteUrl) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|project IOC, count_\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDE - DeviceNetworkEvents - RemoteUrl\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"40%\"}}],\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"customWidth\":\"50\",\"name\":\"MSDE - DeviceNetworkEvents - RemoteUrl\"},{\"type\":1,\"content\":{\"json\":\"## Microsoft Defender for Office 365\"},\"name\":\"text - 18\"},{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"crossComponentResources\":[\"{Workspace}\"],\"parameters\":[{\"id\":\"65985eea-0c6b-412a-bdda-29533e73c7b4\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"DeliveryAction\",\"label\":\"Delivery Action\",\"type\":2,\"multiSelect\":true,\"quote\":\"'\",\"delimiter\":\",\",\"typeSettings\":{\"additionalResourceOptions\":[\"value::all\"],\"showDefault\":false},\"jsonData\":\"[\\n { \\\"value\\\":\\\"Delivered\\\", \\\"label\\\":\\\"Delivered\\\"},\\n { \\\"value\\\":\\\"Blocked\\\", \\\"label\\\":\\\"Blocked\\\" },\\n { \\\"value\\\":\\\"Junked\\\", \\\"label\\\":\\\"Junked\\\"},\\n { \\\"value\\\":\\\"Unknown\\\", \\\"label\\\":\\\"Unknown\\\"}\\n]\",\"timeContext\":{\"durationMs\":14400000},\"defaultValue\":\"value::all\",\"value\":[\"value::all\"]}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"customWidth\":\"20\",\"name\":\"parameters - 24\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"EmailUrlInfo\\n|where TimeGenerated {TimeRange:value}\\n|where Url has_any {URL_IOC}\\n|join kind=inner\\n(\\nEmailEvents\\n|where TimeGenerated {TimeRange:value}\\n| where DeliveryAction in ({DeliveryAction:value})\\n) on NetworkMessageId\\n|summarize IOC=make_set(Url), count_=count(Url), Recipient=make_set(RecipientEmailAddress) , Sender=make_set(SenderMailFromAddress), EmailSubject=make_set(Subject), DeliveryAction=make_set(DeliveryAction) ,FirstEvent= min(TimeGenerated), LastEvent=max(TimeGenerated) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")), Recipient = tostring(strcat_array(Recipient,\\\", \\\")), Sender = tostring(strcat_array(Sender,\\\", \\\")), EmailSubject = tostring(strcat_array(EmailSubject,\\\", \\\")), DeliveryAction = tostring(strcat_array(DeliveryAction,\\\", \\\"))\\n|project IOC, count_, FirstEvent, LastEvent, DeliveryAction ,Recipient, Sender, EmailSubject\\n|sort by count_ desc\",\"size\":0,\"title\":\"MSDO365 - EmailUrlInfo - Url\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"},{\"columnId\":\"DeliveryAction\",\"label\":\"Delivery Action\"},{\"columnId\":\"EmailSubject\",\"label\":\"Email Subject\"}]}},\"name\":\"MSDO365 - EmailUrlInfo - Url\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"UrlClickEvents\\n|where TimeGenerated {TimeRange:value}\\n|where Url has_any {URL_IOC}\\n|join kind=leftouter\\n(\\nEmailEvents\\n|where TimeGenerated {TimeRange:value}\\n) on NetworkMessageId\\n|summarize IOC=make_set(Url), count_=count(Url), ActionType=make_set(ActionType), Account=make_set(AccountUpn), FirstEvent= min(TimeGenerated), LastEvent=max(TimeGenerated) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")), ActionType = tostring(strcat_array(ActionType,\\\", \\\")), Account = tostring(strcat_array(Account,\\\", \\\"))\\n|project IOC, count_, ActionType, Account, FirstEvent, LastEvent\\n|sort by count_ desc\",\"size\":1,\"title\":\"MSDO365 - UrlClickEvents - Url\",\"noDataMessageStyle\":3,\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"labelSettings\":[{\"columnId\":\"count_\",\"label\":\"Count\"}]}},\"name\":\"MSDO365 - UrlClickEvents - Url\"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"url\"},\"name\":\"url\"},{\"type\":12,\"content\":{\"version\":\"NotebookGroup/1.0\",\"groupType\":\"editable\",\"loadType\":\"always\",\"items\":[{\"type\":9,\"content\":{\"version\":\"KqlParameterItem/1.0\",\"parameters\":[{\"id\":\"a66098f8-6aa0-4439-9c84-e7be5831649a\",\"version\":\"KqlParameterItem/1.0\",\"name\":\"EMAIL_IOC\",\"label\":\"Email Address\",\"type\":1,\"description\":\"Recommend to only add 1 email IOC for deeper analysis\",\"isRequired\":true,\"typeSettings\":{\"multiLineText\":true,\"editorLanguage\":\"text\",\"multiLineHeight\":2},\"timeContext\":{\"durationMs\":86400000},\"value\":\"(\\\"sample@google.com\\\")\"}],\"style\":\"pills\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\"},\"name\":\"parameters - 2\"},{\"type\":1,\"content\":{\"json\":\"## Overview of General Information on Email Deliverability\"},\"name\":\"text - 9\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"EmailEvents\\n| where SenderMailFromAddress has_any {EMAIL_IOC} or SenderFromAddress has_any {EMAIL_IOC} //Must use both P1 P2 column names\\n| where EmailDirection == \\\"Inbound\\\"\\n| summarize count() by DeliveryAction\",\"size\":0,\"title\":\"Email Inbound Deliverability in the {TimeRange:label}\",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"piechart\",\"chartSettings\":{\"group\":\"DeliveryAction\",\"createOtherGroup\":null,\"seriesLabelSettings\":[{\"seriesName\":\"Blocked\",\"color\":\"green\"},{\"seriesName\":\"Delivered\",\"color\":\"redBright\"},{\"seriesName\":\"Junked\",\"color\":\"orange\"},{\"color\":\"gray\"}]}},\"customWidth\":\"20\",\"name\":\"query - 10\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"EmailEvents\\n| where SenderMailFromAddress has_any {EMAIL_IOC} or SenderFromAddress has_any {EMAIL_IOC} //Must use both P1 P2 column names\\n| where EmailDirection == \\\"Inbound\\\"\\n| where DeliveryAction == \\\"Delivered\\\"\\n| summarize count() by DeliveryLocation\",\"size\":0,\"title\":\"Email inbound deliverability by Location in the {TimeRange:label}\",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"piechart\",\"chartSettings\":{\"seriesLabelSettings\":[{\"seriesName\":\"Blocked\",\"color\":\"green\"},{\"seriesName\":\"Delivered\",\"color\":\"redBright\"}]}},\"customWidth\":\"20\",\"name\":\"query - 11\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"EmailEvents\\n| where TimeGenerated {TimeRange:value}\\n| where SenderMailFromAddress has_any {EMAIL_IOC} or SenderFromAddress has_any {EMAIL_IOC} //Must use both P1 P2 column names\\n| where EmailDirection == \\\"Inbound\\\"\\n| where DeliveryAction == \\\"Delivered\\\"\\n| project NetworkMessageId, DeliveryAction, DeliveryLocation, SenderFromAddress, SenderMailFromAddress, RecipientEmailAddress, Subject, SenderIPv4, EmailDirection, TenantId\\n| join kind=leftouter \\n( \\nEmailPostDeliveryEvents\\n| where TimeGenerated {TimeRange:value}\\n| summarize arg_max(TimeGenerated,*) by NetworkMessageId\\n| extend \\n DeliveryLocation_Post = DeliveryLocation, //Differentiate with original location\\n TenantId_Post = TenantId //Differentiate with original location\\n) on NetworkMessageId, RecipientEmailAddress\\n| extend \\n Action = iff(isempty(Action), \\\"No Action\\\", Action),\\n ActionResult = iff(isempty(ActionResult), \\\"No Result\\\",ActionResult),\\n ActionTrigger = iff(isempty(ActionTrigger), \\\"No Trigger\\\",ActionTrigger),\\n ActionType = iff(isempty(ActionType), \\\"No Action\\\",ActionType),\\n final_DeliveryLocation = iff(isempty(DeliveryLocation_Post), \\n iff(ActionType contains \\\"ZAP\\\", ActionType, DeliveryLocation),\\n DeliveryLocation_Post) //Find a final location of the email\\n| evaluate pivot(final_DeliveryLocation,count(RecipientEmailAddress),DeliveryLocation)\",\"size\":0,\"title\":\"Original Email Location vs. Final Email Location in the {TimeRange:label}\",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Phish ZAP\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"icons\",\"thresholdsGrid\":[{\"operator\":\">=\",\"thresholdValue\":\"1\",\"representation\":\"success\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"thresholdValue\":null,\"representation\":\"Blank\",\"text\":\"{0}{1}\"}]}},{\"columnMatch\":\"Delete\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"icons\",\"thresholdsGrid\":[{\"operator\":\">=\",\"thresholdValue\":\"1\",\"representation\":\"success\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"thresholdValue\":null,\"representation\":\"Blank\",\"text\":\"{0}{1}\"}]}},{\"columnMatch\":\"Inbox/folder\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"icons\",\"thresholdsGrid\":[{\"operator\":\">=\",\"thresholdValue\":\"1\",\"representation\":\"3\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"thresholdValue\":null,\"representation\":\"Blank\",\"text\":\"{0}{1}\"}]}},{\"columnMatch\":\"Junk\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"icons\",\"thresholdsGrid\":[{\"operator\":\">=\",\"representation\":\"2\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"thresholdValue\":null,\"representation\":\"Blank\",\"text\":\"{0}{1}\"}]}}],\"labelSettings\":[{\"columnId\":\"DeliveryLocation\",\"label\":\"Original Location\"}]}},\"customWidth\":\"30\",\"name\":\"query - 12\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"EmailEvents\\n| where TimeGenerated {TimeRange:value}\\n| where SenderMailFromAddress has_any {EMAIL_IOC} or SenderFromAddress has_any {EMAIL_IOC} //Must use both P1 P2 column names\\n| where EmailDirection == \\\"Inbound\\\"\\n| where DeliveryAction == \\\"Delivered\\\"\\n| project NetworkMessageId, DeliveryAction, DeliveryLocation, SenderFromAddress, SenderMailFromAddress, RecipientEmailAddress, Subject, SenderIPv4, EmailDirection, TenantId\\n| join kind=leftouter \\n( \\nEmailPostDeliveryEvents\\n| where TimeGenerated {TimeRange:value}\\n| summarize arg_max(TimeGenerated,*) by NetworkMessageId\\n| extend \\n DeliveryLocation_Post = DeliveryLocation, //Differentiate with original location\\n TenantId_Post = TenantId //Differentiate with original location\\n) on NetworkMessageId, RecipientEmailAddress\\n| extend \\n Action = iff(isempty(Action), \\\"No Action\\\", Action),\\n ActionResult = iff(isempty(ActionResult), \\\"No Result\\\",ActionResult),\\n ActionTrigger = iff(isempty(ActionTrigger), \\\"No Trigger\\\",ActionTrigger),\\n ActionType = iff(isempty(ActionType), \\\"No Action\\\",ActionType),\\n final_DeliveryLocation = iff(isempty(DeliveryLocation_Post), \\n iff(ActionType contains \\\"ZAP\\\", ActionType, DeliveryLocation),\\n DeliveryLocation_Post) //Find a final location of the email\\n| evaluate pivot(final_DeliveryLocation,count(RecipientEmailAddress),TenantId)\",\"size\":0,\"title\":\"Email final location by Agency in the {TimeRange:label}\",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"table\",\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Phish ZAP\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"colors\",\"thresholdsGrid\":[{\"operator\":\">=\",\"thresholdValue\":\"1\",\"representation\":\"green\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"thresholdValue\":null,\"text\":\"{0}{1}\"}]}},{\"columnMatch\":\"Delete\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"colors\",\"thresholdsGrid\":[{\"operator\":\">=\",\"thresholdValue\":\"1\",\"representation\":\"green\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"thresholdValue\":null,\"representation\":null,\"text\":\"{0}{1}\"}]}},{\"columnMatch\":\"Inbox/folder\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"colors\",\"thresholdsGrid\":[{\"operator\":\">=\",\"thresholdValue\":\"1\",\"representation\":\"redBright\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"thresholdValue\":null,\"representation\":null,\"text\":\"{0}{1}\"}]}},{\"columnMatch\":\"Junk\",\"formatter\":18,\"formatOptions\":{\"thresholdsOptions\":\"colors\",\"thresholdsGrid\":[{\"operator\":\">=\",\"thresholdValue\":\"1\",\"representation\":\"orange\",\"text\":\"{0}{1}\"},{\"operator\":\"Default\",\"thresholdValue\":null,\"text\":\"{0}{1}\"}]}}]}},\"customWidth\":\"30\",\"name\":\"query - 13\"},{\"type\":1,\"content\":{\"json\":\"## Security Alert - mailMessage\"},\"name\":\"text - 0\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"SecurityAlert\\n|summarize arg_max(TimeGenerated,*) by SystemAlertId\\n| extend Entities = iff(isempty(Entities), todynamic('[{\\\"dummy\\\" : \\\"\\\"}]'), todynamic(Entities))\\n| mv-expand Entities\\n| evaluate bag_unpack(Entities, \\\"Entity_\\\")\\n| extend Entity_Type = columnifexists(\\\"Entity_Type\\\", \\\"\\\")\\n| extend Entity_Name = columnifexists(\\\"Entity_Name\\\", \\\"\\\")\\n| extend Entity_ResourceId = columnifexists(\\\"Entity_ResourceId\\\", \\\"\\\")\\n| extend Entity_Directory = columnifexists(\\\"Entity_Directory\\\", \\\"\\\")\\n| extend Entity_Value = columnifexists(\\\"Entity_Value\\\", \\\"\\\")\\n| extend Entity_HostName = columnifexists(\\\"Entity_HostName\\\", \\\"\\\")\\n| extend Entity_Address = columnifexists(\\\"Entity_Address\\\", \\\"\\\")\\n| extend Entity_ProcessId = columnifexists(\\\"Entity_ProcessId\\\", \\\"\\\")\\n| extend Entity_Url = columnifexists(\\\"Entity_Url\\\", \\\"\\\")\\n| extend Entity_Sender = columnifexists(\\\"Entity_Sender\\\", \\\"\\\")\\n| extend Target = iif(Entity_Type == \\\"account\\\", Entity_Name, iif(Entity_Type == \\\"azure-resource\\\", Entity_ResourceId, iif(Entity_Type == \\\"cloud-application\\\", Entity_Name, iif(Entity_Type == \\\"dns\\\", Entity_Name, iif(Entity_Type == \\\"file\\\", strcat(Entity_Directory, \\\"\\\\\\\\\\\", Entity_Name), iif(Entity_Type == \\\"filehash\\\", Entity_Value, iif(Entity_Type == \\\"host\\\", Entity_HostName, iif(Entity_Type == \\\"ip\\\" , Entity_Address, iif(Entity_Type == \\\"malware\\\", Entity_HostName, iif(Entity_Type == \\\"network-connection\\\", Entity_Name, iif(Entity_Type == \\\"process\\\", Entity_ProcessId, iif(Entity_Type == \\\"registry-key\\\", Entity_Name, iif(Entity_Type == \\\"registry-value\\\", Entity_Name, iif(Entity_Type == \\\"mailMessage\\\", Entity_Sender, iif(Entity_Type == \\\"security-group\\\", Entity_Name, iif(Entity_Type == \\\"url\\\", Entity_Url, \\\"NoTarget\\\"))))))))))))))))\\n|where Entity_Type == \\\"mailMessage\\\"\\n|where Target has_any {EMAIL_IOC}\\n|summarize IOC=make_set(Target), AlertName=make_set(AlertName),SystemAlertId=make_set(SystemAlertId) ,count_=count(Target), LatestTimestamp=max(TimeGenerated) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\"))\\n|extend AlertName = tostring(strcat_array(AlertName,\\\", \\\")), SystemAlertId = tostring(strcat_array(SystemAlertId,\\\", \\\"))\\n|project AlertName, SystemAlertId, LatestTimestamp, count_ ,IOC\\n|sort by LatestTimestamp desc\",\"size\":1,\"title\":\"Security Alert - mailMessage - Entity_Sender\",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"AlertName\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"25%\"}},{\"columnMatch\":\"IOC\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"25%\"}}],\"sortBy\":[{\"itemKey\":\"LatestTimestamp\",\"sortOrder\":2}],\"labelSettings\":[{\"columnId\":\"LatestTimestamp\",\"label\":\"Latest Timestamp\"},{\"columnId\":\"count_\",\"label\":\"Count\"}]},\"sortBy\":[{\"itemKey\":\"LatestTimestamp\",\"sortOrder\":2}]},\"name\":\"Security Alert - mailMessage - Entity_Sender\"},{\"type\":1,\"content\":{\"json\":\"## Microsoft Defender for Office 365\"},\"name\":\"text - 3\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let time_step = {TimeRange:grain};\\nEmailEvents\\n| where SenderMailFromAddress has_any {EMAIL_IOC} or SenderFromAddress has_any {EMAIL_IOC} //Must use both P1 P2 column names\\n| extend IOC = SenderMailFromAddress\\n| make-series Email_Trend = count() default=0 on TimeGenerated in range({TimeRange:start}+time_step,{TimeRange:end}-time_step,time_step) by IOC\",\"size\":1,\"title\":\"EmailEvents - SenderMailFromAddress - Cross-sector overview\",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"timechart\"},\"name\":\"EmailEvents - SenderMailFromAddress\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"EmailEvents\\n| where TimeGenerated {TimeRange:value}\\n| where SenderMailFromAddress has_any {EMAIL_IOC} or SenderFromAddress has_any {EMAIL_IOC} //Must use both P1 P2 column names\\n| join kind=leftouter \\n( \\nEmailPostDeliveryEvents\\n| where TimeGenerated {TimeRange:value}\\n| summarize arg_max(TimeGenerated,*) by NetworkMessageId\\n| extend \\n DeliveryLocation_Post = DeliveryLocation, //Differentiate with original location\\n TenantId_Post = TenantId\\n) on NetworkMessageId, RecipientEmailAddress\\n| extend \\n Action = iff(isempty(Action), \\\"No Action\\\", Action),\\n ActionResult = iff(isempty(ActionResult), \\\"No Result\\\",ActionResult),\\n ActionTrigger = iff(isempty(ActionTrigger), \\\"No Trigger\\\",ActionTrigger),\\n ActionType = iff(isempty(ActionType), \\\"No Action\\\",ActionType),\\n final_DeliveryLocation = iff(isempty(DeliveryLocation_Post), DeliveryLocation,DeliveryLocation_Post) //Find a final location of the email\\n| summarize IOC=make_set(SenderMailFromAddress), count_=count(SenderMailFromAddress) ,Recipient=make_set(RecipientEmailAddress), EmailSubject=make_set(Subject), DeliveryAction=make_set(DeliveryAction) ,FirstEvent= min(TimeGenerated), LastEvent=max(TimeGenerated) , final_DeliveryLocation=make_set(final_DeliveryLocation) by TenantId\\n| extend IOC = tostring(strcat_array(IOC,\\\", \\\")), Recipient = tostring(strcat_array(Recipient,\\\", \\\")), EmailSubject = tostring(strcat_array(EmailSubject,\\\", \\\")), DeliveryAction = tostring(strcat_array(DeliveryAction,\\\", \\\")), final_DeliveryLocation = tostring(strcat_array(final_DeliveryLocation,\\\", \\\"))\\n| project FirstEvent, LastEvent, IOC, count_, Recipient, EmailSubject, DeliveryAction, final_DeliveryLocation\\n| sort by count_ desc\",\"size\":0,\"title\":\"EmailEvents - SenderMailFromAddress + EmailPostDeliveryAction\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"Recipient\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"30%\"}},{\"columnMatch\":\"EmailSubject\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"20%\"}}],\"filter\":true,\"labelSettings\":[{\"columnId\":\"FirstEvent\",\"label\":\"First Event\"},{\"columnId\":\"LastEvent\",\"label\":\"Last Event\"},{\"columnId\":\"count_\",\"label\":\"Count\"},{\"columnId\":\"EmailSubject\",\"label\":\"Email Subject\"},{\"columnId\":\"DeliveryAction\",\"label\":\"Delivery Action\"},{\"columnId\":\"final_DeliveryLocation\",\"label\":\"Final Delivery Location\"}]}},\"name\":\"EmailEvents - SenderMailFromAddress\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"EmailEvents\\n| where TimeGenerated {TimeRange:value}\\n| where SenderMailFromAddress has_any {EMAIL_IOC} or SenderFromAddress has_any {EMAIL_IOC} //Must use both P1 P2 column names\\n| project TimeGenerated, DeliveryAction, DeliveryLocation, SenderMailFromAddress, RecipientEmailAddress, Subject, NetworkMessageId\\n| join kind=inner \\n(\\nUrlClickEvents\\n| where TimeGenerated {TimeRange:value}\\n) on NetworkMessageId\\n| summarize IOC=make_set(SenderMailFromAddress) ,count_=count(SenderMailFromAddress), Recipient=make_set(RecipientEmailAddress), EmailSubject=make_set(Subject), DeliveryAction=make_set(DeliveryAction), DeliveryLocation=make_set(DeliveryLocation) , UserClick = make_set(AccountUpn) ,FirstEvent= min(TimeGenerated), LastEvent=max(TimeGenerated), Url=make_set(Url) by TenantId\\n| extend IOC = tostring(strcat_array(IOC,\\\", \\\")), Recipient = tostring(strcat_array(Recipient,\\\", \\\")), EmailSubject = tostring(strcat_array(EmailSubject,\\\", \\\")), DeliveryAction = tostring(strcat_array(DeliveryAction,\\\", \\\")), DeliveryLocation = tostring(strcat_array(DeliveryLocation,\\\", \\\")), Url = tostring(strcat_array(Url,\\\", \\\")), UserClick = tostring(strcat_array(UserClick,\\\", \\\"))\\n|project FirstEvent, LastEvent, IOC, count_, Recipient, UserClick, EmailSubject, DeliveryAction, DeliveryLocation, Url\\n|sort by count_ desc\\n\",\"size\":0,\"title\":\"UrlClickEvents - Click Events from email sent by Sender\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"gridSettings\":{\"formatters\":[{\"columnMatch\":\"UserClick\",\"formatter\":0,\"formatOptions\":{\"customColumnWidthSetting\":\"20%\"}}],\"labelSettings\":[{\"columnId\":\"IOC\",\"label\":\"IOC (Email Sender)\"},{\"columnId\":\"count_\",\"label\":\"Count\"},{\"columnId\":\"UserClick\",\"label\":\"User Clicking the Link\"}]},\"sortBy\":[]},\"name\":\"UrlClickEvents - NetworkMessageId\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"let time_step = {TimeRange:grain};\\nEmailEvents\\n| where SenderMailFromAddress has_any {EMAIL_IOC} or SenderFromAddress has_any {EMAIL_IOC} //Must use both P1 P2 column names\\n| extend IOC = RecipientEmailAddress\\n| make-series Email_Trend = count() default=0 on TimeGenerated in range({TimeRange:start}+time_step,{TimeRange:end}-time_step,time_step) by IOC\",\"size\":1,\"title\":\"EmailEvents - RecipientEmailAddress - Outbound email interaction with IOCS - Cross-sector overview\",\"timeContextFromParameter\":\"TimeRange\",\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"],\"visualization\":\"timechart\"},\"name\":\"EmailEvents - RecipientEmailAddress\"},{\"type\":3,\"content\":{\"version\":\"KqlItem/1.0\",\"query\":\"EmailEvents\\n|where RecipientEmailAddress has_any {EMAIL_IOC}\\n|summarize IOC=make_set(RecipientEmailAddress), count_=count(RecipientEmailAddress) ,Sender=make_set(SenderMailFromAddress) ,Recipient=make_set(RecipientEmailAddress), EmailSubject=make_set(Subject), DeliveryAction=make_set(DeliveryAction) ,FirstEvent= min(TimeGenerated), LastEvent=max(TimeGenerated) by TenantId\\n|extend IOC = tostring(strcat_array(IOC,\\\", \\\")),Sender = tostring(strcat_array(Sender,\\\", \\\")), Recipient = tostring(strcat_array(Recipient,\\\", \\\")), EmailSubject = tostring(strcat_array(EmailSubject,\\\", \\\")), DeliveryAction = tostring(strcat_array(DeliveryAction,\\\", \\\"))\\n|project FirstEvent, LastEvent, IOC, count_, Sender, Recipient, EmailSubject, DeliveryAction\\n|sort by count_ desc\",\"size\":0,\"title\":\"EmailEvents - RecipientEmailAddress - User outbound email interaction with IOCs\",\"timeContextFromParameter\":\"TimeRange\",\"showExportToExcel\":true,\"queryType\":0,\"resourceType\":\"microsoft.operationalinsights/workspaces\",\"crossComponentResources\":[\"{Workspace}\"]},\"name\":\"EmailEvents - RecipientEmailAddress\"}]},\"conditionalVisibility\":{\"parameterName\":\"Tab\",\"comparison\":\"isEqualTo\",\"value\":\"email_external\"},\"name\":\"email_external\"}],\"isLocked\":false,\"fallbackResourceIds\":[],\"fromTemplateId\":\"sentinel-UserWorkbook\"}", "version": "1.0", - "sourceId": "[parameters('workbookSourceId')]", + "sourceId": "[variables('workbookSourceId')]", "category": "[parameters('workbookType')]" } } From 877ed9844b7cfe8aaf47f00a3abd1721279addfc Mon Sep 17 00:00:00 2001 From: JadonWill Date: Wed, 4 Sep 2024 03:17:09 +0000 Subject: [PATCH 17/20] Format markdown docs --- docs/advisories/20240904002-WinRAR-Active-Exploitation.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/docs/advisories/20240904002-WinRAR-Active-Exploitation.md b/docs/advisories/20240904002-WinRAR-Active-Exploitation.md index 8748ffbc..49d02bb4 100644 --- a/docs/advisories/20240904002-WinRAR-Active-Exploitation.md +++ b/docs/advisories/20240904002-WinRAR-Active-Exploitation.md @@ -6,10 +6,9 @@ The WA SOC has been made aware of active exploitation in the wild against WinRAR ## What is vulnerable? -| Product(s) Affected | Version(s) | CVE | CVSS | Severity | -| ------------------- | ---------- | --- | ---- | -------- | -| WinRAR | < 6.23 | [CVE-2023-38831](https://nvd.nist.gov/vuln/detail/CVE-2023-38831) | 7.8 | High | - +| Product(s) Affected | Version(s) | CVE | CVSS | Severity | +| ------------------- | ---------- | ----------------------------------------------------------------- | ---- | -------- | +| WinRAR | \< 6.23 | [CVE-2023-38831](https://nvd.nist.gov/vuln/detail/CVE-2023-38831) | 7.8 | High | ## What has been observed? From 647e27ee5f9e160150c03ea44bea799cf937d8b4 Mon Sep 17 00:00:00 2001 From: Nosaj <43643214+jasonkasih@users.noreply.github.com> Date: Wed, 4 Sep 2024 11:32:10 +0800 Subject: [PATCH 18/20] Create 20240904001-Ivanti-Critical-Vulnerability-PoC-Published.md (#970) * Create 20240904001-Ivanti-Critical-Vulnerability-PoC-Published.md Ivanti Critical Vulnerability PoC Published - 20240904001 * Format markdown docs * Update 20240904001 Updated content to match the Template. * Format markdown docs --------- Co-authored-by: jasonkasih Co-authored-by: JadonWill <117053393+JadonWill@users.noreply.github.com> Co-authored-by: JadonWill --- ...ti-Critical-Vulnerability-PoC-Published.md | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 docs/advisories/20240904001-Ivanti-Critical-Vulnerability-PoC-Published.md diff --git a/docs/advisories/20240904001-Ivanti-Critical-Vulnerability-PoC-Published.md b/docs/advisories/20240904001-Ivanti-Critical-Vulnerability-PoC-Published.md new file mode 100644 index 00000000..cc587152 --- /dev/null +++ b/docs/advisories/20240904001-Ivanti-Critical-Vulnerability-PoC-Published.md @@ -0,0 +1,22 @@ +# Ivanti Critical Vulnerability PoC Published - 20240904001 + +## Overview + +Ivanti released updates for Ivanti Virtual Traffic Manager (vTM) which addressed a critical vulnerability. Successful exploitation could lead to authentication bypass and creation of an administrator user. + +## What is vulnerable? + +| Product(s) Affected | Version(s) | CVE # | CVSS v4/v3 | Severity | +| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | ---------- | -------- | +| Ivanti Virtual Traffic Manager | 22.2 \< 22.2R1
22.3 \< 22.3R3
22.3R2 \< 22.3R3
22.5R1 \< 22.5R2
22.6R1 \< 22.6R2
22.7R1 \< 22.7R2 | [CVE-2024-7593](https://nvd.nist.gov/vuln/detail/CVE-2024-7593) | 9.8 | Critical | + +## What has been observed? + +Ivanti is not aware of any customers being exploited by this vulnerability at the time of disclosure, however a Proof of Concept is publicly available. +There is no evidence of exploitation affecting Western Australian Government networks at the time of publishing. + +## Recommendation + +The WA SOC recommends administrators apply the solutions as per vendor instructions to all affected devices within expected timeframe of *48 hours...* (refer [Patch Management](../guidelines/patch-management.md)): + +- Vendor article: From 3cc06ea00a96c7fb459679ae28d6dad9a063c4bd Mon Sep 17 00:00:00 2001 From: DamoOne <115965806+DamoOne@users.noreply.github.com> Date: Thu, 5 Sep 2024 14:18:31 +0800 Subject: [PATCH 19/20] Update threat-activity.md Threat report for Aug 2024 --- docs/threat-activity.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/threat-activity.md b/docs/threat-activity.md index f23b76fd..c29a1e65 100644 --- a/docs/threat-activity.md +++ b/docs/threat-activity.md @@ -2,7 +2,7 @@ {{ date_index("docs/advisories", prefix="advisories/", expand=1, include=2) }} -## WA SOC - Recent Threat Activity (July 2024) +## WA SOC - Recent Threat Activity (August 2024) Based on recent high impact incidents seen by the WA SOC, security teams should be focusing on the below areas of improvement: @@ -10,10 +10,12 @@ Based on recent high impact incidents seen by the WA SOC, security teams should - The ACSC has released a coordinated advisory about the newly realised [APT40](https://www.cyber.gov.au/about-us/view-all-content/alerts-and-advisories/apt40-advisory-prc-mss-tradecraft-in-action). - CISA has released a joint Cybersecurity Advisory titled ["North Korea State-Sponsored Cyber Group Conducts Global Espionage Campaign to Advance Regime's Military and Nuclear Programs"](https://www.cisa.gov/news-events/alerts/2024/07/25/fbi-cisa-and-partners-release-advisory-highlighting-north-korean-cyber-espionage-activity). +- The ACSC has observed activity of Threat Actors impersonating the ACSC [Email scammers impersonating the ASD's ACSC](https://www.cyber.gov.au/about-us/view-all-content/alerts-and-advisories/email-scammers-impersonating-asds-acsc) Recent WA SOC advisories this month worth staying across include: -- [ServiceNow Public Exploitation Campaigns](https://soc.cyber.wa.gov.au/advisories/20240726005-ServiceNow-Public-Exploitation-Campaigns/) + - [SolarWinds Releases Critical Update - 20240814002](https://soc.cyber.wa.gov.au/advisories/20240814002-SolarWinds-Releases-Critical-Update/) + - [SAP Releases Critical Updates - 20240814003](https://soc.cyber.wa.gov.au/advisories/20240814003-SAP-Releases-Critical-Updates/) Agencies should review the latest [WA Government Cyber Security Policy](https://www.wa.gov.au/government/publications/2024-wa-government-cyber-security-policy) From 6c9611d0373b527cb0e58c254b9798d0e5846b72 Mon Sep 17 00:00:00 2001 From: DamoOne Date: Thu, 5 Sep 2024 06:19:17 +0000 Subject: [PATCH 20/20] Format markdown docs --- docs/threat-activity.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/threat-activity.md b/docs/threat-activity.md index c29a1e65..e08d12fb 100644 --- a/docs/threat-activity.md +++ b/docs/threat-activity.md @@ -14,8 +14,8 @@ Based on recent high impact incidents seen by the WA SOC, security teams should Recent WA SOC advisories this month worth staying across include: - - [SolarWinds Releases Critical Update - 20240814002](https://soc.cyber.wa.gov.au/advisories/20240814002-SolarWinds-Releases-Critical-Update/) - - [SAP Releases Critical Updates - 20240814003](https://soc.cyber.wa.gov.au/advisories/20240814003-SAP-Releases-Critical-Updates/) +- [SolarWinds Releases Critical Update - 20240814002](https://soc.cyber.wa.gov.au/advisories/20240814002-SolarWinds-Releases-Critical-Update/) +- [SAP Releases Critical Updates - 20240814003](https://soc.cyber.wa.gov.au/advisories/20240814003-SAP-Releases-Critical-Updates/) Agencies should review the latest [WA Government Cyber Security Policy](https://www.wa.gov.au/government/publications/2024-wa-government-cyber-security-policy)