Infiltração de infraestrutura via RTF

Infiltração de infraestrutura via RTF

Aleksey Yasinskiy
Aleksey Yasinskiy linkedin icon Seguir

Add to my AI research

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.

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 gerar valor imediato, agende uma reunião agora com os especialistas da SOC Prime.

More Blog Articles