Para se conectar no Windows de forma remota você pode usar uma serie de utilitários e protocolos.
### xfreerdp
O [[xfreerdp]] usa o **protocolo RDP (Remote Desktop Protocol)**, que por padrão se conecta ao **Windows na porta TCP 3389**
```shell
$ xfrerdp \
/drive:temp,/tmp \
/clipboard \
/dynamic-resolution \
/floatbar \
/network:auto \
/cert:ignore
```
| Opção | Função |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| `/v:` | Endereço (e porta, se não for 3389) do host RDP. |
| `/u:` | Usuário de login. |
| `/p:` | Senha (use `-` para que peça interativamente). |
| `/drive:localshare,/caminho` | Monta a pasta local como um drive no Windows (aparecerá em **“Este Computador”**). Altere o rótulo (`localshare`) e o caminho conforme preferir. |
| `/clipboard` | Sincroniza a área de transferência (texto, arquivos pequenos, etc.). |
| `/dynamic-resolution` | Ajusta a resolução remota sempre que você redimensionar a janela; se sua versão não suportar, use `/smart-sizing` como fallback. |
| `/floatbar` | Exibe a barra flutuante para alternar entre tela cheia/janela rapidamente. |
| `/network:auto` | Ajusta codecs e banda automaticamente para melhor desempenho. |
| `/cert:ignore` | Ignora avisos de certificado (útil em labs/testes). Remova em produção. |
### winexe/pth-winexe
O [[winexe]] usa o **protocolo [[SMB]]/[[CIFS]]** (o mesmo usado para compartilhamento de arquivos e impressoras no Windows) nas portas 445/TCP (SMB Direto), 139/TCP (SMB via NetBios) ou 135/TCP (RPC Endpoint Mapper), e se conecta ao serviço **Windows Service Control Manager (SCM)** de forma remota.
```shell
# Para quando você possui a senha.
$ winexe -U 'Administrator%senha' //192.168.1.10 'cmd.exe /c whoami'
# Para quando você possui apenas a hash.
$ pth-winexe -U 'Administrator%hash' //192.168.1.10 'cmd.exe /c whoami'
```
### psexec
O [[psexec]] possui uma conexão mais clássica, igual ao winexe usando o **protocolo SMB/CIFS** (o mesmo usado para compartilhamento de arquivos e impressoras no Windows) nas portas 445/TCP (SMB Direto), 139/TCP (SMB via NetBios) ou 135/TCP (RPC Endpoint Mapper). Ele funciona da seguinte forma:
1. O `psexec` se conecta via SMB ao target.
2. Envia o binário `PSEXESVC.exe` para `\\target\ADMIN
.
3. Cria um serviço remoto com esse binário.
4. Executa o comando passado.
5. Redireciona STDIN/STDOUT/Stderr via RPC/SMB.
6.
```powershell
CMD:/> psexec \\192.168.1.10 -u Administrator -p Senha123 cmd.exe
```
#### Importante
- A **compartilhamento ADMIN$** precisa estar ativo.
- Usuário precisa ter **permissão administrativa**.
- Firewalls precisam **liberar a 445 (e às vezes 135)**.
- Em ambientes modernos, **Defender pode bloquear**, e logs são gerados (Event ID 5140, 7045 etc.)
#### Comparativo Winexe vs PsExec
| Característica | **Winexe** | **PsExec** |
| ------------------------ | ----------------------------------------------------- | ------------------------------------------------------------ |
| Origem | Linux (baseado em Samba) | Windows (Sysinternals/Microsoft) |
| Plataforma | Roda **nativamente em Linux** | Roda **nativamente em Windows** |
| Protocolo usado | **SMB (TCP 445)** + RPC | **SMB (TCP 445)** + cria serviço remoto |
| Transferência de binário | Sim, mas usa próprio método (não copia serviço extra) | Sim, copia `PSEXESVC.exe` via `ADMIN
|
| Cria serviço remoto? | Sim, mas temporário via RPC/SMB | Sim, com `PSEXESVC.exe` |
| Autenticação | NTLM (usuário/senha) ou usando o pth-winexe. | NTLM (usuário/senha ou hash com impacket) |
| Logging no Windows | Pode gerar log de serviço remoto | Gera **log de criação de serviço** (eventos 7045, 5140 etc.) |
| Compatibilidade | Pode ter problemas com Windows 10+ | Altamente compatível (até Win 11 / Server 2022) |
| Detecção (EDR) | **Menos detectável**, mas variável | Mais visado e monitorado pelos EDRs |
### evil-winrm
O [[Evil-WinRM]] se conecta usando o **WinRM (Windows Remote Management)**, que por baixo dos panos utiliza o protocolo **WS-Management**, baseado em **HTTP/SOAP**. A ferramenta usa as portas HTTP 5985 (Sem Criptografia) e 5986 (Com criptografia SSL/TLS).
```shell
evil-winrm -i <IP> -u <usuario> -p <senha>
```
PSEXEC
```
impacket-psexec '145-1300':'Pass@123'@'10.0.3.253'
```