rpcclient enumeration

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

Relative Identifiers (RID) ๋ฐ Security Identifiers (SID) ๊ฐœ์š”

**Relative Identifiers (RID)**์™€ **Security Identifiers (SID)**๋Š” Windows ์šด์˜ ์ฒด์ œ์—์„œ ๋„คํŠธ์›Œํฌ ๋„๋ฉ”์ธ ๋‚ด์˜ ์‚ฌ์šฉ์ž ๋ฐ ๊ทธ๋ฃน๊ณผ ๊ฐ™์€ ๊ฐ์ฒด๋ฅผ ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ๊ตฌ์„ฑ ์š”์†Œ์ž…๋‹ˆ๋‹ค.

  • SIDs๋Š” ๋„๋ฉ”์ธ์˜ ๊ณ ์œ  ์‹๋ณ„์ž๋กœ, ๊ฐ ๋„๋ฉ”์ธ์ด ๊ตฌ๋ณ„๋  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
  • RIDs๋Š” SIDs์— ์ถ”๊ฐ€๋˜์–ด ํ•ด๋‹น ๋„๋ฉ”์ธ ๋‚ด์˜ ๊ฐ์ฒด์— ๋Œ€ํ•œ ๊ณ ์œ  ์‹๋ณ„์ž๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด ์กฐํ•ฉ์€ ๊ฐ์ฒด ๊ถŒํ•œ ๋ฐ ์ ‘๊ทผ ์ œ์–ด์˜ ์ •ํ™•ํ•œ ์ถ”์  ๋ฐ ๊ด€๋ฆฌ๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, pepe๋ผ๋Š” ์‚ฌ์šฉ์ž๋Š” ๋„๋ฉ”์ธ์˜ SID์™€ ๊ทธ์˜ ํŠน์ • RID๋ฅผ ๊ฒฐํ•ฉํ•œ ๊ณ ์œ  ์‹๋ณ„์ž๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” 16์ง„์ˆ˜(0x457) ๋ฐ 10์ง„์ˆ˜(1111) ํ˜•์‹์œผ๋กœ ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ๋„๋ฉ”์ธ ๋‚ด์—์„œ pepe์— ๋Œ€ํ•œ ์™„์ „ํ•˜๊ณ  ๊ณ ์œ ํ•œ ์‹๋ณ„์ž๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค: S-1-5-21-1074507654-1937615267-42093643874-1111.

rpcclient๋ฅผ ํ†ตํ•œ ์—ด๊ฑฐ

rpcclient ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ์ด๋ฆ„์ด ์ง€์ •๋œ ํŒŒ์ดํ”„๋ฅผ ํ†ตํ•œ RPC ์—”๋“œํฌ์ธํŠธ์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ๋ช…๋ น์€ SMB ์„ธ์…˜์ด ์„ค์ •๋œ ํ›„ SAMR, LSARPC ๋ฐ LSARPC-DS ์ธํ„ฐํŽ˜์ด์Šค์— ๋ฐœํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ข…์ข… ์ž๊ฒฉ ์ฆ๋ช…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์„œ๋ฒ„ ์ •๋ณด

  • ์„œ๋ฒ„ ์ •๋ณด๋ฅผ ์–ป์œผ๋ ค๋ฉด: srvinfo ๋ช…๋ น์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ์—ด๊ฑฐ

  • ์‚ฌ์šฉ์ž๋ฅผ ๋‚˜์—ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: querydispinfo ๋ฐ enumdomusers.
  • ์‚ฌ์šฉ์ž์˜ ์„ธ๋ถ€ ์ •๋ณด: queryuser <0xrid>.
  • ์‚ฌ์šฉ์ž์˜ ๊ทธ๋ฃน: queryusergroups <0xrid>.
  • ์‚ฌ์šฉ์ž์˜ SID๋ฅผ ๊ฒ€์ƒ‰: lookupnames <username>.
  • ์‚ฌ์šฉ์ž์˜ ๋ณ„์นญ: queryuseraliases [builtin|domain] <sid>.
# Users' RIDs-forced
for i in $(seq 500 1100); do
rpcclient -N -U "" [IP_ADDRESS] -c "queryuser 0x$(printf '%x\n' $i)" | grep "User Name\|user_rid\|group_rid" && echo "";
done

# samrdump.py can also serve this purpose

๊ทธ๋ฃน ์—ด๊ฑฐ

  • ๊ทธ๋ฃน: enumdomgroups.
  • ๊ทธ๋ฃน์˜ ์„ธ๋ถ€์ •๋ณด: querygroup <0xrid>.
  • ๊ทธ๋ฃน์˜ ๊ตฌ์„ฑ์›: querygroupmem <0xrid>.

๋ณ„์นญ ๊ทธ๋ฃน ์—ด๊ฑฐ

  • ๋ณ„์นญ ๊ทธ๋ฃน: enumalsgroups <builtin|domain>.
  • ๋ณ„์นญ ๊ทธ๋ฃน์˜ ๊ตฌ์„ฑ์›: queryaliasmem builtin|domain <0xrid>.

๋„๋ฉ”์ธ ์—ด๊ฑฐ

  • ๋„๋ฉ”์ธ: enumdomains.
  • ๋„๋ฉ”์ธ์˜ SID๋ฅผ ๊ฒ€์ƒ‰: lsaquery.
  • ๋„๋ฉ”์ธ ์ •๋ณด ํš๋“: querydominfo.

๊ณต์œ  ์—ด๊ฑฐ

  • ๋ชจ๋“  ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ณต์œ : netshareenumall.
  • ํŠน์ • ๊ณต์œ ์— ๋Œ€ํ•œ ์ •๋ณด ๊ฒ€์ƒ‰: netsharegetinfo <share>.

SID์™€ ๊ด€๋ จ๋œ ์ถ”๊ฐ€ ์ž‘์—…

  • ์ด๋ฆ„์œผ๋กœ SIDs: lookupnames <username>.
  • ๋” ๋งŽ์€ SIDs: lsaenumsid.
  • ๋” ๋งŽ์€ SIDs๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•œ RID ์ˆœํ™˜: lookupsids <sid>.

์ถ”๊ฐ€ ๋ช…๋ น์–ด

๋ช…๋ น์–ด์ธํ„ฐํŽ˜์ด์Šค์„ค๋ช…
queryuserSAMR์‚ฌ์šฉ์ž ์ •๋ณด ๊ฒ€์ƒ‰
querygroup๊ทธ๋ฃน ์ •๋ณด ๊ฒ€์ƒ‰
querydominfo๋„๋ฉ”์ธ ์ •๋ณด ๊ฒ€์ƒ‰
enumdomusers๋„๋ฉ”์ธ ์‚ฌ์šฉ์ž ์—ด๊ฑฐ
enumdomgroups๋„๋ฉ”์ธ ๊ทธ๋ฃน ์—ด๊ฑฐ
createdomuser๋„๋ฉ”์ธ ์‚ฌ์šฉ์ž ์ƒ์„ฑ
deletedomuser๋„๋ฉ”์ธ ์‚ฌ์šฉ์ž ์‚ญ์ œ
lookupnamesLSARPC์‚ฌ์šฉ์ž ์ด๋ฆ„์„ SIDa ๊ฐ’์œผ๋กœ ์กฐํšŒ
lookupsidsSID๋ฅผ ์‚ฌ์šฉ์ž ์ด๋ฆ„์œผ๋กœ ์กฐํšŒ (RIDb ์ˆœํ™˜)
lsaaddacctrights์‚ฌ์šฉ์ž ๊ณ„์ •์— ๊ถŒํ•œ ์ถ”๊ฐ€
lsaremoveacctrights์‚ฌ์šฉ์ž ๊ณ„์ •์—์„œ ๊ถŒํ•œ ์ œ๊ฑฐ
dsroledominfoLSARPC-DS๊ธฐ๋ณธ ๋„๋ฉ”์ธ ์ •๋ณด ๊ฐ€์ ธ์˜ค๊ธฐ
dsenumdomtrustsAD ํฌ๋ ˆ์ŠคํŠธ ๋‚ด์˜ ์‹ ๋ขฐ๋œ ๋„๋ฉ”์ธ ์—ด๊ฑฐ

๋„๊ตฌ samrdump ๋ฐ rpcdump ์˜ ์ž‘๋™ ๋ฐฉ์‹์„ ๋” ์ž˜ ์ดํ•ดํ•˜๋ ค๋ฉด Pentesting MSRPC๋ฅผ ์ฝ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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