Clickjacking
07/12/2021

Um website é um conjunto de arquivos HTML conectados através de links de hipertexto, armazenados em um servidor web, ou seja, um computador permanentemente ligado à Internet. Com o avanço das tecnologias, o uso dos websites tornou-se parte do nosso dia a dia. Nesse contexto, a segurança dos websites passou a ser um dos principais requisitos para os utilizadores, programadores e para as organizações. Os utilizadores mal intencionados estão a utilizar métodos cada vez mais sofisticados para comprometer a segurança dos websites e uma das técnicas utilizadas por estes utilizadores mal intencionados é o clickjacking.

O clickjacking, também conhecido como um "UI redress attack", é uma técnica maliciosa cujo objetivo é enganar um utilizador web para selecionar algo diferente do que o utilizador percebe que está a selecionar, revelando assim informações confidenciais. O clickjacking permite que um hacker insira uma camada invisível no website, entre seus comandos e o que o utilizador vê no ecrã do dispositivo.

Um dos exemplos mais conhecidos do clickjacking foi um ataque contra a página de definições de plugins da Adobe Flash. Ao carregar esta página num iframe invisível, um intruso poderia enganar um utilizador a alterar as definições de segurança do Flash, permitindo que qualquer animação Flash utilizasse o microfone e a câmara do computador.

De acordo com a natureza do ataque, o clickjacking possui vários tipos:

- Cursorjacking: Esta técnica permite mudar a posição do cursor para um lugar diferente do local onde o utilizador percebe. Assim, o utilizador acredita que está a fazer uma ação enquanto está realmente a fazer outra.

- Likejacking: Este tipo de ataque visa coletar os cliques dos utilizadores e direcioná-los para “gostos” em páginas do Facebook ou outras redes sociais.

- Cookiejacking: Neste caso, o utilizador é levado a interagir com um elemento UI, fornecendo ao intruso cookies armazenados no navegador. Assim um intruso consegue realizar ações no site alvo em nome do utilizador.

- Filejacking: Com este tipo de ataque, o utilizador permite ao intruso aceder ao seu sistema de ficheiros local.

- Ataques de gestor de passwords: Este tipo de ataque tem como objetivo enganar os gestores de passwords para tirar partido da sua funcionalidade de preenchimento automático.

É difícil reconhecer o clickjacking porque é muitas vezes invisível, contudo, pode conter elementos que revelam sua presença ao utilizador. Por exemplo, alguns anúncios e chamadas com erros ortográficos podem ser indício de que há uma tentativa de roubo de clique. Nas redes sociais, o clickjacking pode ser reconhecido quando alguém compartilha um conteúdo estranho, geralmente com um link de acesso.

Devem ser realizados testes para determinar se as páginas do site são vulneráveis a ataques deste tipo de vetor. Os pentesters podem investigar se uma página-alvo pode ser carregada num iframe, criando uma página web simples que inclui um iframe que contenha a página alvo. Um exemplo de código HTML para criar esta página web de teste é a seguir apresentado: Clickjacking

três métodos que podem ser usados para se defender contra clickjacking:

- Impedir que o navegador carregue a página num iframe utilizando os cabeçalhos HTTP (X-Frame-Options ou Política de Segurança de Conteúdos- CSP).

- Impedir que os cookies de sessão sejam incluídos quando a página é carregada num iframe usando o atributo de cookie SameSite.

- Implementação do código JavaScript na página para tentar evitar que seja carregado num iframe (conhecido como "frame-buster").

Estes métodos são todos independentes uns dos outros, e sempre que possível mais de um deles devem ser implementados de modo a fornecer a defesa em profundidade.

A ação do clickjacking pode causar vários danos, visto que através de um clique podemos ser infetados por diferentes malwares e até mesmo permitir que terceiros façam uso da câmara ou do microfone do nosso dispositivo. Nem mesmo o nosso email e as nossas redes sociais estão imunes a este tipo de ataque.



Por: Daniel Morais, Pentester na Hardsecure.

Default
Default
Como podemos ajudar?
Fale Connosco