hacktricks/network-services-pentesting/pentesting-smb/rpcclient-enumeration.md

9.9 KiB

rpcclient enumeration

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Relative Identifiers (RID) 및 Security Identifiers (SID) 개요

**Relative Identifiers (RID)**와 **Security Identifiers (SID)**는 Windows 운영 체제에서 네트워크 도메인 내의 사용자 및 그룹과 같은 객체를 고유하게 식별하고 관리하는 데 중요한 구성 요소입니다.

  • SID는 도메인의 고유 식별자로, 각 도메인이 구별될 수 있도록 합니다.
  • RID는 SID에 추가되어 해당 도메인 내의 객체에 대한 고유 식별자를 생성합니다. 이 조합은 객체 권한 및 접근 제어를 정확하게 추적하고 관리할 수 있게 합니다.

예를 들어, pepe라는 사용자는 도메인의 SID와 그의 특정 RID를 결합한 고유 식별자를 가질 수 있으며, 이는 16진수(0x457) 및 10진수(1111) 형식으로 표현됩니다. 이로 인해 도메인 내에서 pepe에 대한 완전하고 고유한 식별자가 생성됩니다: S-1-5-21-1074507654-1937615267-42093643874-1111.

rpcclient를 통한 열거

Samba의 rpcclient 유틸리티는 이름이 지정된 파이프를 통한 RPC 엔드포인트와 상호 작용하는 데 사용됩니다. 아래 명령은 SMB 세션이 설정된 후 SAMR, LSARPC 및 LSARPC-DS 인터페이스에 발행할 수 있습니다. 종종 자격 증명이 필요합니다.

서버 정보

  • 서버 정보를 얻으려면: srvinfo 명령을 사용합니다.

사용자 열거

  • 사용자를 나열할 수 있습니다: querydispinfoenumdomusers를 사용합니다.
  • 사용자의 세부정보: 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>.

추가 명령어

명령어 인터페이스 설명
queryuser SAMR 사용자 정보 검색
querygroup 그룹 정보 검색
querydominfo 도메인 정보 검색
enumdomusers 도메인 사용자 열거
enumdomgroups 도메인 그룹 열거
createdomuser 도메인 사용자 생성
deletedomuser 도메인 사용자 삭제
lookupnames LSARPC 사용자 이름을 SIDa 값으로 조회
lookupsids 사용자 이름에 대한 SIDs 조회 (RIDb 순환)
lsaaddacctrights 사용자 계정에 권한 추가
lsaremoveacctrights 사용자 계정에서 권한 제거
dsroledominfo LSARPC-DS 기본 도메인 정보 가져오기
dsenumdomtrusts AD 포레스트 내의 신뢰된 도메인 열거

도구 samrdump rpcdump 의 작동 방식을 더 잘 이해하기 위해 Pentesting MSRPC를 읽어야 합니다.

{% hint style="success" %} AWS 해킹 배우고 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우고 연습하기: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks 지원하기
{% endhint %}