
Undeable Credential Stealer Weapon. Bem-vindo ao palco, ao Sion.
Ô pessoal, boa tarde. Quem quer dormir com uma palestra dessa aqui logo depois do almoço, hein? Tentem ficar acordado. Se alguém for dormir, eu jogo a latinha aqui. A gente vai acordando, pessoal. Bom, brincadeira à parte. Eh, primeiramente queria agradecer, né, a apresentação e a Bside por ter aceita a palestra e convidado. Eh, essa palestra ela veio por base de uma pesquisa, eu vou explicar com calma depois, foi até em cima de um cliente. Obviamente eu não vou trazer as informações, eh, mas eu vou mostrar a poque de como funciona aqui, né? Tô usando o notebook de um amigo meu, né, para mostrar que porque por acaso eu nunca tinha feito esse teste com ele. Enfim, várias
características que vão ser importantes, tá? Eh, a ideia é a gente tentar com esse com esse utilizando tecnologia do PWA, utilizando fishing, né? Uma forma de você conseguir roubar credenciais. Então, com isso tudo, a gente tem consegue montar uma campanha de fiche mais direcionada, sabe? E quando você quer montar um comparando em ferramentas eh a lista email de vários clientes ou de várias pessoas internas do time ou mandar um geralzão, né? Seria um spear fishing mesmo, sabe? Então nasceu disso aí e uma pesquisa, extensão da pesquisa que eu tô fazendo, né, que é realmente para roubar credenciais internas do browser, que seria a segunda parte do PWA. Não obtive associação ainda, mas eu vou falar sobre
isso com vocês. Provavelmente eu consiga agora e mandei uma talk para Defcon e para algumas villas da Defon também. Vamos ver se eu consigo passar e consigo apresentar lá em agosto, tá? Trazendo a agenda aí rapidamente, né? Vou falar aí quem sou eu, uma introdução do assunto, vou falar um pouco da anatomia do PWA, né? Vou mostrar um pouco do código, como é que ele funcionou, por a parte funcional. Desculpa. com as campanhas de ficha utilizando o próprio PWA, fazendo demonstração ao vivo para vocês e algumas dicas e conclusões. Falar um pouquinho quem que é aon, tá? Eh, primeiro, eu sempre fui um cara de comunidade, por isso que essa primeira eh minha primeira foto aí comecei a
palestrar muito novo. Logo depois que eu entrei na faculdade, pouco um, dois anos depois, eu comecei a palestrar, tive oportunidade, então sempre fui muito envolvido com a comunidade, comecei muito com a parte de open source, depois eu fui pra parte realmente de segurança dentro dessa minha carreira e fui me aprofundando, onde tem a carreira de mais de 20 anos aí trabalhando com segurança na formação, especificamente. Conta uma história rápida, né? Quando era moleque, 15 anos, sempre gostava de segurança, andava na MIRK, né, nas irknetes da vida aí, né? ver como é que eu tô velho, que a barrba já tá ficando branca aqui. Eh, careca, né? Até transplante já fiz, mas eh nessa época eu estudava muito, né? Então
a gente tinha muita fonte de Mirk, não tinha inteligência artificial para ajudar, não tinha Google, né? Contar aquela história, né? Porque nem nossos pais contavam, né? Vamos, eu tive que andar 40 km na estrada de terra para estudar, mas mais ou menos isso. Só que era no meio digital essa estrada de terra e era bom, né? Foi onde eu conheci várias pessoas, né? B Dimon e vários outros que a gente conhece aí, que são os mitos na época, que eram pessoas que tal, eu tinha contato ali, né? A gente batia papo e se conhecia, mas por ns na época, meu nick era outro, não era nem usava meu nome Alion. Eh, e conheci então um pouco disso, falar um pouquinho
da parte de cima ali. Existem três projetos, né? Alguns me conhecem pelo projeto Security Cast encerrou depois de 10 anos no A, tá? a gente fechou o projeto Security Cast, que é um projeto de que era um um podcast online que a gente fazia com webcast, na verdade, né? A gente entrava online web há mais de 10 anos atrás e fazia um depois se tornava um podcast. Quem quisesse assistir no YouTube ou nos nas redes de streaming aí de áudio, podia assistir. O segundo de lá para cá, o Black Box, que hoje é o maior evento de cybersegurança do Centro-Oeste, né? A gente colocou na última edição mais de 550 pessoas. A gente tá estimando nessa
aqui mais de 750 pessoas. Vai ser dia 25 de junho. Já tá com as inscrições lá. Como eu falei que eu sou de comunidade, tem os ingressos que a gente fala que vou ter que ficar fazendo isso aqui toda hora tá? Eh, os ingressos são VIP, que você pode fazer uma contribuição e ganhar os kits, né? E também tem os ingressos gratuitos, porque a gente sempre vai trazer o gratuito pra comunidade para que todos possam entrar. E o primeiro projeto que é o Alon Júnior, que na verdade se tornou o true hacking, né, desse tempo para cá. que é um projeto que eu vou em online fazendo streamings e mostrando a o hacking real, tentando derrubar toda
aquela história, né, de mentoria por 1497, você torneer em três dias. Então vim combatendo isso, né? Acesse aqui esse curso, exploda um posto de gasolina e por aí vai. Eh, as referências valem, né, para não ser tomar um processinho, né? Daqui a pouco o advogado bate ali na porta e já tô lascado. Mas vocês entenderam o que eu tô falando. Minha ideia é mostrar que o hacking não é só isso, que o hacking ele é um cheiro de vida, que o hacking ele é muito mais além disso. Então eu mostro isso nas lives que eu faço. Quem puder depois se inscrever no canal True Hacking no YouTube, eu agradeço muito. Aqui embaixo a minha parte de pesquisa,
né, na linha do meio ali, onde eu vai fiz várias revistas ali, vários artigos para Pest Magazine, então tô sempre escrevendo pra comunidade. É um livro que eu lancei, segurança cibernética, é uma uma coisa mais de alta gestão, mas é que é legal, que fala da como a segurança cibernética era tratada no Brasil na época que eu escrevi. E aqui embaixo a empresa onde eu trabalho hoje. Eu trabalho na Pura, eu sou red de segurança de serviço de segurança ofensiva. Então eu trabalho com todos os tipos, análise de mawer, penest, né, eh, hardware hacking, análise, tudo você imaginar na parte de segurança ofensiva, a nossa a empresa tá fazendo. Sou red lá e cuido da equipe
que faz toda e meto a mão na massa ainda, que é o que eu mais gosto, né? Nunca deixei de fazer. Desde a minha época que eu fui sis e algumas empresas de um tempo atrás, nunca deixei de meter a mão na massa. E voltei mais pra raiz agora, né, nesse último ano e meio que eu tô lá na pura. Ali no canto direito, aquele carro ali, né, é o meu hobby, né, eu gosto sempre de falar aquele negócio de side be, né, o que que você faz no dia a dia. Meu hobby, então eu participo de arrancada. É o meu carro que tem mais de 750 cavalos. Então vou para autódromo, corro, né? Meu minha paixão, aquilo ali
que eu que eu que eu gasto meu dinheiro todo, né? Que praticamente não tenho filho. Aí eu falo pra minha mulher: "Se aqui é meu filho, né? Então o dinheiro vai todo para ele." Hã, seis cilindros em linha, turbo, né? Coisa de maluco. Tô agora fazendo upgrade, câmbio automático, mas não vou entrar nessa que na palestra não é sobre isso. Câmbio automático, competição, né? Né? Aí o pessoal fala assim: "Pô, agora você tá colocando, tirando o manual e botando automático, né?" Falei: "Você já viu o Ferrari sair como manual já dos últimos 20 anos? Então significa que deve ser melhor, né? Mas é um pouco disso. A evolução é um câmbio automático de competição, né? né? Que ele troca muito
mais rápido. Mas depois a gente conversa isso, senão o pessoal vai ficar assim: "Pô, vou embora da par, o cara vai falar de carro e se deixar eu falo. Perdi, não fala nada de hoje de manhã, não perdi que eu tô fazendo streaming lá embaixo. Não contem, pelo amor de Deus, quem ganhou hoje, que eu tenho que ver mais tarde. E ali embaixo é a minha pet, né, Jojô? Jojó não ficou tão legível ali, mas é uma galinha, né? Não moro na roça. Pessoal fal: "Ó, você mora na roça? Eu tenho, por acaso, eu tenho fazenda, mas não moro na roça. E é na minha casa mesmo, urbano. E do nada, um dia ela apareceu lá em casa. Logo depois que eu
construí, a casa construí do zero. Depois de um mês morando lá, ela apareceu e começou a dormir na minha janela do lado do meu quarto e me adotou, ficou lá. Aí uns brincar, pô, né, assim, sem ofensa nem nada, falaram: "Ah, isso é macumba, tal". Eu falei: "Pô, não é não, tá? Me traz muita sorte, pô. Não tenho, né, que tem um estigma disso tudo, mas enfim, né? É, me repete, mas ela me adotou e fica lá, chama de Jojô, ela vem, senta das vezes na minha mesa durante, senta no meu pé durante as lives. Quando eu tô trabalhando, chamo pelo nome, ela vem correndo, me acorda, né, às 6:30 da manhã, dá aquela gritada
na janela às vezes, mas tá bom. A minha pet aí, Jojô, gosto muito dela. Bom, vamos ao que interessa, né? Já falei demais de mim, da minha vida. A gente pode conversar depois também se alguém tiver interesse, mas vamos contextualizar o problema. Como é que tudo isso começou, tá? Começou. Primeiramente, vou contar a historinha, né? Eu vou tirar daqui, senão vocês vão ficar lendo o slide. Um cliente, né, um cliente veio a mim na empresa, falou: "Ó, quero que vocês, a gente tá fazendo uma pesquisa de mercado, quero que vocês façem o pintest na nossa empresa." Eu geralmente, eu ao não gosto de fazer fishing porque se você pegar ferramentas novamente, fazer em massa escala, né? Geralmente você não
consegue muita coisa, você consegue um outro clicando, né? Muita gente desconfia. Então você tem que fazer algo direcionado. Aí a empresa falou: "Ah, mas eu quero, eu quero." Eu coloquei lá, né? Falei: "Vou fazer um teste envio". Ele falou assim: "Aí, aí durante a pesquisa de preço a gente ganhou, né?" Tipo assim: "Ah, vou escolher vocês, eu quero que vocês entreguem o serviço pra gente". E só que o seguinte, sobre o fishing, acho que você tem razão, você pode fazer meio que de qualquer jeito, até porque nenhuma empresa nunca conseguiu fazer com que a gente caísse em ficha em massa. Então acho que vocês também não vão conseguir, né? Aí o que que acontece quando o pessoal fala isso para você,
né? Você fala assim: "Filho de uma, né? Eu vou fazer e vou botar para f agora, sabe? Agora vai acontecer, eu vou roubar até a tua senha". É. Aí eu mexeu com o meu ego. E assim, nunca foi uma coisa que eu tivesse mexido no geral, né? conhecer alguns conceitos, tal, mas falar assim, nascer do zero, aí você vem novamente, não tô falando mal de ferramentas, mas Gofishing, hacking, etc, todos que vocês conhecem, se a gente mandar ali, manda meio massivo, pode ser que alguns já entrem em blacklist, mesmo eles fazendo rotação de IP, às vezes SMTP igual, tem um monte de regrinhas ali que pode ser que caiam num block black blockist ali da empresa e você não consegue entregar.
Aí eu falei, vamos fazer tudo diferente. Comecei a olhar todas as formas que todo mundo faz. Falei assim, como é que a gente faz? Pesquisa. Comecei a olhar, ah, o fulano usa a ferramenta tal, outros usam a própria ferramenta ones, que é gratuita, né? Que é go fishing, né? Eu esqueci o nome agora, que é gratuito. Falei, não vou usar nada disso, não vou criar a minha também, porque senão vou ter que seguir a metodologia igual vou fazer um algo muito diferente para que dê certo. E aí eu falei, vamos pesquisar. Primeiro eu descobri que a empresa utilizava Microsoft para fazer login, né? E era um Blackbox, tá? Mas eu descobri que eles faziam Microsoft, até porque tava, né,
um dos logins lá para fora era o 365 lá, enfim, bateu na T, falei: "Beleza, significa que a maioria usa o indão, então se usa o indão já vai facilitar minha vida um bocado porque a gente vai ter uma linha a seguir ali, né, de não porque é mais frágil nem nada, mas facilita meu escopo de ataque." E aí eu fui estudando e descobri um negócio chamado PWA. O que que é PWA? Progressiv, né? E o que que ele faz? é um aplicativo que ele combina a funcionalidade de web com app. Às vezes você tem um web app aí no seu no seu celular que você acha que é um aplicativo mesmo e não é, né? Eh, vamos
lá. É, é um aplicativo, mas quando você clica, ele carrega uma página na HTML, sem head, sem nada ali. Então você vê uma tela em branco, quadradinho cortado e você tá navegando, na verdade, na web, não é um aplicativo que carrega e consome API via clique de botão. Então ele funciona offline também com cash. Às vezes ele salva algumas informações em cash para fazer. Eh, tem integração com o navegador sistema operacional, porque ele fica instalado como um software, né? Mas ele é um software pertencente aos browsers que tem integração com o sistema operacional. Ele se torna como se fosse um XER, mas não é, tá? E a instalação é direto pelo navegador sem App Store, aí né plim. Falei, pô, só
coisa legal pra gente, né? Não tem que passar para App Store, então eu não vou ter que passar pelo crio de App Store, nem tem que criar um para isso, né? Dois, integração com navegador sistema operacional. Vamos ver como é que ele funciona pra questão de bypass, que era o que eu precisava. E três, ele funciona offline. Então, o cara estava, deixa ali, se ele deixar por ali, vai continuar ali o resto da vida. Por que que essa tocologia é relevante? Ela tá ganhando muita acessibilidade, versalidade para os usuários e, obviamente, os atacantes nos últimos anos. O exemplo, o outlook menorzinho, aquele que a gente usa no celular, ele é assim, por incrível que pareça, né?
Então você vê lá, tipo, já viram como tem um Outlookzinho no seu navegador ali no canto embaixo, um iconezinho geralmente tem. Vocês vão ver, vocês vão identificar, falar assim: "Pô, é isso aí, ele é um EBAP, tá? Então ele é um PW PWA e outros estão começando a utilizar também. Então vamos falar um pouquinho do fishing, né? Meu segundo problema. Então um landing page para colocar o Microsoft. Eu já achei PWA, vou usar ele. Segundo fishing. O F tradicional ele vem o quê? Link falso, página simples e facilmente detectável, né? Blocklist, blá blá blá blá blá. Nova geração de ataque. O que que a gente tem que fazer? Tem que focar no spare fishing, ou seja, qual o público
que eu quero atacar e a forma da ingeneração social que eu vou fazer. Se eu colocasse, por exemplo, um Qcode aqui na palestra, eu acho que a gente é mais, né, mais esperto, mas chega aqui, ó, galera, isso aqui tá o link pro curso gratuito Dion, entra aqui, geralmente o cara vai lá e clica no link, vai olhar porque a gente tá aqui no, né, com engenheir social, tal. Então eu tenho que usar isso aí pra mesma forma, tenho que usar na mesma técnica para conseguir entregar lá e o impacto crescente, né? Porque dessa forma eu tenho que trazer uma maior dificuldade para eu ser detectado como fraude, porque vocês sabem, né? Você vai receber um e-mail,
né? Você manda e-mail lá e eu vamos vamos partir pra vida real, mensagem de WhatsApp, todo mundo recebe as mensagens de WhatsApp e já sabe, ó, sou seu irmão, pô, perdi aqui, cara. Todo mundo já tá tão macaco velho na história de receber mensagem, de pedir dinheiro, né? Muito difícil alguém cair quando tem mais consciência do assunto. Fala assim: "Não, isso aqui não vou cair não. Sei que, né, ligo paraa minha irmã, ligo para não sei o quem e se minha irmã quiser dinheiro também não quero emprestar, então não vou mandar não." Então é isso. E a mesma coisa, todo mundo já põe e-mail. Quem aqui usa e-mail diariamente? Das mãos estão levantadas de forma
pessoal. Deixa, deixa em pé a mão de forma pessoal. pessoal mesmo, difícil de encontrar. Geralmente é tudo WhatsApp, Discord, enfim, né? Ferramentas de comunicação, né? Então o e-mail ele caiu muito em desuso e obviamente as técnicas de fishing deram a caída na pesquisa também, porque ninguém mais manda e-mail. Você não vai receber o e-mail do Banco do Brasil dizendo que você tem que atualizar o seu aplicativo do do banco no computador. Você vai receber o quê? um link, né, no seu WhatsApp para que você clique lá e, enfim, né, ali vai acontecer alguma coisa que o criminoso tá querendo. Cenário atual de segurança, né, e que acabam subestimando um pouco o PWA, eh, porque que ninguém tá de olho nisso
ainda. Então, a aparência ele, ele tem sempre aparência legítima porque eu dou a aparência que eu quero para ele, eu programo e deixo, ah, não tem aqueles mes, aqueles programinhas que a gente já sabe que vem até no C de copiar site, etc. Então eu dou uma aparência legítima a ele. A funcionalidade dele vai ser idêntica aos apps e sites confiáveis. Clica no link, ele vai funcionar, vai redirecionar, etc. Baixo monitoramento. Por que que eu digo baixo monitoramento? Faço o teste, coloco em ferramentas de monitoramento, tipo antivírus, que vocês falarem o nome que vocês quiserem para aquelas ferramentas de host. Não são pegos ainda. Nenhum identifica como comunicação estranha nem nada. Confra no navegador. Por quê? Porque se tá no
navegador confio. Adotado por grandes empresas como Google, Microsoft, então todas elas já usam isso, tá? Então, como tá crescendo o uso dele, obviamente vai me ajudando no cenário de ataque. Documentação de uso PWA de fishing sofisticado tá começando a acender porque todo mundo tá começando a falar de PWA, então alguns atacantes já estão utilizando. E como eu falei, serviços populares como Microsoft já utilizam alta utilização de credencial e obviamente impacto significativo pra empresa. Se eu conseguir trazer ali dentro para que a pessoa utilize, então se eu é meio que um do dia a dia, eu consigo mostrar para ele que vale a pena. Então, vou falar um pouquinho rapidamente da anatomia, né? Como é que eu utilizei o PWA para isso?
P ele tem, né? Então já sabe o fishing, eu entendi o que que eu precisava fazer e o PWA. Agora, como é que eu fiz com PWA, né? Trazendo a minha linha de raciocínio aqui para mostrar para vocês. Ele tem quatro principais arquivos, tá? E um não apareceu aí, não sei por, mas são quatro. Service work, ah, o index HTML, né? O principal. Service Worker que vai fazer o quê? Ele intermedia os requests, as requisições que vão pro site que eu quero. Ele tem um cash e algumas ações offline que ele identifica. Tem o manifesto Jon que ele vai ter ícone e nome e mostrar até tipo identificar o comportamento que o PWA vai ter dentro do seu sistema
operacional, onde é que vai salvar, qual pasta, qual nome, que tipo de nome vai ter lá da instalação. API Web que é integração com o navegador para notificações de acesso de hardware e outros recursos. Então isso aqui que é o mais legal. E mesmo assim não é identificado. Esse é que por que eu falo? Por que que importa? Porque esses componentes eles criam experiências muito parecidas com appu identificar, né? Obviamente talvez você com mais experiência, a gente com mais experiência consiga identificar, mas as pessoas comuns não identificam, acham que estão mexendo realmente numa aplicação real dentro da máquina. E eu vou mostrar aqui para vocês. Eh, vamos lá. E agora eu tinha que juntar os dois, pá,
né? Como é que eu vou fazer? Engenheira social e PWA. Eu tinha que achar uma forma de explorar a confiança do pessoal, de marcas e serviços populares, fazendo o quê? Com PW vou criar uma interface que imita os apps reais, mimetizam os apps reais, que tenha persistência de cash local e navegação offline para que eu fique persistente naquele sistema e até roubando mais senhas no futuro. E redução de alerta de segurança como site não seguro, né? famoso, vou usar HTPS para dar uma disfarçada ali e tal, ou usar algumas coisas que tiram a visibilidade daquele site não ter nem https, que eu vou mostrar para vocês que não tinha. Eu fiz ele sem até o htps para testar e
funcionou. O alvo que eu escolhi foi o Microsoft porque era do meu cliente, tá? Mas ah, eu posso fazer com Google? Pode, você faz com quem você quiser. Ele, por acaso, eu não utilizei porque ele é amplamente utilizado, mas é porque ele era amplamente utilizado na empresa, que era meu escopo. E como eu falei, a o login da Microsoft, ele era utilizado para tudo dentro da empresa, todos os logins, porque ele usava o AD, né? Aí o AD tinha um AD connect lá com toda a parte da EUR. Então, se eu conseguisse essa credencial, o que que eu conseguia? acessar tudo da empresa, tudo, tudo, tudo, tudo. Tinha um ponto no meio do caminho que eu não vou apresentar aqui,
mas que eu fiz também, que deu muito certo, mas foi meio, como era spare fishing, uma coisa mais dedicada, eu fiz algo meio manual, mas eu vou explicar para vocês já já, tá? Foi na parte de dois eh 2FA, impacto potencial, comprometimento de dados corporativos, que era o que eu queria, e escalabilidade de ataques em serviços integrados. Então, tudo que tinha integração com aquele login lá, eu ia conseguir fazer, porque eu tenho o login na mão. Opa, como é que funcionou esse ciclo de PWA? Então, só é a coisa mais simples, só para entender, eu crio o PWA, construir a interface, configuro o service work e as APIs internas e entrego pro alvo por e-mail, rede social, link direto. No meu
caso, eu usei e-mail porque a empresa usa a maioria com de comunicação externa com e-mail ainda. Captura de credenciais, são formulários falsos que emitam login. Requisição interceptada do worker e filtração de dados. Hoje eu pego essas credenciais e armazeno elas em algum local, tá? Agora que eu lembrei que eu acho que não vou conseguir logar, mas tinha que tá no meu computador, mas enfim, vou dar um jeito. Então, que que eu vou conseguir fazer para que meu PWA se torne real, ou seja, aceitável? ele tem que ter uma aparência legítima, ele tem que ter uma eh persistência eh local, ele tem que ser de fácil instalação e de baixa detecção. O PWA em si, não sei porquê, mas eu
sempre identifiquei eh aliás, eu sei o porquê, mas não consegui entender porque que não se estendem ainda essas análises. Os EDRs entendem que isso, por ser uma extensão do browser, não se passa por uma verificação. Então não é um plugin, tá? Não é uma uma ado nem nada, ele é um PWA. Então ele usa como se fosse, quando você clica, ele é como se fosse um link do browser numa tela separada, tá? É mais ou menos isso. Vocês vão ver na demonstração. Então, xarap decode. Nós vamos parar de falar aqui e falar um pouquinho de de código. Então, o que que eu fiz? Tá. Ah, ah, pô, o cara colocou vin aí para mostrar que ele é muito bom, né? O cara
é fodão, n? mexe com Vim, não é? Porque eu tô acostumado realmente com Vim. Há mais de 25 anos eu uso VINIM. Para mim é simples, mas qualquer editor de código vai funcionar. Servidor web local, né, de com Python HTTP Server para esse teste inicial. Depois eu utilizei obviamente um site eh mais elaborado. Vou falar um pouco disso. E tem que ter esses quatro arquivos aí que eu falei que é o HTML, que é a interface direta da aplicação com usuário, CSS, que é o estilo visual que você vai copiar do site principal, manifestar o nome do aplicativo ícone URL e o Service Worker, que ele faz o controle de cash, interceptação dessas requisições rum servidor, né, o servidor
falso e o usuário. Esse aqui é o exemplo de manifest. Então você coloca o nome, que que eu queria? Microsoft. Eu botei lá Microsoft login, que é o mesmo nome que a Microsoft utiliza na hora que você vai fazer login. Usei os mesmos nomes que a empresa usava, tá? Short name ms login. Vai começar onde? Em barra. Ou seja, na hora que você chama ele, ele vai chamar o barra, que é o index HTML. E os ícones tá ali. Esse icon.Ppng que tá ali na pasta, que tem um 192 por 192 pixel, que é uma imagem/PNG, é qual? as quatro janelinhas do Windows lá que a gente conhece, né, coloridinhas lá, pá, você coloca lá dentro que você
consegue facilmente em qualquer lugar da internet. Segundo é falsificação. Então, para replicar a interface, eu precisei de algumas técnicas aí, eu falo, né, quando a gente é estigado. Uma coisa que eu não sou muito fã é programar, mas enfim, eu tô mexendo tanto programação nos últimos ve meses que eu tô começando a gostar disso, mas nunca gostei. Então, para não tô falando que eu sou dev, tá? Mas eu tô tendo que mexer para esse tipo de coisa aqui. Eu simplesmente fazia um Python ali, um sabia identificar um um C++ em outro lugar ou simplesmente fazer alguma coisa em Java para um pain test, mas agora, né, criando do zero. Então criei um forminho simples, né, com o botão onde tem
usuário, senha e entrar. E esse aí eu botei com o nome capture, como era um teste inicial, que é o de que vai capturar, não ia deixar capturar, né? Capture lá no header para não ser espotado. Forme simples, vai aparecer dois campos, e-mail, senha e o entrar. Aí vem o service worker, né, que ele faz o quê? interceptação. Então ele é o script que roda em segundo plano, que vai gerenciar o cash, as requisições que eu já falei e ele vai interceptar o login e coletar as credenciais e mandar para mim no arquivo txt que fica dentro do servidor. Então essa a ideia desse service work e depois eu faço o quê? Direciono esse cara para um site real,
como acontece muito, né, pro site de volta de login, etc. Mas eu deixei ele em em loop para ver quantas vezes, né, as almas sem luz lá iam ficar clicando, né, e tentando mandar de novo usuário e senha. Teve um que foram 12 vezes, tá? Eu falei: "Cara, não, já decorei só assim, não precisa mandar mais não." É, nem pensou nisso, né? Já tinha bloqueado, né? Ele não pensou, realmente. Então, só para vocês entenderem a interceptação do Service Work, né? Ele vai fazer um fet naquele post do event método lá e aí ele vai mandar para mim no barra o que tiver no barracapture mandar pro meu site ofetmiciosserver.com/credentials, que é o arquivo credentials que eu tenho
lá dentro, só para ele salvar um txtida dentro do meu servidor. Ele ele funciona ali no back no no por trás da requisição. Vai mandar para lá e encaminha se eu quisesse, né, brincar com aquela coisa toda lá dentro lá ele, né, lá dentro, né, enfim. Então aqui é um exemplo de back end, né, do próprio Python que eu fiz, que eu fiz para rodar para fazer simplesmente o post node jss. Uma coisa bem simples também, só para fazer redirecionamento do que eu roubei da credencial. Eu pego a credencial, roubo, pego o e-mail, roubo, falo pro cara que ele fez, teve sucesso na autenticação e dou OK para ele fazer essa comunicação lá dentro, tá?
Bem simples mesmo. Aí já eu vou chegar no na po, eu mostro para vocês direitinho. Fishing. Essa foi a parte mais legal. Eu vou tentar resumir aqui pra gente conseguir mostrar. Você pode usar SMS, etc., o que for, mas eu tinha que usar o e-mail. E essa aqui foi a parte mais gostosa do negócio. Falei assim: "Cara, como é que eu vou enganar um monte de pessoas, né?" Aí você tem que mexer o quê? Com curiosidade, né? Isso foi ano passado. E o que que mais vocês têm curiosidade dentro de uma empresa? Todo todo mundo tem curiosidade. Obrigado. Não precisa falar mais nada. Vou passar aqui direto. Vou passar aqui direto porque eu vou logo paraa PC por
não vou ficar falando disso aqui não, que isso aqui é coisas talvez você já saiba. Hã? Ah, né? Então vou vou explicar onde é que eu cheguei. Primeira coisa, né? LinkedIn, nome da empresa. Quem que é analista de RH dessa empresa? Pá, comecei a procurar. Aí descobri o nome e aí é legal que ela bota o carro que ela usa mesmo na empresa, né? Sou analista de RH, BP na empresa tal. É delícia, né? Eu não posso falar nada que lá também tá o meu, mas tá lá dentro e eu peguei o nome dela completo. E por obviedade, quando a empresa usa quais nomes durante o e-mail que você vai escrever e qual que é?
E o último nome, você vai dar só azar se por acaso tiver um homônimo e ela usar o penúltimo nome, mas tem que tentar sorte. Falou: "Vou nesse aqui, não vou ficar testando não." E aí eu falei, beleza, qual que foi a segunda pesquisa? Quem que é o vice-presidente dessa empresa de de vice? Não, foi vice-presidente. Você não pode ir muito direto se isso isso chama atenção, pô. Se você bondar que se vai resolver problema do que eu tô vou criar aqui, você vai entender, tá? Então eu peguei o nome do CEO. Ah, vamos lá. Como é que eu montei a estrutura do e-mail? O e-mail que eu recebi paraa autorização do serviço era o quê? É a
skin do que eles usam, né? Então não foi tão black box assim. Os caras me deram um linkzinho do que eu precisava. Então peguei a estrutura de e-mail que tinha logo, etc. Fiz igualzinho, igualzinho até a linha dupla entre o nome e digital. Não, eles não usam. Não, não usam. Foi facilitando, mas falar assim, o endereço embaixo, qual esses detalhes do e-mail corporativo vai ficar bem a cara da empresa. Aí eu falei, tá, que que eu vou falar sobre salário? Bom, primeiro eu tenho informação que eles usam tudo Microsoft 365. Então, todos os documentos devem ficar o quê? Online. Não vou anexar um arquivo no e-mail, senão eu vou cair, né, no drive da Microsoft.
Então eu falei assim, vamos falar salário. Aí, que que eu mandei, né? Já tinha o nome das pessoas. que se eu falei assim, eu não, eu não vou fazer um ataque somente para diretor, etc, as pessoas que eu quero, eu vou fazer o ataque dado o desafio que eu recebi pro time de tecnologia todinho. Eu fui atrás do time de tecnologia todinho na do LinkedIn, quase que fala o palavrão. Fui atrás dele, falei até eu quero que eu eu botei na minha cabeça que até a galera de segurança tinha que cair, sacou? Eu falei assim: "Vai ter que cair". Aí eu mandei assim, ó: "Bom dia, né, Dr. Fulano não botei doutor, mas fulano, que é o vice-presidente, botei o
nome dele ali completo com o sobrenome. Identificamos uma possível discrepância no cálculo dos salários desse mês. Olha só como é que você já pega essa porta. O salário desse mês tá errado nos cálculos. A tabela salarial apresentada apresenta os valores que foram possivelmente processados incorretamente. Eu não botei nome de plataforma porque eu não sabia se eles usavam tots e etc, etc, né? Pedimos por gentileza que revise os valores atribuídos. Aí eu boto com urgência grandão, porque eu já novamente falo de urgência, todo mundo vai querer ver, né? Porque é urgente. Então é real, o cara pensa, não foi para mim e é urgente, então deu merda, né? Aconteceu alguma coisa. e nos informe imediatamente para a correção. Ah, desde
quando um vice-presidente vai revisar uma tabela salarial, cara? Assim, vamos, um vice-presidente, mano, era de RH, mas desde quando, né? Ah, o que que você tem que fazer ainda? Dá instrução pro cara, né? O pessoal ver. Você vai acessar o link do documento, tabela salarial. Você botava o mousezinho em cima, ali, tinha um fake eh fake direcionamento para Microsoft, mas depois ele direcionava para onde eu queria. Verifique o nome do correspondente que estão marcados em amarelo. Então assim, tem uma galera que tá marcada em amarelo, então vai vir mais gente do que eu quero ver. Eu vou ver o salário de uma galera. Caso o valor realmente esteja correto, por favor, né? Responda esse e-mail com
urgência de novo até o final do dia. Pedindo desculpa pelo transtorno, agradecemos a atenção para resolvermos o mais rápido possível. Cara, todo mundo ia clicar nesse meil. Eu falei que até eu, se eu receber esse e-mail aqui, se eu mandar com cópia para mim, eu vou clicar. Porque assim, não é vangloriana, mas é algo que você realmente buscou. Salário, urgência. né? E você mandando o nome do vice-presidente no e-mail, a mulher, a analista, eu falei até que era mulher, era para falar, né? Analista de RH, encaminhou. Então tudo isso montou um cenário, né, assim, povo é muito real, tipo, não é uma coisa assim, fulano, veja isso, ciclano veja aquilo, tá? Então, é algo que realmente trouxe
um peso na apresentação do e-mail. Eu vou e aí tá aí vem a parte legal, né, que quando você vence, eu mandei, tá? Eh, eu não sei a questão de porcentagem, a X% clicou da equipe de tecnologia, não sei porque eu não tinha acesso a quantos e-mails a equipe de tecnologia tinha, mas eu fiz um ataque muito forte à tecnologia, alguns cargos de diretoria, secretárias de diretores e e presidentes e vice-presidentes, tal. Eu sei que meu sucesso foi de 82%, né? E que teve duas pessoas do time de segurança que clicaram no e-mail. Ah, o senhor, como é que você sabe que foram eles que clicaram e-mail? Porque ele clicou no e-mail. e mandou usuário sempre.
E o segundo, né, eu sei que o time de resposta incidente também clicou, mas aí eu já sei que era para testar. Então todos eles clicaram antes do time de resposta acidente. Então não foi o teste porque o time de resposta dente depois eu descobri que ele é separado lá dentro, né, e responde ali. Enfim, eu tenho, eu tendi, né, a no momento achar assim, não, acho que ele clicou errado, sabe? Eu tava testando, mandou qualquer senha, mas como eu tava usando e foi, eu mandei tipo num horário específico também meio:15 a hora que às vezes o soc tá almoçando, a hora que o time saiu, que o cara tá ali de bobeira no computador, não vai
almoçar mais tarde, clica. Então eu usei essa técnica aí também, tá? Vamos pra demonstração aqui. Deixa eu ver se o Wi-Fi vai funcionar legal.
Ainda bem que não foi minha senha aqui, né? Do meu sócio aqui.
Pera aí, pera aí. Foi no errado. Ah cadê? Então, vamos lá. Qual foi a técnica que eu usei para envio do e-mail? Antes que eu mostre aqui para vocês, tá? A técnica de envio do e-mail, eu falei, não vou mandar por Golfish nem nada, aí que foi o pulo do gato. Qual, quais as empresas que vocês conhecem que vai ter a melhor configuração de e-mail, a maior preocupação com blocklist e com IP fora de blocklist mundial, etc? Qual que são as empresas que quais serviços que são vendidos? Qual? E-mail marketing, empresas que vendem e-mail marketing. Eu usei uma nacional, tá? E aí eu fiz o envio desse e-mail por lá, que você pode configurar o HTML bonitinho. Coloquei lá
os nomes, né? Coloquei tudo certo e fiz o, eu tinha esquecido desse detalhe, por isso que eu voltei. E fiz o envio de e-mail e 100% foi entregue. Aí o pessoal veio, mas vocês não tiveram nenhum e-mail bloqueado? Falei: "Não, não." E eu falei, até brinquei, né? na hora de entregar o relatório, a hora que você, né, dá aquela pisada assim no, né, no cara assim, meio que a a você se torna um pouco arrogante, né? Inclusive os 18% que não clicaram, tenho certeza, porque não viram ainda o e-mail. Se vocês não recolherem, eles vão clicar, né? O pessoal e o pessoal gostou muito no final gostou muito. E foi legal que eles reverteram porque eles tinham sido
muito arrogantes na a primeira reunião, eles foram muito arrogantes, sabe? Ah, vocês não vão achar nada no peste, engenharia social não precisa fazer com muita vontade nem nada. Ah, tá. O que que eu fiz manual antes de eu mostrar aqui a POC? O que eu fiz manual foi o 2FA, duplo fator de autenticação, né? A Microsoft ela te mostra o número. E aí o que que eu fiz? Eu não mandei o número, eu coloquei um número. Alguns deram certo, outros não, porque eles mandam três, tá? Então eu tinha 33% de chance. Eu falei: "A pessoa vai digitar o número, clicar no número e digitar para mim o número que tinha na tela, né? Porque você tem que clicar nos três."
Então eu fiz o contrário, meio que reverso, o pessoal não se atentou. Então, quando eu recebi, eu já tentava na hora, porque ele não tava clicando no certo né? É, do authenticator. Porque ele me mandava, eu mandava autenticar, pegava o número que eu tinha, jogava e mais três, então eu tinha chance de acertar ou não. Então, fiz essa brincadeira, meio que mandei para ele, fiquei esperando ele clicar de volta. Então, foi um pouco diferente do que eu vou mostrar aqui. Só não tenho dois FA porque ia ficar mais complicado eu apresentar. Foi mal, não deu tempo. Então eu criei uma poque, tá? Reting village aqui porque eu fiz essa demonstração lá aí porque eu tava uma
outra figura e o pessoal depois ficou falando que foi nessa empresa e não foi, tá? Tem algum, enfim, depois eu explico também. Não adianta ficar falando aqui, senão é pior. Então aqui seria a logo da empresa. E eu usei essa logo para disfarçar tanto pro envio de e-mail e marketing que tem algumas empresas que já analisam o logo da empresa e essa empresa ela é muito conhecida e ela é gigantesca, é multinacional. Eh, então você tenta passar, sei lá, por Banco do Brasil, a empresa já reconhece o o ícone do Banco do Brasil, não deixa a campanha de meio marketing rodar, porque pode ser um fishing passando pela empresa dela. Então já tem vários, várias empresas de tratam. Então que que
eu fiz, né? Né? base 64, né? Imagenzinha no base 64 desse tamanho. Eu reconstro a imagem no browser, o cara nem sabe o que que tá passando ali. Ele só vê um monte de código e toca pra frente. Então tá aqui. Que que o cara recebe? Recebe esse link quando clica lá na tabela salarial. Clicou aqui em login. O único momento que eu não consegui disfarçar de jeito nenhum ainda é essa parte aqui, ó. Ele fala, né, instale app, etc. Microsoft login, ele bota o site que eu tô usando que não é Microsoft, mas você pode usar umimus, tal, mas eu fui na carador e usei meu site mesau.com.br porque era um pain test pago, então não tinha muito
por eu disfarçar, né? Não tava sendo black hat naquele momento, né? Não que eu seja, mas aí você vem aqui e instalar. Muita gente já vai na automático, não lei que tá embaixo. Instalou. Olha só o detalhezinho aqui. Isso aqui é web app que vocês estão vendo. É uma janelinha ali em cima. É tudo fake. Eu montei a janelinha, aquele iconezinho de aumentar, diminuir, né? Desculpa, aquela parte de cima é o header mesmo do browser, né? Ali embaixo é fake, não tem login Microsoft com, na verdade era o e-mail da empresa. Ali é fake, não tem, você não edita. Isso aqui não é um campo editável para você editar aqui para algum lugar. É um fake mesmo.
E aí eu montei a tela de login igual do bonitão lá, né, da empresa lá, tal, e o cara digitava, né, aj@aj.com. Aí a senha 1 2 3 4 5 6, né? Vou licar minha senha aqui para vocês. Beleza? Aqui eu parei, mas só para ir mais rápido pro final, né, do do da demonstração, o arquivo foi compartilhado com você porque é o que a Microsoft faz, né? E depois ela abre o arquivo. E aí o que que a pessoa lá, as almas sem luz fizeram, né? Depois de botar authenticator tudo, ele fazia o quê? Voltava authenticator, tudo. Eu mandava de volta, voltava. Pô, mas tipo assim, cadê o arquivo que não tá carregando para mim, né? Então foi mais
ou menos essa. Muita gente não vem aqui, né? Negócio de salvar a senha, tal. E onde é que fica esse arquivinho, né? Credenciais.ttxt. dentro do meu site. Eu acho que dá para abrir aqui. Eu acho que é esse nome mesmo. Quer ver? Vocês vem que eu tirei aqui, né? Tipo quando você clica enter, ele apaga o site, fica em blank. É normal, tá? É de propósito para pessoal depois não olhar e ver que tinha ali o endereço em cima. Por quê? Eu precisava de o maior tempo possível se alguém identificar que era um fishing para que rendesse. Uma pessoa identificou, falou pro time de resposta acidente, né? E depois de pouco tempo, né? 3 horas3 que o time de resposta
acidente foi lá e fez o primeiro login. Então foi o tempo inicial, ou seja, começou meio e5, né? 3:45 foi o primeiro login do pessoal de resposta acidente. Eu acho que é isso aqui, ó. Se eu não achar, eu vou depois eu mostro para vocês aí. Eu acho que é esse. Não achou. Enfim, queria mostrar o arquivo aqui. Não sei se eu usei credential, sabe? Eu não lembro agora o nome. Deixa eu ver aqui para finalizar aqui, senão o próximo palestrante vai ficar com raiva de mim. Ah, tá aí. Isso aqui é um teste. Então, esse é o arquivo que fica lá dentro, que eu deixei em aberto. E aí a gente vai, se tiver algum palavrão, me desculpa,
tá pessoal né? Tem umas figuras aí que fizeram tentando, né? Tipo, foi o Tauan, se é quem conhece Tau sabe que ele começou a fazer brincadeira, né? Então eu recebo qual que é aí, qual que é essa parte próxima do projeto para já terminar, tá? Aí eu já vou direto pro finalzinho ali. Cook local e storage seion storage. Isso aqui são onde ficam armazenados no browser os cooks de sessão que a minha ideia é que eu na hora que ele execute isso, eu puxe tudo isso e jogue para esse meu servidor, tá? Então é o segundo estágio desse projeto que eu tô desenvolvendo, que tá sendo mais chato, porque ele aqui agora eu consigo ele ser ele full operacional,
iPhone, Android, Mac, Google Chrome, Firefox. Tô aqui no Mac, vocês podem testar no celular de vocês e bota qualquer senha depois ali, só para ver. Aion.com.br/poc. Vai instalar o app no seu Windows, no seu no Linux não deu certo. Não sei por não expandi muito também porque não era meu foco, né? Muita gente não usa o Linux que é foco desses ataques de ficha. Então, deixa eu voltar aqui só para se eu achar, né? Agora eu vou ter que voltar aqui. Ah, cadê? Cadê? Cadê?
Desculpa, pessoal. Já vou lá pro finalzinho aqui. Acho que é o final mesmo. Talvez é só a dica, né? Tipo assim, desconfie de tudo, blá blá, né? Que vocês já conhecem. Tome cuidado. PWA não é detectável, eh, não tem que achar, passou por vários EDRs, fiz vários testes e depois eu fico à disposição com quem quiser trocar ideia sobre esse assunto que realmente foi um sucesso, tá? Assim, a pesquisa foi um sucesso. Então, gostaria de agradecer a todos, tá, imensamente aí por ter esse tempo. Se esperarem só para eu tirar uma foto rapidinho com vocês aqui, eu agradeço. Mas muito obrigado, pessoal. Valeu. Tchau. Tchau.
Tirar com o pedaço aqui. Esconde a cara aí quem for do da galera do BF lá. Valeu, pessoal. Obrigado. Tchau. Tchau. [Aplausos] Muito obrigada pela sua palestra, Sion. Foi incrível. Daqui alguns minutos o Marcos Rodrigues de Cavalho vai entrar falando sobre desvendando a execução remota de código em PDFs. Uma ameaça oculta. lá se quiser lá dele.