1 pontos por GN⁺ 2023-07-14 | 1 comentários | Compartilhar no WhatsApp
  • Diagrama de um fluxo de ataque em múltiplas etapas que abusa em cadeia de diversos formatos de arquivo e recursos legados do Windows, como OOXML, RTF, OLE, CHM, VBScript, até chegar ao PEAPOD Payload final
  • Um OOXML hospedado remotamente carrega um afchunk.rtf incorporado; os OLE Objects dentro dele são o ponto de partida para conexões a recursos externos e vazamento de credenciais
  • Durante o ataque, NTLM Credentials são enviadas para um SMB Server controlado pelo atacante, e arquivos maliciosos são implantados por um caminho que passa por um arquivo .search-ms e por um ZIP gravado em %LocalAppData%
  • Se todas as tecnologias no gráfico fossem descartadas, cerca de 80% dos problemas de segurança seriam resolvidos, e o Windows seria, na prática, uma “camada de compatibilidade de malware para tudo”
  • Diagnóstico compatível de que a Microsoft não consegue remover tecnologias legadas por razões comerciais legítimas e, ao mesmo tempo, que nenhum sistema de alto valor jamais poderá estar seguro sobre essa pilha

Etapa 1 — Entrada pelo documento e vazamento de credenciais

  • Um documento OOXML hospedado remotamente carrega, via XML, o afchunk.rtf incorporado
  • Dentro do afchunk.rtf há dois OLE Objects, que funcionam como ponto de bifurcação para conexões externas e roubo de credenciais
    • Os OLE Objects se conectam ao link /MSHTML_C7/start.xml
    • Os OLE Objects extraem NTLM Credentials e as enviam para um SMB Server controlado pelo atacante
  • file001.url também aponta para o mesmo SMB Server

Etapa 2 — Via XSLT e iframe

  • /MSHTML_C7/start.xml leva ao start.xml em XSLT format
  • start.xml (XSLT) se conecta a RFile.asp
  • RFile.asp cria dois iframes, que se conectam novamente ao SMB Server controlado pelo atacante

Etapa 3 — Entrega de arquivos via SMB Server

  • O SMB Server entrega [somehex]_file001.htm
  • [somehex]_file001.htm leva a um arquivo .search-ms, que provoca a criação de um ZIP gravado em %LocalAppData%
  • [somehex]_file001.htm também se ramifica para redir_obj.htm, e redir_obj.htm carrega (loads) 1111.htm

Etapa 4 — Extração do ZIP e execução do payload

  • Dentro do ZIP gravado em %LocalAppData% estão 2222.chm e 1111.htm
  • 2222.chm carrega (loads) file1.mht
    • file1.mhtfileH.htm → conecta ao Downloader VBScript
    • O Downloader VBScript finalmente executa o PEAPOD Payload

Crítica central — Tecnologias legadas do Windows e segurança

  • A afirmação é que, se todas as tecnologias presentes no gráfico fossem descartadas, cerca de 80% dos problemas de segurança de computadores seriam resolvidos
  • A expressão de que o Windows atua como uma “camada de compatibilidade de malware (malware compatibility layer)” para tudo
  • Ao mesmo tempo, é verdade que a Microsoft não pode remover essas tecnologias legadas por razões comerciais legítimas, e que nenhum sistema de alto valor poderá estar seguro enquanto estiver sobre essa pilha
  • Com base na experiência de ver como são configurados os sistemas PLC “isolados da rede (airgapped)” em fábricas, há alívio pelo fato de que a guerra cibernética cinética (kinetic cyberwarfare) que causa danos físicos não seja realidade

1 comentários

 
GN⁺ 2023-07-14
Opiniões do Hacker News
  • Quanto mais poderosa uma plataforma é para vários usos, mais malware inevitavelmente aparece
    O motivo pelo qual malwares voltados a consumidores miram menos o desktop Linux é que sua participação gira em torno de 3%, então vale mais a pena mirar desktops Windows, que alcançam muito mais usuários
    A única outra opção é transformar o computador, na prática, em um celular sofisticado, isto é, um dispositivo bloqueado de consumo de mídia, colocando tudo em sandbox e removendo permissões para fazer coisas “ruins”
    Claro que o rastreamento fica de fora, porque a empresa que faz o sistema operacional também vende anúncios

    • Uma desculpa comum para a grande quantidade de malware do Windows 95 ao XP era que era por causa da popularidade, mas depois do Vista, quando a Microsoft passou a levar segurança mais a sério, a situação melhorou bastante
      Não ficou perfeito, mas, no fim, o problema não era a popularidade em si, e sim o design inseguro do software, e ainda há muito espaço para melhorar
    • Há uma terceira opção: manter o poder da plataforma, mas aumentar o nível padrão de isolamento de software de terceiros e permitir que o usuário escolha as permissões
      O macOS está indo nessa direção, e o Qubes é um exemplo mais radical
      O futuro da computação desktop provavelmente será tudo rodando em sua própria máquina virtual
    • O próprio exemplo apresentado parece refutar esse argumento
      O Linux, na forma do Android, é usado de maneira extremamente ampla em celulares, e celulares são um alvo tão atraente quanto desktops — talvez até mais hoje em dia
      Malware móvel existe, mas é muito mais raro e difícil de obter
      A forma de instalar software no Linux é completamente diferente da do Windows, e fazer alguém executar um monte de binários exige um esforço considerável
      A ponto de se considerar mais fácil distribuir em contêineres do que como binários compilados para um desktop específico
      Olhando além do desktop, o Linux está em toda parte no mundo dos servidores e é o sistema operacional mais popular para rodar software de servidor, portanto é um alvo muito valioso para hackers
      Poucas coisas seriam tão atraentes quanto assumir o controle de servidores de bancos
      Dizer que não há absolutamente nada que torne o Linux inerentemente mais seguro que o Windows soa pouco realista
      Sistemas Unix-like foram projetados desde o início com múltiplos usuários em mente, então permissões de usuário fazem parte do fluxo normal há décadas, e só isso já é uma grande camada de segurança que dificulta o sucesso de rootkits ou worms com privilégios de root
      O antigo Windows 9x até o XP, na prática, dava privilégios de administrador a todos, e escrever ou substituir DLLs em system32 era algo fácil
      Para atacar Linux, é preciso enganar o usuário para executar algo com privilégios elevados ou encontrar uma vulnerabilidade em software que roda como root
      Para atacar o Windows antigo, bastava fazer o usuário executar meu software
    • A afirmação de que malwares miram menos o Linux por ele ter 3% de participação no desktop já não convence muito
      No mobile, Android, ou seja, Linux, é o maior, e considerando usuários finais é maior até que Windows
      Mesmo assim, não há tantas reclamações de malware no Android quanto no Windows
      Não acho que a Microsoft seja incompetente em segurança do Windows, mas há decisões de design históricas que criaram problemas
      O win9x não tinha isolamento de processos, algo que já era possível até no i386, e as pessoas esperavam que programas antigos continuassem funcionando mesmo no WinXP, que usava o kernel NT
      Distribuição centralizada de software no Windows é algo relativamente recente em comparação ao apt, que existe desde 1998, e pequenos detalhes como ocultar extensões também tornam o Windows um alvo mais fácil do que ChromeOS, iOS, Android, macOS e GNU/Linux
      Lembro da frase “se o Linux ficar tão popular quanto o Windows, os desenvolvedores de malware vão mirar nele”, mas considerando smart TVs, infotainment, servidores, supercomputadores, sistemas embarcados e mobile, especialmente Android, o Linux já é maior que o Windows há muito tempo
      Não acho que a baixa participação no desktop seja o principal motivo para haver menos malware
      https://gs.statcounter.com/os-market-share#monthly-202206-20...
    • Não concordo totalmente com essa afirmação
      O Linux tem uma superfície de ataque ampla porque possui muitos pacotes, mas seu núcleo é muito aberto, então atrai muita atenção e muitos olhares
      Vulnerabilidades geralmente são corrigidas rapidamente, e versões do Linux e pacotes GNU, na prática, rodam a internet inteira, então também há incentivo suficiente para invadi-los
      Além disso, no Linux é muito mais fácil perceber se um processo está fazendo algo que não deveria e também é mais simples olhar por dentro para verificar o que está acontecendo
  • No Windows, o maior problema de segurança ainda é a combinação de ocultar extensões por padrão com a ausência de um bit de permissão de execução
    Isso torna fácil demais para um atacante criar um executável malicioso com ícone de documento do Word ou de algum formato de arquivo familiar, e usuários comuns praticamente não têm como perceber o risco
    Se houvesse um bit de permissão de execução, um exe vindo de um lugar estranho não seria simplesmente executado sem receber permissão
    Se as extensões fossem exibidas por padrão, até usuários com um pouco de conhecimento conseguiriam ver o perigo
    Como o Windows já mostra muitas notificações, um aviso no primeiro duplo clique dizendo “isto é um arquivo executável, tenha cuidado” já ajudaria bastante
    Binários recebidos pelo navegador ganham um atributo estendido de “potencialmente inseguro”, que gera aviso na primeira abertura, mas a lógica está invertida
    Todo binário deveria gerar aviso até receber um atributo de “o usuário reconheceu o risco”

    • Todos os arquivos baixados já recebem o Mark of the Web, e só isso já bloqueia a maioria dos abusos simples
      Por isso, para distribuir malware, os atacantes precisam usar desvios inconvenientes, como servidores SMB na internet sob seu controle, para tentar espalhar executáveis
      Além disso, as ACLs do Windows têm permissões de execução por usuário, grupo e objetos relacionados a políticas
      Elas vêm ativadas por padrão para executáveis que podem ser lidos, mas não há nenhuma restrição para tornar um executável não executável
      Além disso, quase todo executável, por padrão, mostra um alerta enorme no estilo “isto está tentando infectar seu computador, matar seus pets e oferecer seus filhos a Satanás”
      Dá para desativar, mas na maioria dos casos fica ativado
      Por isso os atacantes exploram efeitos colaterais de casos periféricos, como incorporação OLE em RTF ou wrappers CHM/MHT
      Metade desse gráfico também poderia funcionar em macOS ou Linux configurados para ambiente corporativo
      A maior parte é o navegador e os aplicativos de escritório fazendo seu trabalho
      O ponto-chave é que não há código realmente executável no contexto do sistema operacional até a parte final, quando o último sandbox é escapado e o script baixa o payload real
    • Se o arquivo foi baixado pelo IE/Edge e veio da zona da internet, um ADS Zone.Identifier é gravado e marcado para impedir a execução
      O usuário precisa desbloqueá-lo manualmente
    • Por padrão, o Windows não executa sem permissão aquilo que não tem uma assinatura válida
      É possível que esse recurso tenha sido desativado
      Como é chato ter de conceder permissão a quase tudo que é baixado da internet, muita gente desativa
    • O Windows já faz o que foi sugerido em várias camadas
      O navegador padrão avisa antes do download, o SmartScreen pergunta antes de executar apps não verificados, e o UAC pergunta uma última vez
    • Se você usa NTFS, existe um bit de permissão de execução
      Na prática, muitos lugares até configuram para proibir execução em todo o perfil do usuário
  • Hoje em dia, malware nem é o pior aspecto do Windows
    O Windows é, na prática, um motor de telemetria baixável, um kart de spyware com tela de login
    Quando não está agindo como um vendedor de quiosque de shopping, empurrando todo tipo de produto e inutilidade selecionados por vigilância, ele faz gaslighting como um ex tóxico dizendo que você não “precisa” de um navegador novo
    Ao atualizar, você precisa torcer para que o hardware seja compatível
    Redmond dedica uma energia incansável para convencer você de que um PC de 5 anos funcionando perfeitamente está “velho”, a mesma energia que usa para lembrar você de olhar sua loja de apps fantasma e seu parquinho de microtransações
    Mesmo que você consiga instalar o Chrome de algum jeito, a maioria dos apps não vai lembrar por muito tempo essa preferência padrão no momento em que a Microsoft detectar um gosto fora do aprovado pelo departamento de marketing
    O Windows cambaleia entre barracas como um palhaço zumbi de um festival fantasma, irrita as pessoas só por existir e depois volta para a tenda de circo da América corporativa
    Talvez agora seja praticamente o único lugar onde ainda resta uma plateia que receba bem o Windows

    • Pela primeira vez desde o Windows 8, inicializei o Windows pelo Boot Camp, e a experiência foi miserável além do imaginável
      A área de trabalho parece uma estação de Subway coberta por anúncios de advogado picareta e pichações por toda parte; é realmente repulsivo
      É surpreendente como tantas combinações de botões levam a pop-ups mandando usar algum outro produto da Microsoft de que eu nem preciso
      Não dá para acreditar que ficou tão ruim
      Precisamos de uma alternativa ao Windows para o consumidor médio
    • “Evite textos provocativos. Não desvie para assuntos genéricos. Remova memes da internet.”
      Isto é um desvio genérico
      O texto é sobre segurança de computadores e não tem relação com a experiência hostil ao usuário do Windows
  • O Windows é uma camada de compatibilidade com malware para tudo
    O Windows NT e todos os Windows posteriores têm controles de segurança vindos do VMS, portanto contam com mais controles de segurança do que quase qualquer sistema operacional
    Mas, para reduzir atrito e aumentar a adoção, a maioria fica desativada ou enfraquecida
    No Linux, os controles de segurança também vêm enfraquecidos por padrão, mas como ele chegou tarde ao mercado e não era um ambiente tão “é só clicar” quanto o Windows, no início gerava mais atrito para usuários não técnicos
    O problema também não é só dos controles de segurança
    Tanto Windows quanto Linux permitem overcommit de memória por padrão, o que pode afetar a estabilidade, mas favorece a adoção por desenvolvedores
    Tudo isso pode ser reforçado, mas há o risco de quebrar aplicativos escritos para o comportamento padrão
    Como outros disseram, o Windows tem a maior adoção e o maior uso, por isso vira o alvo principal
    Se algum dia o Linux passar à frente, o interesse dos autores de malware também vai aumentar
    Ainda há muitos vetores de ataque pouco explorados em udev, montagens binfmt, eBPF, systemd e na forma como tudo isso está interligado hoje
    Se os jogos no Linux continuarem melhorando no ritmo atual, isso pode acontecer antes do que se imagina
    Plataformas de jogos muitas vezes programam assumindo o comportamento padrão ou esperam privilégios elevados, o que faz o endurecimento do sistema operacional deixar de ser uma opção, e não há muita gente disposta a comprar uma máquina separada só para jogar e mantê-la isolada do dispositivo usado para impostos, banco, e-mail e redes sociais

    • Só o Android já tem 50% mais dispositivos que o Windows
  • No começo, achei que este tweet fosse sobre linguagens sem segurança de memória, como C e C++, e sobre compiladores JIT de navegadores web
    Porque dizia que “os problemas de segurança de computadores seriam resolvidos em cerca de 80% se todas as tecnologias mostradas nesta imagem fossem descartadas”
    O Chromium diz que “cerca de 70% dos bugs de segurança de alta gravidade são problemas de segurança de memória, isto é, erros de ponteiro em C/C++, e metade deles são bugs de use-after-free”
    https://www.chromium.org/Home/chromium-security/memory-safet...
    A Microsoft também diz que “cerca de 70% das vulnerabilidades que recebem CVE a cada ano continuam sendo problemas de segurança de memória”
    https://msrc.microsoft.com/blog/2019/07/a-proactive-approach...
    O título no HN também é uma versão editada do original

    • Esse é um dos grandes motivos pelos quais a Microsoft vem adotando Rust recentemente
      Se me lembro bem, ela está testando pela primeira vez substitutos de DLL baseados em Rust, e pode levar bastante tempo para migrar mesmo que seja só metade
    • A esmagadora maioria dos malwares não usa vulnerabilidade nenhuma, e coisas como zero-day são ainda mais raras
      A maior parte dos malwares explora logicamente funcionalidades comuns dentro do sistema operacional
  • Não acho que isso signifique que “a segurança de computadores seria resolvida em cerca de 80%”
    Passariam a usar outros vetores de ataque e, depois de bloquear a maioria dos caminhos de ataque, chegaríamos a sistemas operacionais de smartphones com pouquíssimas permissões e rastreamento em larga escala acoplado
    Mesmo assim, malware ainda poderia continuar abundante
    https://www.bleepingcomputer.com/news/security/apps-with-15m...

  • A causa de tudo isso é compatibilidade retroativa, e isso é realmente muito difícil de lidar
    Em um mundo ideal, toda vez que fosse preciso quebrar compatibilidade, haveria uma documentação enorme e a migração seria tornada o mais painless possível
    Mas há o pequeno problema do software abandonado
    É surpreendentemente comum que softwares que ninguém mais sabe como funcionam sejam necessários para atividades importantes
    Deveria ser ilegal empresas e instituições próximas do setor público operarem com software proprietário que ninguém mantém ativamente e que não tem nenhum contrato de suporte?

    • Na verdade, todas essas tecnologias são bastante excelentes
      MHTML resolve um problema real, e VBScript é como bash, só com outro jeito de falar
      Embedding OLE é uma ótima ideia, embora infelizmente hoje não seja muito usado
      Poder colocar uma planilha dentro de um documento de texto sem hacks estranhos de tabela é uma boa ideia
      Macros VBA movem mais empresas do que qualquer startup
      Arquivos de ajuda CHM eram realmente excelentes, e é uma pena que tenham sido substituídos por sites ruins em que você precisa depender do Google para encontrar alguma coisa de fato
      Poder não só salvar resultados de buscas complexas, mas também compartilhá-los, também era uma boa ideia, mas não foi divulgada o suficiente
      Um recurso para enviar um arquivo que permita encontrar “fotos tiradas com minha câmera entre agosto e setembro do ano passado” é uma boa ideia, porque evita ter que enviar um álbum de fotos proprietário
      Digam o que quiserem sobre dependência proprietária e práticas de negócios horríveis, mas a Microsoft tinha ótimas ideias que sistemas operacionais concorrentes só copiaram anos ou décadas depois
      Na maioria dos produtos concorrentes, ainda hoje não dá para incorporar documentos de forma tão fácil e eficaz quanto no Microsoft Office
      Esses recursos não foram abandonados; são usados por milhões de pessoas no mundo todo
      A Microsoft precisa melhorar a configuração das ferramentas para detectar melhor código executável
      O VBScript no fim da cadeia não deveria ter sido executado
      A maior parte das outras ferramentas “legadas” faria falta se desaparecesse só por causa da possibilidade de malware
    • É possível isolar uma camada de compatibilidade totalmente funcional do resto do sistema, ou executá-la com permissões de usuário reduzidas; não há necessidade de colocar compatibilidade retroativa dentro do sistema operacional
      Existem VM, DOSBox, Wine etc.
    • Empresas grandes e numerosas têm montes de softwares antigos cuja própria existência ninguém lembra, rodando processos silenciosamente em segundo plano, tão comuns no dia a dia que são presumidos como a gravidade
      Cerca de 10 anos atrás, descobriu-se que um processo importante em todas as máquinas de lojas da Home Depot dependia de um programa chamado Batchman
      Batchman era um utilitário para digitação publicado na PC Magazine em 1989
      Se você quebra a compatibilidade, alguém precisa recriar aquele processo que rodou silenciosamente por décadas
      Ninguém da equipe da HD com quem eu trabalhava jamais tinha visto aquele código, nem sabia o que era Batchman ou o que ele fazia
    • Não deve ser fácil exigir que uma empresa que já desapareceu mantenha o próprio software
  • A stack mais popular sempre vira o alvo preferido de malware
    Se outra plataforma representasse 90% das presas, você realmente acha que essa plataforma não seria, de forma esmagadora, a vítima de malware?
    Para referência, nos anos 80 trabalhei como responsável de linha de frente pela remoção de malware, e o principal alvo na época eram os Apple Mac dos laboratórios de informática das universidades

    • Onde está o malware amplamente disseminado em servidores Linux?
    • É um trabalho bem legal
      Qual foi o malware mais inteligente que você removeu naquela época?
  • Isso não é parecido com dizer que “se descartarmos a história, os problemas diminuem bastante”?
    Mas a história existe de fato
    E toda vez que clico em um link do Twitter aparece “Algo deu errado” e preciso atualizar a página; isso é o Twitter moderno?

    • Minha experiência no Twitter foi assim por anos
      Então, dependendo do critério de moderno, está certo e também não está
  • https://nitter.net/matthew_d_green/status/167913542680678400...