Instrutor: Agora, tudo o
que fizemos até agora funcionará apenas com páginas HTTP.
A razão pela qual funciona contra
HTTP é que, como
vimos, os dados em HTTP são enviados como texto simples.
Portanto, é um texto que humanos como nós podem ler e compreender.
É por isso que quando somos
o homem do meio, podemos
ler este texto e, se quisermos, podemos modificar este
texto como quisermos.
Agora, isso é obviamente um
problema e esse problema foi corrigido no HTTPS.
Como você sabe, a maioria dos sites usa HTTPS.
O motivo pelo
qual, como eu disse, é uma versão mais segura do
HTTP e basicamente a
forma como funciona é que adiciona uma camada extra sobre o HTTP, que
é de onde vem o S.
Portanto, é um protocolo HTTP seguro
e essa camada extra criptografará os dados de texto simples que
o HTTP envia.
Portanto, se uma pessoa consegue se tornar o homem do meio, ela
será capaz de ler esses dados, mas
os dados serão um lixo.
Não será legível para
a pessoa que está interceptando a conexão.
Agora, HTTPS depende de TLS ou SSL para criptografar os dados e
isso é muito difícil de quebrar.
Portanto, para contornar isso, o método
mais fácil
é fazer o downgrade das conexões HTTPS para HTTP.
Portanto, como somos o
homem do meio, podemos verificar se o alvo está solicitando
um site HTTPS e, em vez de fornecer a versão
HTTPS desse site, forneceremos a versão HTTP.
Desta forma, os dados serão enviados
em texto simples e poderemos ler exatamente como
mostrei na aula anterior.
Para fazer isso, teremos
que configurar manualmente e usar uma ferramenta chamada
SSL Strip e mostrarei como fazer isso em meus
cursos mais avançados, mas felizmente, bettercap tem um
caplet que faz tudo isso para nós.
Eu também modifiquei este comprimido para
fazê-lo funcionar de forma mais confiável e em mais sites.
Portanto, certifique-se de usar a imagem Kali personalizada que
fiz para este
curso, pois ela vem com esta cápsula modificada por padrão.
Se você quiser usar o
Kali original, terá que baixar manualmente este comprimido e
colocá-lo no caminho certo.
Estou usando o Kali personalizado aqui, então
não vou precisar fazer nada disso.
Posso simplesmente executar o bettercap e usá-lo,
mas antes
de fazer isso, só quero ir ao diretório
inicial e modificar o spoof caplet que temos usado
nas palestras anteriores.
E eu só quero modificar uma coisa nisso.
Vou clicar com o
botão direito e abri-lo com o Leafpad.
E o que eu quero modificar é adicionar uma opção
para o sniff aqui.
Então, como você sabe, essa rede de linha. sniff on
ligará meu farejador, mas
antes de ligá-lo,
quero configurar a rede. fungar. local para verdadeiro.
E o que essa
opção fará, dirá ao bettercap para farejar todos os
dados, mesmo se ele achar que esses dados são dados locais.
A razão pela qual defini essa opção
como verdadeira é que, depois de usarmos o caplet de desvio de
HTTPS, os dados parecerão como se estivessem sendo enviados
de nosso computador.
Portanto, o bettercap pensará que essas senhas pertencem
a mim, ao meu
computador e não irá exibi-las para mim na tela.
É por isso que
estamos configurando como verdadeiro para que possamos ver
todos os nomes de usuário e as
senhas enviadas nos sites que faremos o downgrade de HTTPS para HTTP.
Vou salvar isso, Control +
S e encerrar,
Control + Q e agora estamos
prontos para usar este caplet
e ver como podemos fazer o downgrade de HTTPS
para HTTP e roubar senhas de páginas de
login que usam HTTPS por padrão .
Vou para o meu terminal
e vou usar o bettercap exatamente
como usei antes.
Então, estamos fazendo bettercap, o nome do programa.
Estamos fornecendo nossa
interface após o argumento iface.
Estamos usando o
argumento caplet para especificar um caplet
a ser executado assim que executarmos o
programa e estamos executando o
caplet de spoof, aquele que construímos na aula
anterior que irá executar o comando ARP
spoofing e executar o sniffer para nós.
Então, vou apertar Enter.
E como você pode ver, tudo foi executado conforme o esperado.
Se ajudarmos,
veremos todos os módulos em execução
e temos o arp. spoof e o farejador
funcionando com o reconhecimento e com a sonda.
Então isso é exatamente o que queríamos do nosso comprimido.
Portanto, em primeiro lugar, o caplet de bypass HSTS
é um dos muitos caplets que vem com o bettercap.
Se você quiser listar todos esses caplets,
você pode fazer caplets. show e como você
pode ver, você
obterá uma lista de todos os
caplets que você tem e sua localização no sistema.
Agora, o caplet que deseja executar é o caplet hstshijack.
Este aqui.
E para executar qualquer uma
dessas cápsulas, tudo que você precisa fazer é literalmente apenas digitar o nome.
E, como de costume, você pode usar a guia para preencher automaticamente.
Então, para executar nosso caplet aqui, tudo
o que tenho que fazer é digitar literalmente hs
e pressionar Tab e, como
você pode ver, ele se completará automaticamente para
mim e digitará o nome do caplet.
Agora, se eu pressionar Enter, isso carregará o
comprimido com todas as
suas opções e executará para mim.
Como você pode ver, como não vemos
nenhum erro, isso significa que tudo foi executado conforme o esperado.
Então, vamos para a máquina Windows,
navegar por algumas páginas
HTTPS e ver se podemos farejar dados, nomes de
usuário, senhas e URLs que eles inserem em seus computadores.
Então, eu tenho minha máquina Windows aqui.
Eu tenho o Chrome instalado.
Esta é a versão mais recente do Chrome
no momento da gravação desta palestra.
Uma boa ideia antes de tentar todas essas coisas
é remover seus dados de
navegação porque os sites que vamos tentar acessar podem
estar em cache e podem ser carregados apenas
de seu cache.
Isso só acontecerá se você estiver visitando
o mesmo site repetidamente, principalmente durante o teste.
Portanto, é realmente
uma boa ideia Control + Shift +
Delete e clicar em limpar os dados de navegação.
Certifique-se de que tudo isso está clicado.
Certifique-se de que está configurado para
o tempo todo e clique em Limpar para remover tudo isso.
E vamos ir para um site que
usa HTTPS.
Portanto, um bom exemplo seria o LinkedIn. com.
E perfeito.
Se você olhar
aqui no topo, verá que o site está
carregando por HTTP, não por HTTPS.
Portanto, poderemos ver tudo o que o usuário inserir
nessas caixas.
Então, vamos colocar um nome de usuário.
Vamos defini-lo como zaid @ zsecurity. org.
E vou colocar uma senha como 1234567890.
Realmente não importa.
Você pode usar qualquer senha.
E vou pressionar Enter para fazer o login.
Isso está errado, então obviamente estamos recebendo uma mensagem de
erro, mas se voltarmos a
Kali, como você pode ver, estamos capturando todos
esses dados porque eles não estão mais sendo enviados por HTTPS.
Ele está sendo enviado por HTTP.
E se você olhar
aqui, verá que capturamos as informações de login.
É enviado para o LinkedIn. com.
Enviado para este URL específico, um URL de login e você pode ver que o
nome de usuário é zaid @ zsecurity. org.
E a senha é de 123 até 90.
Então isso é muito, muito bom.
Vamos testar outro site HTTPS.
Vamos para StackOverflow. com.
Novamente, você pode ver no
topo, ele está carregando por HTTP, não HTTPS.
Então, vou clicar em Login.
E de novo, vou colocar meu e-mail.
Zaid @ zsecurity. org.
E colocaremos uma senha como 1234567890.
Pressione Enter.
E vamos para a máquina Kali novamente.
Role para baixo desta vez porque estamos presos no topo.
E perfeito, você pode ver que temos uma solicitação POST aqui.
É enviado para este URL específico.
Novamente, você pode ver o login no URL.
Você pode ver o próprio site.
Stackoverflow. com.
E se rolarmos um pouco mais para baixo, podemos ver que
o nome de usuário é zaid @ zsecurity. org e a
senha novamente, 123, até 90.
Isso é muito, muito bom.
Agora podemos fazer o downgrade de qualquer conexão
HTTPS para HTTP, desde que o
site de destino use HTTPS, não HSTS.
Portanto, esse método funcionará em praticamente
todos os sites que usam HTTPS, exceto os sites realmente
populares, como Facebook, Twitter e assim por diante.
Então deixe-me mostrar um exemplo rápido.
Se eu for aqui e tentar acessar o Facebook. com, você verá
que o site foi carregado por
HTTPS, não por HTTP,
embora tenhamos configurado nosso caplet corretamente e embora
possamos fazer o downgrade de conexões HTTPS em
muitos
sites, como LinkedIn e Stack Overflow.
Isso está acontecendo porque o Facebook está usando HSTS, que é
um pouco mais complicado de ignorar.
Na
próxima aula, falaremos mais sobre o que é
HSTS, por que é complicado
contorná-lo e como contorná-lo parcialmente e ainda
obter nomes de usuário e senhas
de sites que o implementam,
como Facebook, Twitter e assim por diante.