Sequestro de RDP – Como sequestrar sessões RDP e como se proteger dessa técnica

Neste artigo, demonstrarei como a técnica de Session Hijacking pode ser utilizada facilmente em servidores Microsoft Windows até a versão 2016, e também no Windows 10, sem usar nenhum software externo. Também apresentarei algumas dicas para que você possa se proteger desse tipo de ação.

Atenção: A técnica a ser demonstrada neste artigo tem como propósito propagar o conhecimento além de alertar e demonstrar como se proteger. Use os conhecimentos aqui repassados com responsabilidade.

Um breve informativo sobre conexões RDP

O tão conhecido RDP (Remote Desktop Protocol) é um protocolo que permite que um usuário se conecte a um computador utilizando o Microsoft Terminal Service. Este recurso é bastante utilizado por vários administradores de rede e até mesmo por alguns usuários para se conectar a servidores e utilizar seus recursos de forma remota.

Acredito que não seja nenhum segredo que existe um recurso no qual é possível você se conectar a sessão de outro usuário, desde que você saiba a senha dele. Esse recurso é útil por diversos motivos e facilita muitos administradores de rede a executarem várias tarefas. No Gerenciador de Tarefas, clique com o botão direito do mouse no usuário que deseja iniciar a sessão, insira sua senha e pronto.

sequestro-de-rdp-gerenciador-de-tarefas

Aqueles admins mais experientes conseguirão utilizar esse recurso utilizando o Prompt de Comandos do Windows através do comando tscon. Ao utilizar esse comando e apontar para o usuário desejado a mesma tela mostrada acima solicitando a senha será exibida.

Estudando o Ataque

Um ponto importante antes de realizar o ataque, que funciona localmente, é que você deve utilizar um usuário com privilégios de administrador para ser bem sucedido. Neste ponto você deve estar se perguntando: “Se eu já possuo uma conta com privilégios de admin eu já posso fazer qualquer coisa, então por que eu realizaria um ataque deste?”  Sim, se sua conta é admin você realmente pode fazer qualquer coisa. Você poderia, por exemplo, realizar um despejo de memória do servidor para obter as senhas dos usuários, ou mesmo tentar executar um software de terceiros para isso. Porém esse é um processo longo comparado a técnica que mostrarei e também deixa várias evidências. O sequestro de sessão RDP é extremamente rápido e também silencioso.

É interessante destacar que isso não se trata de ter privilégios de admin. É sobre o que você pode fazer com ele de forma rápida e muito silenciosa. Lembrem-se que os atacantes não estão interessados em jogar, mas sim no que eles podem fazer com as técnicas e esta é uma muito válida.

É sabido que é de costume das pessoas que utilizam o RDP não realizarem o logoff de suas sessões e apenas fechá-las, e acredito que você leitor também já tenha feito isso. Acredito também que se você tiver acesso a algum servidor RDP e verificar neste momento verá algumas sessões como desconectadas. Isso realmente é uma prática muito comum.

sequestro-de-rdp-pessoas-que-utilizam-o-RDP-não-realizarem-o-logoff-de-suas-sessões

É exatamente essa ação que nos permite realizar o ataque. Lembram-se que falei que os admins mais raiz irão utilizar o comando tscon para mudar de sessão? Já há algum tempo foi descoberto que se você utilizar o comando tscon como usuário SYSTEM você poderá se conectar a qualquer sessão sem a necessidade da senha. Simples assim, a sessão do outro usuário simplesmente abre bem na sua frente e você passa a usar o servidor em nome dela.

Realizando o Ataque e Ganhando o Sistema

Para essa PoC usaremos o Windows Server 2012, versão amplamente utilizada em diversas empresas ao redor do mundo. Ao acessar o servidor remotamente e perceber que existe alguma sessão de outro usuário como desconectado siga os seguintes passos:

Passo 01

Abra o Prompt de Comando do Windows. Lembrando que seu deve ter privilégios de administrador.

Sequestro-de-RDP-promptPasso 02

Utilize o comando query user para listar todas as sessões ativas ou desconectadas no servidor. Apenas para informação também é possível roubar a sessão de um usuário ativo no momento, mas isso, claro, irá chamar atenção e isso é o que definitivamente não queremos!

Sequestro-de-RDP-prompt-2Observe aqui os dados apresentados em ID e também em SESSIONNAME. Eles serão essenciais para o ataque.

Passo 03

Agora iremos criar o serviço para conseguirmos fazer o sequestro da sessão. Nesta PoC sequestraremos a sessão do usuário Adminsitrator. Ainda no Prompt de Comandos, digite o seguinte comando:

Com tudo devidamente explicado pressione ENTER. Se tudo der certo, você receberá uma saída informando que o comando foi executado com sucesso.

Sequestro-de-RDP-prompt-3Passo 04

É aqui que a mágica acontece. Agora iremos chamar o serviço que acabamos de criar e iremos simplesmente assumir a sessão do usuário Administrator sem a necessidade de nenhuma senha. Para isso, execute o comando abaixo:

net start triplapoc

Se tudo correu como devia, a sessão do Administrator que aparecia como Desconectata abrirá para você e a partir deste momento você poderá fazer o que quiser com ela. Você pode abrir o Prompt de Comando e digitar o seguinte comando para atestar que realmente está na sessão do Administrator:

Whoami

Sequestro-de-RDP-prompt-4

Feito! Uma técnica relativamente simples que pode ser executada sem a necessidade de nenhuma ferramenta externa. Agora uma vez com o controle da conta de administrador basta usar a criatividade nas suas ações.

Usabilidade da Técnica

O uso desta técnica pode permitir que você tome controle de uma conta de usuário com permissões e/ou acessos que a sua conta, mesmo sendo admin, pode não ter por questões de GPO, por exemplo. Essa técnica pode ser utilizada para um ataque de Movimentação Lateral, por exemplo e a partir disso seguir tomando conta explorando toda rede. Nos dias de hoje praticamente todos os servidores Microsoft Windows estão com conexões RDP abertas para uso interno para uma melhor administração e essa técnica é uma excelente forma de se movimentar através deles.

Se você tiver uma mente um pouco mais sacana você pode, em poder da conta de Administrator, criar um outro usuário no AD de forma camuflada, ceder a esta permissão full na rede e então garantir acessos futuros a este e outros servidores. E depois, claro, você pode limpar os logs e também remover o serviço criado. Tudo é uma questão de imaginação.

Como mitigar e se proteger

Existem algumas maneiras de se proteger deste tipo de ataque de formas tão simples quanto a execução do mesmo. Dentre elas, destaco as seguintes:

Sistema Operacional

Em todos os testes que realizei em servidores até a versão 2016 e também Windows 10 essa técnica funcionou perfeitamente. Em testes no Windows Server 2019, a sessão é até apresentada na tela, porém obrigatoriamente é necessário colocar a senha, então ela não é aplicável. Com isso uma opção é realizar o upgrade de seus servidores para a versão mais atual que até o momento da escrita deste artigo é o Windows Server 2019.

GPO

Como falamos mais acima a prática de deixar sessões desconectadas é bem comum e isso é um problema mais cultural. Porém existem maneiras de forçar que uma sessão seja completamente finalizada quando o usuário abandona o Terminal Service. É altamente recomendado a configuração de políticas de grupo que realizem o logoff das sessões desconectadas imediatamente ou pouco tempo após o usuário se desconectar. Isso pode gerar algum desconforto principalmente nos membros de equipes de TI, mas o risco é alto e a proteção deve estar em primeiro lugar.

Software de Terceiros

Existem algum softwares no mercado que são capazes de forçar o logoff das sessões desconectadas. Existem também excelentes softwares que são capazes de realizar o chamado LockDown nos servidores e com isso impedir que outro softwares sejam instalados e principalmente novos serviços sejam criados sem o conhecimento do administrador do sistema.

MFA

A implementação de sistemas de Autenticação Multi Fator também é altamente recomendada, principalmente se existe a necessidade de deixar as conexões RDP abertas para a Internet.

Monitoramento

Como informei esse tipo de ataque é altamente silencioso. Após executá-lo verifiquei alguns logs e até o momento não consegui encontrar algo que sugira que esta técnica esteja sendo utilizada no ambiente. Com isso ter um sistema de SIEM para fazer correlação de ações e monitoramento de sessões, onde é informado quando um usuário muda de sessão para o mesmo ou para outro servidor utilizando uma conta de administrador diferente da sua gerando alertas que além de ficarem gravados em logs são enviados imediatamente para os administradores, torna-se essencial para manter um ambiente o mais seguro possível.

Questionamentos Frequentes

01 – Essa não é uma técnica nova ou mesmo uma vulnerabilidade.

Correto, porém é altamente eficaz e ainda é amplamente utilizada nos dias de hoje. Lembrem-se que se uma técnica ainda funciona o importante não é quantos anos de vida ela tem e sim quantos servidores podemos invadir se utilizando dela.

02 – Minha conta já é de administrador. Por que eu iria fazer isso?

Como falamos é só usar da imaginação que logo você saberá. Antes você poderia digitar alguns comandos para se apropriar da sessão de outro usuário de forma totalmente silenciosa mesmo que este esteja de férias há algumas semanas? Agora você pode!

03 –  Não é errado ensinar esse tipo de técnica?

Não. Conhecimento é poder e o que você faz com ele vai de cada um. A divulgação de técnicas assim não apenas ensinam outras pessoas a se utilizarem dela, mas também alertam várias outras sobre sua existência e principalmente como se proteger e manter seu ambiente mais seguro.

 

Falando sobre proteger os dados de sua empresa, aproveite para acessar um infográfico que explica os principais tipos de malware existentes atualmente e como se proteger dessas ameaças.

 

[wp-review id=”16730″]

Checklist: Planejamento estratégico de TI e Segurança em 2025

Participe da comunidade de tecnologia da Tripla

Siga a Tripla nas redes

Quer saber como nossas soluções podem beneficiar sua empresa? Converse com nossos especialistas!

Participe da comunidade
de tecnologia da Tripla

Copyright © 2020 Tripla

Fale com um de nossos consultores