House of Rabbit
Last updated
Last updated
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Hızlı bin fd işaretçisini veya boyutunu değiştirme yeteneği: Bu, hızlı bin içindeki bir parçanın ileri işaretçisini veya boyutunu değiştirebileceğiniz anlamına gelir.
malloc_consolidate
'i tetikleme yeteneği: Bu, ya büyük bir parça ayırarak ya da üst parçayı birleştirerek yapılabilir; bu, yığın parçalarını birleştirmeye zorlar.
Üst üste binen parçalar oluşturma: Bir parçanın diğerinin üstüne gelmesini sağlamak, böylece daha fazla yığın manipülasyonu yapılmasına olanak tanımak.
Sahte parçalar oluşturma: Yığın işlemleri sırasında sahte bir parçayı meşru bir parça olarak ele alması için ayırıcıyı kandırmak.
Amaç: Hızlı bin parçasının boyutunu manipüle ederek üst üste binen bir parça oluşturmak.
Adım 1: Parçaları Ayır
İki adet 0x40 baytlık parça ayırıyoruz. Bu parçalar serbest bırakıldıklarında hızlı kutu listesine yerleştirilecektir.
Adım 2: Parçaları Serbest Bırak
We free both chunks, adding them to the fastbin list.
Adım 3: Parça Boyutunu Değiştir
We change the size metadata of chunk1
to 0xa1. This is a crucial step to trick the allocator during consolidation.
Adım 4: malloc_consolidate
'i tetikle
Büyük bir parça ayırmak, küçük parçaları hızlı kutuda birleştiren malloc_consolidate
fonksiyonunu tetikler. Manipüle edilen chunk1
boyutu, chunk2
ile örtüşmesine neden olur.
Birleştirmeden sonra, chunk1
chunk2
ile örtüşür ve daha fazla istismar olanağı sağlar.
fd
işaretçisini değiştirAmaç: Hızlı kutu fd
işaretçisini manipüle ederek sahte bir parça oluşturmak.
Adım 1: Parçaları Ayır
Açıklama: Yığın için sahte parça oluşturmak amacıyla bir küçük ve bir büyük iki parça ayırıyoruz.
Adım 2: Sahte parça oluştur
chunk2
içine sahte parça meta verisi yazıyoruz, böylece daha küçük parçaları simüle ediyoruz.
Adım 3: chunk1
'i serbest bırak
Açıklama: chunk1
'i serbest bırakıyoruz, bunu fastbin listesine ekliyoruz.
Adım 4: chunk1
'in fd
'sini Değiştir
Açıklama: chunk1
'in ileri işaretçisini (fd
) chunk2
içindeki sahte parçamıza işaret edecek şekilde değiştiriyoruz.
Adım 5: malloc_consolidate
'i tetikle
Büyük bir parça ayırmak tekrar malloc_consolidate
'i tetikler, bu da sahte parçayı işler.
Sahte parça hızlı listeye dahil olur, bu da onu daha fazla istismar için meşru bir parça haline getirir.
House of Rabbit tekniği, bir hızlı parça boyutunu değiştirerek üst üste binen parçalar oluşturmayı veya sahte parçalar oluşturmak için fd
işaretçisini manipüle etmeyi içerir. Bu, saldırganların yığında meşru parçalar oluşturmasına olanak tanır ve çeşitli istismar biçimlerini mümkün kılar. Bu adımları anlamak ve uygulamak, yığın istismar becerilerinizi geliştirecektir.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)