> 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/linux-easy/greenhorn-hackthebox-writeup.md).

# Greenhorn HackTheBox Ausarbeitung

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

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

* Entdecken eingebetteter Passwörter in Git-Repositories
* Nicht gehashte SHA-512-Passwörter
* Pluck-Ausnutzung
* Entschlüsseln pixeliger Passwörter (mit DEPIX)
  {% 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/0d69548e446a4a36b5662d7a369d80bf2393a985" alt="" width="563"><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/a72c93463d92acd479e83a66fa57125efe5e4568" alt="" width="563"><figcaption></figcaption></figure>

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

Erfassen Sie offene Ports und exportieren Sie die Ergebnisse in die Datei "allPorts" im Nmap-Verzeichnis:

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

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

**Analyse offener Ports mit extractPorts:**

Verwende die Funktion extractPorts, um offene Ports in einem kompakten Format anzuzeigen und sie in die Zwischenablage zu kopieren (22,80,3000)

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

**Port- und Versionsscan mit Nmap:**

Verwenden Sie Nmap, um die Service-Versionen zu scannen und die Ausgabe in der Datei "targeted" zu speichern:

```bash
nmap -sCV -p80,22,3000 10.10.11.25 -oN targeted
```

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

Um Domänennamen über DNS in IP-Adressen aufzulösen, fügen Sie den mit seiner IP-Adresse verknüpften Domänennamen in die `/etc/hosts` vorhandenen Benutzern.

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

### **Passwortfindung:**

Auf Port 3000 finden wir einen Git-ähnlichen freigegebenen Dienst, ähnlich wie GitHub, aber für die interne Unternehmensnutzung gedacht

<figure><img src="/files/1852581b94eb90be0f75a95789c5f467394cb93a" alt=""><figcaption></figcaption></figure>

Wir erstellen ein Konto

<figure><img src="/files/4863618cf870fa306a05b169785d8d4e328e1998" alt=""><figcaption></figcaption></figure>

Unter den Projektdateien finden wir eine Datei, die ein Passwort in "`pass.php`":

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

```
d5443aef1b64544f3685bf112f6c405218c573c7279a831b1fe9612e3a4d770486743c5580556c0d838b51749de15530f87fb793afdcc689b6b39024d7790163
```

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

Dieser Hash ist in SHA512. Nach der Entschlüsselung erhalten wir das Passwort **`iloveyou1`**.

{% embed url="<https://10015.io/tools/sha512-encrypt-decrypt>" %}

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

## Pluck-CMS-Schwachstelle

Auf Port 80 finden wir einen Pluck-Webdienst.

<figure><img src="/files/369319f874b1486b1f46912539bb9448ee3e6af4" alt=""><figcaption></figcaption></figure>

Das `login.php` Datei erfordert ein Passwort, um auf die Manager-Oberfläche zuzugreifen.

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

Der Content-Manager hat eine Version `4.7.18`, die anfällig für Remote Code Execution (RCE) ist.

<figure><img src="/files/06f4342e7baee0dde69c7a1e151d8c6013e9b40c" alt=""><figcaption></figcaption></figure>

{% embed url="<https://github.com/Rai2en/CVE-2023-50564_Pluck-v4.7.18_PoC>" %}

### Ausnutzungsphase:

1. Klonen Sie das Repository mit dem Exploit-Skript:

```bash
git clone https://github.com/Rai2en/CVE-2023-50564_Pluck-v4.7.18_PoC.git
cd CVE-2023-50564_Pluck-v4.7.18_PoC
```

2. Wir ändern die `poc.py` Skript mit der Server-IP-Adresse und dem Passwort "*iloveyou1*".

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

2. Als Nächstes erstellen Sie eine `payload.zip` Datei mit der schädlichen Nutzlast, wobei die `<your_ip>` und Port-Felder so angepasst werden, dass sie zu unserem Listener passen.

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

<figure><img src="/files/2462466a234f3ce168263347f6be3db0f98208e0" alt="" width="512"><figcaption></figcaption></figure>

5. Wir führen das Exploit-Skript aus:

```bash
python poc.py

/home/jordan/......./payload.zip
```

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

Gleichzeitig öffnen wir mit Netcat eine Listening-Sitzung auf Port `4444` und erhalten Zugriff auf den Server als Benutzer `www-data`.

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

Beim Untersuchen der `/etc/passwd` Datei entdecken wir den Benutzer "junior". Es gelingt uns, uns mit dem Passwort zu verbinden **iloveyou1**:

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

### user.txt-Flag erhalten:

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

## Privilegieneskalation

1. Wir lokalisieren die PDF-Datei: `Verwenden von OpenVAS.pdf`.
2. Übertrage die Datei mit Python 3, indem du Folgendes ausführst:

```bash
python3 -m http.server 1234
```

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

3. Wir laden die PDF-Datei mit dem folgenden Befehl herunter:

<pre class="language-bash"><code class="lang-bash"><strong>wget http://10.10.11.25:1234/Using%20OpenVAS.pdf
</strong></code></pre>

<figure><img src="/files/250c0f46e578836c4e21375ff50761528db30635" alt=""><figcaption></figcaption></figure>

Beim Öffnen dieser Datei entdecken wir das verpixelte Passwort des Administratorkontos

<figure><img src="/files/0409b7cdfd8ebfe80596d367e7b68615a7938512" alt=""><figcaption></figcaption></figure>

### Passwortentschlüsselung:

Um das verborgene Passwort zu knacken, verwenden wir die Depix-Software:

{% embed url="<https://github.com/spipm/Depix>" %}

<figure><img src="/files/57232a8b4cd5e382d1e6ca702d224de3b3646684" alt=""><figcaption></figcaption></figure>

```bash
git clone https://github.com/spipm/Depix
cd Depix
```

Als Nächstes führen wir den Befehl aus:

```bash
python3 depix.py /
    -p pixel.png /
    -s images/searchimages/debruinseq_notepad_Windows10_closeAndSpaced.png /
    -o /home/jordan/Desktop/password.png
```

<figure><img src="/files/83919bf3801afdb21cd2ef643c0beba156de2a53" alt=""><figcaption></figcaption></figure>

Das entschlüsselte Passwort lautet:

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

`sidefromsidetheothersidesidefromsidetheotherside`

Wir melden uns mit diesem Passwort als Root-Benutzer an.

<figure><img src="/files/71cf609cb59690d79181e3bfcc6922988adc56db" alt="" width="554"><figcaption></figcaption></figure>

### Root-Flag :)

<figure><img src="/files/3841fe913fb33692e2621f47403cb49aa6adae2b" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/73ee05774a1621f0820e47a8f2ca57986fbbb871" 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/linux-easy/greenhorn-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.
