Ret2lib + Printf leak - arm64
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)
Ret2lib - ROP ile NX atlatma (ASLR yok)
Canary olmadan derleyin:
Offset bul
x30 offset
pattern create 200
ile bir desen oluşturarak, bunu kullanıp pattern search $x30
ile offset'i kontrol ettiğimizde offset'in 108
(0x6c) olduğunu görebiliriz.
Dissassembled ana fonksiyona baktığımızda, printf
'ye doğrudan atlamak için talimatın üzerine jump yapmak istediğimizi görebiliriz; bu talimatın binary'nin yüklendiği yerden offset'i 0x860
'dir:
System ve /bin/sh
stringini bul
/bin/sh
stringini bulASLR devre dışı olduğu için, adresler her zaman aynı olacak:
Gadget'leri bul
x0
'da /bin/sh
stringinin adresine ve system
'i çağırmamız gerekiyor.
Rooper kullanarak ilginç bir gadget bulundu:
Bu gadget, $sp + 0x18
adresinden x0
'ı yükleyecek ve ardından sp
'den x29 ve x30 adreslerini yükleyip x30'a atlayacak. Bu nedenle bu gadget ile ilk argümanı kontrol edebilir ve ardından sisteme atlayabiliriz.
Exploit
Ret2lib - NX, ASL & PIE atlatma, yığın üzerindeki printf leak'leri ile
canary olmadan derleyin:
PIE ve ASLR ama canary yok
Round 1:
Stack'ten PIE sızıntısı
Ana fonksiyona geri dönmek için bof'u kullan
Round 2:
Stack'ten libc sızıntısı
ROP: ret2system
Printf sızıntıları
Printf çağrısından önce bir kesme noktası ayarlayarak, stack'te binary'e geri dönmek için adresler ve ayrıca libc adresleri olduğunu görebiliriz:
Farklı offset'ler deneyerek, %21$p
bir binary adresi sızdırabilir (PIE bypass) ve %25$p
bir libc adresi sızdırabilir:
Sızdırılan libc adresini libc'nin temel adresinden çıkardığımızda, sızdırılan adresin temel ile olan offset'inin 0x49c40
olduğunu görebiliriz.
x30 offset
Önceki örneği görün, çünkü bof aynıdır.
Gadget'ları Bul
Önceki örnekte olduğu gibi, x0
'da /bin/sh
dizisinin adresine sahip olmamız ve system
'i çağırmamız gerekiyor.
Rooper kullanarak başka ilginç bir gadget bulundu:
Bu gadget, $sp + 0x78
adresinden x0
'ı yükleyecek ve ardından sp
'den x29 ve x30 adreslerini yükleyip x30'a atlayacak. Bu nedenle bu gadget ile ilk argümanı kontrol edebilir ve ardından sisteme atlayabiliriz.
Exploit
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)
Last updated