<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>SecOps on Nicola Suter</title><link>https://nicolasuter.ch/tags/secops/</link><description>Recent content in SecOps on Nicola Suter</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><copyright>© 2026 Nicola Suter</copyright><lastBuildDate>Sun, 22 Mar 2026 10:00:03 +0000</lastBuildDate><atom:link href="https://nicolasuter.ch/tags/secops/rss.xml" rel="self" type="application/rss+xml"/><item><title>Don't let Entra ID Protection miss your next breach!</title><link>https://nicolasuter.ch/entra-id-protection-stop-account-breach/</link><pubDate>Sun, 22 Mar 2026 10:00:03 +0000</pubDate><guid>https://nicolasuter.ch/entra-id-protection-stop-account-breach/</guid><description>&lt;p&gt;All too often, my baseVISION (IR) colleagues and I find compromised cloud accounts where many security &amp;lsquo;signals&amp;rsquo; were missed—both from a prevention and detection perspective. In this blog post, I want to share some motivation and tips to help you adopt Entra ID Protection risk-based Conditional Access policies to increase your tenant&amp;rsquo;s security posture, and ensure you don&amp;rsquo;t miss the next obvious account breach.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Real-world motivation
 &lt;div id="real-world-motivation" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#real-world-motivation" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Anyone who has seen an AiTM campaign in the wild will probably notice the following details from the Entra ID sign-in logs of a compromised account:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ResourceDisplayName: &lt;code&gt;OfficeHome&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;UserAgent: &lt;code&gt;axios/1.13.2&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;figure&gt;&lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt="Entra ID Protection - High - AiTM"
 src="https://nicolasuter.ch/content/images/2026/eidp/id-protection-high.png"
 &gt;&lt;/figure&gt;
&lt;p&gt;The problem? Even though Entra ID Protection flagged the sign-in as &amp;lsquo;High&amp;rsquo; risk, the user could still sign in because MFA automatically remediated the sign-in risk (&lt;code&gt;userPassedMfaDrivenByRiskBasedPolicy&lt;/code&gt;).&lt;/p&gt;

&lt;h3 class="relative group"&gt;The bummer?
 &lt;div id="the-bummer" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-bummer" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;figure&gt;&lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt="Report Only ID Protection Policy"
 src="https://nicolasuter.ch/content/images/2026/eidp/id-protection-report-only.png"
 &gt;&lt;/figure&gt;
&lt;p&gt;The environment had a Conditional Access policy in place that would have blocked users with high sign-in risk, but the policy was only in &lt;em&gt;report-only&lt;/em&gt; mode, so the user could sign in without any issues.&lt;/p&gt;</description></item><item><title>CEO impersonation with Microsoft Booking</title><link>https://nicolasuter.ch/microsoft-booking-phish/</link><pubDate>Wed, 18 Mar 2026 20:00:03 +0000</pubDate><guid>https://nicolasuter.ch/microsoft-booking-phish/</guid><description>&lt;p&gt;Recently I observed an interesting behavior after setting up a Microsoft Booking page. After creating the booking page, I suddenly got an e-mail to an automatically created mail alias with the same name as the booking page. This made me curious and I wanted to understand the behavior behind this, and if this could be abused by attackers to impersonate users in Exchange online. In this blog post, I want to share my findings and some tips on how to detect and prevent this kind of abuse in your environment.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Microsoft Booking
 &lt;div id="microsoft-booking" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#microsoft-booking" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Microsoft describes the Bookings capabilities as part of Microsoft 365:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&amp;ldquo;A simpler way to organize schedules and manage appointments.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;&lt;figure&gt;&lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt="Microsoft Booking"
 src="https://nicolasuter.ch/content/images/2026/bookingp/bookings-landing.png"
 &gt;&lt;/figure&gt;
&lt;p&gt;Booking pages can be either of type &amp;lsquo;personal&amp;rsquo; or &amp;lsquo;shared&amp;rsquo;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Personal booking pages provide a handy option for users to create their own booking page, which is automatically linked to their calendar and allows others to book appointments with them. This is a great feature for users who want to share their availability and allow others to easily schedule meetings.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The shared booking pages allow teams to provide a booking experience for services hosted by a team and come with a special mailbox and calendar.&lt;/p&gt;</description></item><item><title>Defender XDR Unified Detections Meet Sentinel Data Lake</title><link>https://nicolasuter.ch/defender-xdr-unified-detections-sentinel-data-lake/</link><pubDate>Tue, 24 Feb 2026 22:00:03 +0000</pubDate><guid>https://nicolasuter.ch/defender-xdr-unified-detections-sentinel-data-lake/</guid><description>&lt;p&gt;With the Unified Security Operations Platform (USOP), Microsoft introduces Unified Detections - a single detection framework spanning both Sentinel and Defender XDR data. Pair this with native Sentinel Data Lake ingestion for XDR tables, and you have a compelling cost-optimization story. But is it ready for prime time? Let&amp;rsquo;s dive into the capabilities, current limitations, and what it means for your detection strategy.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Architecture Overview
 &lt;div id="architecture-overview" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#architecture-overview" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;

&lt;h3 class="relative group"&gt;Previous Detection Architecture
 &lt;div id="previous-detection-architecture" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#previous-detection-architecture" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;p&gt;In the &amp;lsquo;previous&amp;rsquo; architecture, detections were created and managed separately for Microsoft Sentinel and Microsoft Defender XDR. This often led to overhead in terms of &amp;lsquo;where to create the detection&amp;rsquo;. Let&amp;rsquo;s take the use-case of IoC (Indicators of Compromise) based detections. Previously, if a security team wanted to create a detection based on IoCs imported via TAXII into Sentinel and the &lt;code&gt;DeviceNetworkEvents&lt;/code&gt; table, they would need to ingest the &lt;code&gt;DeviceNetworkEvents&lt;/code&gt; data into Sentinel as well and create the detection rule there. Furthermore, many MSSPs leveraged this pattern to create custom detections for their customers across Defender Advanced Hunting Data.&lt;/p&gt;
&lt;figure&gt;&lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt="Existing Detection Architecture"
 src="https://nicolasuter.ch/content/images/2026/unifieddetections/arch_prev.png"
 &gt;&lt;/figure&gt;
&lt;p&gt;As part of the USOP onboarding, the following effects come into play, marked with an asterisk above:&lt;/p&gt;</description></item></channel></rss>