O que é Sequestro de Sessão? Como garantir a privacidade da sessão

Publicados: 2021-07-13

Muita coisa pode acontecer entre um login e um logout.

Os invasores procuram sessões em que possam obter acesso não autorizado às suas contas e explorar seus dados. Você deve certificar-se de autenticar seus detalhes de login em um ambiente seguro e se proteger contra ataques de seqüestro de sessão.

Você pode usar   firewalls de aplicativos da web   para detectar anomalias no tráfego de entrada e bloquear tráfego potencialmente mal-intencionado. Mas para corrigir defesas de segurança robustas, é crucial entender detalhadamente o sequestro de sessão, seus tipos e as ferramentas que os invasores podem usar para penetrar nas contas dos usuários.

O que é sequestro de sessão?

Sequestro de sessão , também conhecido como seqüestro de cookie, é um processo de controle da sessão de um usuário obtendo ou gerando um ID de sessão enquanto a sessão ainda está em andamento.

Um invasor pode usar scripts entre sites (XSS), força bruta, engenharia reversa ou vários outros métodos para colocar as mãos em cookies de sessão e obter acesso não autorizado a contas de usuários.

Uma sessão começa quando você faz logon em um serviço, como um aplicativo da Web, e termina quando você faz logout. O Hypertext Transfer Protocol (HTTP) é um protocolo sem estado, o que significa que ele carrega cada solicitação independentemente, sem se referir a nenhuma solicitação anterior, exigindo que um usuário se autentique toda vez que visualizar uma página da Web. Para evitar solicitar que um usuário faça login todas as vezes, o servidor atribui um ID de sessão para fornecer uma experiência na Web perfeita após a autenticação.

Os invasores tentam roubar o ID da sessão do alvo ou induzi-los a clicar em um link malicioso que os leva a uma sessão pré-fabricada para um ataque de seqüestro de sessão. Depois que o usuário é autenticado no servidor, os agentes de ameaças podem sequestrar a sessão e induzir o servidor a considerar sua sessão válida.

Quando um invasor tem como alvo um cookie de sessão, ele está relacionado ao seqüestro de sessão do aplicativo Web, não ao seqüestro de sessão do Protocolo de Controle de Transmissão (TCP). O TCP é um protocolo de transporte usado sobre o IP para garantir a transmissão confiável de pacotes. O aplicativo da Web retorna um cookie de sessão após a autenticação bem-sucedida que um invasor explora para sequestrar uma sessão. Não tem nada a ver com a conexão TCP entre o dispositivo do usuário e o servidor.

Métodos de seqüestro de sessão

Os invasores geralmente têm alguns métodos de escolha ao executar um sequestro de sessão. Eles podem usá-los individualmente ou em combinação para assumir contas de usuários e realizar atividades maliciosas.

Script entre sites

Em um ataque de cross-site scripting (XSS) , um hacker mal-intencionado engana o computador do alvo para executar um código que se disfarça como um código confiável pertencente a um servidor. Ele permite que um invasor obtenha uma cópia do cookie para realizar suas ações maliciosas. Normalmente, as páginas da Web são incorporadas com JavaScript. Sem as devidas salvaguardas e   ferramentas de segurança de aplicativos, ele revela informações confidenciais dos usuários se os scripts forem executados.

Se o servidor não definir o atributo HTTPOnly nos cookies de sessão, os scripts poderão expô-los a invasores.

Injeção de malware

Algum   malware   ou trojans são programados para roubar cookies do navegador e realizar ações maliciosas sem o conhecimento do usuário. Por exemplo, quando um usuário visita um site malicioso ou clica em um link não solicitado, o malware verifica o tráfego de rede, coleta cookies de sessão e os envia para agentes mal-intencionados. Os invasores com acesso ao armazenamento local podem roubar chaves de sessão do armazenamento local temporário do navegador (cookie jar) ou podem obter conteúdo de arquivos ou memória do servidor ou do computador do usuário.

Força bruta

Os invasores podem realizar um ataque de força bruta para adivinhar a chave de sessão de um usuário. Quando um aplicativo usa uma chave de sessão sequencial ou previsível, torna a sessão vulnerável a um seqüestro. Esse era o método preferido de escolha no passado, mas com aplicativos modernos, os IDs de sessão são longos e gerados aleatoriamente, oferecendo resistência substancial a ataques de força bruta.

Jacking lateral da sessão

No jacking do lado da sessão , um invasor aproveita o sniffing de pacotes para ler o tráfego de rede e roubar o cookie de sessão. Normalmente, os sites usam criptografia Secure Sockets Layer/Transport Layer Security (SSL/TLS) em suas páginas de autenticação. Ainda assim, alguns não o usam em todo o site após a autenticação, permitindo que os invasores interceptem os dados trocados entre o servidor e as páginas da web.

Depois que os invasores colocam as mãos nos cookies de sessão, eles podem sequestrar as sessões dos usuários para realizar operações maliciosas. Por exemplo, um agente mal-intencionado visando um usuário conectado a um WiFi não seguro pode ler facilmente os dados ou o tráfego compartilhado entre outros nós e pontos de acesso.

Fixação de sessão

Às vezes, os invasores podem criar uma sessão disfarçada e enganar um usuário para que se autentique em um servidor vulnerável. Por exemplo, um agente de ameaça pode usar   Engenharia social   (phishing) ou um método semelhante para persuadir um usuário a clicar em um link que o leve a uma sessão criada com um cookie de sessão conhecido. Depois que o usuário se autentica, o invasor pode usar a chave de sessão conhecida para sequestrar a sessão do usuário.

Um invasor também pode induzir os usuários a preencher um formulário de login pré-fabricado que inclui um ID de sessão oculto e fixo.

Níveis de ataques de seqüestro de sessão

Existem dois níveis de ataques de seqüestro de sessão. Esses ataques podem ser inter-relacionados, pois um ataque bem-sucedido em uma camada de rede fornecerá ao invasor informações para explorar um usuário real no nível do aplicativo.

Níveis de seqüestro de sessão

Sequestro de camada de transporte

O sequestro da camada de transporte ocorre em conexões TCP onde um invasor intercepta as trocas de dados entre um servidor da Web e um usuário, impedindo o canal de comunicação definido entre eles. Em seguida, os agentes mal-intencionados enviam pacotes de dados maliciosos disfarçados de legítimos para cliente e servidor, assumindo a sessão do usuário.

Um método comum de sequestro da camada de transporte é a falsificação de IP , em que um invasor usa um endereço IP falsificado disfarçado de confiável para se comunicar com os computadores na rede. Eles usam pacotes IP roteados de origem para interceptar a comunicação ativa entre dois nós. A falsificação de IP tira vantagem indevida da autenticação única no início da sessão TCP.

Sequestro de camada de aplicativo

No sequestro de camada de aplicativo, um invasor rouba a ID de sessão de um usuário depois que um usuário se autentica em seu aplicativo. Ataques man-in-the-middle são exemplos típicos de seqüestro de sessão da camada de aplicação, onde o seqüestrador intercepta o canal de comunicação entre o cliente e o servidor.

Os ataques de proxy também se enquadram no sequestro de camada de aplicativo. Um invasor direciona o tráfego para um servidor proxy com um ID de sessão predefinido para interceptar a comunicação durante esses ataques.

3 Tipos de seqüestro de sessão

O sequestro de sessão envolve adivinhar ou interceptar cookies de sessão em uma sessão existente ou enganar um usuário para autenticar em uma sessão pré-fabricada. Existem três tipos de ataques de seqüestro de sessão.

1. Ativo

No sequestro de sessão ativa , um invasor assume uma conexão ativa em uma rede. Eles podem silenciar todos os dispositivos e assumir o canal de comunicação entre o cliente e o servidor. Então, eles abandonam a afiliação entre o servidor e o dispositivo do usuário.

Existem algumas maneiras pelas quais um invasor pode interromper a comunicação entre um cliente e um servidor. Normalmente, os invasores enviam tráfego massivo para atacar uma sessão válida e causar um ataque de negação de serviço (DoS) .

2. Passivo

O sequestro de sessão passivo é semelhante ao ativo, exceto que um invasor monitora a comunicação entre um cliente e um servidor. O invasor não bloqueia o usuário real fora da sessão, mas supervisiona a troca de comunicação em andamento.

O principal motivo dos ataques passivos é roubar informações trocadas e usá-las para fins maliciosos.

3. Híbrido

Os ataques de seqüestro de sessão híbrida são uma combinação de ataques ativos e passivos. Em um ataque híbrido, os invasores monitoram o tráfego da rede até encontrarem um problema, depois assumem a sessão e começam a se passar por usuários legítimos.

Os ataques híbridos dependem da falsificação e são classificados nos seguintes tipos:

  • Um ataque de falsificação cega envolve invasores visando uma vítima sem interromper uma sessão. Eles capturam pacotes de dados trocados entre um servidor e um usuário e tentam quebrar as sequências de pacotes TCP.
  • Um ataque de falsificação não cego inclui o monitoramento do tráfego entre um servidor e um usuário para prever o pacto subsequente para prever seu intervalo de sequência TCP. Um invasor assume a sessão em um nível de aplicativo e forma uma nova sessão, usando um token de sessão que pode ser roubado ou previsível.

Sequestro de sessão x falsificação de sessão x repetição de sessão

A principal diferença entre o sequestro de sessão e a falsificação de sessão é o tempo do ataque.

seqüestro de sessão x falsificação de sessão x repetição de sessão

Os ataques de seqüestro de sessão são realizados quando os usuários se autenticam no aplicativo. O ataque pode levar a atrasos ou comportamento incomum nos aplicativos. É porque um invasor explora seus dados enquanto você ainda está conectado. Se um aplicativo trava com frequência, isso pode sugerir um ataque de seqüestro de sessão.

Na falsificação de sessão , as vítimas não estão cientes do ataque. Os invasores podem usar IDs de sessão roubados ou falsificados e se passar por usuários genuínos sem depender de um usuário para realizar a autenticação.

Um replay de sessão é um pouco diferente.

No replay de sessão , os invasores já possuem cookies de sessão (coletados do sequestro de sessão) e podem usá-los como quiserem. Eles podem induzir a vítima a reenviar uma solicitação anteriormente válida, como comprar várias quantidades de itens onde ela originalmente solicitou uma unidade.

Ferramentas de seqüestro de sessão

Várias ferramentas podem ajudar um invasor a realizar um ataque de seqüestro de sessão. Você pode usá-los em   teste de penetração   e verifique se seus sistemas e aplicativos são à prova de ataques.

Aqui estão algumas das ferramentas populares de seqüestro de sessão usadas para realizar um ataque.

* Essas ferramentas devem ser usadas apenas para fins éticos para testar e fortalecer os sistemas contra o seqüestro de sessão.

Hamster e furão

O Hamster atua como um servidor proxy que manipula os dados coletados pelo Ferret, que captura os cookies de sessão que passam pela rede.

Aqui está um exemplo de uso do Hamster apresentado por   Ferramentas Kali:

root@kali:~# hamster

--- Ferramenta de elevação lateral HAMPSTER 2.0 ---

Defina o navegador para usar o proxy http://127.0.0.1:1234

DEBUG: set_ports_option(1234)

DEBUG: mg_open_listening_port(1234)

Proxy: escutando em 127.0.0.1:1234

tópico inicial

T-Sight

O T-Sight foi desenvolvido inicialmente como uma ferramenta de monitoramento de rede para rodar na plataforma Windows. No entanto, ao monitorar uma rede, pode-se sequestrar uma sessão, pois toda a comunicação na rede é copiada em tempo real, fornecendo uma saída de transmissão de dados precisa. Por causa disso, a Engrade, desenvolvedora do T-Sight, agora fornece licenças de software apenas para endereços IP pré-determinados.

Juggernaut

Juggernaut é uma ferramenta de detecção de rede que pode ser usada maliciosamente para conduzir um ataque de seqüestro de sessão. É possível configurar o Juggernaut para observar todo o tráfego de rede em uma rede local (LAN) ou ouvir um token de sessão específico. Ele pode ser configurado para registrar o tráfego de rede após a vítima fazer uma tentativa de login.

Juggernaut é diferente dos sniffers de rede comuns que registram todo o tráfego de rede em arquivos de log enormes. O Juggernaut mantém um banco de dados de conexão que permite que um invasor observe todas as conexões baseadas em TCP e até sequestre uma sessão. A ferramenta de seqüestro de sessão também fornece uma função interna de montagem de pacotes. Os invasores usam essa funcionalidade para fragmentar pacotes para evitar sistemas de detecção de intrusão e firewalls.

Aqui está um exemplo do uso do Juggernaut quando você o executa pela linha de comando do Linux:

Juggernaut ?) Ajuda 0) Informações do programa 1) Banco de dados de conexão 2) Espionar uma conexão 3) Redefinir uma conexão 4) Daemon de redefinição de conexão automática 5) Sequestro de conexão Simplex 6) Sequestro de conexão interativa 7) Módulo de montagem de pacotes 8) Número de opção Souper sekret oito 9) Descer

  • O banco de dados de conexão mostra uma conexão ativa.
  • Espionar uma conexão permite monitorar o tráfego de rede em canais de comunicação abertos e oferece uma opção para armazenar logs.
  • Redefinir uma conexão fecha uma sessão enviando um pacote RST para a origem.
  • O daemon de redefinição de conexão automatizada permite que você configure um endereço IP baseado em host e um pacote RST para a origem sempre que o host tentar estabelecer uma sessão.
  • O sequestro de conexão Simplex permite que você insira um único comando no destino. Os invasores o usam para impedir a detecção.
  • O seqüestro de conexão interativo permite que você conduza um seqüestro de sessão completo e crie uma grande tempestade de ACK.
  • O módulo de montagem de pacotes permite que você crie seu próprio pacote.
  • A opção número oito do Souper Sekret não tem funcionalidade.
  • Descer permite que você saia do programa.

Essas foram algumas das ferramentas que os invasores usam para realizar ataques de seqüestro de sessão.

Você precisa fortalecer suas redes e sistemas contra ferramentas semelhantes como Hunt, TTY-Watcher, IP-Watcher, 1164, Wireshark, SSHMITM, Hjksuite, C2MYAZZ, que os invasores usam para explorar as sessões do usuário.

Como evitar o seqüestro de sessão

O sequestro de sessão pode ter consequências terríveis para as organizações, incluindo perdas financeiras e perdas de reputação incorridas após anos construindo uma boa reputação e prestando um serviço fiel no setor.

As empresas precisam definir medidas de segurança estratégicas para evitar se tornarem alvos de ataques de seqüestro de sessão. Essas medidas incluem:

  • Criptografando toda a transmissão de dados em uma página da web
  • Implementando a certificação Hypertext Transfer Protocol Secure (HTTPS) em páginas da web
  • Atualizando e corrigindo navegadores regularmente
  • Adotar ferramentas de segurança cibernética, como software de proteção DDoS e   tecnologia de engano
  • Entrar e sair com cuidado de cada sessão
  • Incorpore estruturas da Web em vez de criar um sistema interno de gerenciamento de sessões
  • Regenere a chave de sessão após a autenticação para evitar que hackers explorem o ID de sessão gerado durante o login
  • Fortaleça a verificação de identidade incluindo verificações adicionais, como verificar o endereço IP habitual de um usuário ou tendências de uso de aplicativos
  • Use apenas redes sem fio seguras e evite operar em qualquer WiFi público
  • Mascare seu endereço IP usando um software de rede virtual privada (VPN) e mantenha suas sessões protegidas

Ter HTTPS em todo o site é sem dúvida o mecanismo preventivo mais importante. Se estiver preocupado com problemas de desempenho, você pode implementar SSL nas páginas de login do site e em outras áreas sensíveis. Outra medida preventiva importante seria criptografar o valor da sessão armazenado em um cookie de sessão.

Proteja suas sessões

Sequestro de sessão pode ser problemático. Seja proativo e defina um mecanismo de defesa adequado para se proteger contra ataques de seqüestro de sessão e para proteger sua conta e seus dados.

Com os hackers desenvolvendo consistentemente novos métodos para quebrar os perímetros de defesa de uma organização, pode ficar ainda mais complicado garantir 100% de segurança.

Saiba mais sobre a resposta a incidentes e como você pode gerenciar um incidente cibernético quando um invasor obtém acesso à sua conta ou dados.