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' ```