AD CS Certificate Theft

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 ์ง€์›ํ•˜๊ธฐ

์ด๊ฒƒ์€ https://www.specterops.io/assets/resources/Certified_Pre-Owned.pdf์—์„œ์˜ ํ›Œ๋ฅญํ•œ ์—ฐ๊ตฌ์˜ ๋„๋‚œ ์žฅ์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ์š”์•ฝ์ž…๋‹ˆ๋‹ค.

์ธ์ฆ์„œ๋กœ ๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๋‚˜์š”

์ธ์ฆ์„œ๋ฅผ ํ›”์น˜๋Š” ๋ฐฉ๋ฒ•์„ ํ™•์ธํ•˜๊ธฐ ์ „์—, ์ธ์ฆ์„œ๊ฐ€ ๋ฌด์—‡์— ์œ ์šฉํ•œ์ง€ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค:

# Powershell
$CertPath = "C:\path\to\cert.pfx"
$CertPass = "P@ssw0rd"
$Cert = New-Object
System.Security.Cryptography.X509Certificates.X509Certificate2 @($CertPath, $CertPass)
$Cert.EnhancedKeyUsageList

# cmd
certutil.exe -dump -v cert.pfx

Exporting Certificates Using the Crypto APIs โ€“ THEFT1

In an interactive desktop session, ์‚ฌ์šฉ์ž์˜ ์ธ์ฆ์„œ ๋˜๋Š” ๋จธ์‹  ์ธ์ฆ์„œ๋ฅผ ๊ฐœ์ธ ํ‚ค์™€ ํ•จ๊ป˜ ์ถ”์ถœํ•˜๋Š” ๊ฒƒ์€ ๊ฐœ์ธ ํ‚ค๊ฐ€ ๋‚ด๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ํŠนํžˆ ์‰ฝ๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” certmgr.msc์—์„œ ์ธ์ฆ์„œ๋ฅผ ์ฐพ์•„ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๊ณ  ๋ชจ๋“  ์ž‘์—… โ†’ ๋‚ด๋ณด๋‚ด๊ธฐ๋ฅผ ์„ ํƒํ•˜์—ฌ ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ ๋ณดํ˜ธ๋œ .pfx ํŒŒ์ผ์„ ์ƒ์„ฑํ•จ์œผ๋กœ์จ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

For a programmatic approach, PowerShell ExportPfxCertificate cmdlet ๋˜๋Š” TheWoverโ€™s CertStealer C# project์™€ ๊ฐ™์€ ๋„๊ตฌ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์ด๋“ค์€ Microsoft CryptoAPI (CAPI) ๋˜๋Š” Cryptography API: Next Generation (CNG)์„ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆ์„œ ์ €์žฅ์†Œ์™€ ์ƒํ˜ธ์ž‘์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ API๋Š” ์ธ์ฆ์„œ ์ €์žฅ ๋ฐ ์ธ์ฆ์— ํ•„์š”ํ•œ ๋‹ค์–‘ํ•œ ์•”ํ˜ธํ™” ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๊ฐœ์ธ ํ‚ค๊ฐ€ ๋‚ด๋ณด๋‚ผ ์ˆ˜ ์—†๋Š” ๊ฒƒ์œผ๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ, CAPI์™€ CNG๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ด๋Ÿฌํ•œ ์ธ์ฆ์„œ์˜ ์ถ”์ถœ์„ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค. ์ด ์ œํ•œ์„ ์šฐํšŒํ•˜๊ธฐ ์œ„ํ•ด Mimikatz์™€ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Mimikatz๋Š” ๊ฐœ์ธ ํ‚ค์˜ ๋‚ด๋ณด๋‚ด๊ธฐ๋ฅผ ํ—ˆ์šฉํ•˜๊ธฐ ์œ„ํ•ด ํ•ด๋‹น API๋ฅผ ํŒจ์น˜ํ•˜๋Š” crypto::capi ๋ฐ crypto::cng ๋ช…๋ น์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์ฒด์ ์œผ๋กœ, crypto::capi๋Š” ํ˜„์žฌ ํ”„๋กœ์„ธ์Šค ๋‚ด์˜ CAPI๋ฅผ ํŒจ์น˜ํ•˜๊ณ , crypto::cng๋Š” ํŒจ์น˜๋ฅผ ์œ„ํ•ด lsass.exe์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํƒ€๊ฒŸํŒ…ํ•ฉ๋‹ˆ๋‹ค.

User Certificate Theft via DPAPI โ€“ THEFT2

More info about DPAPI in:

DPAPI - Extracting Passwords

In Windows, certificate private keys are safeguarded by DPAPI. ์‚ฌ์šฉ์ž ๋ฐ ๋จธ์‹  ๊ฐœ์ธ ํ‚ค์˜ ์ €์žฅ ์œ„์น˜๊ฐ€ ๋‹ค๋ฅด๋ฉฐ, ํŒŒ์ผ ๊ตฌ์กฐ๋Š” ์šด์˜ ์ฒด์ œ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์•”ํ˜ธํ™” API์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋‹ค๋Š” ๊ฒƒ์„ ์ธ์‹ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. SharpDPAPI๋Š” DPAPI ๋ธ”๋กญ์„ ํ•ด๋…ํ•  ๋•Œ ์ด๋Ÿฌํ•œ ์ฐจ์ด๋ฅผ ์ž๋™์œผ๋กœ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ์ธ์ฆ์„œ๋Š” ์ฃผ๋กœ HKEY_CURRENT_USER\SOFTWARE\Microsoft\SystemCertificates์˜ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ์ €์žฅ๋˜์ง€๋งŒ, ์ผ๋ถ€๋Š” %APPDATA%\Microsoft\SystemCertificates\My\Certificates ๋””๋ ‰ํ† ๋ฆฌ์—์„œ๋„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ธ์ฆ์„œ์— ๋Œ€ํ•œ ํ•ด๋‹น ๊ฐœ์ธ ํ‚ค๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ CAPI ํ‚ค์˜ ๊ฒฝ์šฐ %APPDATA%\Microsoft\Crypto\RSA\User SID\์—, CNG ํ‚ค์˜ ๊ฒฝ์šฐ %APPDATA%\Microsoft\Crypto\Keys\์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

To extract a certificate and its associated private key, the process involves:

  1. ๋Œ€์ƒ ์ธ์ฆ์„œ ์„ ํƒ ์‚ฌ์šฉ์ž์˜ ์ €์žฅ์†Œ์—์„œ ํ‚ค ์ €์žฅ์†Œ ์ด๋ฆ„์„ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
  2. ํ•ด๋‹น ๊ฐœ์ธ ํ‚ค๋ฅผ ํ•ด๋…ํ•˜๊ธฐ ์œ„ํ•œ DPAPI ๋งˆ์Šคํ„ฐ ํ‚ค ์ฐพ๊ธฐ.
  3. ํ‰๋ฌธ DPAPI ๋งˆ์Šคํ„ฐ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ์ธ ํ‚ค ํ•ด๋…ํ•˜๊ธฐ.

For acquiring the plaintext DPAPI masterkey, the following approaches can be used:

# With mimikatz, when running in the user's context
dpapi::masterkey /in:"C:\PATH\TO\KEY" /rpc

# With mimikatz, if the user's password is known
dpapi::masterkey /in:"C:\PATH\TO\KEY" /sid:accountSid /password:PASS

๋งˆ์Šคํ„ฐํ‚ค ํŒŒ์ผ๊ณผ ๊ฐœ์ธ ํ‚ค ํŒŒ์ผ์˜ ๋ณตํ˜ธํ™”๋ฅผ ๊ฐ„์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด, SharpDPAPI์˜ certificates ๋ช…๋ น์ด ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ช…๋ น์€ ๊ฐœ์ธ ํ‚ค์™€ ์—ฐ๊ฒฐ๋œ ์ธ์ฆ์„œ๋ฅผ ๋ณตํ˜ธํ™”ํ•˜๊ธฐ ์œ„ํ•ด /pvk, /mkfile, /password ๋˜๋Š” {GUID}:KEY๋ฅผ ์ธ์ˆ˜๋กœ ๋ฐ›์•„๋“ค์—ฌ, ์ดํ›„ .pem ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

# Decrypting using SharpDPAPI
SharpDPAPI.exe certificates /mkfile:C:\temp\mkeys.txt

# Converting .pem to .pfx
openssl pkcs12 -in cert.pem -keyex -CSP "Microsoft Enhanced Cryptographic Provider v1.0" -export -out cert.pfx

Machine Certificate Theft via DPAPI โ€“ THEFT3

Windows์— ์˜ํ•ด ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ์ €์žฅ๋œ ๋จธ์‹  ์ธ์ฆ์„œ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates์™€ ๊ด€๋ จ๋œ ๊ฐœ์ธ ํ‚ค๋Š” %ALLUSERSPROFILE%\Application Data\Microsoft\Crypto\RSA\MachineKeys (CAPI์˜ ๊ฒฝ์šฐ) ๋ฐ %ALLUSERSPROFILE%\Application Data\Microsoft\Crypto\Keys (CNG์˜ ๊ฒฝ์šฐ)์— ์œ„์น˜ํ•˜๋ฉฐ, ๋จธ์‹ ์˜ DPAPI ๋งˆ์Šคํ„ฐ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•”ํ˜ธํ™”๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ‚ค๋Š” ๋„๋ฉ”์ธ์˜ DPAPI ๋ฐฑ์—… ํ‚ค๋กœ ๋ณตํ˜ธํ™”ํ•  ์ˆ˜ ์—†์œผ๋ฉฐ, ๋Œ€์‹  DPAPI_SYSTEM LSA ๋น„๋ฐ€์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋น„๋ฐ€์€ ์˜ค์ง SYSTEM ์‚ฌ์šฉ์ž๋งŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ˆ˜๋™ ๋ณตํ˜ธํ™”๋Š” Mimikatz์—์„œ lsadump::secrets ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์—ฌ DPAPI_SYSTEM LSA ๋น„๋ฐ€์„ ์ถ”์ถœํ•œ ํ›„, ์ด ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋จธ์‹  ๋งˆ์Šคํ„ฐ ํ‚ค๋ฅผ ๋ณตํ˜ธํ™”ํ•จ์œผ๋กœ์จ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜๋Š”, ์ด์ „์— ์„ค๋ช…ํ•œ ๋Œ€๋กœ CAPI/CNG๋ฅผ ํŒจ์น˜ํ•œ ํ›„ Mimikatz์˜ crypto::certificates /export /systemstore:LOCAL_MACHINE ๋ช…๋ น์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

SharpDPAPI๋Š” ์ธ์ฆ์„œ ๋ช…๋ น์„ ํ†ตํ•ด ๋ณด๋‹ค ์ž๋™ํ™”๋œ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. /machine ํ”Œ๋ž˜๊ทธ๊ฐ€ ์ƒ์Šน๋œ ๊ถŒํ•œ์œผ๋กœ ์‚ฌ์šฉ๋  ๋•Œ, SYSTEM์œผ๋กœ ์ƒ์Šนํ•˜๊ณ  DPAPI_SYSTEM LSA ๋น„๋ฐ€์„ ๋คํ”„ํ•˜๋ฉฐ, ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋จธ์‹  DPAPI ๋งˆ์Šคํ„ฐ ํ‚ค๋ฅผ ๋ณตํ˜ธํ™”ํ•œ ํ›„, ์ด๋Ÿฌํ•œ ํ‰๋ฌธ ํ‚ค๋ฅผ ์กฐํšŒ ํ…Œ์ด๋ธ”๋กœ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ๋จธ์‹  ์ธ์ฆ์„œ ๊ฐœ์ธ ํ‚ค๋ฅผ ๋ณตํ˜ธํ™”ํ•ฉ๋‹ˆ๋‹ค.

Finding Certificate Files โ€“ THEFT4

์ธ์ฆ์„œ๋Š” ๋•Œ๋•Œ๋กœ ํŒŒ์ผ ์‹œ์Šคํ…œ ๋‚ด์—์„œ ์ง์ ‘ ๋ฐœ๊ฒฌ๋˜๋ฉฐ, ํŒŒ์ผ ๊ณต์œ  ๋˜๋Š” ๋‹ค์šด๋กœ๋“œ ํด๋”์™€ ๊ฐ™์€ ์œ„์น˜์— ์žˆ์Šต๋‹ˆ๋‹ค. Windows ํ™˜๊ฒฝ์„ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์œผ๋กœ ์ ‘ํ•˜๋Š” ์ธ์ฆ์„œ ํŒŒ์ผ ์œ ํ˜•์€ .pfx ๋ฐ .p12 ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ๋œ ์ž์ฃผ ๋‚˜ํƒ€๋‚˜๋Š” ํŒŒ์ผ ํ™•์žฅ์ž๋กœ๋Š” .pkcs12 ๋ฐ .pem์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ถ”๊ฐ€๋กœ ์ฃผ๋ชฉํ•  ๋งŒํ•œ ์ธ์ฆ์„œ ๊ด€๋ จ ํŒŒ์ผ ํ™•์žฅ์ž๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • ๊ฐœ์ธ ํ‚ค์šฉ .key,
  • ์ธ์ฆ์„œ ์ „์šฉ .crt/.cer,
  • ์ธ์ฆ์„œ ๋˜๋Š” ๊ฐœ์ธ ํ‚ค๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š๋Š” ์ธ์ฆ์„œ ์„œ๋ช… ์š”์ฒญ์šฉ .csr,
  • Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์ธ์ฆ์„œ์™€ ๊ฐœ์ธ ํ‚ค๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋Š” Java Keystores์šฉ .jks/.keystore/.keys.

์ด ํŒŒ์ผ๋“ค์€ ์–ธ๊ธ‰๋œ ํ™•์žฅ์ž๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด PowerShell ๋˜๋Š” ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

PKCS#12 ์ธ์ฆ์„œ ํŒŒ์ผ์ด ๋ฐœ๊ฒฌ๋˜๊ณ  ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ ๋ณดํ˜ธ๋˜๋Š” ๊ฒฝ์šฐ, pfx2john.py๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด์‹œ๋ฅผ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” fossies.org์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ดํ›„ JohnTheRipper๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ํฌ๋ž™ํ•˜๋ ค๊ณ  ์‹œ๋„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

# Example command to search for certificate files in PowerShell
Get-ChildItem -Recurse -Path C:\Users\ -Include *.pfx, *.p12, *.pkcs12, *.pem, *.key, *.crt, *.cer, *.csr, *.jks, *.keystore, *.keys

# Example command to use pfx2john.py for extracting a hash from a PKCS#12 file
pfx2john.py certificate.pfx > hash.txt

# Command to crack the hash with JohnTheRipper
john --wordlist=passwords.txt hash.txt

NTLM Credential Theft via PKINIT โ€“ THEFT5 (UnPAC the hash)

์ฃผ์–ด์ง„ ๋‚ด์šฉ์€ PKINIT๋ฅผ ํ†ตํ•œ NTLM ์ž๊ฒฉ ์ฆ๋ช… ๋„์šฉ ๋ฐฉ๋ฒ•, ํŠนํžˆ THEFT5๋กœ ๋ ˆ์ด๋ธ”์ด ๋ถ™์€ ๋„์šฉ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ์ˆ˜๋™ํƒœ๋กœ ์žฌ์„ค๋ช…๋œ ๋‚ด์šฉ์œผ๋กœ, ํ•„์š”์— ๋”ฐ๋ผ ์ต๋ช…ํ™”๋˜๊ณ  ์š”์•ฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค:

NTLM ์ธ์ฆ MS-NLMP๋ฅผ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด Kerberos ์ธ์ฆ์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฒฝ์šฐ, KDC๋Š” PKCA๊ฐ€ ์‚ฌ์šฉ๋  ๋•Œ ๊ถŒํ•œ ์†์„ฑ ์ธ์ฆ์„œ(PAC) ๋‚ด์—์„œ ์‚ฌ์šฉ์ž์˜ NTLM ์ผ๋ฐฉํ–ฅ ํ•จ์ˆ˜(OWF)๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ณ„์ •์ด PKINIT๋ฅผ ํ†ตํ•ด ํ‹ฐ์ผ“ ๋ถ€์—ฌ ํ‹ฐ์ผ“(TGT)์„ ์ธ์ฆํ•˜๊ณ  ํ™•๋ณดํ•  ๊ฒฝ์šฐ, ํ˜„์žฌ ํ˜ธ์ŠคํŠธ๊ฐ€ TGT์—์„œ NTLM ํ•ด์‹œ๋ฅผ ์ถ”์ถœํ•˜์—ฌ ๋ ˆ๊ฑฐ์‹œ ์ธ์ฆ ํ”„๋กœํ† ์ฝœ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ๋ณธ์งˆ์ ์œผ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์€ NTLM ํ‰๋ฌธ์„ NDR ์ง๋ ฌํ™”๋œ ํ˜•ํƒœ๋กœ ๋‚˜ํƒ€๋‚ด๋Š” PAC_CREDENTIAL_DATA ๊ตฌ์กฐ์ฒด์˜ ๋ณตํ˜ธํ™”๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

์œ ํ‹ธ๋ฆฌํ‹ฐ Kekeo๋Š” https://github.com/gentilkiwi/kekeo์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด ํŠน์ • ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•˜๋Š” TGT๋ฅผ ์š”์ฒญํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์–ธ๊ธ‰๋˜์–ด ์žˆ์–ด ์‚ฌ์šฉ์ž์˜ NTLM์„ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค๋‹ˆ๋‹ค. ์ด ๋ชฉ์ ์„ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๋ช…๋ น์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

tgt::pac /caname:generic-DC-CA /subject:genericUser /castore:current_user /domain:domain.local

**Rubeus**๋Š” asktgt [...] /getcredentials ์˜ต์…˜์œผ๋กœ ์ด ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ, Kekeo๋Š” ํ•€์„ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ์Šค๋งˆํŠธ์นด๋“œ ๋ณดํ˜ธ ์ธ์ฆ์„œ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์–ธ๊ธ‰๋˜๋ฉฐ, https://github.com/CCob/PinSwipe์— ๋Œ€ํ•œ ์ฐธ์กฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋™์ผํ•œ ๊ธฐ๋Šฅ์ด Rubeus์—์„œ๋„ ์ง€์›๋œ๋‹ค๊ณ  ํ•˜๋ฉฐ, https://github.com/GhostPack/Rubeus์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์„ค๋ช…์€ PKINIT์„ ํ†ตํ•œ NTLM ์ž๊ฒฉ ์ฆ๋ช… ๋„์šฉ ๊ณผ์ •๊ณผ ๋„๊ตฌ๋ฅผ ์š”์•ฝํ•˜๋ฉฐ, PKINIT์„ ์‚ฌ์šฉํ•˜์—ฌ ์–ป์€ TGT๋ฅผ ํ†ตํ•ด NTLM ํ•ด์‹œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐ ์ค‘์ ์„ ๋‘๊ณ  ์žˆ์œผ๋ฉฐ, ์ด ๊ณผ์ •์„ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

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 ์ง€์›ํ•˜๊ธฐ