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

112 lines
10 KiB
Markdown

# rpcclient enumeration
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
### Übersicht über Relative Identifiers (RID) und Security Identifiers (SID)
**Relative Identifiers (RID)** und **Security Identifiers (SID)** sind Schlüsselkomponenten in Windows-Betriebssystemen zur eindeutigen Identifizierung und Verwaltung von Objekten, wie Benutzern und Gruppen, innerhalb einer Netzwerkdomäne.
- **SIDs** dienen als eindeutige Identifikatoren für Domänen und stellen sicher, dass jede Domäne unterscheidbar ist.
- **RIDs** werden an SIDs angehängt, um eindeutige Identifikatoren für Objekte innerhalb dieser Domänen zu erstellen. Diese Kombination ermöglicht eine präzise Verfolgung und Verwaltung von Objektberechtigungen und Zugriffskontrollen.
Zum Beispiel könnte ein Benutzer namens `pepe` einen eindeutigen Identifikator haben, der die SID der Domäne mit seinem spezifischen RID kombiniert, dargestellt in sowohl hexadezimaler (`0x457`) als auch dezimaler (`1111`) Form. Dies ergibt einen vollständigen und einzigartigen Identifikator für pepe innerhalb der Domäne wie: `S-1-5-21-1074507654-1937615267-42093643874-1111`.
### **Enumeration mit rpcclient**
Das **`rpcclient`**-Dienstprogramm von Samba wird verwendet, um mit **RPC-Endpunkten über benannte Pipes** zu interagieren. Nach der **Herstellung einer SMB-Sitzung**, die oft Anmeldeinformationen erfordert, können die folgenden Befehle an die SAMR-, LSARPC- und LSARPC-DS-Schnittstellen ausgegeben werden.
#### Serverinformationen
* Um **Serverinformationen** zu erhalten: wird der Befehl `srvinfo` verwendet.
#### Auflistung von Benutzern
* **Benutzer können aufgelistet werden** mit: `querydispinfo` und `enumdomusers`.
* **Details eines Benutzers** durch: `queryuser <0xrid>`.
* **Gruppen eines Benutzers** mit: `queryusergroups <0xrid>`.
* **Die SID eines Benutzers wird abgerufen** durch: `lookupnames <username>`.
* **Aliases von Benutzern** durch: `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
```
#### Enumeration of Groups
* **Gruppen** mit: `enumdomgroups`.
* **Details einer Gruppe** mit: `querygroup <0xrid>`.
* **Mitglieder einer Gruppe** durch: `querygroupmem <0xrid>`.
#### Enumeration of Alias Groups
* **Aliasgruppen** mit: `enumalsgroups <builtin|domain>`.
* **Mitglieder einer Aliasgruppe** mit: `queryaliasmem builtin|domain <0xrid>`.
#### Enumeration of Domains
* **Domänen** mit: `enumdomains`.
* **Die SID einer Domäne wird abgerufen** durch: `lsaquery`.
* **Domäneninformationen werden erhalten** durch: `querydominfo`.
#### Enumeration of Shares
* **Alle verfügbaren Freigaben** mit: `netshareenumall`.
* **Informationen über eine spezifische Freigabe werden abgerufen** mit: `netsharegetinfo <share>`.
#### Additional Operations with SIDs
* **SIDs nach Namen** mit: `lookupnames <username>`.
* **Weitere SIDs** durch: `lsaenumsid`.
* **RID-Zyklus zur Überprüfung weiterer SIDs** wird durchgeführt mit: `lookupsids <sid>`.
#### **Extra commands**
| **Befehl** | **Schnittstelle** | **Beschreibung** |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| queryuser | SAMR | Benutzerinformationen abrufen |
| querygroup | Gruppeninformationen abrufen | |
| querydominfo | Domäneninformationen abrufen | |
| enumdomusers | Domänenbenutzer auflisten | |
| enumdomgroups | Domänengruppen auflisten | |
| createdomuser | Einen Domänenbenutzer erstellen | |
| deletedomuser | Einen Domänenbenutzer löschen | |
| lookupnames | LSARPC | Benutzernamen zu SID[a](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn8) Werten nachschlagen |
| lookupsids | SIDs zu Benutzernamen nachschlagen (RID[b](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn9) Zyklus) | |
| lsaaddacctrights | Rechte zu einem Benutzerkonto hinzufügen | |
| lsaremoveacctrights | Rechte von einem Benutzerkonto entfernen | |
| dsroledominfo | LSARPC-DS | Primäre Domäneninformationen abrufen |
| dsenumdomtrusts | Vertrauenswürdige Domänen innerhalb eines AD-Waldes auflisten | |
Um **besser zu verstehen**, wie die Tools _**samrdump**_ **und** _**rpcdump**_ funktionieren, sollten Sie [**Pentesting MSRPC**](../135-pentesting-msrpc.md) lesen.
{% hint style="success" %}
Lernen & üben Sie AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Lernen & üben Sie GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)!
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
</details>
{% endhint %}