FreeIPA Pentesting

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

Basic Information

FreeIPA๋Š” Microsoft Windows Active Directory์— ๋Œ€ํ•œ ์˜คํ”ˆ ์†Œ์Šค ๋Œ€์•ˆ์œผ๋กœ, ์ฃผ๋กœ Unix ํ™˜๊ฒฝ์„ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” Active Directory์™€ ์œ ์‚ฌํ•œ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” MIT Kerberos ํ‚ค ๋ฐฐํฌ ์„ผํ„ฐ์™€ ์™„์ „ํ•œ LDAP ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๊ฒฐํ•ฉํ•ฉ๋‹ˆ๋‹ค. CA ๋ฐ RA ์ธ์ฆ์„œ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด Dogtag Certificate System์„ ํ™œ์šฉํ•˜๋ฉฐ, ์Šค๋งˆํŠธ์นด๋“œ๋ฅผ ํฌํ•จํ•œ ๋‹ค์ค‘ ์ธ์ฆ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. Unix ์ธ์ฆ ํ”„๋กœ์„ธ์Šค๋ฅผ ์œ„ํ•ด SSSD๊ฐ€ ํ†ตํ•ฉ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

Fingerprints

Files & Environment Variables

  • Kerberos ํด๋ผ์ด์–ธํŠธ ์ •๋ณด๋Š” ๋„๋ฉ”์ธ ๋“ฑ๋ก์— ํ•„์š”ํ•˜๋ฉฐ /etc/krb5.conf ํŒŒ์ผ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” KDC ๋ฐ ๊ด€๋ฆฌ ์„œ๋ฒ„์˜ ์œ„์น˜, ๊ธฐ๋ณธ ์„ค์ • ๋ฐ ๋งคํ•‘์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
  • IPA ํด๋ผ์ด์–ธํŠธ ๋ฐ ์„œ๋ฒ„์— ๋Œ€ํ•œ ์‹œ์Šคํ…œ ์ „์ฒด ๊ธฐ๋ณธ๊ฐ’์€ /etc/ipa/default.conf ํŒŒ์ผ์— ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
  • ๋„๋ฉ”์ธ ๋‚ด์˜ ํ˜ธ์ŠคํŠธ๋Š” ์ธ์ฆ ํ”„๋กœ์„ธ์Šค๋ฅผ ์œ„ํ•ด /etc/krb5.keytab์— krb5.keytab ํŒŒ์ผ์„ ๊ฐ€์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜(KRB5CCNAME, KRB5_KTNAME, KRB5_CONFIG, KRB5_KDC_PROFILE, KRB5RCACHETYPE, KRB5RCACHEDIR, KRB5_TRACE, KRB5_CLIENT_KTNAME, KPROP_PORT)๋Š” Kerberos ์ธ์ฆ๊ณผ ๊ด€๋ จ๋œ ํŠน์ • ํŒŒ์ผ ๋ฐ ์„ค์ •์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

Binaries

ipa, kdestroy, kinit, klist, kpasswd, ksu, kswitch, kvno์™€ ๊ฐ™์€ ๋„๊ตฌ๋Š” FreeIPA ๋„๋ฉ”์ธ์„ ๊ด€๋ฆฌํ•˜๊ณ  Kerberos ํ‹ฐ์ผ“์„ ์ฒ˜๋ฆฌํ•˜๋ฉฐ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ์„œ๋น„์Šค ํ‹ฐ์ผ“์„ ํš๋“ํ•˜๋Š” ๋“ฑ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์— ํ•ต์‹ฌ์ ์ž…๋‹ˆ๋‹ค.

Network

์ผ๋ฐ˜์ ์ธ FreeIPA ์„œ๋ฒ„ ์„ค์ •์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ทธ๋ฆผ์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

Authentication

FreeIPA์—์„œ์˜ ์ธ์ฆ์€ Kerberos๋ฅผ ํ™œ์šฉํ•˜์—ฌ Active Directory์™€ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋„๋ฉ”์ธ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•˜๋ ค๋ฉด ์œ ํšจํ•œ Kerberos ํ‹ฐ์ผ“์ด ํ•„์š”ํ•˜๋ฉฐ, ์ด๋Š” FreeIPA ๋„๋ฉ”์ธ ๊ตฌ์„ฑ์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ์œ„์น˜์— ์ €์žฅ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

CCACHE Ticket Files

CCACHE ํŒŒ์ผ์€ ์ผ๋ฐ˜์ ์œผ๋กœ **/tmp**์— 600 ๊ถŒํ•œ์œผ๋กœ ์ €์žฅ๋˜๋ฉฐ, Kerberos ์ž๊ฒฉ ์ฆ๋ช…์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ์ด์ง„ ํ˜•์‹์œผ๋กœ, ์‚ฌ์šฉ์ž์˜ ํ‰๋ฌธ ๋น„๋ฐ€๋ฒˆํ˜ธ ์—†์ด ์ธ์ฆ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. CCACHE ํ‹ฐ์ผ“์„ ํŒŒ์‹ฑํ•˜๋ ค๋ฉด klist ๋ช…๋ น์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์œ ํšจํ•œ CCACHE ํ‹ฐ์ผ“์„ ์žฌ์‚ฌ์šฉํ•˜๋ ค๋ฉด KRB5CCNAME์„ ํ‹ฐ์ผ“ ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋กœ ๋‚ด๋ณด๋‚ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Unix Keyring

๋Œ€์•ˆ์œผ๋กœ, CCACHE ํ‹ฐ์ผ“์€ Linux ํ‚ค๋ง์— ์ €์žฅํ•  ์ˆ˜ ์žˆ์–ด ํ‹ฐ์ผ“ ๊ด€๋ฆฌ์— ๋Œ€ํ•œ ๋” ๋งŽ์€ ์ œ์–ด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ‹ฐ์ผ“ ์ €์žฅ ๋ฒ”์œ„๋Š” (KEYRING:name, KEYRING:process:name, KEYRING:thread:name, KEYRING:session:name, KEYRING:persistent:uidnumber)๋กœ ๋‹ค์–‘ํ•˜๋ฉฐ, klist๋Š” ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•ด ์ด ์ •๋ณด๋ฅผ ํŒŒ์‹ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Unix ํ‚ค๋ง์—์„œ CCACHE ํ‹ฐ์ผ“์„ ์žฌ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ์œผ๋ฉฐ, Kerberos ํ‹ฐ์ผ“์„ ์ถ”์ถœํ•˜๊ธฐ ์œ„ํ•ด Tickey์™€ ๊ฐ™์€ ๋„๊ตฌ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

Keytab

Kerberos ์ฃผ์ฒด์™€ ์•”ํ˜ธํ™”๋œ ํ‚ค๋ฅผ ํฌํ•จํ•˜๋Š” Keytab ํŒŒ์ผ์€ ์œ ํšจํ•œ ํ‹ฐ์ผ“ ๋ถ€์—ฌ ํ‹ฐ์ผ“(TGT)์„ ์–ป๋Š” ๋ฐ ์ค‘์š”ํ•˜๋ฉฐ, ์ฃผ์ฒด์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ ์—†์ด๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. Keytab ํŒŒ์ผ์—์„œ ์ž๊ฒฉ ์ฆ๋ช…์„ ํŒŒ์‹ฑํ•˜๊ณ  ์žฌ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ klist์™€ KeytabParser์™€ ๊ฐ™์€ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‰ฝ๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Cheatsheet

Linux์—์„œ ํ‹ฐ์ผ“์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๋” ๋งŽ์€ ์ •๋ณด๋Š” ๋‹ค์Œ ๋งํฌ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

Linux Active Directory

Enumeration

Warning

ldap ๋ฐ ๊ธฐํƒ€ binary ๋„๊ตฌ๋ฅผ ํ†ตํ•ด enumeration์„ ์ˆ˜ํ–‰ํ•˜๊ฑฐ๋‚˜ FreeIPA ์„œ๋ฒ„์˜ ํฌํŠธ 443์— ์žˆ๋Š” ์›น ํŽ˜์ด์ง€์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Hosts, Users, and Groups

ํ˜ธ์ŠคํŠธ, ์‚ฌ์šฉ์ž ๋ฐ ๊ทธ๋ฃน์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ์™€ ์‚ฌ์šฉ์ž๋Š” ๊ฐ๊ฐ โ€œHost Groupsโ€ ๋ฐ โ€œUser Groupsโ€๋ผ๋Š” ์ปจํ…Œ์ด๋„ˆ๋กœ ์ •๋ ฌ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์กฐ์ง ๋‹จ์œ„(OU)์™€ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ FreeIPA์—์„œ LDAP ์„œ๋ฒ„๋Š” ์ต๋ช… ๋ฐ”์ธ๋”ฉ์„ ํ—ˆ์šฉํ•˜๋ฉฐ, ๋งŽ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์ธ์ฆ๋˜์ง€ ์•Š์€ ์ƒํƒœ์—์„œ ์—ด๋žŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ธ์ฆ๋˜์ง€ ์•Š์€ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์—ด๋žŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

ldapsearch -x

๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ์–ป์œผ๋ ค๋ฉด ์ธ์ฆ๋œ ์„ธ์…˜์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค (์ธ์ฆ๋œ ์„ธ์…˜์„ ์ค€๋น„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์ธ์ฆ ์„น์…˜์„ ํ™•์ธํ•˜์„ธ์š”).

# Get all users of domain
ldapsearch -Y gssapi -b "cn=users,cn=compat,dc=domain_name,dc=local"

# Get users groups
ldapsearch -Y gssapi -b "cn=groups,cn=accounts,dc=domain_name,dc=local"

# Get all the hosts
ldapsearch -Y gssapi -b "cn=computers,cn=accounts,dc=domain_name,dc=local"

# Get hosts groups
ldapsearch -Y gssapi -b "cn=hostgroups,cn=accounts,dc=domain_name,dc=local"

๋„๋ฉ”์ธ์— ๊ฐ€์ž…๋œ ๋จธ์‹ ์—์„œ ์„ค์น˜๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋„๋ฉ”์ธ์„ ์—ด๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

ipa user-find
ipa usergroup-find
ipa host-find
ipa host-group-find

-------------------

ipa user-show <username> --all
ipa usergroup-show <user group> --all
ipa host-find <host> --all
ipa hostgroup-show <host group> --all

Tip

FreeIPA์˜ admin ์‚ฌ์šฉ์ž๋Š” AD์˜ domain admins์™€ ๋™๋“ฑํ•ฉ๋‹ˆ๋‹ค.

Hashes

IPA ์„œ๋ฒ„์˜ root ์‚ฌ์šฉ์ž๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ hashes์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ ํ•ด์‹œ๋Š” โ€œuserPasswordโ€ attribute์— base64๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ์ด ํ•ด์‹œ๋Š” SSHA512 (๊ตฌ๋ฒ„์ „์˜ FreeIPA) ๋˜๋Š” PBKDF2_SHA256์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‹œ์Šคํ…œ์ด AD์™€ integration๋˜์–ด ์žˆ๋‹ค๋ฉด ๋น„๋ฐ€๋ฒˆํ˜ธ์˜ Nthash๋Š” โ€œipaNTHashโ€์— base64๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

์ด ํ•ด์‹œ๋ฅผ ํฌ๋ž™ํ•˜๋ ค๋ฉด:

โ€ข FreeIPA๊ฐ€ AD์™€ ํ†ตํ•ฉ๋œ ๊ฒฝ์šฐ, ipaNTHash๋Š” ์‰ฝ๊ฒŒ ํฌ๋ž™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: base64๋ฅผ decodeํ•œ ํ›„ ASCII hex๋กœ ๋‹ค์‹œ ์ธ์ฝ”๋”ฉ -> John The Ripper ๋˜๋Š” hashcat์„ ์‚ฌ์šฉํ•˜์—ฌ ๋น ๋ฅด๊ฒŒ ํฌ๋ž™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โ€ข ๊ตฌ๋ฒ„์ „์˜ FreeIPA๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ, SSHA512๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค: base64๋ฅผ decodeํ•œ ํ›„ SSHA512 hash๋ฅผ ์ฐพ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค -> John The Ripper ๋˜๋Š” hashcat์ด ํฌ๋ž™ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โ€ข ์ตœ์‹  ๋ฒ„์ „์˜ FreeIPA๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ, PBKDF2_SHA256์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค: base64๋ฅผ decodeํ•œ ํ›„ PBKDF2_SHA256์„ ์ฐพ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค -> ๊ธธ์ด๋Š” 256 ๋ฐ”์ดํŠธ์ž…๋‹ˆ๋‹ค. John์€ 256 ๋น„ํŠธ(32 ๋ฐ”์ดํŠธ)๋กœ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค -> SHA-265๊ฐ€ ์˜์‚ฌ ๋‚œ์ˆ˜ ํ•จ์ˆ˜๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ, ๋ธ”๋ก ํฌ๊ธฐ๋Š” 32 ๋ฐ”์ดํŠธ์ž…๋‹ˆ๋‹ค -> PBKDF2_SHA256 ํ•ด์‹œ์˜ ์ฒ˜์Œ 256 ๋น„ํŠธ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค -> John The Ripper ๋˜๋Š” hashcat์ด ํฌ๋ž™ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ด์‹œ๋ฅผ ์ถ”์ถœํ•˜๋ ค๋ฉด FreeIPA ์„œ๋ฒ„์˜ root๊ฐ€ ๋˜์–ด์•ผ ํ•˜๋ฉฐ, ๊ทธ๊ณณ์—์„œ dbscan ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

HBAC-Rules

์‚ฌ์šฉ์ž ๋˜๋Š” ํ˜ธ์ŠคํŠธ์— ์ž์›(ํ˜ธ์ŠคํŠธ, ์„œ๋น„์Šค, ์„œ๋น„์Šค ๊ทธ๋ฃน ๋“ฑ)์— ๋Œ€ํ•œ ํŠน์ • ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋Š” ๊ทœ์น™์ด ์žˆ์Šต๋‹ˆ๋‹ค.

# Enumerate using ldap
ldapsearch -Y gssapi -b "cn=hbac,dc=domain_name,dc=local"
# Using ipa
ipa hbacrule-find
# Show info of rule
ipa hbacrule-show <hbacrule> --all

Sudo-Rules

FreeIPA๋Š” sudo-rules๋ฅผ ํ†ตํ•ด sudo ๊ถŒํ•œ์— ๋Œ€ํ•œ ์ค‘์•™ ์ง‘์ค‘์‹ ์ œ์–ด๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ทœ์น™์€ ๋„๋ฉ”์ธ ๋‚ด ํ˜ธ์ŠคํŠธ์—์„œ sudo๋กœ ๋ช…๋ น์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•˜๊ฑฐ๋‚˜ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์ž๋Š” ์ด๋Ÿฌํ•œ ๊ทœ์น™ ์„ธํŠธ๋ฅผ ๊ฒ€ํ† ํ•˜์—ฌ ์ ์šฉ ๊ฐ€๋Šฅํ•œ ํ˜ธ์ŠคํŠธ, ์‚ฌ์šฉ์ž ๋ฐ ํ—ˆ์šฉ๋œ ๋ช…๋ น์„ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

# Enumerate using ldap
ldapsearch -Y gssapi -b "cn=sudorules,cn=sudo,dc=domain_name,dc=local"
# Using ipa
ipa sudorule-find
# Show info of rule
ipa sudorule-show <sudorule> --all

์—ญํ•  ๊ธฐ๋ฐ˜ ์ ‘๊ทผ ์ œ์–ด

A role๋Š” ๋‹ค์–‘ํ•œ privileges๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ๊ฐ privilege๋Š” permissions์˜ ๋ชจ์Œ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์—ญํ• ์€ ์‚ฌ์šฉ์ž, ์‚ฌ์šฉ์ž ๊ทธ๋ฃน, ํ˜ธ์ŠคํŠธ, ํ˜ธ์ŠคํŠธ ๊ทธ๋ฃน ๋ฐ ์„œ๋น„์Šค์— ํ• ๋‹น๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ด ๊ตฌ์กฐ๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•ด FreeIPA์˜ ๊ธฐ๋ณธ โ€œUser Administratorโ€ ์—ญํ• ์„ ๊ณ ๋ คํ•ด ๋ณด์‹ญ์‹œ์˜ค.

์—ญํ•  User Administrator๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ privileges๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค:

  • User Administrators
  • Group Administrators
  • Stage User Administrators

๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ญํ• , privileges ๋ฐ permissions๋ฅผ ์—ด๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

# Using ldap
ldapsearch -Y gssapi -b "cn=roles,cn=accounts,dc=westeros,dc=local"
# Using ipa binary
ipa role-find
ipa role-show <role> --all
ipa privilege-find
ipa privilege-show <privilege> --all
ipa permission-find
ipa permission-show <permission> --all

๊ณต๊ฒฉ ์‹œ๋‚˜๋ฆฌ์˜ค ์˜ˆ์‹œ

https://posts.specterops.io/attacking-freeipa-part-iii-finding-a-path-677405b5b95e์—์„œ ๋„๋ฉ”์ธ์„ ์†์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์ผ๋ถ€ ๊ถŒํ•œ์„ ์•…์šฉํ•˜๋Š” ๊ฐ„๋‹จํ•œ ์˜ˆ์‹œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Linikatz/LinikatzV2

๊ถŒํ•œ ์ƒ์Šน

root ์‚ฌ์šฉ์ž ์ƒ์„ฑ

Warning

๋งŒ์•ฝ root๋ผ๋Š” ์ด๋ฆ„์˜ ์ƒˆ ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด, ๊ทธ๋ฅผ ๊ฐ€์žฅํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ root๋กœ ๋ชจ๋“  ๋จธ์‹ ์— SSH๋กœ ์ ‘์†ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ํŒจ์น˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ์„ค๋ช…์€ https://posts.specterops.io/attacking-freeipa-part-iv-cve-2020-10747-7c373a1bf66b์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ ์ž๋ฃŒ

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