F5 TicktedBleed Zafiyeti

CVE-2016-9244 koduyla yayınlanan ve “Ticketbleed” adıyla anılan açık, CloudFlare’de çalışan bir şifreleme mühendisi olan Filippo Valsorda tarafından keşfedilmiştir.

TLS protokolünde bulunan Session Tickets değeri önceden başlatılmış bir TLS bağlantısını hızlı bir şekilde bir daha kurmak amacı ile geliştirilmiştir, bir istemci sunucuya TLS ile bağlanırken Session ID yolladığı zaman sunucu bağlantının başarılı bir şekilde gerçekleştiğini göstermek amaçlı bu Session ID’yi istemciye geri gönderir, gönderilen Session ID 1 ile 32 byte arasında değişebilir.F5 cihazlarındaki TLS implementasyonu Session ID’yi statik 32 byte olarak kabul etmektedir, istemci 1 byte’lık bir Session ID yolladığı zaman F5 cihazlarının istemciye döndüğü cevap 1 byte istemcinin yolladığı ID ve geriye kalan 31 byte’ı da TLS bağlantısı kurulduğunda rezerve ettiği hafızadan dönmektedir. Bu sayede aynı heartbleed zafiyeti gibi sürekli 31 byte veri okuyarak sistemde kritik bilgilere ulaşılabilir.

Zafiyetin kontrolünü sağlamak isterseniz https://filippo.io/Ticketbleed/ web sitesini ziyaret edebilirsiniz. Bu siteye test yapmak istediğiniz cihazın IP bilgisini girmeniz yeterli olacaktır. Bu web sitesi bağlantı için varsayılan olarak 443 nolu portu kullanacaktır. Eğer isterseniz, farklı bir port numarasını da ip:port şeklinde tanımlayabilirsiniz.

Bunun dışında Go dili ile geliştirilmiş ve hem zafiyetin kontrolünü hem de exploit etmeyi sağlayan bir yazılım olan Ticketbleed isimli araç da oldukça kullanışlıdır. Bu aracı indirmek ve kurmak için aşağıdaki yolu takip edebilirsiniz.

  • git clone https://github.com/EgeBalci/Ticketbleed.git
  • cd Ticketbleed
  • mv Ticketbleed.go.tmp Ticketbleed.go
  • go get github.com/EgeBalci/Ticketbleed
  • go build Ticketbleed.go

Bunun sonunda aracı çalıştırdığınız zaman kullanılabilecek parametreleri görebiliyorsunuz.

 

Zafiyetli bir cihazın IP ve port bilgisi girildiğinde kontrol edildiği ve exploit edildiğini de görebilirsiniz.