MALICIOUS
494
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1204.002 Malicious File
The sample contains VBA macros that utilize WScript.Shell and URLDownloadToFile to download and execute a second-stage payload from the URL http://www.npes.org/pdfx/ns/id/. The macros also include checks for specific font installations, which is a social engineering tactic to coerce the user into installing the fonts, potentially as a precursor to executing the payload. The presence of AutoOpen, Document_Open, and Auto_Close macros indicates an attempt to automatically execute malicious code upon document interaction.
Heuristics 15
-
VBA project inside OOXML medium 10 related findings OOXML_VBADocument contains a VBA project — VBA macros present
-
Shell() call in VBA critical OLE_VBA_SHELLShell() call in VBA
-
WScript.Shell usage critical OLE_VBA_WSCRIPTWScript.Shell usage
-
URLDownloadToFile in VBA critical OLE_VBA_DOWNLOADURLDownloadToFile in VBA
-
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.
-
AutoOpen macro high OLE_VBA_AUTOOPENAutoOpen macro
-
Document_Open macro high OLE_VBA_DOCOPENDocument_Open macro
-
Auto_Close macro high OLE_VBA_AUTOCLOSEAuto_Close macro
-
CreateObject call high OLE_VBA_CREATEOBJCreateObject call
-
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.
-
Environ() call (env variable access) low OLE_VBA_ENVIRONEnviron() call (env variable access)
-
Embedded OLE object medium OOXML_OLE_OBJECTDocument contains an embedded OLE object
-
Payload URL recovered from embedded OLE object (1 URL) info OOXML_EMBEDDED_OBJECT_URLAn embedded OLE object (xl/word/ppt embeddings) carries a next-stage download URL in its Ole10Native/Package stream — stored literally (incl. UTF-16) or base64-encoded — which the package-level URL sweep does not see. Surfaced as an IOC; self-validating (only real payload hosts).
-
Suspicious extracted artifact info EXTRACTED_FILE_STATIC_TRIAGEOne or more files extracted from inside this sample matched static suspicious-content checks such as script obfuscation, encoded payload blobs, packed data, or execution/download terms.
-
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://key-design-share.com/FHG_Erscheinungsbild/01_Grundelemente/1_1_Logos/ Referenced by macro
- http://schemas.microsoft.com/office/word/2010/wordprocessingCanvasReferenced by macro
- http://schemas.microsoft.com/office/drawing/2014/chartexReferenced by macro
- http://schemas.microsoft.com/office/drawing/2015/9/8/chartexReferenced by macro
- http://schemas.microsoft.com/office/drawing/2015/10/21/chartexReferenced by macro
- http://schemas.microsoft.com/office/drawing/2016/5/9/chartexReferenced by macro
- http://schemas.microsoft.com/office/drawing/2016/5/10/chartexReferenced by macro
- http://schemas.microsoft.com/office/drawing/2016/5/11/chartexReferenced by macro
- http://schemas.microsoft.com/office/drawing/2016/5/12/chartexReferenced by macro
- http://schemas.microsoft.com/office/drawing/2016/5/13/chartexReferenced by macro
- http://schemas.microsoft.com/office/drawing/2016/5/14/chartexReferenced by macro
- http://schemas.openxmlformats.org/markup-compatibility/2006Referenced by macro
- http://schemas.microsoft.com/office/drawing/2016/inkReferenced by macro
- http://schemas.microsoft.com/office/drawing/2017/model3dReferenced by macro
- http://schemas.openxmlformats.org/officeDocument/2006/relationshipsReferenced by macro
- http://schemas.openxmlformats.org/officeDocument/2006/mathReferenced by macro
- http://schemas.microsoft.com/office/word/2010/wordprocessingDrawingReferenced by macro
- http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawingReferenced by macro
- http://schemas.openxmlformats.org/wordprocessingml/2006/mainReferenced by macro
- http://schemas.microsoft.com/office/word/2010/wordmlReferenced by macro
- http://schemas.microsoft.com/office/word/2012/wordmlReferenced by macro
- http://schemas.microsoft.com/office/word/2018/wordml/cexReferenced by macro
- http://schemas.microsoft.com/office/word/2016/wordml/cidReferenced by macro
- http://schemas.microsoft.com/office/word/2018/wordmlReferenced by macro
- http://schemas.microsoft.com/office/word/2015/wordml/symexReferenced by macro
- http://schemas.microsoft.com/office/word/2010/wordprocessingGroupReferenced by macro
- http://schemas.microsoft.com/office/word/2010/wordprocessingInkReferenced by macro
- http://schemas.microsoft.com/office/word/2006/wordmlReferenced by macro
- http://schemas.microsoft.com/office/word/2010/wordprocessingShapeReferenced by macro
- http://www.npes.org/pdfx/ns/id/Referenced by macro
- https://info-archiv.fraunhofer.de/cd-2009/Fraunhofer_Erscheinungsbild/01_Grundelemente/1_1_Logos/Referenced by macro
- http://www.w3.org/1999/02/22-rdf-syntax-ns#Referenced by macro
- http://ns.adobe.com/xap/1.0/Referenced by macro
- http://ns.adobe.com/xap/1.0/mm/Referenced by macro
- http://purl.org/dc/elements/1.1/Referenced by macro
- http://ns.adobe.com/pdf/1.3/Referenced by macro
- http://ns.adobe.com/pdfx/1.3/Referenced by macro
Extracted artifacts 5
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) | 42005 bytes |
SHA-256: a21b37aa716f4de3a018a52a6af838eeb0372b03dce2e29633072706a5c87510 |
|||
Preview scriptFirst 1,000 lines of the extracted script
Attribute VB_Name = "ThisDocument"
Attribute VB_Base = "0{00020906-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
Dim WithEvents appWord As Application
Attribute appWord.VB_VarHelpID = -1
Sub Document_New()
Set appWord = Application
'## schrift überprüfen
Dim strFontName As String
strFontName = "Frutiger LT Com 45 Light"
If IsFontInstalled(strFontName) Then
Else
MsgBox strFontName & " ist n i c h t installiert! Das Dokument wird geschlossen. Bitte Schrift installieren!"
Documents.Close
Exit Sub
End If
Dim strFontName2 As String
strFontName2 = "Frutiger LT Com 55 Roman"
If IsFontInstalled(strFontName2) Then
Else
MsgBox strFontName2 & " ist n i c h t installiert! Das Dokument wird geschlossen. Bitte Schrift installieren!"
Documents.Close
Exit Sub
End If
End Sub
Sub document_open()
Set appWord = Application
End Sub
Private Sub appWord_DocumentBeforeSave(ByVal Doc As Document, SaveAsUI As Boolean, Cancel As Boolean)
If (SaveAsUI) Then
Cancel = True
Set fd = Dialogs(wdDialogFileSaveAs)
With fd
.Format = wdFormatXMLDocument
If .Show Then
If (.Format = wdFormatXMLDocument) Then
ActiveDocument.SaveAs2 FileName:=.Name, _
FileFormat:=wdFormatXMLDocument, _
AddToRecentFiles:=True, _
SaveFormsData:=False, _
SaveAsAOCELetter:=False, _
CompatibilityMode:=14
ElseIf (.Format = wdFormatXMLDocumentMacroEnabled) Then
ActiveDocument.SaveAs2 FileName:=.Name, _
FileFormat:=wdFormatXMLDocumentMacroEnabled, _
AddToRecentFiles:=True, _
SaveFormsData:=False, _
SaveAsAOCELetter:=False, _
CompatibilityMode:=14
Else
ActiveDocument.SaveAs2 FileName:=.Name, FileFormat:=.Format
End If
End If
End With
Set fd = Nothing
'Application.OnTime Now, "DocumentAfterSave"
End If
End Sub
Sub DocumentAfterSave()
End Sub
Attribute VB_Name = "Logotausch"
Public checkLNG As Boolean
Private Declare PtrSafe Function URLDownloadToFile Lib "urlmon" Alias _
"URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal _
szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Function Stream_BinaryToString(Binary, CharSet)
Const adTypeText = 2
Const adTypeBinary = 1
'Create Stream object
Dim BinaryStream 'As New Stream
Set BinaryStream = CreateObject("ADODB.Stream")
'Specify stream type - we want To save text/string data.
BinaryStream.Type = adTypeBinary
'Open the stream And write text/string data To the object
BinaryStream.Open
BinaryStream.Write Binary
'Change stream type To binary
BinaryStream.Position = 0
BinaryStream.Type = adTypeText
'Specify charset For the source text (unicode) data.
If Len(CharSet) > 0 Then
BinaryStream.CharSet = CharSet
Else
BinaryStream.CharSet = "us-ascii"
End If
'Open the stream And get binary data from the object
Stream_BinaryToString = BinaryStream.ReadText
End Function
Function Logo_einstellen(pfad, eps)
' Selection.SetRange 0, 0
ActiveDocument.ActiveWindow.View.SeekView = wdSeekCurrentPageHeader
For Each sect In ActiveDocument.Sections
For Each head In sect.Headers
For Each shp In head.Shapes
'
... (truncated)
|
|||
ooxml_oleobject_00.bin |
ooxml-ole-object | OOXML embedded OLE part: word/embeddings/oleObject2.bin | 2810880 bytes |
SHA-256: 2d352e6a783f45f64b769301cfcc38adbf232711e1c9994f7d5a0ca52ae3855a |
|||
|
Detection
ClamAV:
No threats found
Obfuscation or payload:
likely
Carved artifact entropy is 7.80, consistent with packed or encrypted content.
|
|||
vbaProject_00.bin |
vba-project | OOXML VBA project: word/vbaProject.bin | 180736 bytes |
SHA-256: 3b6d775783d3d5096279e62feddf1752d4496293d234ca8f6208f474a3351419 |
|||
emf_00.emf |
ooxml-emf | OOXML EMF part: word/media/image1.emf | 4784 bytes |
SHA-256: a2a44070544c416819d2d65b99f9fb3891c55371f4c4f3ffce26e6ecb7d739d0 |
|||
emf_01.emf |
ooxml-emf | OOXML EMF part: word/media/image2.emf | 18516 bytes |
SHA-256: 1c2deedc3575abff3f48432c0522c1a2d470b5085559e5b5a18ac3db12cfd69f |
|||
Open this report in the interactive analyzer, or submit your own file for analysis.