MALICIOUS
270
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1204.002 Malicious File
T1137.005 DLL Search Order Hijacking
T1071.001 Web Protocols
The sample is an Excel document containing a Workbook_Open VBA macro that executes upon opening. This macro utilizes WScript.Shell and CreateObject to potentially download and install a malicious Excel add-in (XLL) named 'BedvitXLL(x64).xll' or 'BedvitXLL(x86).xll', replacing any existing versions. The macro also attempts to delete existing add-ins and uses Shell() to execute commands, indicating a clear intent to compromise the user's system by installing a malicious component.
Heuristics 8
-
VBA project inside OOXML medium 6 related findings OOXML_VBADocument contains a VBA project — VBA macros present
-
Shell() call in VBA critical OLE_VBA_SHELLShell() call in VBA
-
WScript.Shell usage critical OLE_VBA_WSCRIPTWScript.Shell usage
-
Workbook_Open macro high OLE_VBA_WBOPENWorkbook_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)
-
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://www.cyberforum.ru/blogs/829006/blog4964.html In document text (OOXML body / shared strings)
- https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=97498&TITLE_SEO=97498-khranenie-faylov-i-faylovyy-menedzher-v-fayleliste-excelIn document text (OOXML body / shared strings)
- https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/windows-scripting/d5fk67ky(v=vs.84In document text (OOXML body / shared strings)
Extracted artifacts 2
Files carved from inside the sample during analysis.
| Filename | Kind | Source | Size |
|---|---|---|---|
macros.bas |
vba-macro | oletools.olevba.extract_macros (decoded VBA source from OOXML) | 30071 bytes |
SHA-256: 672909c578678983a966e8de2c8985c591a6b41d240807080dee990c939d1cb9 |
|||
Preview scriptFirst 1,000 lines of the extracted script
Attribute VB_Name = "AutoInstallation"
Attribute VB_Base = "0{00020819-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Option Explicit
'Option Compare Binary 'Text 'Binary
Private Sub Workbook_Open()
Dim ai As AddIn, xll As AddIn, nameXLL As String
'
If ThisWorkbook.FullName Like "*xlam" Then
If MsgBox("Вы открыли инсталлятор надстройки." & vbNewLine & "Хотите её установить, заменив существующие версии?", vbQuestion + vbOKCancel, "BedvitXLL") = 1 Then
Application.EnableEvents = 0
'On Error Resume Next
If Application.Workbooks.Count = 0 Then Workbooks.Add 'Создаём новую книгу если нет открытых (для AddIns.Add)
'===========================автоустановка========================================
#If Win64 Then
' Code is running in 64-bit version of Microsoft Office
nameXLL = "BedvitXLL(x64).xll"
#Else
' Code is running in 32-bit version of Microsoft Office
nameXLL = "BedvitXLL(x86).xll"
#End If
For Each ai In AddIns
If ai.Name Like nameXLL Then
'ai.Installed = True 'Включаем для возможностит отключить и удалить файл
ai.Installed = False 'Отключаем
If Dir(ai.FullName) <> "" Then
SetAttr ai.FullName, vbReadOnly
SetAttr ai.FullName, GetAttr(ai.FullName) And (Not vbReadOnly)
Kill ai.FullName 'Удаляем файл
End If
Exit For
End If
Next
ByteSheet.UnloadF Application.UserLibraryPath, nameXLL, 1, 0, 0, 0, 0, 0
DoEvents
Set xll = AddIns.Add(FileName:=Application.UserLibraryPath & nameXLL, CopyFile:=True) 'Если такой надстройки не было, подключаем её
DoEvents
Application.Wait (Now + 1 / 86400) ' ждем 1 сек
Err = 0
xll.Installed = True 'Включаем надстройку
DoEvents
Err = 0
xll.Installed = True 'Включаем надстройку
DoEvents
If Err = 0 Then
MsgBox "Библиотека (надстройка): Установлена.", vbInformation + vbOKOnly, "BedvitXLL"
Else
MsgBox "Библиотека (надстройка): НЕ установлена." & vbNewLine & "Установите и подключите вручную." & vbNewLine & "Стандартная папка для Add-In:" & vbNewLine & Application.UserLibraryPath, vbExclamation + vbOKOnly, "BedvitXLL"
End If
End If
Application.EnableEvents = 1
ThisWorkbook.Close 0
End If
End Sub
Attribute VB_Name = "ByteSheet"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Option Explicit
Sub START_MENU() 'ЗАГРУЗИТЬ, ПОСМОТРЕТЬ_ВЫГРУЗИТЬ, ПОСМОТРЕТЬ_УДАЛИТЬ
'Функционал для работы с файлами от BEDVIT (Виталий Бедный), 2018г., особая благодарность - Андрей VG (Андрей) за инфо.поддержку
'Пакетная загрузка, выгрузка, удаление, просмотр, запуск
'правильный счетчик, сообщение об ошибках, пакет параметров для выгрузки, распаковки, запуска
'Функуционал в простоте! без форм и сторонних библиотек все на одном листе,
'который можно переносить без потери данных в другие проекты или копировать код на любой другой лист и он станет Хранилищем
'Стартовое меню (START_MENU) - начало работы с Хранилищем визуально или
'программно через функции возвращающие количество файлов загруженных, выгруженных, удаленных, открытых
'e-mail: bedvit@mail.ru,
'всегда свежая версия на http://www.cyberforum.ru/blogs/829006/blog4964.html
'форум:https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=97498&TITLE_SEO=97498-khranenie-faylov-i-faylovyy-menedzher-v-fayleliste-excel
'v.05 от 28/06/2018
... (truncated)
|
|||
vbaProject_00.bin |
vba-project | OOXML VBA project: xl/vbaProject.bin | 79360 bytes |
SHA-256: 86bba7bac0d1573e5787def7aa6e15d8c89d9bc94a97fdf636b5e5186dcd83c5 |
|||
Open this report in the interactive analyzer, or submit your own file for analysis.