Saya tidak tahu apakah pertanyaan ini harus ditanyakan di sini atau tidak. Di hampir setiap bahasa, malware ada. Apakah hal yang sama berlaku untuk vimscript
?
Misalkan vim
berjalan dengan hak istimewa sistem tinggi. Apakah ada kemungkinan bahwa vim
pengguna baru dapat merusak sistemnya dengan menggunakan plugin atau vimrc
file yang terlihat bagus (yaitu skrip berbahaya yang disebut dalam bahasa skrip lain)?
Apa ukuran yang bisa dilakukan pengguna baru sebelum menjalankan file skrip yang tidak dikenal? Saya tahu bahwa menonaktifkan skrip adalah solusi yang jelas untuk itu. Tetapi ada sejumlah plugin yang benar-benar bagus yang cukup berguna, bahkan untuk pelajar baru.
Sekali lagi untuk mengatakan, pertanyaan ini mungkin tidak cocok di sini, tetapi saya percaya bahwa keamanan juga merupakan bagian yang sangat penting dari keseluruhan gambar.
Menunjuk ke beberapa sumber daya atau info tentang ini akan sangat membantu bagi vim
pengguna baru seperti saya.
sumber
$EDITOR
diatur kevim
, cukup gunakan$ sudo -e filename
./root/.vimrc
. Saya biasanya hanya menyalakan highlight sintaks. Semakin bagus pengaturan vim pengguna normal Anda, semakin jelas Anda menjalankannya sebagai root.Jawaban:
Yah, Vim dapat menjalankan perintah sewenang-wenang dengan
:!
. Itu dapat mengatur variabel lingkungan. Skrip malware yang merupakan skrip shell dapat, karenanya, dijalankan dari Vimscript.Ini dapat menggunakan program Perl, Python, Ruby atau Lua yang kompleks. Jadi malware yang ditulis di salah satu dari ini yang menggunakan hanya pustaka standar yang dapat disematkan di Vim.
Bahkan jika tak satu pun dari ini benar, Vim adalah editor. Jika dijalankan sebagai root, kita dapat dengan mudah mengedit
/etc/passwd
dan/etc/shadow
file untuk membuat user baru dan/etc/sudoers
untuk memberikan mereka lengkapsudo
hak istimewa, dancronjob
untuk menjalankan skrip shell untuk mengatur pengguna ini up.Seperti halnya menjalankan skrip acak dari internet, tidak ada cara mudah untuk merasa aman. Di Linux, Anda bisa menjalankan dalam VM dengan overlay mungkin memberi tahu Anda file apa yang diubah oleh vimrc. Itu tergantung pada seberapa besar risiko yang Anda rasakan.
sumber
unknown
ataulesser known
skrip ...Memperluas jawaban muru, Anda dapat memeriksa kode, khususnya karena kode plugin biasanya sangat pendek (pengecualian adalah beberapa plugin populer, tetapi dengan menjadi populer mereka lebih aman - Anda dapat berharap bahwa banyak orang lain telah meninjau sumbernya).
Anda tidak harus sepenuhnya memahami kode; itu sudah cukup untuk mencari perintah "berbahaya":
:!
dansystem()
: memungkinkan eksekusi perintah shell, sehingga dapat mengubah sistem Anda:perldo
,:python
,:lua
,:tcl
, Dan:ruby
: menjalankan perintah pada bahasa yang berbeda, yang mungkin berisi panggilan sistem embedded:execute
: perintah ini mengeksekusi string sebagai perintah, sehingga dapat digunakan untuk menyembunyikan salah satu dari perintah sebelumnya (misalnya: untuk membuat lebih sulit dikenalicall system('malware')
atauperldo malware
, seseorang dapat menggabungkan string ke dalam variabel)function("MyFunc")
: referensi fungsi panggilan - menerima variabel sebagai parameter, sehingga memungkinkan penyembunyiansystem()
Anda juga dapat mencoba menjalankan beberapa fungsi plugin menggunakan
'secure'
atausandbox
untuk mendeteksi bahasa shell dan eksternal (perl, python, dll).sumber