<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Impacket on MrAzoth</title>
    <link>https://az0th.it/tags/impacket/</link>
    <description>Recent content in Impacket on MrAzoth</description>
    <generator>Hugo -- 0.154.5</generator>
    <language>en-us</language>
    <atom:link href="https://az0th.it/tags/impacket/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Enumeration &amp; Discovery — From Kali</title>
      <link>https://az0th.it/ad/kali/enumeration/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://az0th.it/ad/kali/enumeration/</guid>
      <description>Comprehensive Active Directory enumeration from a Kali/Linux attacker host: port scanning, DNS, LDAP, BloodHound, Kerbrute, NetExec, rpcclient, windapsearch, and more.</description>
    </item>
    <item>
      <title>Kerberos Attacks — From Kali</title>
      <link>https://az0th.it/ad/kali/kerberos-attacks/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://az0th.it/ad/kali/kerberos-attacks/</guid>
      <description>&lt;h2 id=&#34;quick-reference&#34;&gt;Quick Reference&lt;/h2&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Attack&lt;/th&gt;
          &lt;th&gt;Tool&lt;/th&gt;
          &lt;th&gt;Hashcat Mode&lt;/th&gt;
          &lt;th&gt;Requirement&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;AS-REP Roasting&lt;/td&gt;
          &lt;td&gt;GetNPUsers.py / kerbrute&lt;/td&gt;
          &lt;td&gt;-m 18200&lt;/td&gt;
          &lt;td&gt;DONT_REQ_PREAUTH flag set&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Kerberoasting&lt;/td&gt;
          &lt;td&gt;GetUserSPNs.py&lt;/td&gt;
          &lt;td&gt;-m 13100 (RC4) / -m 19700 (AES)&lt;/td&gt;
          &lt;td&gt;Valid domain user + SPN exists&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Pass-the-Ticket&lt;/td&gt;
          &lt;td&gt;getTGT.py + impacket&lt;/td&gt;
          &lt;td&gt;N/A&lt;/td&gt;
          &lt;td&gt;Valid credentials or hash&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Overpass-the-Hash&lt;/td&gt;
          &lt;td&gt;getTGT.py -aesKey&lt;/td&gt;
          &lt;td&gt;N/A&lt;/td&gt;
          &lt;td&gt;AES256 key for user&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Kerbrute userenum&lt;/td&gt;
          &lt;td&gt;kerbrute&lt;/td&gt;
          &lt;td&gt;N/A&lt;/td&gt;
          &lt;td&gt;Network access to DC on port 88&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Ticket conversion&lt;/td&gt;
          &lt;td&gt;ticket_converter.py&lt;/td&gt;
          &lt;td&gt;N/A&lt;/td&gt;
          &lt;td&gt;Existing .kirbi or .ccache&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id=&#34;as-rep-roasting&#34;&gt;AS-REP Roasting&lt;/h2&gt;
&lt;p&gt;AS-REP Roasting targets accounts that have Kerberos pre-authentication disabled (&lt;code&gt;DONT_REQ_PREAUTH&lt;/code&gt; flag set in &lt;code&gt;userAccountControl&lt;/code&gt;). The KDC returns an AS-REP containing a portion encrypted with the user&amp;rsquo;s hash — no prior authentication required, making it requestable by anyone.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Delegation Attacks — From Kali</title>
      <link>https://az0th.it/ad/kali/delegation-attacks/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://az0th.it/ad/kali/delegation-attacks/</guid>
      <description>&lt;h2 id=&#34;quick-reference&#34;&gt;Quick Reference&lt;/h2&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Attack&lt;/th&gt;
          &lt;th&gt;Tool&lt;/th&gt;
          &lt;th&gt;Required Privileges&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Unconstrained Delegation Abuse&lt;/td&gt;
          &lt;td&gt;impacket, Responder, coercion tools&lt;/td&gt;
          &lt;td&gt;Compromise of delegated host&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Constrained Delegation (KCD)&lt;/td&gt;
          &lt;td&gt;getST.py&lt;/td&gt;
          &lt;td&gt;Control of account with KCD configured&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;RBCD Setup + Abuse&lt;/td&gt;
          &lt;td&gt;addcomputer.py, rbcd.py, getST.py&lt;/td&gt;
          &lt;td&gt;GenericWrite or WriteDACL on target computer&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Shadow Credentials&lt;/td&gt;
          &lt;td&gt;pywhisker.py, getnthash.py&lt;/td&gt;
          &lt;td&gt;WriteProperty on msDS-KeyCredentialLink&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Coerce Authentication (PetitPotam)&lt;/td&gt;
          &lt;td&gt;PetitPotam.py&lt;/td&gt;
          &lt;td&gt;Valid domain credentials&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Coerce Authentication (PrinterBug)&lt;/td&gt;
          &lt;td&gt;printerbug.py&lt;/td&gt;
          &lt;td&gt;Valid domain credentials&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id=&#34;delegation-overview&#34;&gt;Delegation Overview&lt;/h2&gt;
&lt;p&gt;Kerberos delegation allows a service to impersonate users when accessing other services on their behalf. There are three types, each with different risk profiles and abuse paths.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Lateral Movement — From Kali</title>
      <link>https://az0th.it/ad/kali/lateral-movement/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://az0th.it/ad/kali/lateral-movement/</guid>
      <description>&lt;h2 id=&#34;quick-reference&#34;&gt;Quick Reference&lt;/h2&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Technique&lt;/th&gt;
          &lt;th&gt;Tool&lt;/th&gt;
          &lt;th&gt;Auth Type&lt;/th&gt;
          &lt;th&gt;Notes&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Pass-the-Hash&lt;/td&gt;
          &lt;td&gt;psexec.py, wmiexec.py, nxc&lt;/td&gt;
          &lt;td&gt;NTLM hash&lt;/td&gt;
          &lt;td&gt;No plaintext needed&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Pass-the-Ticket&lt;/td&gt;
          &lt;td&gt;psexec.py -k, wmiexec.py -k&lt;/td&gt;
          &lt;td&gt;Kerberos ccache&lt;/td&gt;
          &lt;td&gt;Set KRB5CCNAME first&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Evil-WinRM&lt;/td&gt;
          &lt;td&gt;evil-winrm&lt;/td&gt;
          &lt;td&gt;Password / Hash / Ticket&lt;/td&gt;
          &lt;td&gt;WinRM port 5985/5986&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;WMI Execution&lt;/td&gt;
          &lt;td&gt;wmiexec.py&lt;/td&gt;
          &lt;td&gt;Password / Hash&lt;/td&gt;
          &lt;td&gt;Output shown, less noisy&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;DCOM Execution&lt;/td&gt;
          &lt;td&gt;dcomexec.py&lt;/td&gt;
          &lt;td&gt;Password / Hash&lt;/td&gt;
          &lt;td&gt;Multiple COM objects&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;RDP PtH&lt;/td&gt;
          &lt;td&gt;xfreerdp /pth&lt;/td&gt;
          &lt;td&gt;NTLM hash&lt;/td&gt;
          &lt;td&gt;Requires Restricted Admin mode&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;SMB Exec&lt;/td&gt;
          &lt;td&gt;psexec.py, smbexec.py&lt;/td&gt;
          &lt;td&gt;Password / Hash&lt;/td&gt;
          &lt;td&gt;Different noise levels&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Proxychains&lt;/td&gt;
          &lt;td&gt;proxychains + any tool&lt;/td&gt;
          &lt;td&gt;Any&lt;/td&gt;
          &lt;td&gt;Internal network pivoting&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id=&#34;pass-the-hash-pth-from-linux&#34;&gt;Pass-the-Hash (PtH) from Linux&lt;/h2&gt;
&lt;h3 id=&#34;concept&#34;&gt;Concept&lt;/h3&gt;
&lt;p&gt;NTLM authentication does not require knowledge of the plaintext password — it only requires the NT hash. The NT hash is the MD4 hash of the Unicode password, and it is used directly in the NTLM challenge-response exchange. A valid NT hash is sufficient to authenticate against any service using NTLM.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Domain &amp; Forest Trusts — From Kali</title>
      <link>https://az0th.it/ad/kali/domain-trusts/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://az0th.it/ad/kali/domain-trusts/</guid>
      <description>&lt;h2 id=&#34;quick-reference&#34;&gt;Quick Reference&lt;/h2&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Attack&lt;/th&gt;
          &lt;th&gt;Requirement&lt;/th&gt;
          &lt;th&gt;Tool&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Cross-domain Kerberoasting&lt;/td&gt;
          &lt;td&gt;Valid low-priv creds in child domain&lt;/td&gt;
          &lt;td&gt;GetUserSPNs.py&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Cross-domain AS-REP Roasting&lt;/td&gt;
          &lt;td&gt;Valid low-priv creds in child domain&lt;/td&gt;
          &lt;td&gt;GetNPUsers.py&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;SID History Injection (parent-child)&lt;/td&gt;
          &lt;td&gt;Domain Admin in child domain, child krbtgt hash&lt;/td&gt;
          &lt;td&gt;ticketer.py&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Cross-domain DCSync&lt;/td&gt;
          &lt;td&gt;Replication rights or DA in target domain&lt;/td&gt;
          &lt;td&gt;secretsdump.py&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;One-way inbound trust abuse&lt;/td&gt;
          &lt;td&gt;DA in trusted domain, inter-realm key&lt;/td&gt;
          &lt;td&gt;ticketer.py (silver), getST.py&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;One-way outbound trust abuse&lt;/td&gt;
          &lt;td&gt;DA in trusting domain, TDO GUID&lt;/td&gt;
          &lt;td&gt;secretsdump.py, getTGT.py&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Cross-forest Kerberoasting&lt;/td&gt;
          &lt;td&gt;Bidirectional forest trust, valid creds&lt;/td&gt;
          &lt;td&gt;GetUserSPNs.py&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Golden ticket cross-domain&lt;/td&gt;
          &lt;td&gt;Child krbtgt hash + parent domain SID&lt;/td&gt;
          &lt;td&gt;ticketer.py&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;BloodHound trust mapping&lt;/td&gt;
          &lt;td&gt;Valid creds, network access to DC&lt;/td&gt;
          &lt;td&gt;bloodhound-python&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id=&#34;trust-concepts&#34;&gt;Trust Concepts&lt;/h2&gt;
&lt;h3 id=&#34;trust-types&#34;&gt;Trust Types&lt;/h3&gt;
&lt;p&gt;A &lt;strong&gt;Trust&lt;/strong&gt; is a relationship between two domains that allows security principals in one domain to authenticate to resources in another. Trust information is stored in Active Directory as &lt;strong&gt;Trusted Domain Objects (TDOs)&lt;/strong&gt; under &lt;code&gt;CN=System&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Persistence — From Kali</title>
      <link>https://az0th.it/ad/kali/persistence/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://az0th.it/ad/kali/persistence/</guid>
      <description>&lt;h2 id=&#34;quick-reference&#34;&gt;Quick Reference&lt;/h2&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Technique&lt;/th&gt;
          &lt;th&gt;Requirement&lt;/th&gt;
          &lt;th&gt;Detection Risk&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;DCSync&lt;/td&gt;
          &lt;td&gt;Domain Admin or explicit replication rights&lt;/td&gt;
          &lt;td&gt;High — replication request from non-DC&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Golden Ticket&lt;/td&gt;
          &lt;td&gt;krbtgt NTLM + AES256 hash, domain SID&lt;/td&gt;
          &lt;td&gt;Medium — no TGT event (4768) on DC&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Silver Ticket&lt;/td&gt;
          &lt;td&gt;Service account NTLM hash, domain SID, SPN&lt;/td&gt;
          &lt;td&gt;Low — no DC contact at all&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Diamond Ticket&lt;/td&gt;
          &lt;td&gt;krbtgt AES256, valid user credentials&lt;/td&gt;
          &lt;td&gt;Low — based on a real TGT&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;NTDS.dit VSS&lt;/td&gt;
          &lt;td&gt;Shell on DC, local admin&lt;/td&gt;
          &lt;td&gt;High — shadow copy creation event&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;DPAPI Backup Key&lt;/td&gt;
          &lt;td&gt;Domain Admin, DC access&lt;/td&gt;
          &lt;td&gt;Medium — LDAP/RPC request to DC&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ACL-based (DCSync rights)&lt;/td&gt;
          &lt;td&gt;WriteDACL or GenericAll on domain root&lt;/td&gt;
          &lt;td&gt;Low — ACL change may not alert&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Machine Account creation&lt;/td&gt;
          &lt;td&gt;Any user with MachineAccountQuota &amp;gt; 0&lt;/td&gt;
          &lt;td&gt;Low&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Pass-the-Hash persistence&lt;/td&gt;
          &lt;td&gt;Local admin hash, no domain rights needed&lt;/td&gt;
          &lt;td&gt;Low — appears as normal auth&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id=&#34;dcsync&#34;&gt;DCSync&lt;/h2&gt;
&lt;h3 id=&#34;what-it-is&#34;&gt;What It Is&lt;/h3&gt;
&lt;p&gt;DCSync abuses the &lt;strong&gt;Directory Replication Service (DRS)&lt;/strong&gt; protocol. Domain controllers use DRS to replicate directory data between themselves. The &lt;code&gt;GetNCChanges&lt;/code&gt; function is the core RPC call used. Any account with the following rights on the domain root object can invoke this:&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
