- 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
support@company.com ile bir Apple ID oluşturup doğrulama kodu istenir; böylece Zendesk'te bir ticket oluşur
company.com destek portalında kendi e-postasıyla bir ticket oluşturarak ID aralığını takip eder
- E-posta spoofing hatasıyla bu ID aralığındaki tüm ticket'lara kendisini eklemeyi dener
daniel@wearehackerone.com hesabıyla ilgili şirketin destek portalına giriş yapar ve CC eklenmiş ticket'ları kontrol eder
- Apple ID'ye doğrulama kodunu girer
- 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
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
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
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
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
Bir başka kullanıcı, verimsiz bug bounty programlarının yazılım hizmetleri üzerinde olumsuz etki yarattığını belirtiyor
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
Başka bir kullanıcı, Zendesk'in muhtemelen hatanın etkisini tam olarak anlamadığı için bunu görmezden geldiğini açıklıyor
Bir kullanıcı, Zendesk'in yalnızca Apple hesap doğrulama e-postası sorununu düzelttiğini, temel sorunu ise çözmediğini belirtiyor
İki ayrı zafiyetin bulunduğu açıklanıyor
Zendesk'in sorunu görmezden gelip gizli tutmaya çalıştığı eleştiriliyor
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