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をサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
相対識別子 (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
コマンドを使用します。
ユーザーの列挙
- ユーザーをリストするには:
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に関する追加操作
- 名前によるSIDは:
lookupnames <username>
を使用して。 - さらに多くのSIDは:
lsaenumsid
を通じて。 - より多くのSIDを確認するためのRIDサイクリングは:
lookupsids <sid>
によって行われる。
追加コマンド
コマンド | インターフェース | 説明 |
---|---|---|
queryuser | SAMR | ユーザー情報を取得 |
querygroup | グループ情報を取得 | |
querydominfo | ドメイン情報を取得 | |
enumdomusers | ドメインユーザーを列挙 | |
enumdomgroups | ドメイングループを列挙 | |
createdomuser | ドメインユーザーを作成 | |
deletedomuser | ドメインユーザーを削除 | |
lookupnames | LSARPC | ユーザー名をSIDa値に照会 |
lookupsids | SIDをユーザー名に照会 (RIDbサイクリング) | |
lsaaddacctrights | ユーザーアカウントに権利を追加 | |
lsaremoveacctrights | ユーザーアカウントから権利を削除 | |
dsroledominfo | LSARPC-DS | プライマリドメイン情報を取得 |
dsenumdomtrusts | ADフォレスト内の信頼されたドメインを列挙 |
ツール 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をサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。