Universidade Estadual de Adams. Como invadir sites. Parte 1

Apresentador: Agradeço a todos por terem vindo à nossa primeira palestra da série “Conversas sobre Ciência e Matemática durante o Intervalo para o Almoço”. Além disso, você recebeu e-mails em torno deste prédio do campus com agendas coladas de sete palestras a serem realizadas neste semestre. Quero apresentar a Dra. Susan Loveland, do Departamento de Ciência da Computação, que falará sobre como invadir sites.



Susan Loveland: No início da apresentação, quero mencionar que os hackers vêm em todos os tons de preto e branco. Hoje vou desempenhar o papel de hacker no Black Hat e agir no lado sombrio do hack, porque ser mau é muito mais divertido do que bom. Existem hackers nos chapéus brancos que trabalham para empresas de segurança de computadores e investigam a perícia em computadores. Eles tentam encontrar vulnerabilidades de segurança antes que os bandidos as explorem para seus próprios propósitos.

A tarefa desses hackers é encontrar vulnerabilidade sem prejudicar o aplicativo, compilar um relatório sobre uma falha de segurança e enviá-lo para a empresa. Eu próprio nunca pensei em invadir o site, por isso trouxe um co-relator que preparou os slides da nossa apresentação (coloca um chapéu preto).

Sou Eve Hacker (Eve Hacker), o alter ego do Dr. Loveland, que mostrará como invadir sites. Eu esqueci de mencionar que o Black Hat, como símbolo de hackers, veio até nós do velho oeste, no qual os bandidos usavam esse chapéu. E decidi que, para ser um hacker eficaz, preciso escolher o roupão apropriado para mim. Para que eu possa criar um clima apropriado para mim, e você pode estar interessado em assistir a esta apresentação. Então, passo a palavra ao Dr. Loveland (tira o chapéu).

Susan Loveland: Obrigado, Eve. Antes de começar, quero lhe dizer por que a Internet é tão atraente para hackers. Em primeiro lugar, a disseminação e acessibilidade dos aplicativos - de acordo com um relatório da associação White Hat 2009, aproximadamente 80% dos sites têm sérias vulnerabilidades.

Em segundo lugar, é lucrativo - a automação de ataques minimiza os custos dos hackers, enquanto aumenta os lucros para tamanhos enormes. Terceiro, facilidade de uso - hackers inteligentes e criativos gostam de se gabar de suas façanhas, e qualquer bandido pode usar os resultados de seu trabalho com o Google para encontrar centenas de ferramentas para invadir o aplicativo certo. Quarto, pelo anonimato - você pode violar a lei com segurança, porque é muito difícil descobrir quando o aplicativo da Web foi invadido e rastrear a pessoa que o fez. Quando você assalta fisicamente um banco, você deve estar no território do banco, mas ao invadir um aplicativo da Web, pode trabalhar no exterior, onde não há leis de extradição e é relativamente seguro do ponto de vista de hackers.

Então, o que você faz primeiro quando tenta invadir um aplicativo? O primeiro passo é o mais difícil, porque você precisa entender o que é esta aplicação, como ela funciona, onde tem “entradas e saídas”.



O exame da infraestrutura do aplicativo inclui identificação do servidor e varredura de portas. Então você precisa entender a composição do aplicativo: as strings e parâmetros das solicitações de URL, o mecanismo de autenticação, usando TLS / SSL, o software usado no aplicativo (PHP, Java), a estrutura de diretórios e o gerenciamento de sessões.

Portanto, eu apenas apresento o aplicativo que será invadido e o guio por todas as possíveis vulnerabilidades que ele possui. O aplicativo que estamos invadindo hoje é chamado "Páginas da Universidade". Este projeto foi desenvolvido na sala de aula do meu curso de programação na Web CS245 há cerca de um ano e meio.



Sua idéia era que todos no campus usassem um único conjunto de páginas da web para cada faculdade, pois isso pareceria mais profissional do que páginas de projetos diferentes feitos por funcionários de faculdades individuais. Conversei com Mark Schoneher para ajudar a mim e meus alunos nesse assunto. Mark enviou a todos os e-mails perguntando a eles que tipo de conteúdo eles gostariam de ver nas páginas da faculdade, e minha turma desenvolveu as “Páginas da faculdade” que são mostradas neste slide.

Como você pode ver, existe uma página principal com conteúdo destinado aos alunos do corpo docente, a guia "Treinamento", onde os professores podem postar links para cursos de treinamento individuais, a guia "Bolsas de estudos", onde você pode colocar os resultados das atividades científicas, as guias "Educação" e "Consultas" .

Meus alunos tentaram facilitar a manutenção dessas páginas pelos professores, para vincular a autorização do usuário à página. Depois de clicar no link no canto superior esquerdo da página, é aberto um formulário de registro no qual você precisa digitar o nome de usuário na rede do campus e o identificador de senha. Após a autorização, a mesma página principal é aberta, mas o botão "Editar" aparece sob a palavra "Informações". Depois de clicar neste botão, o professor pode entrar no painel do editor e adicionar ou corrigir informações na página. Essas são as principais características do aplicativo que estamos tentando invadir hoje.



Vamos voltar à nossa apresentação. No hacking, como qualquer outra profissão, você precisa de equipamento, caso contrário, o trabalho será ineficaz. Para invadir, precisamos de um servidor proxy.



Um servidor proxy acelera o acesso à invasão de uma página da Web interceptando todas as mensagens entre o computador cliente e o servidor. Você pode ver todas as mensagens, isso é muito útil, porque há muito tráfego entre o cliente e o servidor que não é visível do lado de fora. Um servidor proxy permite não apenas examinar o conteúdo do tráfego, mas também alterá-lo. Na verdade, você pode determinar completamente o que vai para o servidor para os alunos que estudam programação na sala de aula.

Quero observar que não importa para ninguém como você gerencia seu código no lado do cliente, porque um bom hacker sempre pode ignorar seu controle entrando em contato com o servidor diretamente conectado ao seu navegador. Assim, para quebrar nosso aplicativo, precisamos de um servidor proxy. Não é difícil obtê-lo - você acabou de baixar algum proxy da Internet.



No slide, você vê três proxies populares: WebScarab, BurpSuite e Paros. Você pode fazer o download de qualquer um deles gratuitamente, instalá-lo como qualquer outro aplicativo e configurar seu navegador para funcionar com proxies em alguns minutos.

O primeiro tipo de ataque que usamos hoje é o Dictionary Attack, ou pesquisa de dicionário. Todos os ataques desse tipo tentam capturar a senha de alguém, classificando a lista das senhas mais populares e as senhas padrão usando uma coleção de dicionários de senhas. Se você precisar desse dicionário, ele também poderá ser baixado da Internet, este é um recurso público.
Antes de iniciar um ataque de dicionário, você precisa estudar cuidadosamente a política de senha do aplicativo que está tentando atacar. No nosso caso, as “Páginas da faculdade” estão vinculadas à senha da Universidade Adams, portanto, precisamos descobrir que tipo de senha selecionaremos para invadir o aplicativo.



A melhor maneira de descobrir como é a senha é usar o recurso de recuperação de senha, porque ele fornece uma dica. Veja o que eu fiz - apenas digitei a senha errada e esses caras foram tão gentis que postaram uma mensagem no topo da página que descreve que tipo de senha eu posso tentar. Assim, aprendi que no meu dicionário, usado para conduzir o Dictionary Attack, eu deveria tentar qualquer palavra com um comprimento de pelo menos 8 caracteres, com letras maiúsculas e minúsculas e números.

Devo admitir que eles pioraram o serviço desde a última vez que visitei o site. Agora você não pode simplesmente verificar a funcionalidade da senha deles, porque eles mudaram sua política sobre hackers para uma menos amigável, e agora, como você pode ver, eles não dão nenhuma dica ao tentar redefinir a senha.

Felizmente, salvei uma captura de tela da aparência anterior, para que saibamos qual senha escolher. Acho que estamos prontos para dar a palavra a Eve, para que ela mostre como o ataque é realizado usando o método de busca no dicionário.

Eve Hacker: Obrigado, Dr. Loveland! A primeira coisa que vou fazer é ir para a janela de autorização, que precisamos enviar senhas para o servidor, e alterar ligeiramente a string da URL. Feito isso, recebo um formulário de autorização na tela, no qual preciso inserir o nome de usuário e a senha. Deveria conseguir distinguir a senha correta da incorreta, ou seja, ver qual erro o aplicativo relatará ao inserir a senha incorreta.

Como vou pegar a senha da Dra. Loveland, digito o nome de usuário dela sloveland na linha de nome de usuário, insiro a senha incorreta de 3 caracteres e clique no botão Login. Depois disso, a mensagem "Login inválido" é exibida. É muito importante ver como o aplicativo responde a uma senha incorreta.

Em seguida, preciso configurar meu navegador para usar um servidor proxy, para alterar as configurações do Firefox. Abra a guia "Configurações avançadas", desmarque a caixa "Usar configurações de proxy do sistema" e marque a caixa "Usar configuração manual de proxy". Meu proxy "escutará" a porta 8080, para que possa interceptar todas as solicitações endereçadas ao servidor.



A próxima coisa que preciso fazer é instalar o servidor proxy baixado, no meu caso, é o Burp Suite. Agora você vê como é a janela desse proxy, que eu uso durante o ataque. Mas tenho que voltar à página de autorização e reenviá-la para o servidor. O fato é que um problema pode surgir devido ao fato de eu ter iniciado o proxy pela primeira vez sem recarregar a página. Se você notou, nosso aplicativo usa uma conexão HTTPS segura e o servidor proxy não possui um certificado de segurança apropriado. Portanto, devo primeiro confirmar que o aplicativo pode usar uma conexão insegura com o proxy e colocar sua URL nas exceções da diretiva de segurança.



O que poderia acontecer se eu não corrigisse esse erro? Deixe-me voltar e mostrar isso a você. Volto às configurações do navegador e, desta vez, não vou me apressar em instalar configurações manuais de proxy que interceptam solicitações. Ativarei a caixa de seleção "Usar configurações de proxy do sistema" novamente, porque realmente preciso primeiro obter a página de autorização original e, nessa página, inserirei as configurações do navegador e retornarei às configurações manuais de proxy.

Portanto, agora temos uma página de autorização que "conversará" com o servidor proxy. Reinscrevo o nome de usuário do Dr. Loveland e a mesma senha inválida - fff, que são enviadas ao meu servidor proxy.

Em seguida, vou para a página de gerenciamento do servidor e clico na guia que abre a janela para visualizar a solicitação recebida.



Vamos ver como essa consulta fica no Spider - essa é a próxima guia na janela Burp Suite. Para fazer isso, eu uso o comando "enviar para o Spider" e vejo como é o formulário de login, é realmente interessante. Clico no botão "Ignorar formulário".



E volto à solicitação do POST que me interessa. Vemos uma solicitação que contém um formulário de autorização, ou seja, uma solicitação para inserir informações do usuário.



Temos vários métodos de ataque aqui - Scanner, Intruder, Repeater, Sequencer, Decoder, Comparer. Como vou usar o Intruder, enviei essas informações a ele usando o comando send to intruder e elas aparecem na janela na guia de posições. Esta é toda a informação que foi enviada ao servidor proxy.



Ele mostra muitas coisas ocultas que não podem ser vistas na página da web e destacou os campos com os quais os hackers gostam de lidar: ID da sessão ID da sessão, nome de usuário e senha usados ​​durante o ataque. A única coisa que nos interessa para o Dictionary Attack é a senha, por isso vou limpar a maioria dos campos, selecionar o campo da senha e usar o botão add § para adicionar esse campo ao dicionário.

Essa guia realmente o agradará como hacker, porque nela, usando o menu suspenso, você pode selecionar vários métodos de ataque - Sniper, Aríete, Pitchfork ou Bomba de cluster. Eu apenas faço isso e escolho o ataque do Sniper. Em seguida, na guia "Cargas úteis", é executada uma pequena configuração - faremos uma substituição de caracteres, porque substituirei os caracteres da senha pelas palavras do dicionário, após o qual devo baixar o dicionário que baixei anteriormente da Internet. Você vê o dicionário que é aberto, observe que eu excluí todas as palavras que contenham menos de 8 caracteres, porque não quero perder tempo.



Quero chamar sua atenção para o bloco à direita com os parâmetros a, b e E. Deixe-me perguntar: quando você é forçado a escolher uma senha, onde deve inserir números ou símbolos, já escolheu números ou símbolos que se parecem com as letras correspondentes com o qual você os substituirá? Você pode ficar tentado a usar esse método para facilitar a lembrança de sua senha, mas os hackers estão cientes disso. Portanto, as pessoas costumam usar 4 para A, 8 para B ou 3 para E. Às vezes, a letra A é substituída pelo símbolo @ e a letra b é substituída pelo número 6, porque parece com isso. Assim, neste bloco você pode configurar essas correspondências.

Sei também que as senhas das universidades exigem letras maiúsculas e, como meu dicionário contém apenas letras minúsculas, uso o menu abaixo para alterar o processo de seleção de senha e modificar as chaves de palavras que serão enviadas para essa ferramenta hacker. Também observo que você pode usar nomes próprios. Como esse computador pertence à cientista, ela provavelmente gosta de usar sinais de pontuação, e eu forneço essa opção, marcando-a com um menu suspenso.

A última coisa a fazer é ir para a guia Opções e inserir o endereço do site que queremos invadir, então insiro o endereço da página de autorização aqui.

No final, preciso usar uma ferramenta que me informe se a senha está correta ou não; portanto, digito o parâmetro Erro de login na string para que a aparência dessa frase na tela mostre um erro ao tentar fazer login.



Agora eu posso começar o meu ataque. Observo que ser parceiro do Dr. Loveland por muitos anos não é muito lucrativo, então não pude comprar uma versão profissional do Burp Suite e aproveitei a versão gratuita, que foi relatada pela janela que apareceu na tela. Portanto, na janela Intruder, você vê como o processo de invasão está ocorrendo e várias letras e símbolos são substituídos pelas variantes de senha testadas e testadas.



Normalmente, nessa hora, vou tomar uma xícara de café ou até voltar ao computador no dia seguinte, porque esse é um processo bastante lento - como você pode ver, ele começou com a primeira letra do alfabeto. No entanto, tivemos sorte - você vê a sétima linha com o resultado.



O Dr. Loveland escolheu a senha A @ rdv @ rk usando caracteres e letras, para que essa senha seja totalmente consistente com os requisitos da universidade e seja fácil de adivinhar com o Dictionary Attack. Portanto, você deve ter muito, muito cuidado ao escolher sua senha.
Portanto, passo a palavra ao Dr. Loveland, mas observe que agora eu sei sua senha e posso acessar o site a qualquer momento em seu nome (remove o Black Hat).

Susan Loveland: Obrigado, Eve. Quero perguntar à platéia: quão comuns são os ataques de quebra de senha? A resposta é muito, muito comum! Segundo especialistas, cerca de 70% dos sites têm vulnerabilidades no sistema de autorização. Isso significa que o desenvolvedor do aplicativo cometeu algum erro no mecanismo de login, o que facilita a invasão do site. Mas os ataques do Dictionary Attack são muito populares entre os hackers e, em 5 de janeiro do ano passado, esse método de hackers foi usado contra a conta de administrador do Twitter, que permitia invadir as contas de 33 pessoas muito famosas, incluindo Obama, e publicar piadas sobre hackers em suas páginas.

Vou falar sobre um caso tão anedótico: quando eu iniciei o servidor Web para o meu curso no ano passado, havia apenas quatro estudantes lá, mas, em teoria, é um servidor muito, muito importante; portanto, por duas semanas após o lançamento, ele sofreu ataques como " pesquisa no dicionário ”de duas fontes diferentes. Portanto, esses ataques são muito, muito comuns.

21:35 min

Universidade Estadual de Adams. Como invadir sites. Parte 2


Obrigado por ficar conosco. Você gosta dos nossos artigos? Deseja ver materiais mais interessantes? Ajude-nos fazendo um pedido ou recomendando a seus amigos, um desconto de 30% para os usuários da Habr em um análogo exclusivo de servidores básicos que inventamos para você: Toda a verdade sobre o VPS (KVM) E5-2650 v4 (6 núcleos) 10GB DDR4 240GB SSD 1Gbps de US $ 20 ou como dividir o servidor? (as opções estão disponíveis com RAID1 e RAID10, até 24 núcleos e até 40GB DDR4).

VPS (KVM) E5-2650 v4 (6 núcleos) 10 GB DDR4 240 GB SSD de 1 Gbps até a mola gratuitamente, ao pagar por um período de seis meses, você pode fazer o pedido aqui .

Dell R730xd 2 vezes mais barato? Somente nós temos 2 TVs Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 a partir de US $ 249 na Holanda e nos EUA! Leia sobre Como criar um prédio de infraestrutura. classe usando servidores Dell R730xd E5-2650 v4 custando 9.000 euros por um centavo?

Source: https://habr.com/ru/post/pt438330/


All Articles