rpcclient enumeration

Reading time: 6 minutes

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をサポートする

相対識別子 (RID) とセキュリティ識別子 (SID) の概要

相対識別子 (RID)セキュリティ識別子 (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> を使用します。
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を通じて。
  • より多くのSIDを確認するための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をサポートする