rpcclient enumeration

Reading time: 3 minutes

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks

Огляд відносних ідентифікаторів (RID) та ідентифікаторів безпеки (SID)

Відносні ідентифікатори (RID) та ідентифікатори безпеки (SID) є ключовими компонентами в операційних системах Windows для унікальної ідентифікації та управління об'єктами, такими як користувачі та групи, в межах мережевого домену.

  • SID слугують унікальними ідентифікаторами для доменів, забезпечуючи, щоб кожен домен був відрізняльним.
  • RID додаються до SID для створення унікальних ідентифікаторів для об'єктів у цих доменах. Ця комбінація дозволяє точно відстежувати та управляти дозволами об'єктів і контролем доступу.

Наприклад, користувач на ім'я pepe може мати унікальний ідентифікатор, що поєднує SID домену з його конкретним RID, представленим у шістнадцятковому (0x457) та десятковому (1111) форматах. Це призводить до повного та унікального ідентифікатора для pepe в межах домену, як: S-1-5-21-1074507654-1937615267-42093643874-1111.

Перерахунок з rpcclient

Утиліта rpcclient з Samba використовується для взаємодії з RPC кінцевими точками через іменовані канали. Нижче наведені команди, які можна виконати на інтерфейсах SAMR, LSARPC та LSARPC-DS після встановлення SMB сесії, що часто вимагає облікових даних.

Інформація про сервер

  • Щоб отримати інформацію про сервер: використовується команда srvinfo.

Перерахунок користувачів

  • Користувачів можна перерахувати за допомогою: querydispinfo та enumdomusers.
  • Деталі користувача за допомогою: queryuser <0xrid>.
  • Групи користувача за допомогою: queryusergroups <0xrid>.
  • SID користувача отримується через: lookupnames <username>.
  • Псевдоніми користувачів за допомогою: queryuseraliases [builtin|domain] <sid>.
bash
# 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

  • SID за іменем за допомогою: lookupnames <username>.
  • Більше SID через: lsaenumsid.
  • Циклічний RID для перевірки більше SID виконується за допомогою: lookupsids <sid>.

Додаткові команди

КомандаІнтерфейсОпис
queryuserSAMRОтримати інформацію про користувача
querygroupОтримати інформацію про групу
querydominfoОтримати інформацію про домен
enumdomusersПерерахувати користувачів домену
enumdomgroupsПерерахувати групи домену
createdomuserСтворити користувача домену
deletedomuserВидалити користувача домену
lookupnamesLSARPCЗнайти імена користувачів за значеннями SIDa
lookupsidsЗнайти SID за іменами користувачів (циклічний RIDb)
lsaaddacctrightsДодати права до облікового запису користувача
lsaremoveacctrightsВидалити права з облікового запису користувача
dsroledominfoLSARPC-DSОтримати інформацію про основний домен
dsenumdomtrustsПерерахувати довірені домени в лісі AD

Щоб краще зрозуміти, як працюють інструменти samrdump та rpcdump, вам слід прочитати Pentesting MSRPC.

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks