1 puan yazan GN⁺ 2024-08-08 | 1 yorum | WhatsApp'ta paylaş

TONY HAWK’S PRO STRCPY

Genel Bakış

  • 2016'da Xbox hack'lemek için yeni bir bug bulma amacıyla başlatılan proje
  • 2000'lerin başındaki oyun konsollarında güvenlik önlemleri daha az olduğundan, hackleme öğrenmek için uygun
  • Tony Hawk’s Pro Skater 4'ün oyun kayıt dosyası analiz edilerek buffer overflow zafiyeti bulundu

Part 1: Başlangıç

  • Zafiyet, Tony Hawk’s Pro Skater 4'ün "Create-A-Park" özelliği üzerinden keşfedildi
  • Oyun kayıt dosyasındaki gap adı string'inin strcpy fonksiyonuyla kopyalanması sırasında buffer overflow oluşuyor
  • Kötü amaçlı bir kayıt dosyası oluşturulup Xbox'ta çalıştırılarak kod çalıştırma yetkisi elde edildi

Part 2: Uzaktan Kod Çalıştırma

  • Memory card olmadan ağ üzerinden konsolu hack'lemenin yolları araştırıldı
  • Çok oyunculu LAN oyununda kayıt dosyası göndererek istemci konsolu hack'leme yöntemi denendi
  • İstemci konsol, host'tan gönderilen kayıt dosyasını yüklerken buffer overflow meydana geliyor
  • İstemci konsolda yardımcı payload çalıştırılabilir dosyasını göndermek için bir ağ mesajı işleyicisi yazıldı

Varyant Analizi

  • Tony Hawk’s Pro Skater 3, Tony Hawk’s Underground 1 & 2, Tony Hawk’s American Wasteland gibi diğer oyunlarda da benzer zafiyetler bulundu
  • Bazı oyunlar buffer overflow'u önlemek için stack cookie kullanıyor

Nihai Sonuç

  • İstemci konsol host konsola bağlandığında, kötü amaçlı kayıt dosyası ağ üzerinden gönderiliyor
  • İstemci konsol payload çalıştırılabilir dosyasını alıp çalıştırıyor
  • Uzaktan kod çalıştırma ve asenkron dosya aktarımı başarıyla gerçekleştirildi

GN⁺ Özeti

  • Bu yazı, Xbox gibi eski oyun konsollarındaki güvenlik zafiyetlerini araştırma ve istismar etme sürecini ele alıyor
  • Eski konsollar daha az güvenlik önlemine sahip olduğu için hackleme öğrenmeye uygun ve çeşitli bug'lar üzerinden kod çalıştırma yetkisi elde edilebiliyor
  • Ağ üzerinden uzaktan kod çalıştırma yöntemleri incelenerek, memory card olmadan da konsol hack'leme yaklaşımı sunuluyor
  • Benzer özelliklere sahip diğer oyunlarda da zafiyetler bulunup analiz edilerek farklı hackleme teknikleri öğrenilebiliyor
  • Yazı, hackleme ve güvenlik araştırmalarıyla ilgilenenler için faydalı bilgiler sunuyor ve eski konsolların güvenlik açıklarını anlamaya yardımcı olabilir

1 yorum

 
GN⁺ 2024-08-08
Hacker News görüşleri
  • habibi anahtarının açık anahtar modülü, Microsoft RSA açık anahtarıyla yalnızca 4 bayt fark gösteriyor

    • MS anahtarı 2048 bitlik bir RSA anahtarı
    • Üs değeri 3 olarak değiştirilirse benzer bir anahtar kolayca bulunabilir
    • Ancak habibi anahtarını kullanan payload, RSA imza doğrulama rutinindeki üssü değiştirmiyor
    • Doğrulamayı hâlâ 65537 üssüyle yapıyor gibi görünüyor
    • Bunun nasıl mümkün olduğu net değil
  • 2048 bitlik bir tamsayı nispeten kolay çarpanlara ayrılabilir olabilir

    • Kod, 4 baytı rastgele değiştirip çarpanlara ayırmayı deneyerek çalışıyor olabilir
    • Sonuç olarak çok sayıda küçük çarpanı olan bir açık modül oluşabilir
    • RSA modülü normalde iki asal çarpana sahiptir, ancak daha fazla çarpana sahip olması matematiksel olarak bir sorun yaratmaz
  • Xbox 360 softmod'u, Tony Hawk oyunundaki park adı üzerinden mümkün olmuştu

    • 24 segmentlik bir ROP zinciri kullanılıyor
    • Hypervisor hakkında özlü işlev açıklaması ve x360 botnet hakkındaki düşünceler Xbox 360 nostaljisini tetikliyor
  • strcpy yerine strncpy kullanılmalıydı

    • Tony Hawk, koruyucu ekipmanı savunmasıyla tanınır
    • THUG PRO modu için exploit'in durumu üzücü
    • Mod 10 yıldan daha eski ve asıl geliştiricisi ortadan kaybolmuş durumda
    • Artık mod kullanılamaz halde ve tam yetkili exploit riski nedeniyle kimse onu kullanmak istemiyor
    • Umarım bu makale, modu yamalamakla ilgilenen birine ulaşır
  • Tony Hawk bir güvenlik analisti değil, profesyonel bir kaykaycı

    • 90'ların sonu ile 2000'lerin başında kod denetlemek yerine oyun serisini doğal hale getirmekle zaman geçirdi
  • habibi anahtarının özel anahtarının ne zaman, nerede ve nasıl sızdırıldığını merak ediyorum

    • OP, MS anahtarı ile habibi anahtarı arasındaki 4 baytlık farkı yamalayarak imzasız çalıştırılabilir dosyaları çalıştırabildi
    • Bu da özel anahtarı ele geçirmiş olduğu anlamına geliyor
  • PSX decompilation yaparken benzer çok sayıda örnek gördüm

    • memmove, SDK kütüphanesi üzerinden bağlanıyor, ancak strcpy BIOS tarafından sağlanıyor
    • 1997'ye kadar SDK'nin sonraki sürümleri kütüphane sürümüyle yamalanabiliyordu
  • Bunun gibi exploit analizlerini defalarca okudum ve umarım gelecekte 100 kez daha okuyabilirim

    • Harika bir makale
  • Konsol geliştirmede hatalı güvenlik zihniyetine iyi bir örnek

    • "Yalnızca bizim kaydettiğimiz veriyi parse etmemiz gerekiyor" düşüncesi yanlış
    • Konsollar kullanıcıyı düşman olarak görmemeli
    • Ama böyle yapacaklarsa, oyunların da buna uygun bir güvenlik zihniyetine sahip olması gerekir
  • VSCode eklentisinin trick adları üretip art arda tuş girişleri için combo puanı verdiğini hayal edin

    • Tony Hawk's Pro-grammer