Malicious RTF — malware analysis report

Static analysis result for SHA-256 2b03e95eee5d4603…

MALICIOUS

RTF

89.9 KB Authoring application: Riched20 6.3.9600 First seen: 2018-07-14
MD5: 225160b0b6f0e29ab3f22e3c9703347d SHA-1: 945a361bc7b408db3ab16b36384c9b8a427dbdd7 SHA-256: 2b03e95eee5d460373af7e56996da15cd4f557e3cfa2f5881bda59196d54ce3a
422 Risk Score

Malware Insights

MITRE ATT&CK
T1203 Exploitation for Client Execution T1566.001 Spearphishing Attachment

The sample is an RTF document containing embedded OLE objects, specifically exploiting CVE-2017-11882 via the Equation Editor. This vulnerability allows for the execution of arbitrary code, likely a second-stage payload, as indicated by the presence of PE headers within the decoded RTF object data. The ClamAV detection further confirms the malicious nature of the exploit.

Heuristics 11

  • Equation Editor CLSID critical CVE likely RTF_EQUATION_EDITOR
    Equation Editor OLE CLSID found inside an OLE object — exploited by CVE-2017-11882 / CVE-2018-0802 / CVE-2018-0798
  • CVE-2017-11882 — Equation Editor FONT record overflow critical CVE likely CVE_2017_11882
    Equation Editor MTEF contains an overlong FONT typeface field, the vulnerable copy primitive for CVE-2017-11882. This is stronger evidence than the Equation Editor CLSID alone because it identifies the malformed record that drives code execution in EQNEDT32.EXE.
  • ClamAV: Rtf.Exploit.CVE_2017_11882-6584355-1 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Rtf.Exploit.CVE_2017_11882-6584355-1
  • PE header (with DOS stub) in hex data critical RTF_MZ_HEX
    Hex-encoded PE (MZ + DOS stub) found inside RTF — likely an embedded executable payload
  • \objupdate forces OLE activation high RTF_OBJUPDATE
    RTF contains \objupdate — forces automatic OLE object instantiation when the document is opened, bypassing user interaction. Almost exclusively seen in Equation Editor exploit documents.
  • Package object class high RTF_OBJCLASS_PACKAGE
    OLE Package object — can wrap arbitrary files
  • Suspicious extracted artifact high EXTRACTED_FILE_STATIC_TRIAGE
    One or more files extracted from inside this sample matched static suspicious-content checks such as script obfuscation, encoded payload blobs, packed data, or execution/download terms.
  • OLE object data medium RTF_OBJDATA
    RTF contains 3 \objdata section(s) — embedded OLE objects
  • Embedded OLE object medium RTF_OBJEMB
    RTF contains \objemb — embedded OLE object
  • OlePres presentation stream in RTF OLE object medium RTF_OLEPRES_STREAM
    RTF contains an embedded OLE object with an OlePres presentation stream. OlePres is an OLE presentation marker and is not enough on its own to identify CVE-2025-21298.
  • 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://java.com/download In RTF body
    • https://play.google.com/ehttps://play.google.com/xhttps://play.google.com/eIn RTF body
    • https://play.google.com/.https://play.google.com/dhttps://play.google.com/lhttps://play.google.com/lIn RTF body
    • https://play.google.com/hhttps://play.google.com/thttps://play.google.com/thttps://play.google.com/phttps://play.google.com/shttps://play.google.com/:https://play.google.com//https://play.google.com//https://play.google.com/chttps://play.google.com/lhttps://play.google.com/.https://play.google.com/lhttps://play.google.com/yhttps://play.google.com//https://play.google.com/1https://play.google.com/shttps://play.google.com/0https://play.google.com/1https://play.google.com/1https://play.google.com/chttps://play.google.com/0https://play.google.com/rhttps://play.google.com/2https://play.google.com/thttps://play.google.com/3https://play.google.com/jhttps://play.google.com//https://play.google.com/dhttps://play.google.com/ohttps://play.google.com/whttps://play.google.com/nhttps://play.google.com/lhttps://play.google.com/ohttps://play.google.com/ahttps://play.google.com/dhttps://play.google.com//https://play.google.com/Phttps://play.google.com/rhttps://play.google.com/ohttps://play.google.com/Ehttps://play.google.com/xhttps://play.google.com/1https://play.google.com/.https://play.google.com/zhttps://play.google.com/ihttps://play.google.com/pIn RTF body
    • https://play.google.com/hhttps://play.google.com/thttps://play.google.com/thttps://play.google.com/phttps://play.google.com/shttps://play.google.com/:https://play.google.com//https://play.google.com//https://play.google.com/chttps://play.google.com/lhttps://play.google.com/.https://play.google.com/lhttps://play.google.com/yhttps://play.google.com//https://play.google.com/1https://play.google.com/Whttps://play.google.com/0https://play.google.com/hhttps://play.google.com/1https://play.google.com/4https://play.google.com/3https://play.google.com/Hhttps://play.google.com/3https://play.google.com/Ihttps://play.google.com/2https://play.google.com/whttps://play.google.com//https://play.google.com/dhttps://play.google.com/ohttps://play.google.com/whttps://play.google.com/nhttps://play.google.com/lhttps://play.google.com/ohttps://play.google.com/ahttps://play.google.com/dhttps://play.google.com//https://play.google.com/7https://play.google.com/zhttps://play.google.com/.https://play.google.com/ehttps://play.google.com/xhttps://play.google.com/eIn RTF body
    • https://play.google.com/Thttps://play.google.com/Ehttps://play.google.com/Mhttps://play.google.com/PIn RTF body
    • https://play.google.com/1https://play.google.com/0https://play.google.com/2https://play.google.com/0https://play.google.com/3https://play.google.com/0https://play.google.com/4https://play.google.com/0https://play.google.com/5https://play.google.com/0In RTF body
    • https://play.google.com/Phttps://play.google.com/rhttps://play.google.com/ohttps://play.google.com/Ehttps://play.google.com/xhttps://play.google.com/.https://play.google.com/ehttps://play.google.com/xhttps://play.google.com/eIn RTF body
    • https://play.google.com/Nhttps://play.google.com/vhttps://play.google.com/Shttps://play.google.com/mhttps://play.google.com/ahttps://play.google.com/rhttps://play.google.com/thttps://play.google.com/Mhttps://play.google.com/ahttps://play.google.com/xhttps://play.google.com/.https://play.google.com/dhttps://play.google.com/lhttps://play.google.com/lIn RTF body
    • https://play.google.com/In RTF body
    • https://play.google.com/ehttps://play.google.com/In RTF body
    • https://play.google.com/-https://play.google.com/oIn RTF body
    • https://play.google.com/-https://play.google.com/pIn RTF body

Extracted artifacts 3

Files carved from inside the sample during analysis.

FilenameKindSourceSize
objdata_00_off000000ef.bin rtf-objdata-decoded RTF \objdata at offset 0xEF 37551 bytes
SHA-256: 059e95942408be7c02dda9c1d7219ca0a4eb6e1f3d45a58c74681bc538e639a6
objdata_01_off0001269c.bin rtf-objdata-decoded RTF \objdata at offset 0x1269C 3980 bytes
SHA-256: f3f3c3d62e542349c0f3984a01670bc24e1f9f25613835117bc6846a7fe8c9ce
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Static shellcode analysis recovered command string(s): cmd.exe /c%tmp%\png.exe &��D$,f-Q���%
objdata_02_off000148e2.bin rtf-objdata-decoded RTF \objdata at offset 0x148E2 3546 bytes
SHA-256: 2fb7c343256d3cfb5c77f2f7e4a7fa938fc4ee365d89a8edcd9d464c5e8aade9
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Static shellcode analysis recovered command string(s): cmd.exe /c%tmp%\png.exe A C