Infiltração de infraestrutura via RTF

[post-views]
Maio 20, 2016 · 6 min de leitura
Infiltração de infraestrutura via RTF

Vamos prosseguir para estudar uma fase do ataque chamada “Entrega” da Lockheed Martin Cyber Kill Chain.delivery-weaponized-bundle-rtf_2Muito pode ser dito sobre esta fase, mas hoje vou apenas compartilhar a análise de uma amostra que recebi recentemente para análise. A amostra chamou minha atenção por causa de sua simplicidade de um lado e sua sofisticação de outro. Definitivamente, não podemos culpar seus autores por falta de inventividade e imaginação.

Vamos começar.

Aqui podemos ver um e-mail padrão com um arquivo do Word em anexo:

delivery-weaponized-bundle-rtf_3Um dos sites alerta sobre esse golpe de e-mail (Golpe de E-mail), e fornece mais detalhes:delivery-weaponized-bundle-rtf_4Vamos dar uma olhada mais de perto nas intrincâncias desse método de intrusão e como abrir um único e-mail pode levar a consequências desastrosas para o seu negócio.Primeiramente, entregamos este arquivo ao nosso laboratório improvisado, onde o analisaremos em detalhe. Como primeiro passo, precisamos verificar o documento em busca de quaisquer macros. Podemos usar diferentes conjuntos de ferramentas para realizar esta operação e hoje usaremos OLETOOLS que contém OLEVBAferramenta para as seguintes operações:

  • Detectar macros VBA em arquivos MS Office 97-2003 e 2007+
  • Extrair código-fonte de macros VBA
  • Detectar macros autoexecutáveis
  • Detectar palavras-chave VBA suspeitas frequentemente usadas por malwares
  • Detectar e decodificar strings ofuscadas com Hex/Base64/StrReverse/Dridex
  • Extrair IOCs/padrões de interesse como endereços IP, URLs, endereços de e-mail e nomes de arquivos executáveis
  • Escanear múltiplos arquivos e coleções de amostras (wildcards, recursivo)
  • Modo de triagem para uma visão resumida de múltiplos arquivos
  • Escanear amostras de malware em arquivos Zip protegidos por senha
  • API Python para usar olevba em suas aplicações

delivery-weaponized-bundle-rtf_5Executamos a ferramentaolevba.py:

olevba.py 750786446.doc > macros.txtComo resultado, o arquivo macros.txt, será criado, contendo todas as macros do documento estudado.

Vamos ver o que este arquivo do word está escondendo:delivery-weaponized-bundle-rtf_6Claro, qualquer programador sensato não nomeará funções e variáveis dessa maneira a menos que estejam tentando esconder seus objetivos.

Aqui está uma representação esquemática das operações dessas macros para que você possa entender melhor este conjunto de símbolos:

delivery-weaponized-bundle-rtf_10Agora vemos claramente que 90% das operações mostradas são lixo, criadas para confundir um analista e complicar a pesquisa de macros. Se limparmos o esquema das operações «excessivas», recebemos um quadro claro de como tal macro funciona.

delivery-weaponized-bundle-rtf_11

Então, o que a macro está tentando fazer na realidade?

  1. Depois que o arquivo DOC é aberto, a macro encontra a localização da pasta temporária através de variáveis de ambiente. Em seguida, ela se salva nesta pasta como RTF sob o nome de BYFE.RTF.
  2. Em seguida, ela repete a mesma operação, mas usa outro nome – JWUD.RTF. Esta operação é necessária para liberar o arquivo BYFE.RTF para operações futuras porque, enquanto o Microsoft Word o “segura”, ninguém pode referenciar este arquivo exceto em modo “somente leitura”. Em breve veremos que a macro tem planos especiais para este arquivo.
  3. Nesse estágio, a macro executa o arquivo BYFE.RTF em modo “invisível”.delivery-weaponized-bundle-rtf_17Aqui preciso me desviar do nosso assunto e contar sobre uma característica particular dos arquivos RTF:
    Você pode anexar qualquer objeto a arquivos RTF, até mesmo música ou arquivos executáveis. Quando um usuário abre um arquivo com tal objeto, aquele objeto é extraído para a pasta Temp. E estará lá, já que está anexado ao arquivo RTF, até o documento ser fechado. A principal questão é que ele pode ser usado por qualquer coisa de fora.
    Vamos realizar um experimento:

    • Criamos um arquivo RTFdelivery-weaponized-bundle-rtf_9
    • Então anexamos a calculadora padrão (calc.exe) como um objeto:delivery-weaponized-bundle-rtf_10
    • Fechemos este documento e abramos a pasta %temp%
    • Agora esvaziamos a pasta e abrimos com o Microsoft Word nossoteste.rtf:
      delivery-weaponized-bundle-rtf_11
    • Vamos executar a calculadora para provar sua operação:delivery-weaponized-bundle-rtf_12
    • Quando o arquivo RTF é fechado, o calc.exe desaparece sem deixar rastro
  4. Agora entendemos por que os adversários usam arquivos RTF e por que precisam de uma pausa de 2 segundos. Eles precisam disso para colocar seu “objeto” em nossa pasta Temp.
  5. Depois, um objeto é executado (como fizemos com a calculadora) e, como veremos mais tarde, o nome do nosso objeto é s3.tmp:
    delivery-weaponized-bundle-rtf_13

    Os adversários precisam de uma pausa de 3 segundos para que o “objeto” complete suas tarefas. Em nosso caso, este “objeto” é um downloader/dropper, portanto suas tarefas são comunicação com um centro de comando e obtenção de instruções adicionais. Em nosso exemplo, ele se comunicou com54.225.64.111hxxp://api.ipify.org:80/. No site VirusTotal podemos ver alguma atividade anormal nesse endereço IP que começou no final de abril – início de maio de 2016.

    https://www.virustotal.com/ru/ip-address/54.225.64.111/information/delivery-weaponized-bundle-rtf_14

  6. Finalmente, a última etapa. A macro fecha o arquivo RTF, o que causa o desaparecimento de um dropper. A tarefa está completa. A intrusão está finalizada. As pistas estão limpadas.

Conclusão:

  1. Cada vez mais “sandboxes” para os perímetros da empresa estão se tornando capazes de vasculhar e-mails e desconstruir tais anexos para encontrar qualquer atividade maliciosa e diminuir os riscos de intrusão.
  2. A análise manual e detalhada de spam capturado por filtros de spam (engenharia reversa de malware) é muito importante. Isso pode ajudá-lo a encontrar os principais IOCs para usar em regras para sistemas de monitoramento e para rastrear casos de tais e-mails penetrando o perímetro. Em nosso exemplo, este seria um endereço IP. Para proteger sua organização, você precisa bloqueá-lo em firewalls e monitorar quaisquer tentativas de conexão. Isso permite descobrir estações de trabalho comprometidas e iniciar a manutenção da infraestrutura. Isso também pode protegê-lo quando seu filtro de spam falha em detectar um e-mail com malware e um usuário o abre – seus firewalls estarão prontos para bloquear quaisquer comunicações entre o malware e seu centro de comando.
  3. Dropper geralmente é “invisível” para o antivírus corporativo. Se você enviar uma amostra descoberta para o fornecedor de antivírus, eles podem adicioná-la às suas assinaturas, permitindo que você descubra estações de trabalho comprometidas.

Espero que este artigo seja útil e estou esperando seu feedback.

Tabela de Conteúdos

Este artigo foi útil?

Curta e compartilhe com seus colegas.
Junte-se à plataforma Detection as Code da SOC Prime para melhorar a visibilidade das ameaças mais relevantes para o seu negócio. Para ajudá-lo a começar e obter valor imediato, agende uma reunião agora com os especialistas da SOC Prime.

Publicações Relacionadas