Saya membaca halaman manualunzip
, dan berlari ke yang berikut
-P password
use password to decrypt encrypted zipfile entries (if any). THIS
IS INSECURE! Many multi-user operating systems provide ways for
any user to see the current command line of any other user; even on
stand-alone systems there is always the threat of over-the-shoulder
peeking.
Walaupun tindakan pencegahan keamanan untuk tidak mengetik kata sandi dalam teks yang jelas (dan membuatnya berakhir dalam sejarah shell) tentu saja benar, saya merasa sulit untuk percaya bahwa ada sistem operasi di luar sana di mana setiap pengguna dapat melihat baris perintah dari yang lain pengguna . Bisakah seseorang memberi saya contoh (termasuk sistem warisan)?
Saya percaya ps
,, top
dll. Adalah jawaban untuk UNIX.
command-line
operating-systems
4ae1e1
sumber
sumber
Jawaban:
Dugaan saya adalah bahwa pada sistem Unix / Linux menggunakan
lsof
berpotensi mengekspos interaksi pengguna. Logikanya yanglsof
menunjukkan daftar file yang terbuka pada sistem. Dan mungkin jika seseorang membuka ritsleting file besar maka masih akan terbuka cukup lama bagi seseorang untuk memperhatikan dan kemudian mengintip aktivitas. Heck, itu akan cukup sepele untuk menulis skrip Bash dan menjalankannya setiap menit atau lebih melalui pekerjaan cron untuk mengumpulkan log aktivitas file yang sedang berlangsung.Tapi itu masih berdering salah bagiku. Maksud saya
lsof
berpotensi mengekspos sesuatu seperti inline password MySQL dengan cara ini. Tapi saya tidak 100% apakah pengguna normal tanpasudo
/ hak root akan dapat melihatlsof
aktivitas dari pengguna lain seperti itu.sumber
lsof
menunjukkan file terbuka dari pengguna lain dan Anda tidak perlu hak istimewa tinggi (diuji di server institusi saya). Demikian pula,ps
dantop
ungkapkan baris perintah pengguna lain.ps
,top
danlsof
dan tidak menemukan hak istimewa. Ada juga pertanyaan ini: Bagaimana membuat proses tidak terlihat oleh pengguna lain? . Jadi saya kira baris perintah memang terlihat oleh semua orang di sistem UNIX. Hmm, kejutan besar.ttysnoop
danconspy
bagaimanapun saya tidak yakin apakah mereka memerlukan hak akses root atau tidak.lsof
yang memungkinkan untuk melihat parameter dari baris perintah? dengan misalnyalsof -a +c0 /dev/null
saya dapat melihat nama perintah yang panjang tetapi tidak parameter dilewatkan ke perintah. Apa yang saya lewatkan? :-)Unix memungkinkan "ps". Selain itu, Unix umumnya memiliki perintah "w" yang akan menunjukkan apa yang sedang dijalankan pengguna. "w" biasanya memotong perintah berdasarkan ukuran terminal, tetapi itu bisa ditimpa. (Salah satu cara mudah mungkin dengan menggunakan terminal yang lebih luas.)
Ini mungkin juga akan mempengaruhi banyak sistem mirip Unix (Linux, sistem BSD, Solaris, dll.)
Saya percaya bahwa Microsoft Windows juga akan menunjukkan ini di Task Manager. Yah, mungkin itu kurang umum dengan Windows Vista dan Kontrol Akun Pengguna, karena Kontrol Akun Pengguna mungkin diperlukan. Tapi kembali pada hari-hari di WinXP / Server2003 dan sebelumnya, pembatasan seperti itu mungkin lebih longgar. Ada alasan mengapa NET USE mulai mendukung tanda bintang dan kemudian meminta pengguna untuk kata sandi. Dengan:
seorang pengguna mungkin bahkan tidak perlu berada di komputer yang sama untuk melihat perintah yang dijalankan. Dengan begitu saja, saya menduga bahwa banyak TaskList, TList, dan PSList (semua didistribusikan secara bebas oleh Microsoft) mungkin juga mendukung kemampuan untuk melihat apa yang terjadi, terlepas dari apa yang sedang dijalankan pengguna. Paling tidak, pengguna dengan hak istimewa Administrator, yang lebih umum pada sistem operasi pra-Vista. (Di Win9x, standar umum adalah bahwa semua pengguna memiliki kemampuan seperti Administrator.) Ingatlah bahwa Info-Zip, yang merupakan dokumentasi yang Anda kutip, sedikit lebih tua dari WinXP. Begitu saja saya pikir ini lebih tua dari Win95.
Dengan sistem multi-pengguna yang lebih tua, kerahasiaan tidak menjadi masalah besar. Mampu melihat apa yang dilakukan komputer, termasuk perintah apa yang dijalankan pengguna lain, mungkin dipandang sebagai fitur positif, bukan pelanggaran negatif dalam keamanan. Mungkin pertanyaan yang lebih berlaku adalah: Apakah ada OS multi-pengguna utama yang tidak mendukung pengguna untuk dapat melihat perintah apa yang dijalankan di komputer?
Pendekatan yang lebih aman adalah tidak pernah memasukkan kata sandi sensitif pada baris perintah. Opsi lain mungkin untuk meletakkan kata sandi dalam file, dan kemudian tentukan file itu pada baris perintah. misalnya:
Setidaknya dengan cara itu, izin berdasarkan implementasi filesystem kemungkinan akan menawarkan perlindungan.
sumber
Beberapa (dan saya percaya tidak semua) cara Linux untuk melihat perintah
zip -PThat_Password ...
pengguna lain tanpa hak akses root :cat /proc/24695/cmdline
jika PID adalah 24695 ...Catatan: Tidak ada spasi tetapi Anda bisa menebak kata sandi
grep -H -e "zip" /proc/[0-9]*/cmdline
baik jika itu berfungsi
cat
, semuanya bekerja berdasarkan teks ...pgrep -a zip
opsi -a mencantumkan baris perintah penuh serta ID proses. (tidak selalu tersedia pada versi lama [mis. <2008] daripgrep
)dan tentu saja op disebutkan
ps -aux | grep zip
top -c -b -n 1 | grep zip
jawaban itu dengan sesuatu sepertisumber
cat /proc/24695/cmdline
memberikan output tanpa spasi ...di Unix / Linux dan sejenisnya.
sumber