BugCrowd’da kıskanılacak bir geçmişe sahip, kendini adamış bir böcek ödül avcısı olan Abdullah Nawaf, Tam zamanlı böcek Bounty Hunter, keşfetmenin heyecanı ve yüksek etkili güvenlik açıklarını bulma zorluğuyla büyüyor.
Son zamanlarda meslektaşı Orwa Atyat ile birlikte kayda değer bir başarı elde ettiler: Sınırlı bir yol geçiş güvenlik açığını tam teşekküllü bir uzaktan kod yürütme (RCE) istismarına dönüştürerek 40.000 ABD Doları tutarında cömert bir ödül kazandılar. İşte yolculuklarının ayrıntılı bir açıklaması.
Maceramız, özellikle http://admin.target.com:8443 olmak üzere hedef alt alan adı üzerinde standart keşifle başladı. Başlangıçta 404 yanıtıyla karşılaşan birçok avcı, yoluna devam ederdi.
Ancak içgüdüleri bana daha derine inmemi söyledi. Medium’un raporuna göre, URL’de bulanıklaştırma teknikleri kullanarak /admin/Download’da 200 OK durumu ancak boş bir yanıt döndüren bir uç nokta keşfettiler. Bu, potansiyel olarak sömürülebilir bir özelliğe işaret ediyordu.
Investigate Real-World Malicious Links & Phishing Attacks With Threat Intelligence Lookup - Try for Free
Güvenlik Açıklarını Keşfetmek
Yönetici yolunu daha derinlemesine inceleyerek Yerel Dosya Ekleme (LFI) ve yol geçişi güvenlik açıklarını test etmeye başladı. Testleri, /download uç noktasının dosya adı adı verilen bir parametreyi kabul ettiğini ortaya çıkardı.
http://admin.target.com:8443/admin/download?filename=/js/main.js adresine eriştiğinde, JavaScript dosyasının içeriği görüntülendi.
Ancak sınırlama açıktı: işlev yalnızca /admin/ dizini içindeki dosyalara erişime izin veriyordu.
Yılmadan, hayati bilgiler içerdiği bilinen bir dosya olan /WEB-INF/web.xml’ye erişmeye çalıştı. Bu stratejik araştırma, biri /olay raporu için olmak üzere üç URL’yi ortaya çıkararak verimli oldu.
Bu uç noktayı ziyaret ettikten sonra, canlı bir günlük dosyasının indirilmesini tetikledi; bu, bizi önemli bir keşif yoluna götürecek beklenmedik bir değişiklikti.
Etkiyi Artırmak
Günlük dosyasının içinde hassas verilerle karşılaştı: MD5 karma parolası da dahil olmak üzere yönetici kimlik bilgileri.
Birkaç denemeden sonra bulduğu kimlik bilgilerini kullanarak yönetici paneline başarıyla giriş yaptı. Bu zafer onu, Groovy komut dosyalarını çalıştırmak için bir arayüz olan Groovy konsolunu barındıran, Export_step2.xhtml adlı ilgi çekici bir işleve götürdü.
Groovy konsoluna erişim potansiyel RCE’ye kapıyı açtı, ancak komutların yürütülmesi görünür bir çıktı vermedi. Bu önemli bir soruyu gündeme getirdi: Komut çıktısı nerede saklanıyordu?
Düşündükten sonra, günlük dosyamızın RCE çıktısını ortaya çıkarmak için bir portal görevi görebileceğini hatırladı. Groovy konsolu üzerinden komutlar çalıştırarak çıktıyı almak için günlük dosyasından yararlanabiliyordu.
http://admin.target.com:8443/admin/incident-report adresini her ziyaret ettiğinde, komut yürütme sonuçlarını yakalayan yeni bir günlük dosyası oluşturuldu.
Döngü basitti:
- Keşfedilen kimlik bilgileriyle oturum açın.
- Groovy konsoluna gidin.
- Print “sudo cat /etc/passwd”.execute().text gibi bir komutu yürütün.
- En son günlüğü indirmek ve komut çıktısını almak için http://admin.target.com:8443/admin/incident-report adresindeki günlükleri ziyaret edin.
Bu karmaşık güvenlik açıkları zinciri yalnızca RCE kriterlerini karşılamakla kalmadı, aynı zamanda kapsamlı araştırmanın önemini de ortaya koydu. Hem RCE hem de kimlik bilgilerinin keşfi hakkında raporlar sunarak programdan toplam 40.000 ABD doları tutarında ödeme elde etti.
Bu deneyim, siber güvenlik alanında kararlılığın ve yaratıcı problem çözmenin önemini vurgulamaktadır. Her böcek ödül avı, daha derine inmeye istekliyse, muazzam keşifler için potansiyel barındırır.
Jenkins & Jira’yı Kullanarak Uygulama Güvenliğini CI/CD İş Akışlarınıza Entegre Etme -> Ücretsiz Web Semineri