Infiltração de infraestrutura via RTF
Índice:
Vamos prosseguir para estudar uma fase do ataque chamada “Entrega” da Lockheed Martin Cyber Kill Chain.Muito 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:
Um dos sites alerta sobre esse golpe de e-mail (Golpe de E-mail), e fornece mais detalhes:
Vamos 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 OLEVBA, ferramenta 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
Executamos a ferramenta
olevba.py
:
olevba.py 750786446.doc > macros.txt
Como resultado, o arquivo macros.txt
, será criado, contendo todas as macros do documento estudado.
Vamos ver o que este arquivo do word está escondendo:Claro, 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:
Agora 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.
Então, o que a macro está tentando fazer na realidade?
- 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.
- 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.
- Nesse estágio, a macro executa o arquivo BYFE.RTF em modo “invisível”.
Aqui 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 RTF
- Então anexamos a calculadora padrão (
calc.exe
) como um objeto:
- Fechemos este documento e abramos a pasta %temp%
- Agora esvaziamos a pasta e abrimos com o Microsoft Word nosso
teste.rtf
:
- Vamos executar a calculadora para provar sua operação:
- Quando o arquivo RTF é fechado, o calc.exe desaparece sem deixar rastro
- Criamos um arquivo RTF
- 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.
- Depois, um objeto é executado (como fizemos com a calculadora) e, como veremos mais tarde, o nome do nosso objeto é
s3.tmp
:
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.111
–hxxp://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/
- 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:
- 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.
- 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.
- 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.