<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hard on z3r0s</title><link>https://z3r0s6.github.io/tags/hard/</link><description>Recent content in Hard on z3r0s</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sun, 10 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://z3r0s6.github.io/tags/hard/index.xml" rel="self" type="application/rss+xml"/><item><title>WEB - Resizer</title><link>https://z3r0s6.github.io/challenges/web-resizer/</link><pubDate>Sun, 10 May 2026 00:00:00 +0000</pubDate><guid>https://z3r0s6.github.io/challenges/web-resizer/</guid><description>&lt;h1 id="resizer-writeup"&gt;
 Resizer Writeup
 &lt;a class="heading-link" href="#resizer-writeup"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h1&gt;
&lt;h2 id="challenge"&gt;
 Challenge
 &lt;a class="heading-link" href="#challenge"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Name: &lt;code&gt;Resizer&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Category: &lt;code&gt;Web&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Target: &lt;code&gt;http://154.57.164.66:30462&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="tldr"&gt;
 TL;DR
 &lt;a class="heading-link" href="#tldr"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The core bug is an &lt;strong&gt;arbitrary file write through path traversal&lt;/strong&gt; in the upload filename:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;filename &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; file&lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt;filename
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;filepath &lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt; os&lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt;path&lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt;join(app&lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt;config[&lt;span style="color:#a5d6ff"&gt;&amp;#39;UPLOAD_FOLDER&amp;#39;&lt;/span&gt;], filename)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;file&lt;span style="color:#ff7b72;font-weight:bold"&gt;.&lt;/span&gt;save(filepath)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Because &lt;code&gt;filename&lt;/code&gt; is never sanitized with &lt;code&gt;secure_filename()&lt;/code&gt; and &lt;code&gt;os.path.join()&lt;/code&gt; does not stop &lt;code&gt;../&lt;/code&gt;, we can write files outside &lt;code&gt;uploads/&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>HTB - Pirate</title><link>https://z3r0s6.github.io/machines/pirate/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://z3r0s6.github.io/machines/pirate/</guid><description>&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&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;Difficulty&lt;/td&gt;
 &lt;td&gt;Hard&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;OS&lt;/td&gt;
 &lt;td&gt;Windows (Active Directory)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Domain&lt;/td&gt;
 &lt;td&gt;PIRATE.HTB&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="summary"&gt;
 Summary
 &lt;a class="heading-link" href="#summary"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Pirate is a Hard-rated multi-host Windows Active Directory machine simulating a realistic corporate environment with three domain-joined machines. The attack chains &lt;strong&gt;six distinct AD primitives&lt;/strong&gt; with no CVEs required - every step exploits misconfigurations:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pre-Windows 2000 Compatible Access&lt;/strong&gt; (MS01$ machine account auth) → &lt;strong&gt;gMSA password extraction&lt;/strong&gt; via LDAP → &lt;strong&gt;Pass-the-Hash&lt;/strong&gt; over WinRM on DC01 → &lt;strong&gt;L3 network pivot&lt;/strong&gt; via Ligolo-ng to the internal &lt;code&gt;192.168.100.0/24&lt;/code&gt; subnet → &lt;strong&gt;NTLM relay&lt;/strong&gt; to LDAPS with RBCD to gain WEB01 Administrator → user flag → &lt;strong&gt;SPN injection&lt;/strong&gt; with Constrained Delegation abuse to impersonate Domain Admin on DC01 → root flag.&lt;/p&gt;</description></item><item><title>HTB - Logging</title><link>https://z3r0s6.github.io/machines/logging/</link><pubDate>Sun, 12 Apr 2026 00:00:00 +0000</pubDate><guid>https://z3r0s6.github.io/machines/logging/</guid><description>&lt;h2 id="overview"&gt;
 Overview
 &lt;a class="heading-link" href="#overview"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&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;OS&lt;/td&gt;
 &lt;td&gt;Windows Server 2019&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Difficulty&lt;/td&gt;
 &lt;td&gt;Hard&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;IP&lt;/td&gt;
 &lt;td&gt;10.129.X.X&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Domain&lt;/td&gt;
 &lt;td&gt;logging.htb&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;DC&lt;/td&gt;
 &lt;td&gt;dc01.logging.htb&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Attack Chain:&lt;/strong&gt;
&lt;code&gt;Anonymous SMB → Credentials in Logs → Shadow Credentials (gMSA) → WinRM → DLL Hijack → Domain User Shell → ESC17 (ADCS + WSUS MitM) → SYSTEM&lt;/code&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="1-reconnaissance"&gt;
 1. Reconnaissance
 &lt;a class="heading-link" href="#1-reconnaissance"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;h3 id="port-scan"&gt;
 Port Scan
 &lt;a class="heading-link" href="#port-scan"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;rustscan -a 10.129.X.X --ulimit &lt;span style="color:#a5d6ff"&gt;5000&lt;/span&gt; -- -sV
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Key open ports:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>HTB - Garfield</title><link>https://z3r0s6.github.io/machines/garfield/</link><pubDate>Sun, 22 Mar 2026 00:00:00 +0000</pubDate><guid>https://z3r0s6.github.io/machines/garfield/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Hard | &lt;strong&gt;Platform:&lt;/strong&gt; Windows Active Directory | &lt;strong&gt;Category:&lt;/strong&gt; Seasonal&lt;br&gt;
&lt;strong&gt;Tags:&lt;/strong&gt; &lt;code&gt;active-directory&lt;/code&gt; &lt;code&gt;smb&lt;/code&gt; &lt;code&gt;kerberos&lt;/code&gt; &lt;code&gt;rbcd&lt;/code&gt; &lt;code&gt;rodc&lt;/code&gt; &lt;code&gt;golden-ticket&lt;/code&gt; &lt;code&gt;keylist&lt;/code&gt; &lt;code&gt;mimikatz&lt;/code&gt; &lt;code&gt;rubeus&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="machine-info"&gt;
 Machine Info
 &lt;a class="heading-link" href="#machine-info"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Details&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Machine Name&lt;/td&gt;
 &lt;td&gt;Garfield&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;IP Address&lt;/td&gt;
 &lt;td&gt;10.129.27.196 (initial) / 10.129.23.120 (reset)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;OS&lt;/td&gt;
 &lt;td&gt;Windows Server 2019 (Domain Controller)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Domain&lt;/td&gt;
 &lt;td&gt;garfield.htb (GARFIELD.HTB)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Difficulty&lt;/td&gt;
 &lt;td&gt;Hard&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Starting Creds&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;j.arbuckle / Th1sD4mnC4t!@1978&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="1-executive-summary"&gt;
 1. Executive Summary
 &lt;a class="heading-link" href="#1-executive-summary"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Garfield is a Hard-rated Windows Active Directory machine on Hack The Box's seasonal lineup. It simulates a real-world corporate AD environment with multiple chained vulnerabilities spanning SMB misconfigurations, AD ACL abuse, logon script hijacking, RBCD (Resource-Based Constrained Delegation) attacks, Read-Only Domain Controller (RODC) compromise, and a KeyList attack to retrieve the main DC's Administrator hash - ultimately achieving full domain compromise.&lt;/p&gt;</description></item></channel></rss>