Malicious Office (OOXML) — malware analysis report

Static analysis result for SHA-256 d29adcaca8fa8057…

MALICIOUS

Office (OOXML)

1010.7 KB Created: 2017-07-25 18:13:49 UTC Authoring application: Microsoft Excel 16.0300 First seen: 2021-06-04
MD5: c92c0eab388400cbe13e824162f70834 SHA-1: 702f0de03d0a2599fb841ca8709b48aa40ab4b23 SHA-256: d29adcaca8fa80571a65e941ed385812205fd41a450df8f9a63ad81306f8352c
306 Risk Score

Malware Insights

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

The sample is an Excel macro-enabled workbook that uses a Workbook_Open event to execute obfuscated VBA code. This code likely attempts to download and execute a second-stage payload, as indicated by the CreateObject and Shell calls. The document body presents a fake membership management spreadsheet, serving as a lure to encourage users to enable macros. The presence of external hyperlinks and the nature of the VBA code suggest a downloader or droppper functionality.

Heuristics 12

  • VBA project inside OOXML medium 5 related findings OOXML_VBA
    Document contains a VBA project — VBA macros present
  • Obfuscated auto-exec VBA loader critical OLE_VBA_OBFUSCATED_AUTOEXEC_LOADER
    Auto-exec VBA reconstructs strings with a heavy custom decoder (numeric char-array, repeated hex-string decode, or junk-token Replace removal) and feeds them to a COM-instantiation or execution sink. This obfuscated-loader shape keeps CreateObject/Shell/URL indicators out of the macro source.
  • Workbook_Open macro high OLE_VBA_WBOPEN
    Workbook_Open macro
  • CreateObject call high OLE_VBA_CREATEOBJ
    CreateObject call
  • 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.
  • Environ() call (env variable access) low OLE_VBA_ENVIRON
    Environ() call (env variable access)
  • External relationship high OOXML_EXTERNAL_REL
    External target in xl/externalLinks/_rels/externalLink1.xml.rels: file:///D:\Users\rafae\Desktop\Planilha de Plano de Negócios 4.0 - Copia - Copia.xlsm
  • Macro/content-enable lure medium SE_ENABLE_LURE
    Document instructs the user to enable macros or editing — a common technique used by malware droppers to bypass Office macro security settings
  • Callback phishing phone lure medium SE_CALLBACK_LURE
    Document asks the user to call a phone number in billing, refund, subscription, fraud, or security context — consistent with callback phishing or tech-support scam patterns. Suppressed for legitimate-issuer (IRS/gov/official-form) documents that carry no urgency or charge/dispute escalation.
  • External hyperlinks (6) low OOXML_EXTERNAL_HYPERLINKS
    Document contains 6 external hyperlinks — clickable URLs are stored as external relationships. First target: https://en.luz.vc/template/9-box-grid-talent-management-spreadsheet/?utm_source=produtos&utm_medium=referral&utm_campaign=sug_EN
  • Hidden worksheet (hidden) low OOXML_HIDDEN_SHEET
    Excel workbook contains 29 hidden sheet(s) — hidden sheets are commonly used to conceal macro code, staging data, or intermediate payload construction
  • 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 https://luztemplates.com OOXML external relationship
    • https://en.luz.vc/template/9-box-grid-talent-management-spreadsheet/?utm_source=produtos&utm_medium=referral&utm_campaign=sug_ENDocument hyperlink
    • https://ajuda.luz.vc/l/en/spreadsheet-questions/how-luz-worksheet-usage-licenses-workDocument hyperlink
    • https://activation.luz.vc/v3/activationOOXML external relationship
    • https://luztemplates.com/28839116834/policies/terms-of-service.html?locale=enOOXML external relationship
    • https://luztemplates.com/account/loginOOXML external relationship
    • https://ajuda.luz.vc/l/enOOXML external relationship
    • http://www.w3.org/1999/02/22-rdf-syntax-ns#OOXML external relationship
    • http://ns.adobe.com/xap/1.0/mm/OOXML external relationship
    • http://ns.adobe.com/xap/1.0/sType/ResourceRef#OOXML external relationship
    • http://ns.adobe.com/xap/1.0/OOXML external relationship
    • https://stackoverflow.com/questions/6136798/vba-shell-function-in-office-2011-for-macOOXML external relationship
    • https://stackoverflow.com/questions/6136798/vba-shell.5.1$OOXML external relationship

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) 33251 bytes
SHA-256: e128a0fdca43380a7035c3ae52efe36b5b8d59b1f3d456f02126ad76c2f12426
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "EstaPastaDeTrabalho"
Attribute VB_Base = "0{00020819-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Private Sub Workbook_Open()
    If Sheets("Info").Range("C2").Value = "" Then
        Call mostrar_form
    Else
        Call Teste_Acesso
    End If
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    'Editado: 26/05/2018
    'UserName: Ricardo Druzian
    bFechar = True
    Call desbloquear_wb
    Call ocultar_abas
    Call ocultar_tabs
    Call bloquear_wb
    'Application.Quit
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Dim sFileName As String
    Dim sFixedFileName As String

    If SaveAsUI Then
        sFileName = Application.GetSaveAsFilename()
        If (sFileName <> "") Or (sFileName <> "False") Then
            sFixedFileName = Mid(sFileName, 1, InStr(sFileName, ".")) & "xlsm"
            ActiveWorkbook.SaveAs Filename:=sFixedFileName
        End If
        Cancel = True
    End If
End Sub


Attribute VB_Name = "Planilha25"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Planilha26"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Planilha27"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Planilha1"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Planilha2"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Planilha3"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Planilha4"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Planilha5"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Planilha6"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Planilha7"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB
... (truncated)
vbaProject_00.bin vba-project OOXML VBA project: xl/vbaProject.bin 201216 bytes
SHA-256: 5bd509fbc677683e24912527753c7176f0f32b844d7ce8ca03b1c5e015df1dd2