MALICIOUS
62
Risk Score
Heuristics 3
-
Legacy WordBasic macro-virus markers high OLE_LEGACY_WORDBASIC_MACRO_VIRUSOLE Word document contains legacy WordBasic auto-execution macro markers such as AutoOpen plus ToolsMacro/MacroFile/fileMacro/globMacro or named historical macro-virus strings. These old Word 6/95 macro forms are not exposed as a modern VBA project, so normal VBA source extraction can miss them.
-
VBA macros detected medium OLE_VBA_MACROSDocument contains VBA macro code
-
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.openxmlformats.org/drawingml/2006/main In document text (OLE body)
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) | 5403 bytes |
SHA-256: 6ce8c8afd36d90093a2bf8a20d0ee0511c1f731c3c58b4da7382c2ff5256d451 |
|||
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
Attribute VB_Name = "AutoNew"
Public Sub MAIN()
WordBasic.ToolsMacro Name:="dspu", Run:=1
End Sub
Attribute VB_Name = "dspu"
Rem Makroname: DSPU (DateiSpeichernUnter) für Vertraege
Public Sub MAIN()
Dim MeinPfad$
Dim k
Dim l
Dim uvz
Dim uvz_$
Dim VertragName$
Dim MeinDateiName$
Dim w$
Dim x$
Dim y$
Dim z$
Dim w_
Dim x_
Dim y_
Dim z_
Dim n
Dim n_$
Dim MeinDokument$
Dim Antwort
MeinPfad$ = "H:\WINWORD\Vertraege"
Rem Erstellung einer Liste der Unterverzeichnisse von MeinPfad$
ReDim uvzListe__$(WordBasic.CountDirectories(MeinPfad$))
For k = 1 To WordBasic.CountDirectories(MeinPfad$)
If Len(WordBasic.[GetDirectory$](MeinPfad$, k)) <= 3 Then
uvzListe__$(l) = WordBasic.[GetDirectory$](MeinPfad$, k)
l = l + 1
End If
Next
Rem Dialogfenster, in dem ein nicht mehr als dreistelliges
Rem Unterverzeichnis eingestellt bzw. eingegeben werden kann.
Rem Es besteht auch die Möglichkeit zum Abbrechen
WordBasic.BeginDialog 304, 144, MeinPfad$
WordBasic.Text 12, 8, 128, 13, "Unterverzeichnis", "Text1"
WordBasic.ComboBox 13, 27, 160, 108, uvzListe__$(), "uvzAuswahl"
WordBasic.OKButton 188, 9, 100, 21
WordBasic.CancelButton 188, 38, 100, 21
WordBasic.EndDialog
Dim dlg As Object: Set dlg = WordBasic.CurValues.UserDialog
DialogAufruf:
uvz = WordBasic.Dialog.UserDialog(dlg)
Select Case uvz
Case -1
uvz_$ = dlg.uvzAuswahl
Case 0
WordBasic.FileClose 2
GoTo Ende1
End Select
If uvz_$ = "" Then
WordBasic.MsgBox "Kein Unterverzeichnis angegeben", 48
GoTo DialogAufruf
ElseIf Len(uvz_$) > 3 Then
WordBasic.MsgBox "Der Verzeichnisname darf nicht mehr als drei Stellen haben", 48
GoTo DialogAufruf
End If
Rem Ermittlung des neuen Pfads und des Namens des dort vorhandenen
Rem Briefes mit der größten Nummer. Der neue Brief erhält dann eine
Rem Nummer, die um 1 größer ist; existiert noch keine Datei mit dem Namen
Rem XXXV??*.DOC oder heißt die letzte gefundene Datei XXXV9999.DOC, so
Rem erhält der neue Brief den Namen XXXV001.DOC.
Rem Es ist zu bemerken, daß entweder drei- oder vierstellige Zahlen
Rem vorkommen. Nach dem Sprung auf von drei- auf vierstellige Zahlen wird
Rem auch nur noch nach vierstelligen Zahlen gesucht.
MeinPfad$ = MeinPfad$ + "\" + uvz_$
VertragName$ = uvz_$ + "V??*.doc"
WordBasic.FileFind SearchPath:=MeinPfad$, Name:=VertragName$
MeinDateiName$ = WordBasic.[FoundFileName$](WordBasic.CountFoundFiles())
If WordBasic.[Right$](MeinDateiName$, 8) = "v999.doc" Then
VertragName$ = uvz_$ + "V????.doc"
WordBasic.FileFind SearchPath:=MeinPfad$, Name:=VertragName$
MeinDateiName$ = WordBasic.[FoundFileName$](WordBasic.CountFoundFiles())
If MeinDateiName$ = "" Then Let MeinDateiName$ = uvz_$ + "v999.doc"
End If
If MeinDateiName$ <> "" Then
w$ = WordBasic.[Right$](Str(Asc(WordBasic.[Right$](MeinDateiName$, 8)) - 48), 1)
x$ = WordBasic.[Right$](Str(Asc(WordBasic.[Right$](MeinDateiName$, 7)) - 48), 1)
y$ = WordBasic.[Right$](Str(Asc(WordBasic.[Right$](MeinDateiName$, 6)) - 48), 1)
z$ = WordBasic.[Right$](Str(Asc(WordBasic.[Right$](MeinDateiName$, 5)) - 48), 1)
w_ = Asc(w$) - 48
x_ = Asc(x$) - 48
y_ = Asc(y$) - 48
z_ = Asc(z$) - 48
n = 1000 * w_ + 100 * x_ + 10 * y_ + z_ + 1
If n < 10000 Then
If n >= 1000 Then
n_$ = WordBasic.[Right$](Str(n), 4)
Else
If n >= 100 Then
n_$ = WordBasic.[Right$](Str(n), 3)
Else
If n >= 10 Then
n_$ = "0" + WordBasic.[Right$](Str(n), 2)
Else
n_$ = "00" + WordBasic.[Right$](Str(n), 1)
End If
End If
End If
Else
n_$ = "001"
End If
MeinDokument$ = uvz_$ + "V" + n_$ + ".DOC"
Else
MeinDokument$ = uvz_$ + "V001.DOC"
End If
Rem Der Anwender soll nun entscheiden, ob der gerade ermittelte Name
Rem verwendet werden soll oder nicht. Wenn ja, wird die Datei bereits
Rem unter dem neuen Namen abgespeichert. Es besteht auch die
Rem Möglichkeit zum Abbrechen.
Antwort = WordBasic.MsgBox("Möchten Sie die neue Datei unter dem Namen " + UCase(MeinDokument$) + " speichern?", 35)
Select Case Antwort
Case -1
WordBasic.ChDir MeinPfad$
WordBasic.FileSaveAs Name:=MeinDokument$
WordBasic.PrintStatusBar "Die Datei wurde unter dem Namen " + MeinDokument$ + " gespeichert."
Case 0
Case 1
WordBasic.FileClose 2
End Select
GoTo Ende2
Ende1:
Ende2:
End Sub
Attribute VB_Name = "sp"
Public Sub MAIN()
Attribute MAIN.VB_Description = "Feld Speicherdatum aktualisieren"
Attribute MAIN.VB_ProcData.VB_Invoke_Func = "TemplateProject.sp.MAIN"
WordBasic.FileSave
WordBasic.StartOfDocument
WordBasic.ViewHeader
WordBasic.NextField
WordBasic.UnlockFields
WordBasic.UpdateFields
WordBasic.LockFields
WordBasic.NextField
WordBasic.UnlockFields
WordBasic.UpdateFields
WordBasic.LockFields
WordBasic.CloseViewHeaderFooter
WordBasic.FileSave
End Sub
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.