LokiBot — RTF malware analysis

Static analysis result for SHA-256 5f85b2aaede26170…

MALICIOUS

RTF

2.05 MB Authoring application: Riched20 6.3.9600 First seen: 2019-01-11
MD5: 7221262f522f139ce50985d831a44e81 SHA-1: 7211db29284b53e2bbcee70ee37916e3d3617112 SHA-256: 5f85b2aaede26170c6c595c3e5c212c7fe33a16613f75652391a074a040c2773
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 ~2136KB 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 1068236 bytes
SHA-256: ee4cb8fc0de47114c87b479c6924a401431df3a7c4302a6d9ad3a8c52a32f368
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_off00209ad6.bin rtf-objdata-decoded RTF \objdata at offset 0x209AD6 3980 bytes
SHA-256: f6dadaf35646b7c6a72477ad54367c170b100974a55508652e0c0c4a7edcf34d
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Static shellcode analysis recovered command string(s): cmd.exe /c%tmp%\as1.exe &��D$,f-Q���%
objdata_02_off0020bd1c.bin rtf-objdata-decoded RTF \objdata at offset 0x20BD1C 3546 bytes
SHA-256: 563830618751a747e43e44d794a5c212147908ac639fa9825a50f27f444c1064
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Static shellcode analysis recovered command string(s): cmd.exe /c%tmp%\as1.exe A C