Um keylogger, também conhecido como keystroke logging, pode ser um software ou dispositivo que registra e armazena todos as teclas pressionadas por um usuário em um computador ou dispositivo móvel. As informações obtidas por um keylogger podem ser armazenadas em um arquivo de texto ou na memória do computador, para posteriormente serem enviadas ao servidor de um atacante de diferentes formas.

Embora existam programas desse tipo para usos legítimos, quando são usados ​​para fins maliciosos e/ou sem o consentimento do usuário, são considerados um tipo de malware dentro da categoria de spyware. Nestes casos, a partir do uso de um keylogger para espionar as conversas, o atacante usará o programa para roubar informações sigilosas, como credenciais para acessar contas através do home banking, conversas de chat, mensagens de e-mail, entre outros tipos de informação pessoal que o usuário inseriu usando o dispositivo comprometido.

O que um keylogger pode fazer

Os keyloggers foram mudando ao longo do tempo, adicionando ao seu recurso básico de pressionamento de teclas a capacidade de controlar a câmera do computador da vítima, fazer capturas de tela, obter informações da área do clipboard ou área de transferência (utilitário que permite armazenar temporariamente trechos de texto na memória RAM quando usamos as funções de cópia e colar), ganhar persistência no computador, entre outras opções. Alguns keyloggers também têm a capacidade de gravar chamadas de voz e controlar o microfone do dispositivo.

A seguir apresentamos um exemplo de um keylogger de software salvando as informações em um arquivo de texto.

Exemplo das informações capturadas por um keylogger que registra as teclas digitadas.

Quem pode estar se aproveitando desse malware?

Os keyloggers são comumente usados ​​por cibercriminosos para obter credenciais de contas válidas, como e-mail, conta bancária ou detalhes de cartão de crédito, e então realizar outros tipos de ataques ou atividades criminosas.

Um usuário pode ser afetado por um keylogger de diferentes formas. Algumas das formas mais comuns são por meio de e-mails de phishing que incluem um anexo que contém a ameaça, através do download de software em um site de reputação duvidosa no qual o keylogger foi incorporado, pode estar presente em um site comprometido (javascsript) ou em um dispositivo USB, entre outros .

Por sua vez, diferentes malwares foram detectados, como Emotet, Trickbot ou Zbot (Zeus), bem como outros trojans bancários que estão direcionados principalmente a América Latina, como o Mekotio, por exemplo, ou até mesmo ameaças mais sofisticadas operadas por grupos APT, que incluem o uso de keyloggers em seu arsenal malicioso. Ou seja, não usam o keylogger como função principal, mas como mais um complemento para aumentar suas chances de sucesso nos ataques.

Você pode ver no gráfico a seguir, a título de exemplo, o número de detecções de diferentes amostras da botnet Zbot por produtos ESET, que, como destacamos, conta com esse recurso de keylogger.

Porcentagem de diferentes amostras do Zbot na América Latina no último trimestre de 2020.

Tipos de keylogger

Existem dois tipos de keyloggers, um a nível do software e outro a nível do hardware. Um keylogger de software é um programa instalado em um dispositivo para, como mencionamos anteriormente, monitorar a atividade realizada no dispositivo da vítima. Por sua vez, os keyloggers de software podem ser subdivididos em algumas das seguintes categorias:

  • Kernel: este tipo de keylogger reside a nível do kernel do computador, escondido dentro do sistema operacional, o que torna a sua detecção ainda mais díficil; especialmente quando falamos sobre aplicativos que funcionam a nível do usuário no computador.
  • API: são aqueles que utilizam funções das APIs do Windows para registrar toda a atividade realizada no teclado.
  • Javascript: neste tipo de keylogger, o código javascript é injetado em uma página web, por exemplo, por meio de um tipo de ataque conhecido como Cross-Site Scripting (XSS), e pode escutar eventos, seja por meio da função addEventListener() ou também usando "document.onkeypress", entre outros.
  • Injeção de memória: modificam as tabelas de memória que estão vinculadas às chamadas de funções do sistema e dos navegadores de Internet. Ao fazer essa "correção" ou injeção direta na memória, o programa pode ignorar o Controle de Conta de Usuário do Windows (Windows UAC).

Por outro lado, os keyloggers baseados em hardware não dependem de nenhum software instalado no sistema operacional para serem executados, uma vez que estão a nível do hardware da máquina, algumas subcategorias podem ser:

  • Keylogger de firmware: o BIOS do computador pode ser modificado para registrar eventos enquanto eles estão sendo processados. O software a ser carregado no BIOS deve ser criado especialmente para o hardware no qual será executado.
  • Keyboard hardware: é um dispositivo que se conecta entre o teclado e alguma porta de entrada do computador para registrar eventos.
  • Wireless keyboard sniffers: obtém e salva os pacotes que são enviados entre o teclado e o receptor. As informações nos pacotes podem ser criptografadas por motivos de segurança.
  • Keyloggers overlay: neste caso, um teclado falso é colocado sobre o original para que, quando uma tecla for pressionada, ela seja capturada pelo teclado original e pelo teclado falso. Como podemos ver neste artigo, eles são comuns em ataques de ATM.

Keylogger é sempre sinônimo de malware?

Embora seja verdade que a atividade realizada por um keylogger é maliciosa e ameaça a privacidade dos indivíduos, existem usos legítimos que são permitidos em alguns países (por falta de uma lei que os proíba). Por exemplo, para monitorar a exposição de nossos filhos na Internet ou de uma empresa para monitorar seus funcionários.

A verdade é que, se você não tiver o consentimento da pessoa, isso pode acabar sendo uma violação da privacidade que, dependendo das leis que se aplicam em cada país, pode levar a um grave problema jurídico.

Dicas de segurança

Um keylogger é caracterizado, entre muitas coisas, por efetivamente se esconder dentro do dispositivo da vítima, o que pode dificultar sua detecção. Eles podem até ser reinstalados no caso de serem removidos. Mas isso não significa que eles não possam ser detectados e removidos permanentemente. Portanto, listamos a seguir algumas dicas para estar protegido contra esse tipo de malware:

  • Use uma solução antivírus e a mantenha sempre atualizada.
  • Use um gerenciador de senhas seguro, como KeePass ou ESET Smart Security Premium para versões domésticas, evitando digitar a senha nos sites que deseja acessar.
  • Implemente a autenticação em dois fatores.
  • Instale apenas programas de fontes confiáveis.
  • Bloqueie o dispositivo quando não estiver em uso para evitar que outra pessoa possa instalar um keylogger.