Bir ekran oturumunda bir kök kabuk varsa (ayrılmış veya değil, parola korumalı veya değil) ve screen
yürütülebilir dosyanız setxid değilse, ayrıcalıklarınızı kazanan bir saldırgan bu kabuktaki komutları çalıştırabilir. Başka bir şey yoksa, ekran işlemini çıkararak bunu yapabilirler .
Ekran setuid veya setgid ise ve oturum ayrılırsa ve parola korumalıysa, prensip olarak o kabuktaki komutları çalıştırmak için ekran parolasını alır. Bu ilke geçerliyse, yalnızca hesabınızı tehlikeye atan birisinin bir truva atını koyması ve şifreyi yazmanızı beklemesi gerekir. Ancak saldırı yüzeyi (yani, bir hata veya yanlış yapılandırma nedeniyle işlerin yanlış gidebileceği yer sayısı) rahatsız edici derecede büyüktür. Temel sistem güvenliği özelliklerine ek olarak, aşağıdakilere güvenirsiniz:
- ekranı kontrol edin.
- Diğer yollarla oturuma erişimi önlemek için
- İşletim sistemi erişim kontrol mekanizmalarını doğru bir şekilde kullanmak için ekran (örneğin borulardaki izinler).
- ptrace güvenlik kontrollerini doğru şekilde yapmak için çekirdek (bu sık sık bir güvenlik açığı kaynağıdır).
- çalışan kabuk aptal bir şey yapmamak.
- ısırmamak için başka bir özellik.
“Seni ısırmamak için başka bir özellik”: evet, bu belirsiz. Ancak bu her zaman güvenlikle ilgilidir. Bunu sadece sade arzulu bir düşünce olarak reddetmek isteyebilirsiniz, ama gerçekten her şeyi düşündünüz mü? Örneğin…
Terminal cihazına yazabildiğiniz sürece, o kabuğun girişine veri enjekte edebilirsiniz. Makinemde ekranın varsayılan yapılandırması altında:
printf '\ekfoo\017bar\e\\' >/dev/pts/33
printf '\e[21t' >/dev/pts/33
Bu ␛]lfoobar␛l
, kabuğun girdi akışına eklenir . \ek
bir uygulamanın (veya terminal cihazına yazabilen herhangi bir şeyin) pencere başlığını ayarlamasını sağlayan ( ekran kılavuzundaki “Pencereleri adlandırma” bölümüne bakın ) ve \e[21t
terminal raporunu başlığını uygulamanın standart girdisine dönüştüren kontrol dizisidir ( ekran bu diziyi belgelemek, ancak bunu uygulamaya does değil, siz altında bulabilirsiniz CSI Ps ; Ps ; Ps ; t
içinde xterm kontrol dizileri listesinde Aslında, ekranın 4.0.3 altında en azından tüm kontrol karakterleri raporlanan başlığı ayrılır, kabuk okur böylece. lfoobar
( ␛]
bir düzenleme komutuna bağlı olmadığı varsayılarak ) ve yeni satır bulunmadığından, saldırgan aslında bu şekilde bir komut yürütemez, ancak böyle bir komutu doldurabilirchmod u+s /bin/sh
arkasından bir sürü boşluk ve muhtemel görünen bir bilgi geldi.
Ekran birkaç benzer riskli kontrol dizisi uygular, güvenlik açıkları için potansiyellerinin ne olduğunu bilmiyorum. Ama umarım şimdiye kadar ekran oturum şifreleri tarafından sunulan korumanın o kadar da iyi olmadığını görebilirsiniz. Sudo gibi özel bir güvenlik aracının güvenlik açıklarına sahip olma olasılığı daha düşüktür.
sudo
.