Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 7a68c3f822d0ae8f…

MALICIOUS

Office (OLE)

239.5 KB Created: 2010-09-13 06:45:22 First seen: 2020-09-24
MD5: 7ea3791520e68aa16050025c58d9036f SHA-1: 6f37d9b83a5eff7afd95eb35ae8ce94a22d6af04 SHA-256: 7a68c3f822d0ae8f04e7e33d182dc5eca5cd2e5d45032d8559eb8e947062f7a5
200 Risk Score

Malware Insights

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

The file contains Excel 4.0 (XLM) macros, specifically triggering Auto_Open and Auto_Close events. Heuristics indicate the use of dangerous formula APIs, including the RUN function, which is commonly used to execute arbitrary code or download additional payloads. The presence of 'XL4Poppy' in the document body and macro sheet suggests a potential naming convention for this malware.

Heuristics 4

  • 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.
  • Legacy Excel formula macro virus marker critical OLE_XLS_FORMULA_MACRO_VIRUS
    Workbook stream contains self-identifying legacy Excel formula macro virus markers. This indicates the document carries formula macro virus content even when no VBA project or modern XLM macro-sheet structure is present.
  • 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.

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
xlm_macros.txt xlm-macro oletools.olevba.extract_all_macros (XLM macro listing) 315115 bytes
SHA-256: 1d33422edc8dbcdf6614964f18b4e4cc6d0b3ef1c03f3f172d9913e4acb860e2
Preview script
First 1,000 lines of the extracted script
' 0085     54 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible -  c â n     o   t ë n g 
' 0085     26 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible -  b £ n g 
' 0085     16 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, hidden -  XL4Popp
' 0018     31 LABEL : Cell Value, String Constant - _Fill hidden len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x0c\x00\x03\x008\x00\x00\x00\x00\x00'
' 0018     23 LABEL : Cell Value, String Constant - built-in-name 2 Auto_Close len=7 ptgRef3d 13!C4 
' 0018     23 LABEL : Cell Value, String Constant - built-in-name 1 Auto_Open len=7 ptgRef3d 13!C4 
' 0018     26 LABEL : Cell Value, String Constant - Bust len=7 ptgRef3d 13!C31 
' 0018     29 LABEL : Cell Value, String Constant - cap len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x07\x00\xdf\x00\xdf\x00\x01\x00\x08\x00'
' 0018     28 LABEL : Cell Value, String Constant - cap0.7 len=7 ptgRef3d  c â n     o   t ë n g !G20 
' 0018     24 LABEL : Cell Value, String Constant - CL len=7 ptgRef3d 4!D77 
' 0018     30 LABEL : Cell Value, String Constant - Continue len=7 ptgRef3d 13!C9 
' 0018     30 LABEL : Cell Value, String Constant - ctdn9697 len=7 ptgRef3d 4!D511 
' 0018     29 LABEL : Cell Value, String Constant - dao len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x08\x00\x1c\x00\x1c\x00\x01\x00\x07\x00'
' 0018     30 LABEL : Cell Value, String Constant - dao1 len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x08\x00\x9e\x00\x9e\x00\x01\x00\x07\x00'
' 0018     30 LABEL : Cell Value, String Constant - dao1 len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x05\x00\xbc\x00\xbc\x00\x01\x00\x07\x00'
' 0018     30 LABEL : Cell Value, String Constant - dao2 len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x05\x00\xa0\x00\xa0\x00\x01\x00\x07\x00'
' 0018     31 LABEL : Cell Value, String Constant - daotd len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x05\x00B\x01B\x01\x01\x00\x07\x00'
' 0018     29 LABEL : Cell Value, String Constant - dap len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x08\x00\x1d\x00\x1d\x00\x01\x00\x07\x00'
' 0018     29 LABEL : Cell Value, String Constant - dap len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x01\x00&\x00&\x00\x01\x00\x07\x00'
' 0018     30 LABEL : Cell Value, String Constant - dap2 len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x05\x00\xa1\x00\xa1\x00\x01\x00\x07\x00'
' 0018     31 LABEL : Cell Value, String Constant - daptd len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x05\x00C\x01C\x01\x01\x00\x07\x00'
' 0018     26 LABEL : Cell Value, String Constant - day1 len=7 ptgRefErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\n\x00\x01\x01\x00\x07'
' 0018     26 LABEL : Cell Value, String Constant - day1 len=7 ptgRefErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x03\x00\x01\x01\x00\x07'
' 0018     26 LABEL : Cell Value, String Constant - day2 len=7 ptgRef3d 9!H3 
' 0018     26 LABEL : Cell Value, String Constant - day2 len=7 ptgRef3d  XL4Popp!H3 
' 0018     30 LABEL : Cell Value, String Constant - dbu1 len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x08\x00W\x00W\x00\x01\x00\x05\x00'
' 0018     30 LABEL : Cell Value, String Constant - dbu1 len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x01\x00R\x00R\x00\x01\x00\x05\x00'
' 0018     30 LABEL : Cell Value, String Constant - dbu2 len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x08\x00X\x00X\x00\x01\x00\x05\x00'
' 0018     30 LABEL : Cell Value, String Constant - dbu2 len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x05\x00\\\x00\\\x00\x01\x00\x05\x00'
' 0018     30 LABEL :
... (truncated)