<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Diane Krychowski, Auteur</title>
	<atom:link href="https://www.riskinsight-wavestone.com/en/author/diane-krychowski/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.riskinsight-wavestone.com/author/diane-krychowski/</link>
	<description>The cybersecurity &#38; digital trust blog by Wavestone&#039;s consultants</description>
	<lastBuildDate>Wed, 25 Mar 2026 16:42:28 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://www.riskinsight-wavestone.com/wp-content/uploads/2024/02/Blogs-2024_RI-39x39.png</url>
	<title>Diane Krychowski, Auteur</title>
	<link>https://www.riskinsight-wavestone.com/author/diane-krychowski/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Subscription hijacking on Microsoft Azure </title>
		<link>https://www.riskinsight-wavestone.com/en/2026/03/subscription-hijacking-on-microsoft-azure/</link>
					<comments>https://www.riskinsight-wavestone.com/en/2026/03/subscription-hijacking-on-microsoft-azure/#respond</comments>
		
		<dc:creator><![CDATA[Diane Krychowski]]></dc:creator>
		<pubDate>Wed, 25 Mar 2026 16:40:44 +0000</pubDate>
				<category><![CDATA[Cybersecurity & Digital Trust]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[digital privacy]]></category>
		<category><![CDATA[risk management]]></category>
		<category><![CDATA[risk management strategy & governance]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=29495</guid>

					<description><![CDATA[<p>Subscription hijacking is a cloud attack first identified on Microsoft Azure: it consists of an attacker successfully transferring an Azure subscription from its original Azure organization to an organization under malicious control. This attack allows the attacker to take full...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/en/2026/03/subscription-hijacking-on-microsoft-azure/">Subscription hijacking on Microsoft Azure </a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com/en/">RiskInsight</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p style="text-align: justify;"><span data-contrast="auto">Subscription hijacking is a cloud attack first identified on Microsoft Azure: it consists of an attacker successfully transferring an Azure subscription from its original Azure organization to an organization under malicious control. This attack allows the attacker to take full control of the subscription and its content and even continue billing the original organization for their use of the stolen subscription.</span></p>
<p style="text-align: justify;"> </p>
<h1 style="text-align: justify;"><span data-contrast="none">Reminder of what  an Azure subscription is</span><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:540,&quot;335559738&quot;:240,&quot;335559739&quot;:360,&quot;335559991&quot;:539}"> </span></h1>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"><span data-contrast="auto">An Azure subscription is a container for cloud resources and services associated with a tenant, which enables the management of billing, access, and the deployment of Azure resources.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"><img fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-29508" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/03/Image6.png" alt="Azure resources architecture" width="863" height="686" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/03/Image6.png 863w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/03/Image6-240x191.png 240w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/03/Image6-49x39.png 49w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/03/Image6-768x610.png 768w" sizes="(max-width: 863px) 100vw, 863px" /></p>
<p style="text-align: center;"><em>Azure resources architecture</em></p>
<p style="text-align: justify;"><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<h1 style="text-align: justify;"><span data-contrast="none">Operation of the attack</span><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:540,&quot;335559738&quot;:240,&quot;335559739&quot;:360,&quot;335559991&quot;:539}"> </span></h1>
<p> </p>
<p style="text-align: justify;"><span data-contrast="auto">On Microsoft Azure, the following initial situation is considered :</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<ul style="text-align: justify;">
<li><span data-contrast="auto">There is a legitimate organization (the victim tenant), which may or may not contain a subscription</span></li>
<li><span data-contrast="auto">There is a malicious organization (the attacker’s tenant) under the attacker’s control</span></li>
</ul>
<p style="text-align: justify;"><span data-contrast="auto">The attack then follows these four steps:</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<p style="text-align: center;"><span data-ccp-props="{&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0}"> <img decoding="async" class="aligncenter size-full wp-image-29506" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/03/Image7.png" alt="" width="1302" height="967" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/03/Image7.png 1302w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/03/Image7-257x191.png 257w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/03/Image7-53x39.png 53w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/03/Image7-768x570.png 768w" sizes="(max-width: 1302px) 100vw, 1302px" /></span><em>Steps of the attack on Azure</em></p>
<p> </p>
<ol style="text-align: justify;">
<li style="text-align: justify;"><span data-contrast="auto">The attacker must be present in both organizations: they therefore compromise an internal administrator in the victim tenant to have their external account invited into the tenant, or they convince a non compromised administrator to invite them under some pretext. In both cases, the administrator invites them into the victim tenant</span></li>
<li style="text-align: justify;"><span data-contrast="auto">The attacker targets an existing subscription or creates a new one themselves (which requires permissions), associated with an existing billing account in the victim tenant</span></li>
<li style="text-align: justify;"><span data-contrast="auto">The attacker obtains the Owner role on the targeted subscription. If they created it themselves, they already have this role by default; otherwise, they must receive it from an administrator</span></li>
<li style="text-align: justify;"><span data-contrast="auto">The attacker transfers the subscription from the original organization to the destination organization</span></li>
</ol>
<p style="text-align: justify;"><span data-contrast="auto">The subscription is now under the full control of the attacker’s organization and can continue billing the former billing account. </span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<p> </p>
<h1 style="text-align: justify;"><span data-contrast="none">Why is this attack dangerous ?</span><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:540,&quot;335559738&quot;:240,&quot;335559739&quot;:360,&quot;335559991&quot;:539}"> </span></h1>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"><span data-contrast="auto">This attack is potentially very dangerous because it can be carried out </span><b><span data-contrast="auto">instantly</span></b><span data-contrast="auto"> if the conditions are met, gives the attacker full control over the resource and any of its content, and is </span><b><span data-contrast="auto">irreversible</span></b><span data-contrast="auto"> without support intervention.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<p style="text-align: justify;"> </p>
<h2 style="text-align: justify;"><span data-contrast="none">An instantaneous attack</span><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:539,&quot;335559738&quot;:240,&quot;335559739&quot;:120,&quot;335559991&quot;:850}"> </span></h2>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"><span data-contrast="auto">By default, any user with the </span><b><span data-contrast="auto">Owner</span></b><span data-contrast="auto"> role on an Azure subscription who is also present in another tenant can perform the transfer without restriction.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<p style="text-align: justify;"><span data-contrast="none">Multiple and potentially irreversible consequences</span><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:539,&quot;335559738&quot;:240,&quot;335559739&quot;:120,&quot;335559991&quot;:850}"> </span></p>
<p style="text-align: justify;"><span data-contrast="auto">The subscription comes under the control of the malicious tenant that has taken it over. They can therefore:</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<ul style="text-align: justify;">
<li><span data-contrast="auto">Having full control over it while the original user no longer has access</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></li>
<li><span data-contrast="auto">Extract all resources or information from it</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></li>
<li><span data-contrast="auto">Use it while charging the usage of the former billing method belonging to the legitimate owner</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></li>
</ul>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"><span data-contrast="auto"><strong>Note: </strong>A purpose of subscription hijacking is to bring the resources into the attacker’s own environment, outside the control of the legitimate owner, to use them for their own benefit or to bill new usage to the former owner. However, even simple transfer without any use already causes major consequences: the user will have lost their subscription, and thus will have lost all resources, but also the structure (roles, assignments, rules), which can be very time</span><span data-contrast="auto">‑</span><span data-contrast="auto">consuming to rebuild.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<p style="text-align: justify;"><span data-contrast="auto">If the legitimate owner can block billing once they realize what is happening, there is, however, no way to recover the subscription if the attacker has removed all former Owners from it. The only remaining option is to turn to Microsoft support.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<p style="text-align: justify;"><span data-contrast="auto">The following article by Derk van der Woude describes a case of cryptocurrency mining carried out using stolen subscriptions and billed to the former owner:</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<p style="text-align: justify;"><a href="https://derkvanderwoude.medium.com/azure-subscription-hijacking-and-cryptomining-86c2ac018983"><span data-contrast="none">https://derkvanderwoude.medium.com/azure-subscription-hijacking-and-cryptomining-86c2ac018983</span></a><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<p style="text-align: justify;"><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<h1 style="text-align: justify;"><span data-contrast="none">How to be protected against it ?</span><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:540,&quot;335559738&quot;:240,&quot;335559739&quot;:360,&quot;335559991&quot;:539}"> </span></h1>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"><span data-contrast="auto">To protect against an illegitimate subscription transfer, there are preventive measures that can be applied to mitigate each step of the attack:</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<p style="text-align: justify;"><span data-contrast="none">Preventive measures</span><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:539,&quot;335559738&quot;:240,&quot;335559739&quot;:120,&quot;335559991&quot;:850}"> </span></p>
<ol style="text-align: justify;">
<li><b><span data-contrast="auto">Attacker’s access to resources : </span></b><b><span data-contrast="auto">conditional access policies</span></b><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></li>
</ol>
<p style="text-align: justify;"><span data-contrast="auto">Conditional access policies based on risk automatically strengthen security by adapting controls according to the level of risk detected during a sign</span><span data-contrast="auto">‑</span><span data-contrast="auto">in or associated with a user. For example, they can block suspicious access or require multi</span><span data-contrast="auto">‑</span><span data-contrast="auto">factor authentication (MFA). Thus, the access of a suspicious guest could be blocked.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<p style="text-align: justify;"><b><span data-contrast="auto">     2. Privilege escalation/obtaining the Owner role: </span></b><b><span data-contrast="auto">privileged identity management</span></b><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></p>
<p style="text-align: justify;"><span data-contrast="auto">Privileged Identity Management (PIM) allows high</span><span data-contrast="auto">‑</span><span data-contrast="auto">privilege roles to be granted only when needed, through temporary, approved, and justified elevation. It reduces risks linked to excessive permissions through control, monitoring, and activation notifications.</span><span data-ccp-props="{&quot;201341983&quot;:2,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:300}"> </span></p>
<p style="text-align: justify;"><span data-ccp-props="{&quot;201341983&quot;:2,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:300}"> </span></p>
<p style="text-align: justify;"><b><span data-contrast="auto">     3. Subscription transfer : </span></b><b><span data-contrast="auto">subscription policy</span></b><span data-ccp-props="{&quot;201341983&quot;:2,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:300}"> </span></p>
<p style="text-align: justify;"><span data-contrast="auto">A subscription policy makes it possible to block the transfer of an Azure subscription to or from the tenant to prevent hijacking. It is implemented through Azure Policy by defining and then assigning a rule that restricts transfer actions, with regular reviews to ensure its effectiveness. It applies to all subscriptions within its assignment scope.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<p style="text-align: justify;"> </p>
<h2 style="text-align: justify;"><span data-contrast="none">Detection solutions</span><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:539,&quot;335559738&quot;:240,&quot;335559739&quot;:120,&quot;335559991&quot;:850}"> </span></h2>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"><span data-contrast="auto">Certain solutions can detect this attack on Microsoft Azure:</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<ul style="text-align: justify;">
<li><b><span data-contrast="auto">UEBA (Sentinel) :</span></b><span data-contrast="auto"> detects abnormal behavior (unusual sign</span><span data-contrast="auto">‑</span><span data-contrast="auto">ins, access to sensitive resources, unexpected changes). This helps quickly identify a compromised account before it can hijack a subscription.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></li>
<li><b><span data-contrast="auto">Privileged Identity Management (PIM)</span></b><b><span data-contrast="auto">​ </span></b><span data-contrast="auto">: monitors privilege elevations and can trigger alerts when a privileged role is activated.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></li>
<li><b><span data-contrast="auto">Custom Sentinel Alert </span></b><span data-contrast="auto">: can specifically monitor events indicating a subscription transfer. The rule regularly analyzes Azure Activity logs and immediately triggers an alert when a suspicious operation like the moving of a subscription is detected.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></li>
</ul>
<p style="text-align: justify;"><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:720}"> </span></p>
<h2 style="text-align: justify;"><span data-contrast="none">Resilience strategy</span><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:539,&quot;335559738&quot;:240,&quot;335559739&quot;:120,&quot;335559991&quot;:850}"> </span></h2>
<p style="text-align: justify;"><span data-contrast="auto">The resilience strategy to be implemented is a backup of resources that allows them to be restored in the event of an actual subscription hijacking.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<ol style="text-align: justify;">
<li><span data-contrast="auto">Isolate Azure Backup backups in a dedicated subscription reserved for backups with strict security rules</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></li>
<li><span data-contrast="auto">Protect backups: enable soft delete (no immediate permanent deletion), reversible deletion, immutability (prevents modification or deletion for a set period), and anti</span><span data-contrast="auto">‑</span><span data-contrast="auto">deletion locks</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></li>
<li><span data-contrast="auto">Create multiple copies, potentially to another tenant</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></li>
<li><span data-contrast="auto">Back up governance as well (Entra ID configurations via Microsoft 365 DSC, infrastructure configuration with Terraform)</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></li>
<li><span data-contrast="auto">Automate reconstruction with infrastructure</span><span data-contrast="auto">‑</span><span data-contrast="auto">as</span><span data-contrast="auto">‑</span><span data-contrast="auto">code (Blueprints, ARM, Terraform)</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></li>
<li><span data-contrast="auto">Regularly test backups</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></li>
</ol>
<p style="text-align: justify;"> </p>
<h1 style="text-align: justify;"><span data-contrast="none">Response to the attack</span><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:540,&quot;335559738&quot;:240,&quot;335559739&quot;:360,&quot;335559991&quot;:539}"> </span></h1>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"><span data-contrast="auto">Suffering a subscription hijacking means losing control of your Azure subscription. In that case, options are limited. You should very quickly:</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<ul style="text-align: justify;">
<li><span data-contrast="auto">Block the attacker’s access and revoke any secrets potentially compromised during the attack</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></li>
<li><span data-contrast="auto">Contact Microsoft Billing support to stop billing</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></li>
<li><span data-contrast="auto">Contact Microsoft technical/Azure support to attempt to recover the subscription</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></li>
</ul>
<p style="text-align: justify;"><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<h1 style="text-align: justify;"><span data-contrast="none">And on other providers? (AWS and GCP)</span><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:540,&quot;335559738&quot;:240,&quot;335559739&quot;:360,&quot;335559991&quot;:539}"> </span></h1>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"><span data-contrast="auto">Once this attack has been identified on Azure, the question arises as to whether it also exists (or if an equivalent exists) on AWS and GCP. The concept of a subscription does not exist as such with these two cloud providers; however, equivalent hierarchical units play the same role. If it were possible to migrate them to another AWS or GCP organization in an illegitimate way, this would constitute the equivalent of subscription hijacking on those platforms. </span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<p style="text-align: justify;"> </p>
<h2 style="text-align: justify;"><span data-contrast="none">AWS : an existing equivalent with distinct conditions</span><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:539,&quot;335559738&quot;:240,&quot;335559739&quot;:120,&quot;335559991&quot;:850}"> </span></h2>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"><span data-contrast="auto">On AWS, the hierarchical equivalent of an Azure subscription is the AWS account: an AWS account, located within an organization, contains IAM users, resources, and is the level at which billing is handled </span><b><span data-contrast="auto">if it is not consolidated by the management account</span></b><span data-contrast="auto">.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<p style="text-align: justify;"><span data-contrast="auto">The goal of an attacker would therefore be to have this AWS account migrated to another organization.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<p style="text-align: justify;"><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<h3 style="text-align: justify;"><span data-contrast="none">Steps to follow</span><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:533,&quot;335559738&quot;:240,&quot;335559739&quot;:120,&quot;335559991&quot;:850}"> </span></h3>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"><span data-contrast="auto">The steps to follow are :</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<p style="text-align: justify;"><span data-contrast="auto">  </span><span data-ccp-props="{&quot;335551550&quot;:2,&quot;335551620&quot;:2,&quot;335559685&quot;:0}"> <img decoding="async" class="aligncenter size-full wp-image-29504" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/03/Image8.png" alt="" width="960" height="498" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/03/Image8.png 960w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/03/Image8-368x191.png 368w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/03/Image8-71x37.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/03/Image8-768x398.png 768w" sizes="(max-width: 960px) 100vw, 960px" /></span></p>
<p style="text-align: center;"><em>Steps of the attack on AWS</em></p>
<p style="text-align: justify;"><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<p style="text-align: justify;"><span data-contrast="auto">An AWS account contains:</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<ul style="text-align: justify;">
<li style="text-align: justify;"><span data-contrast="auto">A unique root user, who has all rights on the account</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></li>
<li style="text-align: justify;"><span data-contrast="auto">IAM users with assigned IAM permissions</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> </span></li>
</ul>
<p> </p>
<p style="text-align: justify;"><span data-contrast="auto">From there, two strategies are possible for the attacker: either compromise the root user (which would allow any action) or succeed in escalating privileges on a regular IAM user. However, root approval is still required for step 1 (for example, the attacker may have manipulated the root user into performing this action). Moreover, if guardrails or Service Control Policies are enforced, the root user must still validate the operation. As a result, an IAM user, even with elevated rights, cannot always migrate an account on their own.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: justify;"><span data-contrast="none">Similar consequences to the Azure attack ?</span><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:533,&quot;335559738&quot;:240,&quot;335559739&quot;:120,&quot;335559991&quot;:850}"> </span></h3>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"><span data-contrast="auto">It is established that on Azure, transferring a subscription results in a total loss of control over it. Here, on AWS, two nuances must be introduced:</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<ul style="text-align: justify;">
<li style="text-align: justify;"><span data-contrast="auto"> First, as shown in thepreviousdiagram, billing must be changed (to an independent billing mode) to allow the account to migrate to another organization, which eliminates the risk of being charged for services used by the attacker </span><b><span data-contrast="auto">after</span></b><span data-contrast="auto"> the migration</span></li>
<li style="text-align: justify;"><span data-contrast="auto"> Second, in the theoretical case where it is a non</span><span data-contrast="auto">‑</span><span data-contrast="auto">root IAM user who performed the migration (having gathered all the necessary permissions), this user does not have full control over the account, even if they leave it standalone or make it join an organization under their control. AWS accounts are highly independent, and simply having an account within one’s organization does not allow arbitrary actions (accessing certain resources,deletingthe account) without possessing the root user</span></li>
</ul>
<p style="text-align: justify;"> </p>
<h3 style="text-align: justify;"><span data-contrast="none">Conclusion</span><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:533,&quot;335559738&quot;:240,&quot;335559739&quot;:120,&quot;335559991&quot;:850}"> </span></h3>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"><span data-contrast="auto">If the attack seems possible on AWS in theory, it requires more conditions and results in fewer definitive negative consequences than on Azure. Ultimately, the only way to take full control of an AWS account remains to obtain its root user.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<p style="text-align: justify;"><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<h2 style="text-align: justify;"><span data-contrast="none">GCP : a possible equivalent but more difficult to realize</span><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:539,&quot;335559738&quot;:240,&quot;335559739&quot;:120,&quot;335559991&quot;:850}"> </span></h2>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"><span data-contrast="auto">On GCP, the architecture is closer to Azure. The equivalent of an Azure subscription is the GCP project. Here, the attacker’s goal would therefore be to migrate a project from one GCP organization to another. </span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: justify;"><span data-contrast="none">Steps to follow</span><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:533,&quot;335559738&quot;:240,&quot;335559739&quot;:120,&quot;335559991&quot;:850}"> </span></h3>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"><span data-contrast="auto">The steps to follow are :</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<p style="text-align: justify;"><span data-contrast="auto">  </span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> <img loading="lazy" decoding="async" class="aligncenter size-full wp-image-29502" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/03/Image9.png" alt="" width="863" height="630" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/03/Image9.png 863w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/03/Image9-262x191.png 262w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/03/Image9-53x39.png 53w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/03/Image9-768x561.png 768w" sizes="auto, (max-width: 863px) 100vw, 863px" /></span></p>
<p style="text-align: center;"><em>Steps of the attack on GCP</em></p>
<p style="text-align: justify;"><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<h3 style="text-align: justify;"><span data-contrast="none">Similar consequences to the Azure attack ?</span><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:533,&quot;335559738&quot;:240,&quot;335559739&quot;:120,&quot;335559991&quot;:850}"> </span></h3>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"><span data-contrast="auto">The consequences of migrating a GCP project are the same as for an Azure subscription: a total loss of control over the asset, and the risk of being billed for the attacker’s usage if billing has not been modified.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<p style="text-align: justify;"> </p>
<h3 style="text-align: justify;"><span data-contrast="none">Conclusion</span><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:533,&quot;335559738&quot;:240,&quot;335559739&quot;:120,&quot;335559991&quot;:850}"> </span></h3>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"><span data-contrast="auto">A resource hijacking scenario similar to Azure subscription hijacking is therefore theoretically possible on GCP. However, the stricter conditions required make this case less likely, though it must still be considered.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<p style="text-align: justify;"><span data-contrast="none">Summary of the consequences</span><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:539,&quot;335559738&quot;:240,&quot;335559739&quot;:120,&quot;335559991&quot;:850}"> </span></p>
<p style="text-align: justify;"><span data-contrast="auto"> </span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6}"> <img loading="lazy" decoding="async" class="aligncenter size-full wp-image-29500" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/03/Image10.png" alt="" width="989" height="498" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2026/03/Image10.png 989w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/03/Image10-379x191.png 379w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/03/Image10-71x36.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2026/03/Image10-768x387.png 768w" sizes="auto, (max-width: 989px) 100vw, 989px" /></span></p>
<p style="text-align: center;"><em>Summary of the consequences</em></p>
<h1 style="text-align: justify;"> </h1>
<h1 style="text-align: justify;"><span data-contrast="none">Conclusion</span><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:540,&quot;335559738&quot;:240,&quot;335559739&quot;:360,&quot;335559991&quot;:539}"> </span></h1>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"><span data-contrast="auto">The subscription hijacking must therefore be considered a major attack with severe and high</span><span data-contrast="auto">‑</span><span data-contrast="auto">impact consequences for affected organizations or companies. Protecting the hierarchical units that manage billing and resources against any illegitimate move or migration (with measures that vary depending on the cloud provider) and establishing remediation and backup processes in case of loss is crucial for an organization’s security.</span><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<p style="text-align: justify;"><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<p style="text-align: justify;"><span data-ccp-props="{&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:0}"> </span></p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/en/2026/03/subscription-hijacking-on-microsoft-azure/">Subscription hijacking on Microsoft Azure </a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com/en/">RiskInsight</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.riskinsight-wavestone.com/en/2026/03/subscription-hijacking-on-microsoft-azure/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
