Malicious Office (OOXML) — malware analysis report

Static analysis result for SHA-256 7e72c60020dcf63c…

MALICIOUS

Office (OOXML)

705.5 KB Created: 2015-06-05 18:19:34 UTC Authoring application: Microsoft Excel 16.0300 First seen: 2021-06-04
MD5: 34f8b3d90e9b2d3c7909c76e5d586083 SHA-1: ba75d6368b8d5a43f80101141c78c9edf6605dee SHA-256: 7e72c60020dcf63cb12e17136265d0674c15a12278ce861545d6266b54f2b052
306 Risk Score

Malware Insights

MITRE ATT&CK
T1566.001 Spearphishing Attachment T1059.005 Visual Basic T1204.002 Malicious File

The sample is an Excel document containing a Workbook_Open VBA macro designed to execute malicious code. The macro is obfuscated and uses CreateObject to likely download and execute a second-stage payload. The document body presents a fake invoice or payment reminder, acting as a lure to trick the user into enabling macros, which is a common social engineering tactic. The presence of an obfuscated auto-exec loader and the use of CreateObject strongly indicate 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
  • OOXML clickable image phishing/form lure medium OOXML_CLICKABLE_IMAGE_FORM_LURE
    Workbook uses a large embedded image as the visible document body and attaches a click-through external hyperlink to that image. The target is a form/collection service or the drawing contains download/view lure text, which is a common credential or document-phishing pattern rather than benign workbook data.
  • 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
  • External hyperlinks (1) low OOXML_EXTERNAL_HYPERLINKS
    Document contains 1 external hyperlink — clickable URLs are stored as external relationships. First target: https://youtu.be/YjpPruPZs4A
  • Hidden worksheet (hidden) low OOXML_HIDDEN_SHEET
    Excel workbook contains 25 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 http://ajuda.luz.vc/article/101-como-adicionar-mais-linhas-nos-lancamentos-da-planilha-de-fluxo-de-caixa OOXML external relationship
    • http://blog.luz.vc/excel/como-transformar-valores-excel-de-real-para-dolar-euro-ou-kwanza/OOXML external relationship
    • https://luztemplates.comOOXML external relationship
    • https://documentos.luz.vc/?utm_source=referral&utm_medium=produtos&utm_campaign=pgto_escola4Document hyperlink
    • https://luz.vc/?utm_source=referral&utm_medium=produtos&utm_campaign=pgto_escola4OOXML external relationship
    • https://blog.luz.vc/?utm_source=referral&utm_medium=produtos&utm_campaign=pgto_escola4OOXML external relationship
    • https://cursos.luz.vc/?utm_source=referral&utm_medium=produtos&utm_campaign=pgto_escola4OOXML external relationship
    • https://slides.luz.vc/?utm_source=referral&utm_medium=produtos&utm_campaign=pgto_escola4OOXML external relationship
    • https://luz.vc/planilhas-empresariais/planilha-de-estudo-de-viabilidade-economica?utm_source=produtos&utm_medium=referral&utm_campaign=pgto_escola4Document 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/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
    • https://youtu.be/YjpPruPZs4ADocument hyperlink
    • 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) 32035 bytes
SHA-256: 0b119f5c95376dd686d5cfc62cd7c460ba5a3f809de94a82b38fb9f9707e4fc7
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 = "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_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Planilha8"
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 = "Planilha9"
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 = "Planilha10"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_C
... (truncated)
vbaProject_00.bin vba-project OOXML VBA project: xl/vbaProject.bin 192512 bytes
SHA-256: 12c903e6485cb9bf8e884979b4a7cace8e0029ef736f1911d866284b33a26725