Rupanya, shellshock Bash mengeksploitasi CVE-2014-6271 dapat dieksploitasi melalui jaringan melalui SSH. Saya bisa membayangkan bagaimana eksploitasi akan bekerja melalui Apache / CGI, tetapi saya tidak bisa membayangkan bagaimana itu akan berhasil di SSH?
Bisakah seseorang memberikan contoh bagaimana SSH akan dieksploitasi, dan kerusakan apa yang dapat terjadi pada sistem?
KLARIFIKASI
AFAIU, hanya pengguna yang diautentikasi yang dapat memanfaatkan kerentanan ini melalui SSH. Apa gunanya exploit ini untuk seseorang, yang memiliki akses sah ke sistem? Maksud saya, eksploitasi ini tidak memiliki eskalasi hak istimewa (dia tidak bisa menjadi root), jadi dia tidak bisa melakukan lebih dari yang bisa dia lakukan setelah hanya masuk secara sah melalui SSH.
bash
ssh
shellshock
Martin Vegter
sumber
sumber
Jawaban:
Salah satu contoh di mana ini dapat dieksploitasi adalah di server dengan
authorized_keys
perintah paksa. Saat menambahkan entri ke~/.ssh/authorized_keys
, Anda dapat mengawali baris dengancommand="foo"
untuk memaksafoo
dijalankan kapan saja kunci publik ssh digunakan. Dengan exploit ini, jika shell pengguna target diaturbash
, mereka dapat mengambil keuntungan dari exploit untuk menjalankan hal-hal selain dari perintah yang mereka dipaksa.Ini mungkin lebih masuk akal sebagai contoh, jadi inilah contohnya:
Di sini kami mengatur pengguna
testuser
, yang memaksa koneksi ssh menggunakan kunci ssh Anda untuk berjalanecho starting sleep; sleep 1
.Kami dapat menguji ini dengan:
Perhatikan bagaimana kita
echo something else
tidak dijalankan, tetapistarting sleep
menunjukkan bahwa perintah yang dipaksakan berjalan.Sekarang mari kita tunjukkan bagaimana exploit ini dapat digunakan:
Ini berfungsi karena
sshd
mengaturSSH_ORIGINAL_COMMAND
variabel lingkungan ke perintah yang diberikan. Jadi meskipunsshd
dijalankansleep
, dan bukan perintah yang saya suruh, karena exploit, kode saya tetap dijalankan.sumber
ssh testuser@localhost echo something else '`whoami`'
untuk membuktikan di mana perintah dieksekusiMemperluas contoh dari Ramesh - jika Anda menggunakan otentikasi dua faktor, dimungkinkan untuk memotong faktor kedua menggunakan eksploit ini, tergantung pada bagaimana penerapannya.
- Login Normal -
- Menjalankan kode tanpa 2FA -
Anda akan melihat itu menjalankan kode tanpa meminta 2FA.
- Setelah menambal pesta -
sumber
read
fungsi. Jika tidak - pengguna aman.Shellshock adalah kerentanan pada bash, bukan pada SSH. Untuk mengeksploitasinya, penyerang perlu menyebabkan sistem yang rentan untuk menjalankan bash, dan untuk mengontrol nilai variabel lingkungan yang akan diteruskan ke bash.
Untuk mencapai proses bash melalui SSH, penyerang perlu melewati langkah otentikasi. (Mungkin ada vektor serangan melalui layanan jaringan lain, tetapi mereka berada di luar cakupan utas ini.) Jika akun tetap menjalankan perintah shell sewenang-wenang, tidak ada serangan. Kerentanan berperan jika akun dibatasi untuk menjalankan perintah tertentu: misalnya, akun khusus SFTP, atau akun khusus git, dll.
Ada beberapa cara untuk membatasi akun untuk menjalankan perintah tertentu dengan SSH: dengan
ForceCommand
opsi disshd_config
, atau dengan acommand=
. pembatasan dalamauthorized_keys
file. Jika shell pengguna adalah bash, maka kerentanan Shellshock memungkinkan pengguna yang biasanya hanya memiliki akses ke akun terbatas untuk melewati batasan dan menjalankan perintah sewenang-wenang.sumber
zsh
.