Magic Quadrant™ para gerenciamento de acesso privilegiado 2025: Netwrix reconhecida pelo quarto ano consecutivo. Baixe o relatório.

Plataforma
Glossário de cibersegurançaCatálogo de ataques
Bypassando MFA com o ataque Pass-the-Cookie

Bypassando MFA com o ataque Pass-the-Cookie

A autenticação multifator (MFA) é uma excelente maneira de aumentar a segurança tanto local quanto na nuvem. Com o MFA ativado, quando um usuário faz login, ele deve fornecer não apenas seu ID de usuário e senha, mas também um segundo fator de autenticação, como um código enviado para o seu telefone. Esse processo reduz a superfície de ataque impedindo que adversários com credenciais de usuário roubadas façam login.

No entanto, a MFA não é uma panaceia para a cibersegurança. Em particular, os adversários podem utilizar o ataque Pass-the-Cookie para usar cookies do navegador para contornar a MFA e obter acesso a serviços na nuvem. Neste post, vamos explorar como esse ataque funciona e as melhores práticas de segurança para se defender contra ele.

Os cookies do navegador permitem que aplicações web armazenem informações de autenticação do usuário, para que ele possa permanecer conectado em vez de ter que fornecer seu nome de usuário e senha toda vez que navegar para uma nova página em um site. (Isso é semelhante à autenticação Kerberos ou NTLM, na qual um artefato é armazenado localmente no sistema do usuário e usado para autenticações futuras.)

Se o MFA estiver ativado, o usuário terá que fornecer uma prova adicional de sua identidade, como aceitar uma notificação push em seu dispositivo móvel. Uma vez que o usuário tenha passado pelo MFA, um cookie do navegador é criado e armazenado para a sua sessão web.

Embora os cookies simplifiquem a experiência do usuário, eles apresentam uma vulnerabilidade óbvia: Se alguém conseguisse extrair os cookies certos do navegador, poderia se autenticar como outro usuário em uma sessão de navegador web totalmente separada em outro sistema. Em resumo, poderiam usar o cookie para contornar a autenticação via MFA. (Isso é análogo ao ataque Pass the Hash em Active Directory.)

Como um adversário pode extrair cookies do navegador.

Vamos ver como um atacante poderia extrair cookies usando o exemplo do navegador Google Chrome. O Chrome armazena cookies na seguinte localização em um banco de dados SQLite:

      %localappdata%GoogleChromeUser DataDefaultCookies

The cookies for a given user are encrypted using keys tied to that user via the Microsoft Data Protection API (DPAPI). To access the cookie database and decrypt the cookies, an adversary can use the following mimikatz command:

dpapi::chrome /in:"%localappdata%GoogleChromeUser DataDefaultCookies" /unprotect

Alternatively, they could execute the following from the command line:

mimikatz.exe privilege::debug log "dpapi::chrome /in:%localappdata%googlechromeUSERDA~1defaultcookies /unprotect" exit
      

Usar qualquer uma dessas opções fornecerá os cookies do navegador:

Image

Vamos entender como um ataque Pass-the-Cookie funcionaria em um cenário real.

Suponha que o usuário Tobias seja um administrador de TI. Uma das aplicações web que Tobias usa regularmente é o portal de gerenciamento Microsoft Azure. Como o MFA está ativado, quando Tobias faz login no Azure, ele precisa fornecer um código do aplicativo de autenticação em seu dispositivo móvel, conforme mostrado abaixo.

Image

Então, contanto que ninguém roube o iPhone dele, as credenciais Azure dele devem estar seguras, certo? Não tão rápido. Suponha que Tobias tenha clicado em um e-mail de phishing ou que seu sistema tenha sido comprometido por algum outro meio, e agora um atacante é capaz de executar código no contexto do usuário de Tobias. Tobias NÃO é um administrador em seu laptop, então o dano deve ser contido, certo?

Vamos ver.

Passo 1. Extraia os Cookies.

Como vimos anteriormente, tudo o que temos de fazer para obter os cookies do navegador do Tobias é executar este comando quando estivermos a usar a sessão do Tobias:

      mimikatz.exe privilege::debug log "dpapi::chrome /in:%localappdata%googlechromeUSERDA~1defaultcookies /unprotect" exit
      

Neste caso, estamos preocupados com os cookies de autenticação do Azure, incluindo ESTSAUTH, ESTSAUTHPERSISTENT e ESTSAUTHLIGHT. Esses cookies estão disponíveis porque Tobias tem estado ativo no Azure recentemente:

Image

Passo 2. Passe os Cookies.

Pode parecer que, como não conhecemos o ID de usuário ou a senha do Tobias e não temos acesso ao seu dispositivo móvel, não podemos fazer login em aplicativos web como o Azure como Tobias.

Mas, como temos os cookies dele, só precisamos passá-los para outra sessão para assumir a conta do Tobias. Isso é fácil de fazer: basta abrir o Chrome em outro servidor e usar a interface “Inspecionar” para inserir um cookie.

2.1. Primeiro, inspecionamos a sessão roubada:

Image

2.2. Em seguida, navegamos até Application > Cookies. Como você pode ver, os cookies atuais não incluem o ESTSAUTH ou ESTSAUTHPERSISTENT:

Image

2.3. Adicionamos o cookie ESTSAUTH ou, se disponível, o ESTSAUTHPERSISTENT. (Se o ESTSAUTHPERSISTENT estiver disponível, é preferível porque é gerado pela opção “Permanecer Conectado”.)

Image

2.4. Atualizamos a página e agora estamos logados no Azure como Tobias — sem necessidade de MFA!

Image

Mitigando Seu Risco

Os ataques Pass-the-Cookie são uma ameaça séria por várias razões. Primeiro, um ataque Pass-the-Cookie não requer direitos administrativos; todos os usuários têm acesso para ler e descriptografar seus próprios cookies do navegador, independentemente de terem direitos privilegiados em suas estações de trabalho. Segundo, o atacante não precisa conhecer o ID de usuário ou senha da conta comprometida, então esse ataque é possível com informações mínimas. Terceiro, até conseguimos completar ataques Pass-the-Cookie depois que o navegador havia sido fechado.

Uma maneira de minimizar o risco de roubo de cookies é limpar os cookies dos usuários com mais frequência. No entanto, isso obrigará os usuários a se reautenticarem toda vez que navegarem para um site, o que os frustrará e fará com que evitem fechar seus navegadores para não perderem seus cookies.

Uma estratégia melhor é implementar produtos de monitoramento de autenticação e detecção de ameaças destes. Netwrix Threat Manager pode detectar prontamente contas que estão sendo usadas de maneiras inesperadas para que você possa rapidamente encerrar atividades maliciosas.

FAQs

Compartilhar em

Ver ataques de cibersegurança relacionados

Abuso de Permissões de Aplicativos Entra ID – Como Funciona e Estratégias de Defesa

Modificação do AdminSDHolder – Como Funciona e Estratégias de Defesa

Ataque AS-REP Roasting - Como Funciona e Estratégias de Defesa

Ataque Hafnium - Como Funciona e Estratégias de Defesa

Ataques DCSync Explicados: Ameaça à Segurança do Active Directory

Ataque Pass the Hash

Entendendo ataques Golden Ticket

Ataque a Contas de Serviço Gerenciadas por Grupo

Ataque DCShadow – Como Funciona, Exemplos Reais e Estratégias de Defesa

Injeção de Prompt do ChatGPT: Entendendo Riscos, Exemplos e Prevenção

Ataque de Extração de Senha NTDS.dit

Ataque de Kerberoasting – Como Funciona e Estratégias de Defesa

Ataque Pass-the-Ticket Explicado: Riscos, Exemplos e Estratégias de Defesa

Ataque de Password Spraying

Ataque de Extração de Senha em Texto Simples

Vulnerabilidade Zerologon Explicada: Riscos, Explorações e Mitigação

Ataques de ransomware ao Active Directory

Desbloqueando o Active Directory com o Ataque Skeleton Key

Movimento Lateral: O que é, Como Funciona e Prevenções

Ataques Man-in-the-Middle (MITM): O que São & Como Preveni-los

Ataque Silver Ticket

4 ataques a contas de serviço e como se proteger contra eles

Por que o PowerShell é tão popular entre os atacantes?

Como Prevenir que Ataques de Malware Afetem o Seu Negócio

Comprometendo o SQL Server com PowerUpSQL

O que são ataques de Mousejacking e como se defender contra eles

Roubando Credenciais com um Provedor de Suporte de Segurança (SSP)

Ataques de Rainbow Table: Como Funcionam e Como se Defender Contra Eles

Um Olhar Abrangente sobre Ataques de Senha e Como Impedi-los

Reconhecimento LDAP

O que é Credential Stuffing?

Ataque Golden SAML