Sequestro de Sessão: Proteja suas informações online!

Foto do autor

By luis

Você sabia que um cibercriminoso pode realizar transferências bancárias ou compras online em seu nome, mesmo sem ter acesso direto às suas informações de cadastro?

Frequentemente associamos os cookies ao rastreamento e à publicidade online, que pode ser bastante incômoda. No entanto, eles também armazenam dados de pesquisas e nos permitem acessar sites sem a necessidade de inserir repetidamente nome de usuário e senha.

Contudo, se um indivíduo mal-intencionado interceptar um cookie, isso pode desencadear um ataque cibernético de consequências graves, conhecido como sequestro de sessão. Este tipo de ataque expõe suas informações confidenciais a invasores e pode causar danos significativos antes que você se dê conta do que está acontecendo.

Vamos explorar o que é o sequestro de sessão e como podemos nos prevenir contra ele!

O que é Sequestro de Sessão?

Em um sequestro de sessão, um atacante intercepta e assume o controle de uma sessão estabelecida entre um usuário e um servidor, como um servidor web, uma sessão Telnet ou qualquer outra conexão baseada em TCP. Uma sessão se inicia quando você faz login em um site ou aplicativo, como uma rede social.

Ela permanece ativa enquanto você estiver utilizando a conta, seja navegando no seu perfil ou participando de discussões, e se encerra quando você faz logout. Mas como o servidor web identifica que cada requisição que você envia é realmente sua?

É aí que entram os cookies. Ao realizar o login, suas credenciais são enviadas ao servidor. Este verifica sua identidade e fornece um ID de sessão por meio de um cookie, que o acompanhará durante toda a sessão. Por esse motivo, você não é desconectado de um aplicativo cada vez que visualiza o perfil de outra pessoa, e as lojas online mantêm os itens no seu carrinho de compras, mesmo que você atualize a página.

Contudo, invasores podem sequestrar a sessão através de técnicas de gerenciamento de sessão ou roubando o seu cookie. Ao fazer isso, eles enganam o servidor, fazendo-o acreditar que as requisições vêm de você, o usuário legítimo.

O sequestro de sessão ganhou notoriedade no início dos anos 2000, mas ainda permanece um método comum usado por hackers.

Um exemplo recente é o grupo Lapsus$, que passou a figurar na lista dos mais procurados do FBI este ano. Eles empregam o malware InfoStealer para sequestrar sessões.

Da mesma forma, a GenesisStore, uma loja exclusiva para convidados gerenciada por um grupo com o mesmo nome, comercializa dados de cookies comprometidos, com um catálogo que ultrapassa os 400.000 bots.

Tipos de Sequestro de Sessão

O sequestro de sessão pode ser categorizado em duas modalidades principais, dependendo dos objetivos do invasor.

Ativo: Em um ataque ativo, o invasor assume o controle da sua sessão, efetivamente desconectando o cliente legítimo do recurso. Dependendo do local da sessão, o hacker pode fazer compras online, alterar senhas ou recuperar contas. Ataques de força bruta, XSS ou mesmo DDoS são exemplos comuns de ataques ativos.

Fonte: OSWAP

Passivo: Em um ataque passivo, o atacante não toma o controle da sessão, nem a altera. Em vez disso, ele monitora silenciosamente o fluxo de dados entre o seu dispositivo e o servidor, coletando informações confidenciais. Normalmente, a falsificação de IP e a injeção de malware são empregadas para realizar ataques passivos.

Fonte: OSWAP

Como Funciona o Sequestro de Sessão?

O HTTP é um protocolo sem estado, o que significa que o servidor não retém informações sobre a interação do cliente. Cada nova requisição HTTP é tratada como uma unidade de trabalho isolada. Em outras palavras, o servidor entrega páginas ao cliente sem se lembrar de solicitações anteriores.

Entretanto, ao navegar na web, notamos que os aplicativos geralmente “sabem” quem é o cliente (e muito bem!). Essa “memória” do servidor possibilita a criação de áreas reservadas em sites, bancos online, serviços de webmail e outras aplicações modernas.

Para alcançar essa funcionalidade, foi criado um complemento que adiciona “estado” ao protocolo HTTP: os cookies.

Sessões com Estado

Após o login, aplicativos web que utilizam sessões com estado enviam um cookie de sessão. Esse cookie é crucial para rastrear o cliente. Dentro dele, é armazenado um código único que permite a identificação do cliente, por exemplo:

SESSIONID=ACF3D35F216AAEFC

Qualquer pessoa que possua esse ID ou código único seria considerada o cliente autenticado pelo servidor. Se um invasor conseguir obter esse identificador, como demonstrado na imagem abaixo, ele pode explorar a sessão inicialmente validada da vítima, seja interceptando uma sessão legítima ou assumindo o controle total dela. Esse identificador pode ser encontrado na URL, em campos ocultos de formulários ou em cookies.

OSWAP

Sessões Sem Estado

Com a evolução da web, surgiram soluções para gerenciar a “memória” do servidor sem o uso de cookies de sessão. Em aplicações web onde o frontend e o backend são separados e se comunicam apenas via API, uma solução comum é o JWT (JSON Web Token), um token assinado que permite que o frontend consuma as APIs fornecidas pelo backend.

Normalmente, o JWT é armazenado no sessionStorage do navegador, uma área de memória que o cliente mantém ativa até o fechamento da aba. Consequentemente, abrir uma nova aba cria uma nova sessão (ao contrário do que acontece com cookies).

O roubo do token de identificação do cliente possibilita o sequestro da sessão e, consequentemente, a execução de ataques. Mas como esse token é roubado?

Atualmente, os métodos mais utilizados pelos hackers são:

#1. Interceptação de Sessão

Este método explora redes inseguras para descobrir seu ID de sessão. O invasor utiliza sniffing (software especializado) e geralmente tem como alvo redes Wi-Fi públicas ou sites que não possuem certificado SSL, que são conhecidos pela sua segurança precária.

#2. Fixação de Sessão

Nesse cenário, a vítima utiliza um ID de sessão criado pelo invasor. Isso pode ocorrer através de um ataque de phishing (por meio de um link malicioso) que “fixa” seu ID de sessão.

#3. Força Bruta

O método mais demorado e ineficiente. Durante esse ataque, o hacker não rouba seus cookies. Em vez disso, ele tenta todas as combinações possíveis para adivinhar seu ID de sessão.

#4. XSS ou Cross-site Scripting

Um hacker explora vulnerabilidades em sites ou aplicativos para injetar código malicioso. Quando um usuário visita o site, o script é ativado, rouba os cookies do usuário e os envia para o invasor.

#5. Injeção de Malware

Softwares maliciosos podem executar ações não autorizadas em seu dispositivo para roubar informações pessoais. Eles também são frequentemente utilizados para interceptar cookies e enviar informações para um invasor.

#6. Falsificação de IP

Um cibercriminoso altera o endereço IP de origem do pacote para simular que ele vem de você. Devido ao IP falso, o servidor web acredita que é você, e a sessão é sequestrada.

Como Prevenir o Sequestro de Sessão?

A vulnerabilidade ao sequestro de sessão geralmente está ligada à segurança dos sites ou aplicativos que você utiliza. No entanto, existem medidas que você pode tomar para se proteger:

  • Evite redes Wi-Fi públicas, pois pontos de acesso gratuitos são alvos fáceis para cibercriminosos. Eles geralmente oferecem pouca segurança e podem ser facilmente falsificados por hackers. Além disso, estão sempre repletos de potenciais vítimas, cujo tráfego de dados está constantemente em risco.
  • Qualquer site que não use um certificado SSL é vulnerável, já que não consegue criptografar o tráfego. Certifique-se de que o site é seguro, verificando a presença de um pequeno cadeado ao lado da URL.

  • Instale um aplicativo anti-malware para detectar e proteger seu dispositivo contra malware e outras ameaças que possam roubar suas informações pessoais.
  • Evite baixar malware usando apenas lojas de aplicativos ou sites oficiais.
  • Se você receber uma mensagem pedindo para clicar em um link desconhecido, não o faça. Pode ser um ataque de phishing, que pode infectar seu dispositivo e roubar informações pessoais.

O usuário pode fazer pouco para se proteger ativamente contra um ataque de sequestro de sessão. No entanto, o aplicativo pode perceber que um dispositivo diferente se conectou com o mesmo identificador de sessão. Com base nessa detecção, podem ser implementadas estratégias de mitigação, como:

  • Associar a cada sessão características técnicas ou “impressões digitais” do dispositivo conectado, para identificar mudanças nos parâmetros registrados. Essas informações devem ser armazenadas no cookie (para sessões com estado) ou no JWT (para sessões sem estado), sempre criptografadas.
  • Se a sessão for baseada em cookie, usar o atributo HTTPOnly para torná-lo inacessível em caso de ataque XSS.
  • Implementar um Sistema de Detecção de Intrusão (IDS), um Sistema de Prevenção de Intrusão (IPS) ou uma solução de monitoramento de rede.
  • Alguns serviços realizam verificações secundárias na identidade do usuário. Por exemplo, um servidor web pode verificar a cada requisição se o endereço IP do usuário corresponde ao último usado durante a sessão. Contudo, isso não impede ataques de alguém que compartilhe o mesmo endereço IP e pode ser frustrante para usuários cujo endereço IP pode mudar durante uma sessão de navegação.
  • Outra opção é alterar o valor do cookie a cada requisição. Isso reduz drasticamente a janela de tempo em que um invasor pode operar e torna mais fácil identificar um ataque, mas pode causar outros problemas técnicos.
  • Utilizar diferentes soluções de autenticação multifatorial (MFA) para cada sessão de usuário.
  • Manter todos os sistemas atualizados com os últimos patches e atualizações de segurança.

Perguntas Frequentes

Qual a diferença entre sequestro de sessão e falsificação de sessão?

O sequestro de sessão envolve se passar pelo usuário, enquanto a falsificação envolve substituir o usuário. Nos últimos anos, alguns analistas de segurança têm classificado a falsificação como um tipo de sequestro de sessão.

Considerações Finais

A frequência de ataques de sequestro de sessão tem aumentado nos últimos anos. Por isso, é fundamental compreender esses ataques e implementar medidas preventivas. Assim como a tecnologia evolui, os ataques também se tornam mais sofisticados, sendo essencial o desenvolvimento de estratégias de mitigação proativas contra o sequestro de sessão.

Você também pode se interessar por saber quanto valem seus dados na dark web.