<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Active-Directory on kanyo's blog</title><link>https://chaelsoo.me/tags/active-directory/</link><description>Recent content in Active-Directory on kanyo's blog</description><generator>Hugo -- gohugo.io</generator><language>en-gb</language><lastBuildDate>Sat, 18 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://chaelsoo.me/tags/active-directory/index.xml" rel="self" type="application/rss+xml"/><item><title>Learning to Think Operationally</title><link>https://chaelsoo.me/blogs/prolabs/</link><pubDate>Sat, 18 Jul 2026 00:00:00 +0000</pubDate><guid>https://chaelsoo.me/blogs/prolabs/</guid><description>&lt;p&gt;&lt;img src="https://chaelsoo.me/images/blogs/prolabs/prolabs.png" alt="HTB ProLabs"&gt;&lt;/p&gt;
&lt;p&gt;At some point I got tired of doing standalone boxes. I wanted to get comfortable with real C2 frameworks like &lt;a href="https://github.com/BishopFox/sliver"&gt;Sliver&lt;/a&gt; and &lt;a href="https://github.com/HavocFramework/Havoc"&gt;Havoc&lt;/a&gt;, learn how to pivot properly with &lt;a href="https://github.com/nicocha30/ligolo-ng"&gt;ligolo-ng&lt;/a&gt;, and practice in an environment that actually simulates a network rather than a single machine sitting in isolation. I needed a lab with a good number of boxes, a real AD environment, and enough complexity to force me to think operationally.&lt;/p&gt;</description></item><item><title>HTB: Ghost</title><link>https://chaelsoo.me/writeups/htb-ghost/</link><pubDate>Fri, 19 Jun 2026 00:00:00 +0000</pubDate><guid>https://chaelsoo.me/writeups/htb-ghost/</guid><description>&lt;p&gt;&lt;img src="https://chaelsoo.me/images/writeups/htb-ghost/ghost-pwned.png" alt="Ghost has been Pwned by kanyo on 19 Jun 2026"&gt;&lt;/p&gt;
&lt;p&gt;Ghost is the kind of box you respect even when it&amp;rsquo;s frustrating you. Two domains, a forest trust, a container, a Linux dev workstation, ADFS, linked SQL servers. The chain is long and every step is distinct. Nothing is filler. You&amp;rsquo;re not repeating the same technique twice.&lt;/p&gt;
&lt;p&gt;The short version: LDAP injection gets you into an intranet app, blind injection extracts a Gitea password, a path traversal in Ghost CMS hands you an env key that unlocks a command injection endpoint. From the container you hijack an SSH ControlMaster socket and land on a dev machine as a domain user with an active TGT. From there DNS poisoning gets you another user&amp;rsquo;s hash, and that user has ReadGMSAPassword on the ADFS service account. You dump the ADFS token-signing keys, forge a Golden SAML assertion as Administrator, and walk into the Ghost config panel, which happens to have an MSSQL query interface connected to both domains. SA impersonation, EfsPotato for SYSTEM, DCSync the corp domain, then craft a cross-forest Golden Ticket with the Enterprise Admins ExtraSID to DCSync the parent domain. That&amp;rsquo;s the whole thing.&lt;/p&gt;</description></item><item><title>HTB: Flight</title><link>https://chaelsoo.me/writeups/htb-flight/</link><pubDate>Mon, 15 Jun 2026 00:00:00 +0000</pubDate><guid>https://chaelsoo.me/writeups/htb-flight/</guid><description>&lt;p&gt;&lt;img src="https://chaelsoo.me/images/writeups/htb-flight/flight-pwned.png" alt="Flight has been Pwned by kanyo - 15 Jun 2026, 850 XP"&gt;&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s something satisfying about a box that commits to a theme. Flight runs NTLM coercion twice, through two completely different surfaces, and neither of them is the obvious one. The first is a PHP &lt;code&gt;?view=&lt;/code&gt; parameter that looks like a boring LFI. The second is a shared network folder that users actually browse to. Same technique, different packaging. Once you understand why the first one works, the second one clicks immediately.&lt;/p&gt;</description></item><item><title>HackINI 2026: Shell-DC</title><link>https://chaelsoo.me/writeups/hackini-shell-dc/</link><pubDate>Tue, 26 May 2026 00:00:00 +0000</pubDate><guid>https://chaelsoo.me/writeups/hackini-shell-dc/</guid><description>&lt;p&gt;This was the most satisfying machine in the chain. A full Active Directory environment, &lt;code&gt;ad.shell.local&lt;/code&gt; on Windows Server 2019, with a deliberate series of layered misconfigurations that build on each other. You start with a regular domain user and work your way through Kerberoasting, a BloodHound ACL chain, Shadow Credentials, gMSA password abuse, and finally tombstone reanimation to reach Domain Admin.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Solved this one together with &lt;a href="https://www.linkedin.com/in/aymen-drid-36bba4243/"&gt;Aymen&lt;/a&gt;. We spent the better part of a day working through this chain side by side, and a lot of what made it click came from having someone just as deep in it to think out loud with. Big shoutout to him.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>IngeHack: EDR Evasion</title><link>https://chaelsoo.me/writeups/ingehack-edr-evasion/</link><pubDate>Tue, 21 Apr 2026 00:00:00 +0000</pubDate><guid>https://chaelsoo.me/writeups/ingehack-edr-evasion/</guid><description>&lt;p&gt;An Active Directory series from IngeHack. The chain is built around a Windows environment with Defender active — meaning before you can do anything meaningful, you have to get your tooling past it. That was the first challenge, and the one this writeup covers for now.&lt;/p&gt;
&lt;p&gt;The approach was modifying GodPotato to strip or replace the signatures that Defender flags, combined with techniques for building custom versions of common tools that don&amp;rsquo;t carry recognizable bytecode patterns. The two resources below were the most useful references for this:&lt;/p&gt;</description></item></channel></rss>