dari: http://seclists.org/fulldisclosure/2009/Jul/0388.html
Jika saya mengerti yang terbaik dari posting dari: http://news.ycombinator.com/item?id=723798 orang -orang Matasano meninggalkan internet sshd diakses - ada solusi yang diusulkan untuk ini (dari sudut pandang pemrograman)?
security
vulnerabilities
hacking
pengguna14898
sumber
sumber
Jawaban:
Bagaimana Matasano diretas?
Itu tidak mungkin dijawab dari informasi di pos ke Pengungkapan Penuh. Namun selalu menarik untuk berspekulasi, karena mereka memberikan sedikit info -
Mereka menjalankan "
th3_f1n41_s01ut10n
" biner mereka terhadap server Matasano, yang terhubung ke port ssh. Ia menemukan pengguna non-root yang valid melalui beberapa cara yang tidak diketahui, dan sisa output dihapus.Biner dijalankan lagi menggunakan nama pengguna yang ditemukan, yang masuk dan menghubungkan kembali ke server mereka pada port 3338 (harap itu tidak terdaftar atas nama mereka ...).
Mereka mungkin menyiratkan mereka memiliki 0 hari terhadap kernel ini, yang cukup lama ketika Anda mempertimbangkan stock-in-trade perusahaan ini.
Whoops - tiba-tiba pengguna sekarang root. Mereka memiliki exploit privilege eskalasi lokal di / tmp yang mungkin merupakan 0-hari yang mereka maksud.
Jadi setidaknya ada dua eksploitasi yang terjadi di sini - eksploitasi OpenSSH untuk mendapatkan pengguna non-root yang valid pada sistem, dan login sebagai pengguna itu, dan kemudian eskalasi privilege lokal.
Menimbang bahwa OpenSSH memiliki beberapa masalah keamanan yang diketahui sejak versi 4.5:
Dari halaman keamanan OpenSSH :
~/.ssh/rc
untuk sesi yang perintahnya telah ditimpa dengan sshd_config (5) arahan ForceCommand. Ini adalah perilaku yang didokumentasikan, tetapi tidak aman (dijelaskan dalam catatan rilis OpenSSH 4.9).Saya kira memiliki kernel Linux yang lebih tua ini dan daemon SSH yang lebih tua lakukan untuk mereka. Juga, itu berjalan di server www mereka, yang tersedia untuk Internet, yang merupakan hal yang cukup percaya diri untuk dilakukan menurut pendapat saya. Orang-orang yang masuk jelas ingin mempermalukan mereka.
Bagaimana cara mencegah serangan ini?
Ini bisa dicegah dengan administrasi proaktif - memastikan semua layanan yang dihadapi internet ditambal, dan membatasi jumlah orang yang dapat terhubung daripada memungkinkan orang untuk terhubung dari mana saja. Episode ini menambah pelajaran bahwa mengamankan sistem administrasi sulit, dan membutuhkan dedikasi dari bisnis untuk menyediakan waktu bagi TI untuk menjaga hal-hal yang ditambal - pada kenyataannya, bukan sesuatu yang terjadi dengan mudah, setidaknya di perusahaan kecil.
Menggunakan pendekatan sabuk-dan-kawat gigi adalah yang terbaik - menggunakan otentikasi kunci publik, masuk daftar putih pada ssh daemon, otentikasi dua faktor, pembatasan IP, dan / atau meletakkan segala sesuatu di belakang VPN adalah rute yang memungkinkan untuk menguncinya.
Saya rasa saya tahu apa yang akan saya lakukan di tempat kerja besok. :)
sumber
Orang suka membuat FUD lebih dari itu, tetapi tampaknya mereka tahu bahwa pengguna adam sudah ada di sana dan tahu kata sandinya juga (mungkin melalui brute force atau metode lain). Namun, mereka ingin terlihat keren dan membuat keributan di seluruh.
Hal lain yang menarik untuk dicatat adalah bahwa pengguna adam belum masuk ke kotak itu selama lebih dari setahun:
(output dari lastlog)
Jadi dia mungkin menyimpan kata sandi itu (mungkin yang buruk) untuk sementara waktu.
* Jika mereka benar-benar memiliki alat untuk menemukan nama pengguna melalui SSH, mereka bisa menggunakan semua pengguna lain untuk mendapatkan akses jarak jauh, tetapi mereka menggunakan nama pengguna yang paling umum di dalam kotak itu (mudah ditebak).
sumber
Mengapa Anda mencoba dan menyelesaikan ini dari sudut pandang pemrograman?
Anda sebaiknya menyelesaikannya dari sudut pandang server pintar-administrator. Ada beberapa saran bagus di komentar dari tautan yang Anda poskan, seperti menggunakan daftar putih.
Saya juga ingin menambahkan itu, karena Anda bertanya di sini, kemungkinan besar Anda bukan ahli keamanan, dan apa pun yang Anda pikirkan untuk ditulis hanya akan menambah lebih banyak lubang. Ini sebenarnya bukan pertanyaan pemrograman sama sekali.
sumber
Lindungi perangkat lunak Anda dari serangan 0 hari ... yang tidak mungkin.
Mungkin salah satu pendekatan yang baik adalah dengan mengklaim bahwa perangkat lunak Anda tidak dapat dibongkar, yang akan menyebabkan whitehats untuk mencobanya dan mengungkapkan semuanya secara penuh, meninggalkan lebih sedikit lubang. Oracle 10 memiliki klaim ini, kemudian pada hari berikutnya seperti 9 lubang baru ditemukan. Cukup aman sekarang.
Kemungkinan besar, peretas menyalahgunakan konfigurasi perangkat lunak yang sangat baik
sumber
itu mengejutkan saya bahwa mereka memiliki begitu banyak pengguna dengan cangkang pada mesin itu. begitulah cara mereka dimiliki, semua yang lain adalah herring merah yang dimaksudkan untuk mengalihkan perhatian. salah satu dari mereka mendapatkan klien ssh mereka di pintu belakang pada beberapa mesin shell lain yang paling mungkin dan kemudian game usai. memberi semua orang akun shell dan membuat dunia sshdil diakses hanya malas dan bodoh.
sumber