Tenho o prazer de apresentar o tópico de hoje "Como foder os bandidos e a máfia usando o botnet JavaScript". Primeiro, quero me apresentar e a meu país - sou Chema Alonso, trabalho para uma pequena empresa chamada Informatica64. Eu também faço a segurança da Microsoft e moro na Espanha.

Se você não esteve na Espanha, definitivamente deveria visitá-la, há muitos lugares dignos de atenção. Esta é Madrid, uma cidade que nunca dorme, você vê no primeiro slide, é menor que Nova York. Aqui é Barcelona, com seu incrível templo da Sagrada Família e, é claro, Pamplona, onde as pessoas fogem de touros raivosos. Existe apenas uma regra: se você estiver bêbado, não corra! E assim tudo é simples: você só precisa correr mais rápido que o touro.
Se você gosta de férias especiais, aqui está a batalha dos tomates Tomatin. Não tenho certeza sobre a história desse costume, mas você só precisa jogar tomates, e isso é bem interessante. Sim, essa é a Espanha!
Vamos começar o nosso tópico. É bem simples: crie uma botnet, e é isso. Quantos pensaram em criar uma botnet? E quem realmente o criou? Então, é claro, só eu. A ideia de criar uma botnet é bastante interessante, mas sou uma pessoa preguiçosa. Eu sou da Espanha, então isso é normal. Além disso, não temos dinheiro, não tivemos um “dia zero”, não somos o FBI ou a NSA que podem usar as redes de graça, e não somos Google, Apple ou Microsoft, cujos equipamentos existem em todo o mundo.
Quero mostrar uma imagem ampliada na tela - esta é a invenção dos espanhóis, eles se sentam na piscina e conectam os aparelhos eletrônicos através de uma extensão, que flutua graças aos chinelos de borracha.

Esta é uma ilustração maravilhosa de como usamos coisas diferentes na Espanha. Nós, espanhóis, agimos à nossa maneira, não como os outros. Portanto, a ideia de criar uma botnet é bastante simples - vamos infectá-los todos! Uma ideia muito simples que queríamos implementar em uma botnet era que os computadores envolvidos nela queriam se infectar.

Se você pensar bem, esse é um tópico bastante comum na Internet. A indústria de malware se espalhou amplamente nos últimos 5 a 10 anos com a ajuda de antivírus fraudulentos e truques de engenharia social, então por que não uma botnet faz esse truque?

A botnet é baseada na idéia de um ataque "intermediário" usando interceptação de mensagens entre um cliente e um servidor. Basta capturar o canal e temos controle total. Você pode usar vários cenários de captura de rede: falsificação de ARP, DHCP fraudulento em redes compatíveis com IPv4 ou IPv6, falsificação de ICMPv6, ataque SLAAC, falsificação de DNS e assim por diante.
Publicamos uma nova ferramenta no meio do ataque do homem, chamada Evil FOCA, com um clique e pronto. E, claro, se você pode configurar o DNS, pode criar um homem no meio do ataque.
Existem dificuldades porque você precisa lidar com muitos provedores de Internet e muitas redes. Um dos truques mais usados alguns anos atrás foi o método "man in the browser", que é uma espécie de extensão da tecnologia de ataque "man in the middle".
Por um longo tempo, uma escola russa de hackers usou com sucesso essa técnica com o Internet Explorer 6 com o conhecido plug-in Browser Helper Objects (BHO), um componente Active X que permitia abrir arquivos originalmente destinados apenas ao navegador. Eles criaram malware disfarçado de BHO. Isso tornou possível acessar todos os dados, interceptar senhas e códigos inseridos no teclado, principalmente para conexões entre instituições bancárias. Portanto, esse Trojan bancário começou a ser chamado de "russos no meu navegador IE".

Esse é um método de ataque muito comum, configurando um arquivo XML Trojan especial, simples, mas funcionando bem.
Portanto, precisávamos escrever um código que não seria detectado pelos sistemas antivírus, mas decidimos que era muito difícil para nós. Portanto, decidimos usar o chamado "cache do navegador envenenado" ou o ataque "JavaScript no meio" e o chamamos de "o homem na guia". A ideia é bem simples.

Se você não conseguir controlar o navegador inteiro, poderá executar o JavaScript em uma guia do usuário e poderá fazer muitas coisas. Você pode acessar o código, modificar o HTML, acessar os campos do formulário, controlar a guia e assim por diante.
Os recursos do ataque "JavaScript no meio" são:
- uso não constante - limpar o cache significa remover o conteúdo infectado;
- o conteúdo em cache existe antes da data de validade,
um hacker pode injetar JavaScript remotamente; - acesso a cookies como apenas HTTP, acesso ao código HTML, endereços URL, execução de código.
Existe um projeto muito famoso - a estrutura de exploração do navegador BEEF. Ele permite que você faça muitas coisas interessantes, por exemplo, insira um pequeno pedaço de código JavaScript no navegador do usuário para envenenar o cache.

O problema é que precisamos configurá-lo na Internet, o que é bastante difícil se você precisar infectar muitos bots de rede. Portanto, nossa ideia era mais simples - criar uma botnet JavaScript usando o Scratch.
Com base na idéia de um ambiente que infecta especificamente um arquivo JavaScript, primeiro decidimos que a melhor maneira de criar uma botnet seria se os bots implementassem o princípio do "proprio motu", ou seja, "por iniciativa própria", não usando um "homem no meio", mas usando próprios usuários. Decidimos nos concentrar na rede TOR e nos proxies usados na Internet.

A ideia desta rede é simples - se você é o último da linha, pode acessar todo o conteúdo interceptando todas as conexões.
Para implementá-lo, construímos uma máquina que era "o homem do meio" e a registramos como um nó TOR e como um servidor proxy anônimo, e nos dois casos trabalhamos por um tempo.No entanto, devemos dizer que nossa atividade maliciosa como Um host TOR foi descoberto, o que ignorou nosso endereço IP.

Para a reabilitação, nos ofereceram a realização de testes, a criação de uma sessão de testes e assim por diante, o que nos pareceu muito complicado, porque somos espanhóis. Portanto, a próxima coisa que fizemos foi criar nosso próprio servidor proxy. Isso é bastante simples, porque o proxy não possui uma infraestrutura tão grande quanto a TOR, é apenas um servidor independente em que os usuários estão tentando ingressar.

Estudamos todos os manuais no servidor proxy anônimo na Internet e percebemos que esse é um esquema pronto para o “homem do meio”. Ao criar um servidor proxy através do qual as pessoas tentam se conectar à Internet, conseguimos coletar todos os dados e infectar todos os navegadores.
A primeira coisa que fizemos foi alugar um servidor proxy na Internet. Obviamente, pensamos em suas funções, não precisávamos de um servidor "brinquedo" com o Pirate Bay ou a Amazon, lembrávamos do Wikileaks, mas também não precisávamos de um servidor megapower. E também decidimos que é melhor deixá-lo em um país onde não há leis. Decidimos alugar um servidor no Afeganistão, Irã, Cazaquistão ou na Espanha (aplausos e risadas).
Depois que alugamos o servidor, começamos a configurá-lo. Era para ser um servidor simples baseado nos proxies Apache e SQUID. Além disso, usando esse servidor, infectávamos todos os arquivos JavaScript com um pequeno pedaço de código, o que leva apenas algumas linhas.

Assim que o usuário se conectou ao nosso servidor, fomos ao site e recebemos uma página de resposta que continha um arquivo JavaScript. Retornamos ao usuário quase o JavaScript original, adicionando apenas 2 linhas de "carga útil" a ele. Ao mesmo tempo, não queríamos usar uma coisa conhecida na Internet como BEEF, mas simplesmente inserimos duas linhas de código em todos os arquivos JavaScript que passavam pelo nosso servidor proxy.
Tudo o que precisávamos é mostrado no próximo slide.

Configuramos a "carga útil" em nosso proxy SQUID e excluímos a política de expiração no arquivo de configuração do servidor Apache, porque depois que o JavaScript infectou o navegador, essa "infecção" deveria ter permanecido lá para sempre.
Em seguida, criamos o script real mostrado no próximo slide, que infecta arquivos JavaScript.

Copiamos os arquivos, adicionamos o script pasarela.js a eles e enviamos esses arquivos atualizados aos clientes para o endereço IP usando a impressão “http: // .......”. Este é um pequeno pedaço de código, cheio de vulnerabilidades, mas funciona. O script em si, chamado Pasarela, que foi copiado para todos os arquivos JavaScript, se parece com o mostrado no próximo slide. Tudo o que ele faz é baixar o payload.php envenenado de um servidor malicioso e relatar sua identificação baixando imagens do jsonip.php.

No código, você pode ver se o elemento foi criado ou não. O objetivo é não executar o pasarela.js mais de uma vez na mesma página. Como nós, como pessoas decentes, não queremos prejudicar os usuários, publicamos na página principal do servidor o seguinte apelo a todos os clientes que usariam os serviços de nosso servidor proxy.

“ATENÇÃO! Este servidor proxy é usado para pesquisas no campo da segurança na Internet. Todos os arquivos JavaScript serão infectados e todos os seus dados serão coletados. Se você quiser se manter seguro, não use este servidor proxy. Se você fizer isso, não envie informações confidenciais. Se você ainda decidir usá-lo, lembre-se de fazer isso por sua própria conta e risco.
Se você não deseja perder sua senha ou seus dados pessoais, não use nosso servidor! Esta é uma política de segurança muito boa. O exército usa uma política de segurança mais ou menos semelhante - você vê um aviso semelhante no site do Corpo de Engenheiros do Exército dos EUA, então agimos de maneira bastante legal.

Portanto, publicamos nosso servidor proxy na Internet e escrevemos que é um proxy aberto e que todos podem adicionar seu próprio proxy ao nosso banco de dados. Você vê que temos guias com listas de proxies diferentes, classificando-as por país, por porta, há uma guia de proxies selecionados.

A idéia de fazer com que os "bandidos" usassem nosso servidor proxy malicioso era muito simples: nós o registramos em uma lista de servidores proxy. Por um longo tempo, e em muitos sites e blogs, é recomendável usar servidores proxy para obter um endereço IP anônimo, o que é comum a muitos de nós. Selecionamos o site aleatoriamente e registramos um endereço IP na porta 31337 para atrair um pouco mais de atenção.
Esses sites com listas de proxy realizam testes de segurança de novos proxies, mas o teste não é tão complexo quanto na rede TOR. Na verdade, não se trata de registrar um servidor proxy para teste ou não, mas assim que ele se encaixa nessa lista de servidores testados, centenas de sites e aplicativos que fazem o download dessas listas sem nenhuma verificação de segurança são conectados imediatamente.
Basta passar no primeiro teste, por exemplo, um teste de conexão e funcionalidade, e a "mágica da Internet" fará com que seu endereço IP apareça como um endereço IP confiável em milhares de sites, o que aconteceu com o nosso endereço IP. O próximo slide mostra que nosso endereço IP fraudulento apareceu em milhares de sites.

Você vê que o nosso endereço IP apareceu na consulta de pesquisa 1110 vezes porque todos os proxies começaram a se copiar. Porque se você colocar seu endereço IP na lista de um servidor proxy, todos os outros servidores proxy começarão a copiar essas listas. É divertido, porque um dia isso lhe trará muitas coisas.
Em seguida, criamos uma "carga útil" para roubar cookies. Não queríamos lidar com cookies seguros, mas apenas usamos cookies HTTP. Copiamos cookies regulares e inseguros e os enviamos ao painel de controle.

Também usamos uma pequena "carga útil" para obter os campos do formulário, usamos as informações preenchidas pelo usuário e também as enviamos ao nosso painel de controle.

Isso, de fato, era tudo - agora era possível apreciar os frutos do nosso trabalho. Certa vez, conseguimos mobilizar 5.000 bots. Após analisar as conexões, descobrimos que a maioria das máquinas de nossas botnets estavam localizadas na Rússia, Brasil, México e Indonésia, onde os serviços de servidor proxy são muito procurados. Não precisamos pagar por isso, não precisamos criar nenhum malware polimórfico especial, basta publicar um único endereço IP do servidor na Internet. Bem, você sabe, nós somos da Espanha.
A questão era: quem usa esse tipo de serviço? Quantas pessoas nesta sala usam os serviços de servidores proxy na Internet? Portanto, se você deseja anonimato, use um servidor proxy. Se você deseja ainda mais anonimato, use mais de um servidor proxy, para poder infectar mais de um servidor proxy (risadas).

A idéia era que aqueles que usam esses servidores são, sem dúvida, pessoas ruins. Por exemplo, a máfia dos golpistas do "príncipe nigeriano", conhecida por todos.

A inscrição no prato: "Royal Bank of Nigeria". Spammer-scammer: "Enviei e-mails para todos que encontrei, meu príncipe, mas ninguém quer ajudá-lo a se livrar do seu dinheiro."
Antes de tudo, queríamos coletar dados de pessoas más que fazem coisas ruins. Assim, conseguimos coletar todas as informações dos golpistas nigerianos, incluindo nomes de usuário e senhas. Mas nós os alertamos sobre isso, então tudo é legal.
Assim que recebemos as senhas, entramos nas caixas de correio dessas pessoas e lá encontrei um dos meus golpistas-golpistas favoritos que tinham uma caixa de correio royalhotelengland@hotmail.co.uk.

Esse cara criou uma empresa de spam para enganar as pessoas, oferecendo-lhes um visto especial para conseguir trabalho no Reino Unido, pelo qual pediu 275 libras. O próximo slide mostra um e-mail no qual ele pediu dinheiro.

Parece uma carta oficial. Obviamente, havia muitas pessoas razoáveis no mundo que responderam a ele: "OK, mas primeiro mostre-me este trabalho e depois eu lhe enviarei dinheiro". Portanto, se um dos destinatários de spam suspeitava de uma fraude, ele não insistia e enfrentava outros clientes. No final, eles enviaram a ele todas as informações necessárias para obter um visto, todos os dados pessoais - você pode ver as digitalizações dos documentos no próximo slide.


Este é um currículo, páginas de passaporte e fotografias de alta qualidade para solicitar um passaporte no Reino Unido e até impressões digitais necessárias para obter um visto de trabalho no Reino Unido. Muitas pessoas enviaram esses dados a ele, e essa é a maneira mais fácil de roubar informações confidenciais que encontrei na minha vida. Se você tiver esses dados, poderá criar facilmente sua própria “mula” para realizar operações bancárias fraudulentas.
Outra das minhas contas de redes sociais favoritas de um site de namoro é esse cara, ou melhor, essa garota. Diga-me honestamente, pessoal - quantos de vocês pensam que uma garota assim procura um homem para fazer sexo na Internet?

Isso nos causou muita suspeita desde o início, por isso decidimos obter um nome de usuário e senha para esse perfil. Como você pode ver, esta Axionqueen escreve que está procurando um namorado para namorar ou ter um relacionamento sério, tem cerca de 30 anos e vive em Keller, Texas. Mas o fato é que encontramos um perfil completamente diferente em uma rede social diferente, onde essa “rainha” já mora em Auckland, na Nova Zelândia, e ela tem 31 anos e assim por diante. E então encontramos outro terceiro perfil da mesma garota no site da PlanetaLove USA, que indica que ela mora em Lynchburg, Virgínia e está interessada em homens de 39 a 60 anos.

Existe alguém da Virgínia aqui para conhecer essa garota?
Mas o mais interessante é que outro perfil do mesmo usuário parecia completamente diferente. Dessa vez nossa garota era da Alemanha.

E então decidimos entrar na caixa de correio desse usuário e nos familiarizar com as cartas dele. Naturalmente, este era um cara, não uma garota.
20:20 min
Conferência DEFCON 20. Como foder os bandidos (e a máfia) usando a botnet JavaScript. Parte 2Obrigado 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 da 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) 10GB DDR4 240GB SSD de 1Gbps até dezembro de graça quando 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?