Kerentanan baru Samba ini sudah disebut "Sambacry", sedangkan eksploit itu sendiri menyebutkan "Eternal Red Samba", diumumkan di twitter (sensasional) sebagai:
Samba bug, metasploit one-liner untuk memicu adalah:simple.create_pipe("/path/to/target.so")
Versi Samba yang berpotensi terpengaruh adalah dari Samba 3.5.0 hingga 4.5.4/4.5.10/4.4.14.
Jika instalasi Samba Anda memenuhi konfigurasi yang dijelaskan di bawah, perbaikan/peningkatan harus dilakukan secepatnya karena sudah ada eksploit, eksploit lain dalam modul python danmetasploit di luar sana.
Lebih menarik lagi, sudah ada add-on untuk mengetahui honeypot dari proyek honeynet, dionaea untuk plug-in WannaCry dan SambaCry.
Samba cry tampaknya sudah (ab) digunakan untuk menginstal lebih banyak crypto-miner "EternalMiner" atau berfungsi ganda sebagai dropper malware di masa mendatang.
honeypots yang dibuat oleh tim peneliti dari Kaspersky Lab telah menangkap kampanye malware yang mengeksploitasi kerentanan SambaCry untuk menginfeksi komputer Linux dengan perangkat lunak penambangan cryptocurrency. Peneliti keamanan lainnya, Omri Ben Bassat, secara independen menemukan kampanye yang sama dan menamainya "EternalMiner".
Solusi yang disarankan untuk sistem dengan Samba terinstal (yang juga ada dalam pemberitahuan CVE) sebelum memperbaruinya, ditambahkan ke smb.conf
:
nt pipe support = no
(dan memulai ulang layanan Samba)
Ini seharusnya menonaktifkan pengaturan yang mengaktifkan/menonaktifkan kemampuan untuk membuat koneksi anonim ke layanan pipa bernama IPC windows. Dari man samba
:
Opsi global ini digunakan oleh pengembang untuk mengizinkan atau melarang klien WindowsNT/2000/XP kemampuan untuk membuat koneksi ke pipa SMBIPC$ khusus NT. Sebagai pengguna, Anda tidak perlu mengganti default.
Namun dari pengalaman internal kami, sepertinya perbaikannya tidak kompatibel dengan yang lama? Versi Windows (setidaknya beberapa? Klien Windows 7 tampaknya tidak berfungsi dengan nt pipe support = no
), dan dengan demikian rute perbaikan dapat digunakan dalam kasus ekstrim untuk memasang atau bahkan mengompilasi Samba.
Lebih khusus lagi, perbaikan ini menonaktifkan daftar share dari klien Windows, dan jika diterapkan, mereka harus secara manual menentukan jalur lengkap share agar dapat menggunakannya.
Solusi lain yang diketahui adalah memastikan share Samba dipasang dengan noexec
pilihan. Ini akan mencegah eksekusi binari yang berada di sistem file yang terpasang.
Patch kode sumber keamanan resmi ada di sini dari halaman keamanan samba.org.
Debian telah meluncurkan pembaruan kemarin (24/5), dan pemberitahuan keamanan terkait DSA-3860-1 samba
Untuk memverifikasi apakah kerentanan telah diperbaiki di Centos/RHEL/Fedora dan turunannya, lakukan:
#rpm -q –changelog samba | grep -i CVE
– resolves: #1450782 – Fix CVE-2017-7494
– resolves: #1405356 – CVE-2016-2125 CVE-2016-2126
– related: #1322687 – Update CVE patchset
Sekarang ada nmap
skrip deteksi :samba-vuln-cve-2017-7494.nse
untuk mendeteksi versi Samba, atau nmap
yang jauh lebih baik skrip yang memeriksa apakah layanan rentan di http://seclists.org/nmap-dev/2017/q2/att-110/samba-vuln-cve-2017-7494.nse , salin ke /usr/share/nmap/scripts
lalu perbarui nmap
database , atau jalankan sebagai berikut:
nmap --script /path/to/samba-vuln-cve-2017-7494.nse -p 445 <target>
Tentang tindakan jangka panjang untuk melindungi layanan SAMBA:Protokol SMB tidak boleh ditawarkan langsung ke Internet secara luas.
Tak perlu dikatakan lagi bahwa SMB selalu merupakan protokol yang berbelit-belit, dan bahwa layanan semacam ini harus di-firewall dan dibatasi untuk jaringan internal [di mana mereka dilayani].
Ketika diperlukan akses jarak jauh, baik ke rumah atau khususnya ke jaringan perusahaan, sebaiknya akses tersebut dilakukan dengan menggunakan teknologi VPN.
Seperti biasa, dalam situasi ini, prinsip Unix yang hanya menginstal dan mengaktifkan layanan minimum yang diperlukan akan membuahkan hasil.
Diambil dari eksploit itu sendiri:
Eksploitasi Samba Merah Abadi -- CVE-2017-7494.
Menyebabkan server Samba yang rentan memuat pustaka bersama dalam konteks root.
Kredensial tidak diperlukan jika server memiliki akun tamu.
Untuk eksploitasi jarak jauh, Anda harus memiliki izin menulis untuk setidaknya satu bagian.
Eternal Red akan memindai server Samba untuk mendapatkan share yang dapat ditulisinya. Ini juga akan menentukan jalur lengkap dari share jarak jauh.For local exploit provide the full path to your shared library to load. Your shared library should look something like this extern bool change_to_root_user(void); int samba_init_module(void) { change_to_root_user(); /* Do what thou wilt */ }
Diketahui juga bahwa sistem dengan SELinux diaktifkan tidak rentan terhadap eksploitasi.
Lihat Cacat Samba 7 Tahun yang Memungkinkan Peretas Mengakses Ribuan PC Linux dari Jarak Jauh
Menurut mesin pencari komputer Shodan, lebih dari 485.000 komputer yang mendukung Samba membuka port 445 di Internet, dan menurut para peneliti di Rapid7, lebih dari 104.000 titik akhir yang terpapar internet tampaknya menjalankan versi Samba yang rentan, di mana 92.000 menjalankan versi yang tidak didukung dari Samba.
Karena Samba adalah protokol SMB yang diimplementasikan pada sistem Linux dan UNIX, maka beberapa ahli mengatakan bahwa Samba adalah "versi Linux dari EternalBlue", yang digunakan oleh ransomware WannaCry.
... atau haruskah saya mengatakan SambaCry?
Mengingat jumlah sistem yang rentan dan kemudahan mengeksploitasi kerentanan ini, kelemahan Samba dapat dieksploitasi dalam skala besar dengan kemampuan wormable.
Jaringan rumah dengan perangkat network-attached storage (NAS) [yang juga menjalankan Linux] juga rentan terhadap kelemahan ini.
Lihat juga Bug eksekusi kode wormable telah mengintai di Samba selama 7 tahun. Tambal sekarang!
Cacat berusia tujuh tahun, diindeks sebagai CVE-2017-7494, dapat dieksploitasi secara andal hanya dengan satu baris kode untuk mengeksekusi kode berbahaya, selama beberapa persyaratan terpenuhi. Persyaratan tersebut mencakup komputer rentan yang:
(a) membuat port berbagi file dan printer 445 dapat dijangkau di Internet,
(b) mengonfigurasi file bersama untuk memiliki hak menulis, dan
(c) menggunakan jalur server yang diketahui atau dapat ditebak untuk file tersebut.Saat kondisi tersebut terpenuhi, penyerang jarak jauh dapat mengunggah kode apa pun yang mereka pilih dan menyebabkan server mengeksekusinya, mungkin dengan hak akses root tanpa batas, bergantung pada platform yang rentan.
Mengingat kemudahan dan keandalan eksploitasi, lubang ini layak untuk ditutup sesegera mungkin. Kemungkinan hanya masalah waktu sampai penyerang mulai secara aktif menargetkannya.
Juga Rapid 7 - Menambal CVE-2017-7494 di Samba:Ini Lingkaran Kehidupan
Dan lebih banyak lagi SambaCry:Sekuel Linux dari WannaCry.
Fakta yang Perlu Diketahui
CVE-2017-7494 memiliki Skor CVSS 7,5(CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H)3.
Cakupan Ancaman
Kueri shodan.io dari "port:445 !os:windows" menunjukkan sekitar satu juta host non-Windows yang memiliki tcp/445 terbuka ke Internet, lebih dari setengahnya ada di Uni Emirat Arab (36%) dan AS . (16%). Meskipun banyak di antaranya mungkin menjalankan versi yang ditambal, memiliki perlindungan SELinux, atau tidak cocok dengan kriteria yang diperlukan untuk menjalankan eksploit, kemungkinan permukaan serangan untuk kerentanan ini besar.
P.S. Perbaikan komit dalam proyek github SAMBA tampaknya komit 02a76d86db0cbe79fcaf1a500630e24d961fa149
Sebagian besar dari kita yang menjalankan server Samba di luar sana mungkin menjalankannya di dalam LAN, di belakang firewall, dan tidak membuka portanya secara langsung ke dunia luar.
Ini akan menjadi praktik yang buruk jika Anda melakukannya, dan yang tidak dapat dimaafkan ketika ada solusi VPN yang sederhana, efektif dan gratis (seperti dalam bir dan dalam pidato) seperti OpenVPN. SMB tidak dirancang dengan mempertimbangkan Internet terbuka (heck, TCP/IP bahkan datang sebagai renungan dalam protokol itu) dan harus diperlakukan seperti itu. Saran tambahan adalah menjalankan aturan firewall pada host berbagi file aktual yang hanya memasukkan alamat jaringan lokal (dan akhirnya VPN) ke dalam daftar putih di semua port SMB (139/TCP
, 445/TCP
, 137/UDP
dan 138/UDP
).
Selain itu, jika kasus penggunaan Anda mengizinkan, Anda harus mempertimbangkan menjalankan Samba tanpa hak istimewa (misalnya, samba
pengguna yang bukan alias dari root
). Saya mengerti bahwa tidak mudah untuk mengawinkan batasan ACL NT dengan ACL POSIX dengan penyiapan ini, tetapi jika memungkinkan untuk melakukannya dalam penyiapan khusus Anda, inilah caranya.
Akhirnya, bahkan dengan "penguncian" seperti itu, masih disarankan untuk menerapkan tambalan jika Anda bisa (karena ada kotak NAS di luar sana yang mungkin tidak dapat dilakukan), dan untuk menguji apakah kasus penggunaan khusus Anda berfungsi dengan nt pipe support
setel ke no
.