13 puan yazan GN⁺ 2024-10-13 | 2 yorum | WhatsApp'ta paylaş
  • Boş zamanlarında bug hunting yapmayı seven 15 yaşındaki bir çocuk, Fortune 500 şirketlerinin kullandığı Zendesk'te e-posta doğrulamasıyla ilgili bir hata buldu
  • Bunu çeşitli şirketlere bildirerek 50.000 doların üzerinde kazandı, ancak Zendesk bu açığı yamalamış olmasına rağmen bildirimi yapan kişiye hiçbir ödül vermediği süreci anlattı

Zendesk'e giriş

  • Zendesk, dünyanın önde gelen şirketlerinin kullandığı bir müşteri hizmetleri aracıdır
  • Destek e-postasını Zendesk'e bağladığınızda, Zendesk gelen e-postaları yönetir ve ticket oluşturur
  • Birçok büyük şirketin kendi ticket sistemini kurmak yerine Zendesk'e güvenmesi şaşırtıcı

En zayıf halka

  • "Bir zincir ancak en zayıf halkası kadar güçlüdür" sözünde olduğu gibi, Zendesk çoğu zaman basit bir ticket aracı olarak görülüyor ve dikkatli yapılandırma olmadan kullanılıyor
  • @company.com alan adının tek oturum açma (SSO) için kullanılması ve Zendesk ile bağlanması durumunda güvenlik açığı oluşabiliyor
  • Zendesk alan adı e-postalarını işlediği için, SSO sistemi e-posta adresini düzgün doğrulamazsa Zendesk'e erişimi olan biri iç sistemleri kötüye kullanabilir

E-posta spoofing

  • Zendesk'te ciddi bir zafiyet keşfedildi ve saldırganlar Zendesk kullanan şirketlerin müşteri destek ticket'larını okuyabiliyordu
  • Zendesk'te e-posta spoofing'e karşı etkili bir koruma yoktu
  • Saldırgan, destek e-posta adresini ve ticket ID'sini biliyorsa, e-posta spoofing yoluyla asıl gönderici gibi davranarak ticket'a erişebiliyordu
  • Yazar hatayı bildirdi ancak Zendesk ilk başta ilgi göstermedi
    • E-posta spoofing'in (SPF, DKIM, DMARC sorunları) kapsam dışı olduğu yanıtı geldi
  • Bildirim HackerOne hizmeti üzerinden işlendi ve Zendesk ekibine doğrudan bildirilmesi istendiğinde bu talep reddedildi

Bu sorunu Slack ele geçirmeye genişletmek

  • E-posta spoofing hatası tek tek şirketlere bildirilebilirdi, ancak daha büyük bir etki yaratmak istendi
  • Geçmişte başka bir araştırmacının Zendesk üzerinden yüzlerce şirketin Slack'ine sızdığı bir örnek vardı (TICKETTRICK)
  • Yazar kendi hatasıyla bunu yeniden üretmeye çalıştı ama bazı zorluklarla karşılaştı
  • Slack, e-posta adresine rastgele token ekleyerek doğrulama yapan bir yönteme geçmişti
  • Ancak Apple ID ile OAuth üzerinden giriş yapılırken token kullanılmadığı için bu yöntem aşılabildi

Yeniden üretim adımları: Apple → Zendesk → Slack

  1. support@company.com ile bir Apple ID oluşturup doğrulama kodu istenir; böylece Zendesk'te bir ticket oluşur
  2. company.com destek portalında kendi e-postasıyla bir ticket oluşturarak ID aralığını takip eder
  3. E-posta spoofing hatasıyla bu ID aralığındaki tüm ticket'lara kendisini eklemeyi dener
  4. daniel@wearehackerone.com hesabıyla ilgili şirketin destek portalına giriş yapar ve CC eklenmiş ticket'ları kontrol eder
  5. Apple ID'ye doğrulama kodunu girer
  6. Slack'in "Apple ile giriş" özelliği üzerinden, @company.com e-postasına bağlı Apple ID ile giriş yaparak Slack'e giriş yapar
    Yazar bu 6 adımı yüzlerce Zendesk ve Slack örneğine uyguladı

Olayın etkileri

  • Bir hafta boyunca tek tek şirketlere zafiyet bildirildi; bazıları hemen aksiyon aldı, bazıları ise sorunun Zendesk'ten kaynaklandığını savundu
  • Bazı şirketler Zendesk ile iletişime geçince, Zendesk sonunda bildirimin gizli tutulmasını istedi ve Slack zafiyeti için yeniden üretim adımlarını talep etti
  • Slack ele geçirme PoC'si sağlandıktan sonra Zendesk sorunu doğruladı, ancak çözüm 2 ay sürdü
  • Birçok şirket, örneklerini korumak için e-posta işbirliği özelliğini devre dışı bıraktı
  • Yazar, bu bug bounty bildirimi sayesinde HackerOne ve diğer platformlardaki şirketlerden toplam 50.000 doların üzerinde ödül aldı
  • Bazı şirketler Zendesk ile olan sözleşmelerini feshetti

Zendesk'in düzeltmesi ve benim 0 dolarlık ödülüm

  • 2 ay sonra Zendesk sorunun çözüldüğünü doğruladı
  • Cloudmark ve Rspamd EAP spam filtreleri kullanılıyordu, ancak Rspamd puanı değerlendirilmediği için birçok e-posta beklemeye alınmıyordu
  • İlk düzeltme, belirli koşullarda otomatik olarak Rspamd'e geçiş yapılması şeklindeydi
  • Sonrasında Apple ve Google doğrulama e-postalarını otomatik beklemeye alan bir filtre uygulandı
  • Sorun çözülmüş olmasına rağmen Zendesk sonunda bu bug bounty bildirimi için ödül ödememeye karar verdi
    • Yazarın zafiyeti etkilenen şirketlerle paylaşarak HackerOne'ın açıklama yönergelerini ihlal ettiği belirtildi

Sonuç

  • Küçük bir e-posta hatası, dünyanın en büyük şirketlerinin iç sistemlerine sızılmasına yol açtı
  • Zendesk sonunda açığı kapattı, ancak reddetme, yavaş yanıt ve görmezden gelme gibi süreçler oldukça yıpratıcıydı
  • Bug hunting'in gerçeği bu: bazen kazanırsınız, bazen kaybedersiniz

GN⁺'ün görüşü

  • Zendesk olayı, üçüncü taraf çözümleri sorgulamadan devreye almanın riskini gösteriyor. Ne kadar tanınmış bir şirketin ürünü olursa olsun, güvenlik incelemesi şarttır
  • Büyük şirketlerin iç sistemlerinin ele geçirilmesi çok büyük zarara yol açabilir; bu nedenle Zendesk'in yavaş tepkisi son derece sorumsuzcaydı. Ödül ödemeyi reddetmek de güvenlik araştırmacılarının motivasyonunu kıran bir yaklaşım
  • Şirketler SSO alan adlarını dikkatle seçmeli ve e-posta doğrulama süreçlerini güçlendirmeli. DMARC, SPF, DKIM gibi e-posta kimlik doğrulama teknolojileri aktif biçimde kullanılmalı
  • HackerOne'ın açıklama yönergeleri araştırmacı açısından fazla katı görünüyor. Kritik zafiyetler hızla paylaşılabilmeli; bu yüzden duruma uygun daha esnek bir uygulama gerekli
  • Bug hunting hem şirketler hem araştırmacılar için win-win olmalı. Araştırmacıların iyi niyeti ve emeğine saygı duyulan, uygun şekilde ödüllendirildikleri bir kültürün yerleşmesi umuluyor

2 yorum

 
aer0700 2024-10-13

Böyle sorunları görünce, güvenlikle ilgili çözümleri hazır alıp kullanmaktansa güvenlik uzmanlarını ekibe katıp yetiştirmenin çok daha iyi olduğu anlaşılıyor TT

 
GN⁺ 2024-10-13
Hacker News görüşleri
  • Bir kullanıcı, 2024 Haziran'ında aynı hatayı Zendesk, Apple ve Slack'e bildirdiğini ve muhtemelen hata için ödül verilmemesinin nedeninin ilk bildiren kişinin kendileri olmaması olduğunu belirtiyor

    • Dizin tabanlı olmayan SSO seçeneği olan Sign in with Apple (SIWA) yanlış uygulanmış ve bunun Slack gibi büyük şirketlerde de aynı şekilde olduğu söyleniyor
    • Dizin tabanlı olmayan SSO, dizin tabanlı SSO ile aynı güven düzeyine sahip olamaz ve SSO sağlayıcıları, aynı e-posta adresini kullansalar bile birbirlerinin yerine geçebilir değildir
  • Başka bir kullanıcı, Zendesk'in Google arama sonuçlarını kirletmek için "Zendesk Alternative" adlı sahte bir grup oluşturduğunu iddia ediyor

    • Bunun yasa dışı olmadığını, ancak düşünce tarzlarını gösteren manipülatif bir davranış olduğunu belirtiyor
  • Bir kullanıcı, Zendesk'in hata için ödül vermeyi reddetmesinin hayal kırıklığı yarattığını ve bunun insanları büyük ödül programlarına katılmaktan uzaklaştırmanın bir yolu olduğunu söylüyor

    • Zendesk ile mülakat deneyiminin de çok kötü olduğunu ekliyor
  • Bir başka kullanıcı, verimsiz bug bounty programlarının yazılım hizmetleri üzerinde olumsuz etki yarattığını belirtiyor

    • Zendesk'in ödeme yapması, özür dilemesi ve programı düzeltmesi gerektiğini savunuyor
  • Bir kullanıcı, 1,3 milyar dolar gelir elde eden bir şirket olmasına rağmen Zendesk'in ödeme yapmamasını kısa vadeli bir bakış açısı olarak eleştiriyor

    • Bunun rasyonel bir karar olmadığını ve özel sermayenin maliyetleri kısmaya çalışırken markayı tükettiğini belirtiyor
  • Başka bir kullanıcı, Zendesk'in muhtemelen hatanın etkisini tam olarak anlamadığı için bunu görmezden geldiğini açıklıyor

    • Net bir etki görünmüyorsa birçok zafiyetin sadece sıradan bir hata gibi görünebileceğini belirtiyor
  • Bir kullanıcı, Zendesk'in yalnızca Apple hesap doğrulama e-postası sorununu düzelttiğini, temel sorunu ise çözmediğini belirtiyor

    • Varsayılan ayarlarda, e-posta adresi ve ticket ID bilindiğinde herkesin destek ticket'ını ele geçirebilme ihtimali olduğunu söylüyor
  • İki ayrı zafiyetin bulunduğu açıklanıyor

    • Zendesk, orijinal talep sahibinin e-posta adresinden yanıt gönderip CC eklenmesine izin veriyordu
    • Slack, ek doğrulama olmadan Sign in with Apple üzerinden alan adı genelinde girişe izin veriyordu
  • Zendesk'in sorunu görmezden gelip gizli tutmaya çalıştığı eleştiriliyor

    • Bunun profesyonel olmayan bir tutum olduğu ve ödül ödememesinin nedeni olabileceği belirtiliyor
  • Son olarak bir kullanıcı, Zendesk'in hata için ödül vermeyi reddetmesini eleştirirken, bildirimi yapan kişinin tüm prosedürleri doğru şekilde izlediğini vurguluyor