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

113 lines
10 KiB
Markdown
Raw Normal View History

# 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)
2022-10-04 21:36:29 +00:00
<details>
<summary>Support HackTricks</summary>
2022-10-04 21:36:29 +00:00
* 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.
2022-10-04 21:36:29 +00:00
</details>
{% endhint %}
2022-10-04 21:36:29 +00:00
### Übersicht über Relative Identifiers (RID) und Security Identifiers (SID)
2022-10-04 23:49:59 +00:00
**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.
2024-02-08 22:36:15 +01:00
- **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.
2024-02-08 22:36:15 +01:00
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`.
2022-10-04 23:49:59 +00:00
2024-02-10 15:36:32 +00:00
### **Enumeration mit rpcclient**
2022-10-04 23:49:59 +00:00
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.
2022-10-04 21:36:29 +00:00
2024-02-10 15:36:32 +00:00
#### Serverinformationen
2022-10-04 21:36:29 +00:00
* Um **Serverinformationen** zu erhalten: wird der Befehl `srvinfo` verwendet.
2022-10-04 21:36:29 +00:00
#### Auflistung von Benutzern
2022-10-04 21:36:29 +00:00
* **Benutzer können aufgelistet werden** mit: `querydispinfo` und `enumdomusers`.
* **Details eines Benutzers** durch: `queryuser <0xrid>`.
2024-02-10 15:36:32 +00:00
* **Gruppen eines Benutzers** mit: `queryusergroups <0xrid>`.
* **Die SID eines Benutzers wird abgerufen** durch: `lookupnames <username>`.
* **Aliases von Benutzern** durch: `queryuseraliases [builtin|domain] <sid>`.
2022-10-04 21:36:29 +00:00
```bash
2024-02-05 03:28:59 +01:00
# Users' RIDs-forced
2022-10-04 21:36:29 +00:00
for i in $(seq 500 1100); do
2024-02-10 15:36:32 +00:00
rpcclient -N -U "" [IP_ADDRESS] -c "queryuser 0x$(printf '%x\n' $i)" | grep "User Name\|user_rid\|group_rid" && echo "";
2022-10-04 21:36:29 +00:00
done
2024-02-05 03:28:59 +01:00
# samrdump.py can also serve this purpose
2022-10-04 21:36:29 +00:00
```
#### Enumeration of Groups
2022-10-04 21:36:29 +00:00
2024-02-10 15:36:32 +00:00
* **Gruppen** mit: `enumdomgroups`.
* **Details einer Gruppe** mit: `querygroup <0xrid>`.
* **Mitglieder einer Gruppe** durch: `querygroupmem <0xrid>`.
2022-10-04 21:36:29 +00:00
#### Enumeration of Alias Groups
2022-10-04 21:36:29 +00:00
* **Aliasgruppen** mit: `enumalsgroups <builtin|domain>`.
* **Mitglieder einer Aliasgruppe** mit: `queryaliasmem builtin|domain <0xrid>`.
2022-10-04 21:36:29 +00:00
#### Enumeration of Domains
2022-10-04 21:36:29 +00:00
2024-02-10 15:36:32 +00:00
* **Domänen** mit: `enumdomains`.
* **Die SID einer Domäne wird abgerufen** durch: `lsaquery`.
* **Domäneninformationen werden erhalten** durch: `querydominfo`.
2022-10-04 21:36:29 +00:00
#### Enumeration of Shares
2022-10-04 21:36:29 +00:00
2024-02-10 15:36:32 +00:00
* **Alle verfügbaren Freigaben** mit: `netshareenumall`.
* **Informationen über eine spezifische Freigabe werden abgerufen** mit: `netsharegetinfo <share>`.
2022-10-04 21:36:29 +00:00
#### Additional Operations with SIDs
2022-10-04 21:36:29 +00:00
2024-02-10 15:36:32 +00:00
* **SIDs nach Namen** mit: `lookupnames <username>`.
* **Weitere SIDs** durch: `lsaenumsid`.
* **RID-Zyklus zur Überprüfung weiterer SIDs** wird durchgeführt mit: `lookupsids <sid>`.
2022-10-04 21:36:29 +00:00
#### **Extra commands**
2022-10-04 21:36:29 +00:00
| **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 %}