rpcclient enumeration

Reading time: 3 minutes

tip

AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks'i Destekleyin

Relative Identifiers (RID) ve Security Identifiers (SID) Genel Bakış

Relative Identifiers (RID) ve Security Identifiers (SID), Windows işletim sistemlerinde, bir ağ alanı içindeki nesneleri, örneğin kullanıcılar ve gruplar, benzersiz bir şekilde tanımlamak ve yönetmek için anahtar bileşenlerdir.

  • SID'ler, her alanın ayırt edici olmasını sağlayarak alanlar için benzersiz tanımlayıcılar olarak hizmet eder.
  • RID'ler, bu alanlar içindeki nesneler için benzersiz tanımlayıcılar oluşturmak üzere SID'lere eklenir. Bu kombinasyon, nesne izinlerinin ve erişim kontrollerinin hassas bir şekilde izlenmesini ve yönetilmesini sağlar.

Örneğin, pepe adında bir kullanıcının, alanın SID'si ile onun belirli RID'sini birleştiren benzersiz bir tanımlayıcısı olabilir; bu, hem onaltılık (0x457) hem de ondalık (1111) formatlarda temsil edilir. Bu, alan içinde pepe için tam ve benzersiz bir tanımlayıcı oluşturur: S-1-5-21-1074507654-1937615267-42093643874-1111.

rpcclient ile Enumerasyon

Samba'dan rpcclient aracı, adlandırılmış borular aracılığıyla RPC uç noktalarıyla etkileşimde bulunmak için kullanılır. Aşağıdaki komutlar, bir SMB oturumu kurulduktan sonra SAMR, LSARPC ve LSARPC-DS arayüzlerine verilebilir ve genellikle kimlik bilgileri gerektirir.

Sunucu Bilgisi

  • Sunucu Bilgisi elde etmek için: srvinfo komutu kullanılır.

Kullanıcıların Enumerasyonu

  • Kullanıcılar listelenebilir: querydispinfo ve enumdomusers kullanılarak.
  • Bir kullanıcının detayları: queryuser <0xrid> ile alınır.
  • Bir kullanıcının grupları: queryusergroups <0xrid> ile sorgulanır.
  • Bir kullanıcının SID'si: lookupnames <username> ile elde edilir.
  • Kullanıcıların takma adları: queryuseraliases [builtin|domain] <sid> ile sorgulanır.
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

Grupların Enumerasyonu

  • Gruplar için: enumdomgroups.
  • Bir grubun detayları için: querygroup <0xrid>.
  • Bir grubun üyeleri için: querygroupmem <0xrid>.

Takma Ad Gruplarının Enumerasyonu

  • Takma ad grupları için: enumalsgroups <builtin|domain>.
  • Bir takma ad grubunun üyeleri için: queryaliasmem builtin|domain <0xrid>.

Alanların Enumerasyonu

  • Alanlar için: enumdomains.
  • Bir alanın SID'si için: lsaquery.
  • Alan bilgisi için: querydominfo.

Paylaşımların Enumerasyonu

  • Tüm mevcut paylaşımlar için: netshareenumall.
  • Belirli bir paylaşım hakkında bilgi için: netsharegetinfo <share>.

SID'lerle Ek İşlemler

  • İsimle SID'ler için: lookupnames <username>.
  • Daha fazla SID için: lsaenumsid.
  • Daha fazla SID kontrolü için RID döngüsü: lookupsids <sid>.

Ek komutlar

KomutArayüzAçıklama
queryuserSAMRKullanıcı bilgilerini al
querygroupGrup bilgilerini al
querydominfoAlan bilgilerini al
enumdomusersAlan kullanıcılarını listele
enumdomgroupsAlan gruplarını listele
createdomuserBir alan kullanıcısı oluştur
deletedomuserBir alan kullanıcısını sil
lookupnamesLSARPCKullanıcı adlarını SIDa değerlerine bak
lookupsidsSID'leri kullanıcı adlarına (RIDb döngüsü) bak
lsaaddacctrightsBir kullanıcı hesabına hak ekle
lsaremoveacctrightsBir kullanıcı hesabından hak kaldır
dsroledominfoLSARPC-DSBirincil alan bilgilerini al
dsenumdomtrustsBir AD ormanındaki güvenilen alanları listele

Araçların samrdump ve rpcdump nasıl çalıştığını daha iyi anlamak için Pentesting MSRPC belgesini okumalısınız.

tip

AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks'i Destekleyin