28 de outubro de 2016

Novo ataque contra Windows: AtomBombing

Foi descoberta há alguns dias uma falha de implementação no Windows que permite um ataque remoto que possibilita realizar man-in-the-middle contra browsers, tirar screenshot da tela do alvo, e acessar senhas armazenadas no browser.

É interessante dar uma lida na explicação da Microsoft em seu blog sobre o que são e como funcionam as Atom tables, que possibilitam essa exploração: 
https://msdn.microsoft.com/en-us/library/windows/desktop/ms649053(v=vs.85).aspx

AtomBombing afeta todas as versões do Windows. E foi testada em particular contra o Windows 10, sendo totalmente eficaz.

Entretanto, uma grande questão que surgiu, foi: esse problema não pode ser corrigido por um patch, já que não depende de uma brecha ou falha no código, e sim sobre como esse sistema operacional foi desenhado e implementado.

O mecanismo do Windows que o AtomBombing explora é chamado Atom tables. Essas tabelas são fornecidas pelo sistema operacional para permitir que aplicativos armazenem e acessem dados. Estas Atom tables também podem ser usadas para compartilhar dados entre aplicações.


O que foi descoberto é que um código malicioso pode escrever em uma Atom table e forçar um programa legítimo a recuperar o código malicioso da mesma. E assim, o programa legítimo, agora contendo o código malicioso, pode ser manipulado para executar esse código.

Esse outro link explica bem como isso ocorre e como pode ser feito: 
https://breakingmalware.com/injection-techniques/atombombing-brand-new-code-injection-for-windows/

Obviamente que tudo isso depende de realiza um code injection, mas uma simples engenharia social já possibilitaria realiza isso, pois esse código malicioso só conseguiria escrever nas Atom tables localmente. Para uma PoC, segue o link para um código que consegue fazer isso e injetar um shellcode a ser executado por um aplicativo válido e reconhecido: 
https://github.com/BreakingMalwareResearch/atom-bombing

Divirtam-se!

27 de outubro de 2016

ZIB - Botnet via TOR

O ZIB é conhecido como The Open TOR Botnet, sendo um projeto baseado em Python, que até alguns meses atrás ainda era completamente indetectável pelos antivírus, pois se utiliza de um padrão de encriptação e ofuscamento utilizado pelo DoD (Department of Defense) americano, que é alterado para cada novo deployment. Resumindo: para cada novo cliente gerado para a botnet, o tamanho e codificação do arquivo é diferente, nunca mantendo a mesma assinatura, por exemplo.

Outro ponto, que pode ser percebido pelo nome do projeto, é que a comunicação é feita via TOR, para encriptar e evitar o rastreamento da fonte de controle dos bots, que são gerenciados através do IRC.

Outras duas características desse bots, é que eles podem usar um sistema de autenticação para permitir que apenas usuários com credenciais possam acessá-los e comandá-los, seja toda a botnet, ou apenas uma parte da botnet; e a outra características, é o gerenciamento de pagamentos via BitCoin, através do qual o dono da botnet pode "alugar" seus hosts para outras pessoas.

É bem importante frisar, como o próprio desenvolvedor da ferramenta colocou em seu github, que essa ferramenta é para propósito de pesquisa. Portanto, indico o uso dessa ferramenta para que possam entender o funcionamento de uma botnet, e criar labs onde sejam capazes de monitorar o funcionamento e fazer a forense de hosts infectados, como exercício de resposta a incidentes.

Confesso que das versões gratuitas de botnets liberadas para pesquisa, essa foi uma das mais completas que encontrei até hoje.

Para entender as muitas características e funcionalidades, além de poder baixar os arquivos do ZIB, acessem o GitHub dos desenvolvedores através desse link.