<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Azure on ioctl</title><link>https://ioctl.lol/tags/azure/</link><description>Recent content in Azure on ioctl</description><generator>Hugo</generator><language>en</language><copyright>ioctl</copyright><lastBuildDate>Mon, 16 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://ioctl.lol/tags/azure/index.xml" rel="self" type="application/rss+xml"/><item><title>azure-roles-digger.sh</title><link>https://ioctl.lol/tools/azure-roles-digger/</link><pubDate>Mon, 16 Mar 2026 00:00:00 +0000</pubDate><guid>https://ioctl.lol/tools/azure-roles-digger/</guid><description>&lt;h2 id="the-problem">The problem&lt;/h2>
&lt;p>Azure permission auditing is a special kind of hell.&lt;/p>
&lt;p>You run &lt;code>az role assignment list&lt;/code> and get back&amp;hellip; direct assignments. That&amp;rsquo;s it. No inherited roles from group nesting. No Entra ID directory roles. No PIM-eligible roles sitting there waiting to be activated. Nothing about what that service principal can &lt;em>actually&lt;/em> do when you trace the full chain.&lt;/p>
&lt;p>So you&amp;rsquo;re left clicking through 15 portal blades, running separate Graph queries, cross-referencing group memberships by hand, piecing it all together in a spreadsheet like it&amp;rsquo;s 2005. And after 30 minutes you&amp;rsquo;re still not sure you found everything.&lt;/p></description></item><item><title>UA_MFA_bypass</title><link>https://ioctl.lol/tools/ua-mfa-bypass/</link><pubDate>Mon, 16 Mar 2026 00:00:00 +0000</pubDate><guid>https://ioctl.lol/tools/ua-mfa-bypass/</guid><description>&lt;h2 id="the-technique">The technique&lt;/h2>
&lt;p>Orgs love enforcing MFA via Conditional Access policies. Makes the compliance people happy, box gets checked, everyone goes home. Except then someone realizes their meeting room displays can&amp;rsquo;t handle modern auth prompts. And the office printers need to talk to SharePoint. And legacy Outlook 2013 clients are still on half the floor.&lt;/p>
&lt;p>So they add exclusions. Lots of exclusions:&lt;/p>
&lt;ul>
&lt;li>Legacy mail clients (Outlook 2010, 2013)&lt;/li>
&lt;li>Meeting room devices (Teams Rooms, Surface Hub)&lt;/li>
&lt;li>IoT devices, printers, healthcare monitors&lt;/li>
&lt;li>Gaming consoles (yes, a PlayStation can authenticate to Entra ID)&lt;/li>
&lt;/ul>
&lt;p>Here&amp;rsquo;s the thing — when you hit the ROPC (Resource Owner Password Credential) flow, you authenticate with just username + password. No browser, no redirect, no MFA prompt. And the only thing telling Azure what &amp;ldquo;device&amp;rdquo; is connecting is the &lt;strong>User-Agent header&lt;/strong>.&lt;/p></description></item></channel></rss>