LokiBot — RTF malware analysis

Static analysis result for SHA-256 79f794057591057c…

MALICIOUS

RTF

2.01 MB Authoring application: Riched20 6.3.9600 First seen: 2019-01-31
MD5: c8deaf37b0c7496bc6d01a3c0e3b9708 SHA-1: 5175476c5e882c039af93bddbf04709aa066949d SHA-256: 79f794057591057c06a65fc41ba24f0c618601df710e70d6d5cb108a24bf5119
520 Risk Score

Malware Insights

LokiBot · confidence 95%

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

The RTF document contains embedded OLE objects, specifically exploiting the Equation Editor vulnerability (CVE-2017-11882) to execute arbitrary code. Static analysis detected a PE header within the hex-encoded data, indicating a packed or obfuscated payload. ClamAV identified the file as Win.Dropper.LokiBot, suggesting its purpose is to download and execute further malicious components.

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: Win.Dropper.LokiBot-9957036-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Win.Dropper.LokiBot-9957036-0
  • 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
  • Large hex data blocks in OLE object high RTF_EXCESSIVE_HEX
    RTF contains ~2088KB of hex-encoded data inside \objdata sections — may hide a payload
  • 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.

Extracted artifacts 3

Files carved from inside the sample during analysis.

FilenameKindSourceSize
objdata_00_off000000ef.bin rtf-objdata-decoded RTF \objdata at offset 0xEF 1044163 bytes
SHA-256: a79972bc1d1cb1f73ca51669213b19639dea19004f041663417f4324a05f9b5c
Detection
ClamAV: Win.Dropper.LokiBot-9957036-0
Obfuscation or payload: likely
Static shellcode analysis found candidate code region(s). Indicators: SC_MSF_REVERSE, SC_STR_VIRTUALALLOC, SC_STR_LOADLIBRARY Static shellcode analysis recovered API/import strings: LoadLibraryExA, VirtualAlloc, GetProcAddress, ExitProcess, kernel32.dll, KERNEL32.DLL
objdata_01_off001fdec4.bin rtf-objdata-decoded RTF \objdata at offset 0x1FDEC4 3980 bytes
SHA-256: ac8a7e13ba64535099d5ad54b250020737ccb36b17d1ba3fbf46c666ade5d49c
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Static shellcode analysis recovered command string(s): cmd.exe /c%tmp%\22.exe &��D$,f-Q���%
objdata_02_off0020010a.bin rtf-objdata-decoded RTF \objdata at offset 0x20010A 3546 bytes
SHA-256: 2c15936c0c88d1528de427474b7ed42e81726f3548a0ea8bcea349ff48eed841
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Static shellcode analysis recovered command string(s): cmd.exe /c%tmp%\22.exe A C