RDP: fraquezas do protocolo e experimento de implantação de honeypot

RDP é um dos protocolos mais populares para conectar remotamente a máquinas Windows. Mas, se configurado incorretamente, pode se tornar o calcanhar de Aquiles de qualquer infraestrutura.









Quando as empresas mudaram para locais remotos, as empresas optaram pelo RDP devido à sua facilidade de configuração e uso. Mas a transição era urgente e nem todos deram a atenção necessária à segurança. Como resultado, os cibercriminosos têm como alvo as organizações.



Neste artigo, decidimos analisar os pontos fracos do protocolo RDP e dizer como proteger a infraestrutura da empresa. Também conduzimos um experimento implantando um honeypot RDP em vários servidores e descrevemos artefatos forenses que podem ser detectados no caso de uma conexão não autorizada por intrusos.



▍ Fraquezas do RDP



Quase 4 milhões de servidores RDP em todo o mundo são acessíveis a partir da rede externa hoje. Nenhum deles, provavelmente, está disponível apenas em redes internas.



Os invasores geralmente procuram especificamente por pontos fracos nos servidores RDP, a fim de explorá-los para seus próprios fins. Por exemplo, o RDP costuma estar sujeito a ataques de força bruta. Além disso, nos últimos dois anos, os especialistas descobriram vulnerabilidades RCE graves relacionadas ao RDP.



Ataques de força bruta



Os ataques mais comuns ao RDP são ataques de força bruta. Eles podem ser divididos em vários grupos.



  1. Os ataques mais simples , que consistem em adivinhar senhas elementares sem usar nenhuma ferramenta de automação.
  2. Ataques de dicionário , durante os quais um ataque de força bruta de todas as senhas possíveis para o nome de usuário pretendido é lançado.
  3. , ,       ,    .
  4. Password spraying,   ,   .
  5. Credential stuffing, .


Tendo obtido um par de login e senha, os invasores obtêm acesso total ao sistema comprometido.



Os ataques mais simples e de dicionário geralmente recebem a devida consideração e proteção pelas organizações. Por exemplo, costuma-se planejar o bloqueio de uma conta após várias tentativas malsucedidas de login.



Ao mesmo tempo, os ataques de espalhamento de senha e preenchimento de credenciais são freqüentemente esquecidos. No entanto, esses ataques agora não são incomuns, mas, ao contrário, se tornaram comuns. O bloqueio de endereços IP a partir dos quais são feitas várias tentativas malsucedidas de login via RDP ajuda a combatê-los. Além disso, proibir a reutilização de senhas não será supérfluo. Além disso, você não deve usar a mesma senha em vários recursos.



Vulnerabilidades



Desde 2019, várias vulnerabilidades RDP relacionadas ao RCE foram descobertas. Sua exploração leva à execução remota de código no sistema de destino.



A vulnerabilidade CVE-2019-0708, apelidada de BlueKeep, foi descoberta não no protocolo RDP em si, mas na implementação do Remote Desktop Service. Esta vulnerabilidade permite que um usuário não autenticado execute remotamente código arbitrário no sistema de destino. As vulnerabilidades afetam as versões anteriores do Windows: do Windows XP (Windows Server 2003) ao Windows 7 (Windows Server 2008 R2). Para sua operação bem-sucedida, você só precisa de acesso à rede para um computador com uma versão vulnerável do Windows e um serviço RDP em execução. Para fazer isso, o invasor envia uma solicitação RDP especialmente criada para o serviço, que permite ao invasor executar remotamente código arbitrário no sistema de destino. As informações sobre o BlueKeep foram publicadas em maio de 2019, mas mais de 289 mil servidores RDP ainda estão vulneráveis.



Vulnerabilidades CVE-2019-1181 / 1182/1222/1226 são quase idênticas ao BlueKeep. No entanto, enquanto a vulnerabilidade anterior afetava apenas as versões mais antigas do Windows, agora todas as novas versões do sistema operacional estão em risco. Para explorar vulnerabilidades, um invasor também precisa enviar uma solicitação especialmente criada ao Serviço de Área de Trabalho Remota dos sistemas de destino usando o protocolo RDP, o que permitiria a execução de um código arbitrário. Essas vulnerabilidades foram publicadas em agosto de 2019.



Outra vulnerabilidade - BlueGate (CVE-2020-0609 / 0610) - foi encontrada no componente Windows Remote Desktop Gateway no Windows Server (2012, 2012 R2, 2016 e 2019). Ele também permite que os invasores executem códigos remotamente no sistema de destino via RDP e solicitações especialmente criadas. BlueGate foi publicado no início de 2020.



▍Malware e RDP



Os pontos fracos do RDP não ficam fora da vista dos operadores de malware. Não é incomum que os cibercriminosos usem as credenciais RDP divulgadas em ataques direcionados.



Depois de obter acesso RDP ao sistema de destino, os invasores desabilitam manualmente a proteção antivírus e iniciam o malware. Esses ataques geralmente executam ransomware como o Dharma (também conhecido como Crysis) em um sistema infectado.



▍ Isca para intrusos, ou como implantamos o honeypot



Decidimos realizar um experimento e verificar o que acontecerá com um servidor RDP acessível a partir de uma rede externa. Para isso, foram implantados dois honeypots. Utilizamos a implementação do protocolo RDP em Python - RDPY, que pode ser encontrado em  domínio público .



Um honeypot foi implantado no servidor público DigitalOcean, o outro em um servidor na rede de nossa organização. Três portas estavam disponíveis na Internet:



  • a porta padrão é 3389;
  • duas portas não padrão - 36 e 25300.


A janela exibida durante a conexão é mostrada na imagem abaixo.







A porta padrão 3389 atraiu a atenção máxima da rede.Durante o mês e meio em que os honeypots estiveram funcionando, um total de 15 tentativas de força bruta e 237 tentativas de gravar dados inválidos em um soquete em um servidor público foram registradas; e, respectivamente, 16 e 135 tentativas - em um servidor na rede da organização.



Além disso, como era de se esperar, a porta padrão 3389 foi submetida a várias varreduras da rede. Ao mesmo tempo, o servidor público foi verificado em média 2,5 vezes mais frequentemente do que o servidor na rede da organização.



A taxa de varredura pode ser vista no gráfico abaixo. As linhas verticais aqui indicam sábados e domingos, que caíram no período do honeypot. Na maioria dos casos, houve um declínio nas varreduras de rede no final da semana de trabalho.





Horizontalmente - dias de honeypots, verticalmente - o número de conexões.

A curva azul é o norte público, a curva laranja é o servidor na rede da organização.

Linha vertical - sáb e sol
.




Praticamente não houve tentativas de escanear portas fora do padrão. Portanto, a portabilidade do RDP para uma porta não padrão ajudará na proteção contra a maioria dos ataques.



▍Segurança



Resumindo tudo o que foi dito acima, você pode deduzir várias regras que ajudarão a proteger a infraestrutura ao conectar-se remotamente via RDP.


  1.  RDP. ,     .       .
  2.   VPN. ,  VPN -.
  3. ,   , , ,   , .   .   password spraying  credential stuffing.
  4. IP-,    RDP.   password spraying  credential stuffing.
  5. .   -.
  6. Configure a auditoria para eventos RDP e analise regularmente os logs de conexão para detectar atividades suspeitas a tempo.







▏Onde procurar traços de conexão RDP▕



Se você tem alguma suspeita sobre como comprometer seu sistema via RDP, pode tentar várias etapas.



  1. Histórico. Em primeiro lugar, você deve verificar imediatamente os logs de eventos:

    • % SystemRoot% \ System32 \ Winevt \ Logs \ Microsoft-Windows-TerminalServices-RemoteConnectionManager% 4Operational.evtx



      Evento 1149 para uma conexão bem-sucedida antes da autenticação usando login e senha, mas depois de autenticar o endereço IP da origem da conexão. É importante procurar conexões de endereços IP incomuns; senhas de força bruta também podem chegar aqui.
    • %SystemRoot%\System32\Winevt\Logs\Security.evtx



      4624 — , 4625 — , 4778 — , 4634 — .  «LogonType». 3, 10  7.   IP-,    — .
    • %SystemRoot%\System32\Winevt\Logs\Microsoft-Windows-TerminalServices-LocalSessionManager%4Operational.evtx



       21, 22  25 — , 23 — .   IP-.



        IP-,     . ,   (,  .).


    . Security.evtx,  — Security.evtx  Microsoft-Windows-TerminalServices-RemoteConnectionManager%4Operational.evtx .   ,    SIEM-.
  2. . , , .     RDP-,   . , ,    TCP (, RDP).      . ,   ,   X,    X+N    .     ,      .


Se rastros forem encontrados



Se você encontrar vestígios de penetração bem-sucedida por meio do RDP, você deve antes de tudo:



  • tente isolar o invasor (ou desconecte completamente a infraestrutura da Internet ou desconecte os servidores críticos da rede local);
  • verifique o controlador de domínio em busca de sinais de invasão, bem como verifique arquivos de despejo e outros possíveis alvos do invasor.


Há uma chance significativa de que a infecção já se espalhou por meio de recursos internos. Se isso acontecer, você precisa verificar se há eventos de inicialização do PowerShell, gatilhos de antivírus e outros. E o melhor é entrar em contato imediatamente com um especialista em computação forense.



All Articles