Julho 6, 2009 Em segurança da informação, Engenharia Social é o termo utilizado para ataques onde foco é o ser humano, elo mais frágil de todo sistema de segurança. É uma das técnicas mais antigas na arte de invadir sistemas informatizados, tendo sido largamente utilizado por Kevin Mitnick, um dos mais notórios crackers do cenário mundial. Na sua forma clássica (leia mais), consiste em obter informações privilegiadas através de ações para ganhar a confiança da vítima, seja desenvolvendo uma relação social ou fazendo-se passar por outra pessoa, geralmente funcionário da organização em que a vítima trabalha. As formas mais modernas e muito comuns são os phishings, que se utilizam de mensagens de e-mail falsas, que levam o usuário a fornecer senhas e números de contas bancárias em sites falsos ou instalar programas espiões em seu próprio computador. A Engenharia Social também é utilizada pelos profissionais de Segurança da Informação em testes de penetração, quando são contratados por empresas para testar seus sistemas de segurança. O texto a seguir é uma tradução de um artigo muito interessante sobre um teste de penetração, onde o especialista em segurança utilizou o Facebook como ferramenta para efetuar o ataque de Engenharia Social. (leia o original em inglês)
Facebook na perspectiva dos hackersPor Adriel Desautels, em Fevereiro 12, 2009 Há alguns anos já vínhamos utilizando ferramentas baseadas Redes Sociais da internet para invadir as infraestruturas de TI de nossos clientes. Esse método de ataque tem sido utilizado pelos hackers desde a concepção dos sites de Redes Sociais, mas somente a pouco tempo ganhou a atenção da mídia. Como resultado dessa nova exposição, decidi dar às pessoas uma rápida visão das Redes Sociais sob o ponto de vista de um hacker. Créditos pelo desenvolvimento dessa metodologia específica são para Kevin Finisterre e Josh Velentine, ambos membros da nossa equipe. Vamos começar falando da internet e da identidade. A internet é um mundo sem forma onde identidades não são apenas dinâmicas, mas também não podem ser seguramente verificadas. Como resultado, é muito fácil ser uma pessoa em um momento e outra pessoa em outro. Isso é particularmente verdadeiro quando usamos as redes sociais dos sites de relacionamento como o Facebook (e todos os demais). Seres humanos possuem uma tendência natural para confiar uns nos outros. Se um ser humano puder prover a outro “algo suficiente” então, a confiança é conquistada. Esse “algo suficiente” pode ser um encontro face a face, mas não precisa necessariamente ser assim. Aproximadamente 90% das pessoas que visamos e exploramos com sucesso em nossos ataques sociais, confiaram em nós porque pensavam que trabalhávamos na mesma empresa que eles. A preparação...O Facebook permite aos seus usuários procurar por outros através de palavras chaves. Muitos usuários do Facebook incluem seus locais de trabalho em seus perfis. Algumas empresas ainda possuem grupos no Facebook onde somente empregados ou contratados são admitidos como membros. Assim, o primeiro passo consiste em fazer o reconhecimento dos empregados que utilizam o Facebook. Isso pode ser feito com o próprio Facebook ou com ferramentas de reconhecimento como Maltego e pipl.com. Reconhecimento é um termo militar para coleta de inteligência sobre o inimigo antes de efetuar um ataque. Com relação ao hacking, reconhecimento pode ser feito contra alvos sociais (facebook, myspace, etc) e alvos tecnológicos (servidores, firewalls, roteadores, etc.). Como nosso método preferido de ataque aos empregados via Facebook é por meio de phishing, normalmente fazemos o reconhecimento por ambos vetores. Quando da preparação para o ataque, duas coisas são boas, mas somente uma é necessária. O primeiro é a descoberta de alguma vulnerabilidade do tipo Cross-site Scripting (ou qualquer coisa útil) no website dos nossos clientes (ou em um de seus servidores). A vulnerabilidade é o componente que não é necessário, mas é bom quando existe (podemos lançar mão de falsos servidores se for necessário). O segundo componente, que é o imprescindível, é a descoberta de perfis dos empregados de nossos clientes no Facebook (outras rede sociais também funcionam bem). Em um de nossos recentes trabalhos, executamos um reconhecimento social e técnico detalhado. O reconhecimento social nos permitiu identificar 1402 empregados, 906 dos quais, utilizavam Facebook. Não lemos todos os 906 perfis, mas algo em torno de 200, o que nos deu informação suficiente para criar um falso perfil de empregado. O reconhecimento técnico identificou várias vulnerabilidades, uma das quais era de Cross-site Scripting, que sempre desejamos encontrar. Nesse caso, a vulnerabilidade existia no website corporativo do nosso cliente. Cross-site scripting (“XSS”) é um tipo de vulnerabilidade de segurança, muito frequentemente encontrado em websites que não possuem validações de entrada suficientes ou recursos de validações de dados. Vulnerabilidades de XSS permitem ao atacante injetar um código malicioso no website que será visualizado por outros usuários. Essa injeção pode ser feita no lado do servidor, salvando o código nele (num fórum, blog, etc) ou pode ser feito no lado do usuário, injetando o código em uma URL (link de página) especialmente montado para ser entregue à vítima. Durante esse trabalho, usamos o ataque do lado do usuário ao invés do ataque ao servidor. A escolha foi feita porque nos permitiria escolher somente os usuários aos quais tínhamos interesse. Ataques do lado servidor não possuem precisão cirúrgica e normalmente afetam quaisquer usuários que visualizam as páginas do servidor comprometido. O payload (vetor de ataque) que criamos foi desenvolvido para exibir uma página segura (https), aparentemente legítima, que parecia ser um componente do website do nosso cliente. Quando a vítima clicava em um link especialmente montado, o payload era executado e a falsa página exibida. Nesse caso, a falsa página alertava aos usuários que suas contas (de acesso) podem ter sido comprometidas e que eles deveria verificar suas credenciais (usuário e senha) preenchendo os campos no formulário apresentado. Quando os usuários informavam suas credenciais no formulário, seus dados eram enviados para o nosso site e extraídos por uma ferramenta automatizada, criada para esse fim. Depois de criarmos e testarmos o payload, iniciamos o processo de criar um perfil no Facebook facilmente confiável. Já que a maioria dos usuários visados eram empregados do sexo masculino, com idades entre 20 e 40 anos, decidimos que o melhor seria que nos tornássemos uma atraente mulher de 28 anos. Achamos uma foto adequada pesquisando nas imagens do google e a usamos em nosso falso perfil do Facebook. Também populamos o perfil com informações sobre nossas experiências profissionais combinando histórias que coletamos de perfis de empregados reais. Após a montagem do perfil, nos associamos ao grupo do Facebook do nosso cliente. A associação não teve nenhum problema e a requisição foi aprovada em questão de horas. Vinte minutos após ter sido aceito como membro do grupo, usuários legítimos começaram a solicitar a aprovação de amizade. Além das solicitações recebidas, fizemos centenas de solicitações também. Nossa lista de amigos cresceu muito rapidamente, incluindo gerentes, executivos, secretárias e até prestadores de serviço. Após ter coletado algumas centenas de amigos, começamos a trocar mensagens. Nossas conversas eram baseadas em assuntos relacionadas com trabalho a partir de informações coletadas dos perfis dos empregados legítimos. Após um período de três dias conversas e troca de links, postamos nosso link especialmente construído no nosso perfil do facebook. O título link era “Oh meu Deus, você viu isso? Acho que fomos hackeados!”. Foi o bastante para pessoas começarem a clicar no link e verificar suas credenciais. Ironicamente, o primeiro conjunto de credenciais continha a credencial da pessoa que nos contratou. Usamos essas credenciais para acessar a vpn (Virtual Private Network ou Rede Privada Virtual), o que por sua vez nos deu acesso à rede. Essas credenciais também nos permitiram acessar a maioria dos sistemas da rede, incluindo o servidor de Active Directory da rede (servidor de autenticação), o mainframe (computador de grande porte), sistemas de controle de bombas (N.T.: possivelmente de uma fábrica), console do firewall Checkpoint, etc. Era game over (fim de jogo). A invasão pelo Facebook funcionou novamente.
Considerações finaisAtaques de Engenharia Social podem comprometer milhares (e até milhões) de dólares investidos em soluções tecnológicas, uma vez que são direcionadas ao elo mais frágil de toda implementação de segurança: o ser humano. Em resposta à um leitor do artigo, o autor tece um comentário que é bastante esclarecedor: “Eliminado vulnerabilidades tecnológicas não vai proteger contra essa ameaça. A melhor maneira de defender é estabelecer e normatizar uma política que proíba os empregados de usar o nome de seus empregadores em fóruns de redes sociais. Políticas, aplicações de penalidades e educação são as únicas defesas efetivas contra ataques de Engenharia Social”. |

