Malicious Hangul (OLE) — malware analysis report

Static analysis result for SHA-256 f697810c5aa9e241…

MALICIOUS

Hangul (OLE)

203.2 KB First seen: 2015-09-20
MD5: 33ed110e5c78cd17ff4af3f9789131a0 SHA-1: 6441831793971fd1d1daf48d4d2be17dc8a536e5 SHA-256: f697810c5aa9e241e462e290b4b6b673ccf74f8ecd9ec205a8313395b4ea1b21
82 Risk Score

Malware Insights

MITRE ATT&CK
T1203 Exploitation for Client Execution T1059.007 JavaScript

The HWP document contains an OLE slack anomaly and an appended executable payload, indicating it is designed to deliver malicious code. A JavaScript file was extracted, likely responsible for downloading and executing a second-stage payload. The exact nature of the payload and its delivery mechanism remain unclear due to the obfuscated nature of the extracted script.

Heuristics 3

  • OLE document has large unaccounted-for region high OLE_SLACK_ANOMALY
    OLE file is 208,068 bytes but its declared streams total only 71,187 bytes — 136,881 bytes (66%) live in unallocated sector slack. This is the canonical hiding place for pre-macro-era Office exploit payloads (XOR-encoded shellcode reached via a parser pointer-corruption bug in the document structure).
  • OLE file has appended executable-looking payload bytes high OLE_APPENDED_PAYLOAD
    OLE compound file contains a large high-entropy region beyond the declared major streams and that region includes shellcode, PE, or loader API markers. This is a payload-carrier signal, not a specific CVE attribution by itself.
  • Decompressed OLE-wrapped HWP streams info HWP_COMPRESSED
    Inflated 10485760 bytes from BinData / Scripts / BodyText / DocInfo streams of the OLE-wrapped HWP for content analysis

Extracted artifacts 3

Files carved from inside the sample during analysis.

FilenameKindSourceSize
Scripts_DefaultJScript.js hwp-jscript HWP Scripts macro: Scripts/DefaultJScript 140 bytes
SHA-256: a581bfa9c95a61285fe051e17d1817322c2621f2d94cf2a858dc3ff121bb0609
Preview script
First 1,000 lines of the extracted script
O var Documents = XHwpDocuments;
var Document = Documents.Active_XHwpDocument;
/ function OnDocument_New()
{
	//todo : 
}

    ￿￿
BodyText_Section0 hwp-stream HWP OLE stream: BodyText/Section0 3354 bytes
SHA-256: bba5011eda5fd843472900a845eb4983ea04b7357e087a74ca17ec74110a48e9
BodyText_Section1 hwp-stream HWP OLE stream: BodyText/Section1 2097152 bytes
SHA-256: 8af175c172bd4d76a8953c09d49eb17ff666b504c6b04caee28935719276589d