<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Labs on 4mN3s14 | Blog</title><link>https://john-jkar.github.io/myblog/tags/labs/</link><description>Recent content in Labs on 4mN3s14 | Blog</description><generator>Hugo</generator><language>en</language><lastBuildDate>Tue, 02 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://john-jkar.github.io/myblog/tags/labs/index.xml" rel="self" type="application/rss+xml"/><item><title>QuartzLock VulNyx: Writeup</title><link>https://john-jkar.github.io/myblog/posts/quart_lock/</link><pubDate>Tue, 02 Jun 2026 00:00:00 +0000</pubDate><guid>https://john-jkar.github.io/myblog/posts/quart_lock/</guid><description>&lt;h1 id="quartzlock-vulnyx-writeup"&gt;QuartzLock VulNyx: Writeup&lt;/h1&gt;
&lt;h2 id="target-summary"&gt;Target Summary&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Item&lt;/th&gt;
 &lt;th&gt;Value&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Target&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;192.168.100.143&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Primary hostname&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;quartz.nyx&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Additional hosts&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;api.nyx&lt;/code&gt;, &lt;code&gt;enroll.nyx&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Initial execution&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;svc-attest&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;User foothold&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;caden&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Root mechanism&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;qctl replay&lt;/code&gt; plugin overlay&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;User flag&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;939dedafdb8d309b2d71c4f482210672&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Root flag&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;16760b5a8e71fb62499088b89ac255b5&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="attack-chain"&gt;Attack Chain&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Discover &lt;code&gt;api.nyx&lt;/code&gt; and &lt;code&gt;enroll.nyx&lt;/code&gt; in the TLS certificate.&lt;/li&gt;
&lt;li&gt;Abuse duplicate JSON &lt;code&gt;scope&lt;/code&gt; keys to obtain a privileged JWT.&lt;/li&gt;
&lt;li&gt;Upload a qpak containing a double-encoded WASI preopen traversal.&lt;/li&gt;
&lt;li&gt;Reach &lt;code&gt;/run/quartz/worker.sock&lt;/code&gt; and invoke &lt;code&gt;RunLegacyProbe&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Execute commands as &lt;code&gt;svc-attest&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Abuse wildcard asset matching in &lt;code&gt;qcert&lt;/code&gt; to obtain an SSH certificate for
&lt;code&gt;caden&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;SSH as &lt;code&gt;caden&lt;/code&gt; and read the user flag.&lt;/li&gt;
&lt;li&gt;Abuse the &lt;code&gt;qctl replay&lt;/code&gt; namespace overlay to execute a case plugin as root.&lt;/li&gt;
&lt;li&gt;Read the root flag.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="requirements"&gt;Requirements&lt;/h2&gt;
&lt;p&gt;The attacking system needs:&lt;/p&gt;</description></item></channel></rss>