Bu makalede, size Zip dosyalarını içeren en çok kötüye kullanılan güvenlik açıklarından ikisini anlatacağım. Bu güvenlik açıklarının nereden geldiğini ve sistemleri nasıl istismar edebileceklerini açıklıyorum. Bundan sonra, geliştiricilerin web uygulamalarını ve dolayısıyla hassas ve özel bilgileri korumak için bu saldırı vektörlerini nasıl hafifletebileceklerini tartışacağız.
İlk Zip dosyası, 31 yıl önce 1989 yılında ABD merkezli bir yazılım şirketi olan PKWARE Inc. tarafından kullanıldı. Zip formatı bundan sonra iki dev Apple ve Microsoft tarafından kendi işletim sistemlerinde hızla desteklendi. O zamandan beri, bu dosya biçimi programlama topluluklarında ve ötesinde muazzam bir popülerlik kazandı. Bürokratik veya ev ortamlarında bugüne kadar insanlar Zip dosyalarını kullanarak e-posta yoluyla birden fazla dosya gönderiyor.
Ama gerçekte bir Zip dosyası nedir?
Zip dosyaları arşiv dosyalarıdır . Arşiv dosyaları başlangıçta meta verileri ve birleştirilmiş dosyaları depolamak için kullanıldı. Bu nedenle, eskiden pdf formatında 7 adet Harry Potter kitabınız varsa ve bunları sisteminizde saklamak istiyorsanız, onları tek bir dizine koyabilir ve sorun olmaz. Ama aranızdaki meraklılar bu dizini daha az yer kaplayacak şekilde sıkıştıracak. Ek işlevler daha sonra uygulandı. Bugün arşivler 5 türdendir:
Bazı geliştiriciler, kullanıcıların dosyalarını sisteme yüklemelerine izin vermek için web uygulamalarında Zip dosya biçimini kullanır. Bakalım bu neden çok kötü bir fikir olabilir.
Zip Slip Exploit
Şu sunucu tarafı koda bir göz atalım:
Bu kod, arşivdeki tüm dosyaları çıkarır ve bunları hedef dizinin içine yazar. Burada herhangi bir kırmızı bayrak görmüyorum, değil mi?
Yukarıdakilere daha ayrıntılı bir şekilde daha bakın. Bu arşivde sıkıştırılan dosyalar gibi çok geleneksel isimler olabilir
goodboy.sh. Ancak, bazen çok garip isimler alabilirler, bir düşünün
../../../badboy.sh. Yukarıdaki kod dosya adını alır
e.getName()ve onu hedef dizine veya
destinationDir. Hedef dizinin olduğunu varsayalım
/var/www/vulnerable-website/userfiles/. Yukarıdaki kod yazacak
badboy.shve
/varböylece bir dizin geçişine neden olacaktır . Bu dosya zaten varsa, üzerine yazacaktır. Kötü amaçlı dosya adı olursa ne olacağını bir düşünün
../../../../../../../bin/passwd. Sunucu, sistemdeki kullanıcıların ve şifrelerinin üzerine yazacaktır.
badboy.shsaldırganın geri bağlanmasına ve tüm sistemi tehlikeye atmasına olanak tanıyan ters bir kabuk oluşturmak için kod içerebilir.
Arşiv oluşturma araçları, izin verilen zip özelliği olmasına rağmen, kullanıcıların bu tür adlara sahip dosyaları eklemesine genellikle izin vermez. Ancak doğru araçlarla bu yollarla dosya oluşturmak kolaydır.
Sunucuyu korumak ve bu tür rastgele dosya yüklemelerinin gerçekleşmesini önlemek için geliştiricilerin zip içeriklerinin adlarını sisteme yazmadan önce her zaman doğrulaması gerekir. Aşağıda bunun bir örneği var.
Diğer bir deyişle, sunucuya dosya adını dizin yolu ile birleştirmesini söylüyoruz, sonuç
canonicalDestinationFiledeğişkende saklanıyor . Bu değişken
canonicalDestinationDirPathizin verilen dizin ile başlamazsa , kullanıcı bazı dosyaları başka bir yerde atlamaya ve depolamaya çalışıyor demektir. Onu bir istisna dışında durdurun.
Zip Symlink Exploit
Bu ikinci istismara dalmadan önce, sembolik bağlardan veya sembolik bağlardan bahsedelim.
Basit bir ifadeyle, sembolik bağlantılar diğer dosyalara giden kısayollardır. Sisteminizdeki herhangi bir dosya için, ona kolayca bir bağlantı oluşturabilirsiniz.
ln -s /home/simon/bills.txt myfinances/bills-linked.txt
İki tür sembolik bağlantı vardır: sert ve yumuşak. Yumuşak sembolik bağlantılar, kısayollara benzer şekilde çalışır. Bir klasöre yumuşak bir bağlantı açtığınızda, dosyaların depolandığı klasöre yönlendirileceksiniz. Bununla birlikte, bir sabit bağlantı, dosya veya klasör sembolik bağlantının konumunda gerçekten varmış gibi görünmesini sağlar ve uygulamalarınız daha iyisini bilemez. Bu, çoğu durumda zor sembolik bağlantıları daha kullanışlı hale getirir.
Sembolik bağlantılar, herhangi bir klasörü Dropbox, Google Drive ve OneDrive gibi programlarla senkronize etmek de dahil olmak üzere her türlü şey için kullanılabilir. Ayrıca savunmasız sistemlerden yararlanmak için de kullanılabilirler.
Bir sembolik bağdan oluşturulan aşağıdaki zip dosyası ile savunmasız bir sistemi istismar edebiliriz:
ln -s /etc/passwd link zip --symlinks evil.zip link
Ama bağlantıyı yüklemeden önce neden sıkıştırıyoruz? Bağlantıyı doğrudan sunucuya yükleyemez miyiz? Dikkatli olun, daha sonra kendi dosyanızı
/etc/passwdsunucuya yükleyeceksiniz .
Bu güvenlik açığına yönelik temel bir karşı önlem, dosyayı oluşturmadan önce dosyanın zaten var olup olmadığını kontrol etmektir. Bazı linux sistemleri de bu saldırıya karşı yerleşik sayaçlara sahiptir. Biri, güvenli olmayan bir şekilde geçici dosyalar oluşturan buggy programları için bir tür "güvenlik ağı" dır. Yapışkan bit bir dizinde (/ etc içinde olduğu gibi) ayarlandığında, Linux bir sürecin bir sembolik bağı izlemesine izin verirse, eğer süreç sembolik bağın sahibiyse veya sembolik bağ ve dizin aynı sahibine sahipse (bu genellikle kök /vb). Bu şekilde, saldırgan bir sembolik bağlantı kurmuş olsa bile, kurban süreci onu takip edemeyecek ve bir hata alacaktır. Bu, olası bir ayrıcalık yükseltme saldırısını, söz konusu süreç için daha zararsız bir hizmet reddine dönüştürür.
Sunuculardaki çok sayıda güvenlik açığı, bir tür kötü amaçlı dosya yüklemesi içerir. Zip dosyaları uzun bir listenin sadece başlangıcıdır. Bu yazıda , '.docx' dosyalarının ayrıcalık artırma ve keyfi kod yürütme için nasıl kullanılabileceğini açıklayacağım. Bu saldırılara karşı en etkili önlem, nasıl gerçekleştiğini anlamak ve kullanıcı tarafından özellikle dosyalar olmak üzere herhangi bir girdi için ek doğrulama adımları uygulamaktır.
Merhaba, siber meraklıları! Tehdit avı için OSINT serisine tekrar hoş geldiniz. İlk makalede, size OSINT'e genel bir bakış ve onun tehdit avlamadaki önemi hakkında bilgi verdim.
Bir OSINT Araştırmacısı, CTF Oyuncusu veya yalnızca istenmeyen aramalar alan biri olabilirsiniz. Bir reklamda gördüğünüz numarayı doğrulamaya çalışan biri.
Aralık 2020'de haberler, bir ağ yönetim araçları paketi olan SolarWinds'i içeren karmaşık bir hacklemenin teknoloji sektörünü vurdu. İlk raporlar ve o zamandan beri saldırıyla ilgili hemen hemen tüm haberler, teknik olmayan işletme sahibini ne olduğu ve ne anlama geldiğinin açıklaması için teknoloji sektörünün insafına bırakan "özel dil" kullanımına yenik düştü. işleri için.
Hiçbir şey gerçekten "özgür" değildir, değil mi? Siz de benim gibi, muhtemelen her yerde QR Kodlarının arttığını fark ettiniz. New South Wales, Avustralya gibi hükümet tarafından yönetilen ve yönetilenlerden bağımsız perakendeciler ve eğlence mekanlarına kadar, küçük çizgiler ve şekiller her yerde.
Bilişsel hackleme, dezenformasyon ve hesaplama propagandasından kaynaklanan bir tehdittir. Psikolojik zayıflıkları kullanan, önyargıları sürdüren ve sonunda bilişsel uyumsuzluğa yol açan mantıksal ve eleştirel düşünmeyi tehlikeye atan bir siber saldırıdır.
Giriş Günümüzde, web uygulamaları geliştirmek, bazen depolama, iletişim, günlük kaydı vb. İçin veri aktarımını gerektirmektedir. Veri hazırlamak ve birbirlerine göndermek zorunda oldukları için veriler özellikle finansal, sağlık vb. Oldukça önemlidir.