# T1563 - Remote Service Session Hijacking ## Descrição **Remote Service Session Hijacking** é a técnica pela qual adversários assumem o controle de sessões remotas **já estabelecidas** por usuários legítimos - em vez de criar novas sessões com credenciais roubadas como em [[t1021-remote-services|T1021 - Remote Services]]. O adversário se aproveita de sessões ativas de RDP, SSH ou outros protocolos de acesso remoto para mover-se lateralmente sem precisar de credenciais adicionais. A distinção técnica é fundamental: enquanto o [[t1021-remote-services|T1021]] exige credenciais válidas ([[t1078-valid-accounts|Valid Accounts]]) para autenticação, o T1563 explora **sessões já autenticadas**, geralmente aproveitando privilégios de administrador no sistema local para sequestrar a sessão de outro usuário. Isso torna a técnica particularmente perigosa em ambientes onde operadores de segurança, administradores de sistema e usuários VIP mantêm sessões RDP ou SSH abertas por longos períodos. No contexto **Brasil/LATAM**, essa técnica é especialmente relevante em dois cenários recorrentes: (1) **ambientes industriais e de infraestrutura crítica** onde operadores mantêm sessões RDP abertas continuamente para gerenciar sistemas SCADA e ICS; e (2) **ambientes corporativos** onde times de TI deixam sessões administrativas desconectadas (não encerradas) em servidores críticos. O [[t1563-002-rdp-hijacking|RDP Hijacking]] via `tscon.exe` é documentado como vetor de pivô em incidentes de ransomware que afetaram empresas de energia, logística e setor financeiro na América do Sul. > [!danger] Técnica de Difícil Detecção > Sessões sequestradas aparecem nos logs com o nome do usuário legítimo original, não do adversário. Isso significa que atividade maliciosa pode ser mascarada como comportamento normal do usuário proprietário da sessão. Correlação de comportamento anômalo (horário, ações executadas, origin IP) é essencial para detecção. ### Sub-técnicas - [[t1563-001-ssh-hijacking|T1563.001 - SSH Hijacking]] - [[t1563-002-rdp-hijacking|T1563.002 - RDP Hijacking]] ## Attack Flow ```mermaid graph TB A([Acesso Inicial<br/>no Host)) --> B[Escalada de<br/>Privilégios SYSTEM/root] B --> C{Tipo de\nSessão Alvo} C -->|Windows RDP\nDesconectado| D[tscon.exe<br/>Session ID redirect] C -->|SSH com\nAgent Forwarding| E[Hijack via<br/>/tmp/.ssh-agent socket] D --> F:::highlight E --> F F([Sessão Sequestrada<br/>Identidade do Usuário Legítimo]) F --> G[Reconhecimento<br/>no Contexto da Vítima] G --> H[Acesso a Recursos<br/>Privilegiados] H --> I[Pivô para<br/>Hosts Adicionais] I --> J([Comprometimento<br/>Total da Rede]) classDef highlight fill:#e74c3c,color:#fff ``` --- ## Como Funciona ### Passo 1 - Elevação de Privilégios no Host Comprometido Para sequestrar a sessão de outro usuário, o adversário precisa de privilégios elevados no sistema host. No Windows, é necessário nível **SYSTEM** ou, em alguns cenários, administrador local com capacidade de manipular o serviço de Terminal Services. No Linux/macOS, o acesso **root** permite leitura de sockets do SSH-agent em `/tmp`. A escalada tipicamente ocorre via exploração de vulnerabilidade local, abuso de token de serviço ([[t1134-access-token-manipulation|Access Token Manipulation]]), ou uso de ferramentas como [[mimikatz|Mimikatz]] para obter tokens de sessão. Uma vez com o nível de privilégio necessário, o adversário pode enumerar todas as sessões ativas e desconectadas no sistema. ### Passo 2 - Identificação e Sequestro da Sessão Alvo No **RDP Hijacking** ([[t1563-002-rdp-hijacking|T1563.002]]), o adversário usa o utilitário nativo `query session` para listar todas as sessões RDP no host - incluindo as no estado "Disconnected" (desconectadas mas não encerradas). Sessões desconectadas são alvos ideais pois o usuário não percebe a intrusão imediatamente. Com o ID da sessão identificado, um comando como `tscon.exe [ID da sessão] /dest:[sessão atual]` transfere o controle sem necessidade de senha. No **SSH Hijacking** ([[t1563-001-ssh-hijacking|T1563.001]]), o adversário localiza o socket do SSH-agent (`SSH_AUTH_SOCK` na variável de ambiente do processo SSH da vítima) e injeta um novo processo no namespace desse socket para usar as chaves SSH já carregadas na memória. ### Passo 3 - Uso da Sessão e Pivot Lateral Com a sessão sequestrada, o adversário opera com a identidade e permissões completas do usuário vítima - incluindo acesso a sistemas remotos que essa sessão já tinha autenticado, chaves SSH carregadas no agent, e tokens Kerberos ativos. Isso permite um pivot lateral profundo: se a sessão pertencia a um administrador de domínio com acesso a múltiplos servidores, o adversário herda esse acesso sem acionar alertas de nova autenticação. Em incidentes de ransomware, esse mecanismo é usado para alcançar servidores de backup e controladores de domínio que normalmente teriam detecção mais rigorosa de novos logons. --- ## Detecção ### Event IDs Críticos (Windows - RDP Session Hijacking) | Event ID | Log | O que Indica | |----------|-----|--------------| | **4778** | Security | Sessão RDP reconectada - monitorar reconnect de ID de sessão diferente | | **4779** | Security | Sessão RDP desconectada - criar baseline de sessões desconectadas por usuário | | **4624** | Security | Logon Tipo 10 (RemoteInteractive) com `tscon` como processo pai | | **1149** | TerminalServices-RemoteConnectionManager | Autenticação RDP - correlacionar com 4778/4779 | | **21 / 24 / 25** | TerminalServices-LocalSessionManager | Eventos de sessão: logon (21), desconexão (24), reconexão (25) | | **4688** | Security | Criação de processo - detectar `tscon.exe` executado por processo não esperado | > [!info] Detecção Chave - tscon.exe > A execução de `tscon.exe` fora do contexto de processos do sistema (svchost, mstsc) é um indicador de alta fidelidade de RDP Hijacking. Qualquer execução com argumento numérico de ID de sessão deve ser investigada imediatamente. ### Sigma Rule - Detecção de RDP Session Hijacking via tscon ```yaml title: RDP Session Hijacking via tscon.exe id: d2c7e4a1-9f3b-4d2c-a8e5-1b7c3f9d5e2a status: stable description: Detecta execução de tscon.exe que pode indicar tentativa de sequestro de sessão RDP. tscon.exe é usado legitimamente apenas pelo serviço de Terminal Services; execução por outros processos indica abuso. references: - https://attack.mitre.org/techniques/T1563/002 author: RunkIntel daté: 2026-03-24 tags: - attack.lateral_movement - attack.t1563 - attack.t1563.002 logsource: product: windows category: process_creation detection: selection: Image|endswith: '\tscon.exe' filter_legitimate: ParentImage|endswith: - '\services.exe' - '\svchost.exe' condition: selection and not filter_legitimate fields: - Image - CommandLine - ParentImage - ParentCommandLine - User - ComputerName falsepositives: - Ferramentas legítimas de gerenciamento remoto que repassam sessões (raras) - Scripts administrativos de rotação de sessão (documentar e excluir) level: high ``` ### Detecção de SSH Agent Hijacking (Linux) ```yaml title: SSH Agent Socket Access by Unexpected Process id: b1f8a3d6-4e2c-4a7b-9d1f-8c5e2b3a7f4d status: experimental description: Detecta acesso ao socket do SSH-agent por processos que não são o cliente SSH original, indicando possível SSH hijacking via agent forwarding. references: - https://attack.mitre.org/techniques/T1563/001 author: RunkIntel daté: 2026-03-24 tags: - attack.lateral_movement - attack.t1563 - attack.t1563.001 logsource: product: linux category: file_access detection: selection: TargetFilename|startswith: '/tmp/ssh-' TargetFilename|endswith: '/agent.' filter_ssh: Image|endswith: - '/ssh' - '/scp' - '/sftp' condition: selection and not filter_ssh fields: - Image - TargetFilename - User - ProcessId falsepositives: - Multiplexadores de terminal legítimos (tmux, screen) que herdam env vars SSH level: medium ``` --- ## Mitigação > [!tip] Priorização para Organizações Brasileiras > O controle mais efetivo contra essa técnica é a eliminação de sessões desconectadas (não encerradas) via GPO, combinado com segmentação de rede que impede que administradores deixem sessões persistentes em múltiplos servidores simultaneamente. | Prioridade | Controle | Implementação Prática | |------------|----------|-----------------------| | **Crítica** | [[m1026-privileged-account-management\|Gestão de Contas Privilegiadas (M1026)]] | Configurar GPO para encerrar sessões RDP desconectadas após 15-30 minutos (`Computer Configuration > Windows Settings > Security Settings > Local Policies`). Proibir sessões RDP sem limite de tempo. | | **Crítica** | [[m1018-user-account-management\|Gestão de Contas (M1018)]] | Princípio do menor privilégio: contas de administrador não devem ter sessões ativas em múltiplos servidores simultaneamente. Usar jump servers dedicados com sessões efêmeras. | | **Alta** | [[m1042-disable-or-remove-feature-or-program\|Desabilitação (M1042)]] | Desabilitar SSH Agent Forwarding por padrão em servidores de produção (`AllowAgentForwarding no` em `sshd_config`). Habilitar apenas quando necessário e com aprovação. | | **Alta** | [[m1030-network-segmentation\|Segmentação de Rede (M1030)]] | Segmentar servidores críticos em VLANs separadas com acesso RDP/SSH apenas via jump server dedicado. Impede que um host comprometido use sessões sequestradas para alcançar outros segmentos. | | **Média** | [[m1027-password-policies\|Políticas de Senha (M1027)]] | Embora não impeça o hijacking de sessões já autenticadas, senhas fortes reduzem o risco de comprometimento inicial que leva ao privilégio necessário para executar o hijacking. | --- ## Threat Actors e Software Associado > [!note] Contexto de Uso em Ataques Reais ### Uso Documentado da Técnica Embora não existam atribuições públicas específicas para grupos com foco LATAM documentados usando exclusivamente T1563, a técnica é amplamente utilizada por operadores de ransomware durante a fase de movimentação lateral em ambientes Windows corporativos. O **RDP Hijacking via `tscon.exe`** é uma técnica conhecida por operadores de acesso ([[initial-access-brokers|Initial Access Brokers]]) que vendem acesso a redes comprometidas - um mercado ativo com clientes que incluem grupos que operam no Brasil. A técnica é comumente encadeada com: - [[t1021-remote-services|T1021 - Remote Services]] - acesso inicial à máquina host via RDP com credenciais válidas - [[t1078-valid-accounts|T1078 - Valid Accounts]] - credenciais que permitem o acesso que cria a sessão original - [[t1134-access-token-manipulation|T1134 - Access Token Manipulation]] - escalada de privilégios antes do hijacking - [[t1563-002-rdp-hijacking|T1563.002 - RDP Hijacking]] - sub-técnica mais comum, Windows - [[t1563-001-ssh-hijacking|T1563.001 - SSH Hijacking]] - sub-técnica para ambientes Linux/macOS ### Ferramentas e Utilitários Associados | Ferramenta | Tipo | Uso nesta Técnica | |------------|------|-------------------| | `tscon.exe` | Utilitário nativo Windows | Transferência de sessão RDP sem autenticação | | `query session` / `qwinsta` | Utilitário nativo Windows | Enumeração de sessões ativas e desconectadas | | [[mimikatz\|Mimikatz]] | Ferramenta ofensiva | Escalada de privilégios e dump de tokens para alcançar SYSTEM | | [[s0154-cobalt-strike\|Cobalt Strike]] | C2 Framework | Execução de tscon via beacon; pivô em sessões hijackadas | | `ssh-add -l` | Utilitário nativo Unix | Enumeração de chaves carregadas no SSH-agent | | `SSH_AUTH_SOCK` env var | Variável de ambiente | Localização do socket do agente SSH para hijacking | --- *Fonte: [MITRE ATT&CK - T1563](https://attack.mitre.org/techniques/T1563)*