Ich weiß nicht, ob diese Frage hier gestellt werden soll oder nicht. In fast jeder Sprache gibt es Malware. Gilt das auch für vimscript
?
Angenommen, es vim
wird mit hohen Systemberechtigungen ausgeführt. Gibt es eine Möglichkeit, dass ein neuer vim
Benutzer sein System durch die Verwendung eines Plugins oder einer gut aussehenden vimrc
Datei (dh sogenannte bösartige Skripte in anderen Skriptsprachen) ruiniert ?
Welche Maßnahmen kann ein neuer Benutzer ergreifen, bevor unbekannte Skriptdateien ausgeführt werden? Ich weiß, dass das Deaktivieren von Skripten eine offensichtliche Lösung dafür ist. Aber es gibt eine wirklich gute Anzahl von Plugins, die selbst für die neuen Lernenden sehr nützlich sind.
Noch einmal, diese Frage passt vielleicht nicht hierher, aber ich glaube, dass Sicherheit auch ein sehr wichtiger Teil des gesamten Bildes ist.
Das Zeigen auf einige Ressourcen oder Informationen dazu wäre für neue vim
Benutzer wie mich sehr hilfreich .
quelle
$EDITOR
eingestellt aufvim
, verwenden Sie einfach$ sudo -e filename
./root/.vimrc
. Normalerweise schalte ich nur die Syntaxhervorhebung ein. Je ausgefallener Ihr normales Benutzer-Vim-Setup ist, desto offensichtlicher wird es, dass Sie als Root ausgeführt werden.Antworten:
Nun, Vim kann beliebige Befehle mit ausführen
:!
. Es können Umgebungsvariablen festgelegt werden. Malware-Skripte, die Shell-Skripte sind, können daher in Vimscript ausgeführt werden.Es kann komplexe Perl-, Python-, Ruby- oder Lua-Programme verwenden. Daher kann in Vim geschriebene Malware, die nur Standardbibliotheken verwendet, in Vim eingebettet werden.
Auch wenn beides nicht zutrifft, ist Vim Redakteur. Wenn Sie als Root ausgeführt werden, können Sie Ihre
/etc/passwd
und Ihre/etc/shadow
Dateien problemlos bearbeiten , um einen neuen Benutzer zu erstellen und/etc/sudoers
ihm vollständigesudo
Berechtigungen zu erteilen , sowiecronjob
Shell-Skripte ausführen, um diesen Benutzer einzurichten.Wie bei der Ausführung von zufälligen Skripten aus dem Internet gibt es keine einfache Möglichkeit, sicher zu sein. Unter Linux können Sie in einer VM mit einem Overlay ausführen, das Ihnen möglicherweise mitteilt, welche Dateien ein bestimmtes vimrc ändert. Es hängt davon ab, wie viel Risiko Sie wahrnehmen.
quelle
unknown
oderlesser known
Skripte ...Wenn Sie die Antwort von muru erweitern, können Sie den Code überprüfen, insbesondere da der Plugin-Code normalerweise sehr kurz ist (die Ausnahmen sind einige beliebte Plugins, aber wenn sie beliebt sind, sind sie sicherer - Sie können erwarten, dass viele andere die Quelle überprüft haben).
Sie müssen den Code nicht vollständig verstehen. es würde ausreichen, nach "gefährlichen" Befehlen zu suchen:
:!
undsystem()
: Ermöglicht die Ausführung von Shell-Befehlen und kann somit Ihr System ändern:perldo
,:python
,:lua
,:tcl
, Und:ruby
: Ausführen von Befehlen auf verschiedene Sprachen, die eingebetteten Systemaufrufe enthalten:execute
: Dieser Befehl führt eine Zeichenfolge als Befehl aus, sodass er verwendet werden kann, um einen der vorherigen Befehle zu verbergen (z. B. um das Erkennen zu erschwerencall system('malware')
oder umperldo malware
die Zeichenfolge in eine Variable zu verketten).function("MyFunc")
: Funktionsfunktionsreferenzen aufrufen - akzeptiert eine Variable als Parameter und ermöglicht so das Verbergen vonsystem()
Sie können auch versuchen, einige Plugin-Funktionen mit
'secure'
odersandbox
zum Erkennen von Shell- und externen Sprachen (Perl, Python usw.) auszuführen.quelle