Yeni araştırma, Snowflake, Gradio, Jupyter ve Streamlit dahil olmak üzere Windows için Python uygulamalarında, bilgisayar korsanlarının NTLM kimlik bilgilerini çalmasına izin verebilecek kritik güvenlik açıklarını ortaya koyuyor. Sistemlerinizi bu ciddi güvenlik tehdidinden nasıl koruyacağınızı öğrenin.
Horizon3.ai araştırmacıları, bilgisayar korsanlarının NTLM kimlik bilgilerini çalmasına olanak tanıyabilecek Python Windows uygulamalarında kritik bir güvenlik açığı keşfettiler.
NTLM veya NT Lan Manager, Windows ortamlarında hala yaygın olarak kullanılan eski bir kimlik doğrulama protokolüdür. Bu güvenlik açığı, istismar edildiğinde saldırganlara bir kullanıcının ağına ve hassas verilerine erişim sağlayabilir.
Dahili pentestlerde yaygın olarak kullanılan bir teknik olan NTLMv2 hash hırsızlığı, eski LLMNR/NBT-NS protokolleri ve PetitPotam gibi zorunlu kimlik doğrulama güvenlik açıkları gibi sorunları, genellikle Microsoft Outlook’u kötüye kullanarak istismar eder. Bu tekniği istismar etmek için responder ve ntlmrelayx gibi araçlar kullanılır.
Hackread.com ile 23 Ağustos 2024’te yayımlanmadan önce paylaşılan bir raporda, Horizon3.ai’den Naveen Sunkavally, Sunucu Tarafı İstek Sahteciliği (SSRF) veya XML Harici Varlıklar (XXE) güvenlik açıkları aracılığıyla web uygulamalarının denetlenmesi sırasında Windows ana bilgisayarlarında NTLMv2 karma hırsızlığının meydana gelebileceğini açıkladı.
Araştırmacılara göre, Python çerçevelerindeki güvenlik açıkları dosyaların nasıl alındığından kaynaklanıyor, çünkü Python’da “yeterince doğrulanmamış girdi üzerinde gerçekleştirilen herhangi bir dosya sistemi işlemi NTLMv2 karmalarının sızdırılmasına yol açabilir.” Naveen kaydetti.
Hugging Face’in Gradio’su, Jupyter Server ve Snowflake’un Streamlit’i de dahil olmak üzere popüler Python çerçevelerinde yeni SSRF güvenlik açıkları keşfedildi ve bu, bu çerçevelerin desteklediği Jupyter Notebook, JupyterLab ve Streamlit gibi popüler yapay zeka araçlarında NTLMv2 karma açığına yol açtı.
Bu zafiyetler, bu çerçevelerin Windows’ta dosya yollarını nasıl ele aldığındaki kusurlardan kaynaklanmaktadır. Gradio’nun kusurları, saldırganların kötü amaçlı bir sunucuya hazırlanmış bir yol göndermesine ve çerçeveyi çalıştıran kullanıcının NTLMv2 karma değerini ortaya çıkarmasına olanak tanır.
Python’un os.path.isabs fonksiyonu ve Gradio’nun werkzeug.security.safe_join kullanımı da benzer NTLMv2 karma ifşasına yol açabilir. Jupyter Server’ın kusurları, yol geçerliliğini doğrulamadan önce os.path.isfile kullanarak dosya varlığını kontrol eden statik dosya işleyicisini içerir. Streamlit’in kusuru da benzerdir ve saldırganların savunmasız Windows sistemlerinde NTLMv2 karma değerini sızdırmasına olanak tanır.
Saldırganlar, NTLMv2 karma değerini yakalayarak Gradio’nun “paylaşım” özelliği gibi internete açık uygulamalardaki güvenlik açıklarından yararlanabilirler. Ayrıca, SSRF güvenlik açıklarından yararlanarak uygulamayı kötü amaçlı bir sunucuya istekte bulunmaya kandırabilir ve NTLMv2 karma değerini sızdırabilirler. Kullanıcı tarafından çalıştırılan uygulamalar için risk daha yüksektir çünkü bunlar genellikle sistem hesaplarına kıyasla daha zayıf parolalara sahiptir.\
Ayrıca, NTLMv2 karması, tehlikeye atılan kullanıcının erişebildiği diğer ağ kaynaklarına erişim sağlamak için röle saldırılarında kullanılabilir. Örnekler, NodeZero tarafından yapılan gerçek dünya pentestlerinde bulunmuştur.
Güvende kalmak için, zorunlu Windows kimlik doğrulamasına dayanan güvenlik açıklarının istismarını önlemek için internete giden SMB trafiğini engelleyecek şekilde güvenlik duvarlarını yapılandırın. 3.11.2’nin altındaki sürümlerde bulunan os.path.isabs hatasını önlemek için Python’u en son sürüme güncelleyin (özellikle Windows kullanıcıları için). Son olarak, güvenlik açığı bulunan uygulamaları en son sürümlere güncelleyin: Gradio: 4.20+, Jupyter Server: 2.14.1+ ve Streamlit: 1.37.0+.
İLGİLİ KONULAR
- PyPI, Python Paketleri Aracılığıyla Sistemlere Sızmak İçin Kullanıldı
- Qubitstrike Kötü Amaçlı Yazılımı, Cryptojacking İçin Jupyter Not Defterlerine Saldırıyor
- Tehdit İstihbaratında Python: Siber Tehditlerin Analizi ve Azaltılması
- VMCONNECT: Python Araçlarını Taklit Eden Kötü Amaçlı PyPI Paketi
- Jupyter infostealer’ın yeni sürümü MSI yükleyicisi aracılığıyla sunuldu