If you’re a Microsoft Defender XDR user, I highly recommend checking out the new Exposure Management feature. It offers extensive data that can greatly enhance your security landscape management—definitely worth exploring.
In this concise post, I’ll provide some KQL queries that help identify key resources within your network.
Microsoft Configuration Manager Servers
ExposureGraphNodes
| where set_has_element(Categories, "device")
| extend DeviceRoles = parse_json(NodeProperties.rawData.deviceRole)
| where DeviceRoles contains "MicrosoftConfigurationManager"
Active Directory Certificate Services
ExposureGraphNodes
| where set_has_element(Categories, "device")
| extend DeviceRoles = parse_json(NodeProperties.rawData.deviceRole)
| where DeviceRoles contains "ActiveDirectoryCertificateServicesServer"
Azure AD Connect / Entra Connect Servers
ExposureGraphNodes
| where set_has_element(Categories, "device")
| extend DeviceRoles = parse_json(NodeProperties.rawData.deviceRole)
| where DeviceRoles contains "AzureADConnectServer" or DeviceRoles contains "EntraConnectServer"
Exchange Servers
ExposureGraphNodes
| where set_has_element(Categories, "device")
| extend DeviceRoles = parse_json(NodeProperties.rawData.deviceRole)
| where DeviceRoles contains "ExchangeServer"
Active Directory Domain Controllers
ExposureGraphNodes
| where set_has_element(Categories, "device")
| extend DeviceRoles = parse_json(NodeProperties.rawData.deviceRole)
| where DeviceRoles contains "DomainController"
List All Servers
ExposureGraphNodes
| where set_has_element(Categories, "device")
| extend DeviceType = parse_json(NodeProperties.rawData.deviceType)
| where DeviceType == "Server"
List All Azure Arc for Servers
ExposureGraphNodes
| where EntityIds contains "microsoft.hybridcompute"
List All Azure VMs
ExposureGraphNodes
| where EntityIds contains "microsoft.compute"
| where NodeLabel == "microsoft.compute/virtualmachines"
List All Azure VMs Public IP Addresses
ExposureGraphNodes
| where EntityIds contains "microsoft.compute"
| where NodeLabel == "microsoft.compute/virtualmachines"
| extend PublicIP = parse_json(NodeProperties.rawData.publicIP)
| project NodeName,PublicIP
How can I use that data?
By analyzing the data from these queries, you can tag and categorize resources like Azure VMs or Azure Arc for Servers, which facilitates targeted management and enhances security oversight. Implementing automation based on these tags can trigger specific policies or actions, increasing efficiency and responsiveness.
Additionally, integrating this data into Azure Workbooks allows for dynamic reporting and analytics, providing real-time insights into the security status of your environment. This strategic use of data not only streamlines operations but also strengthens your overall security framework.