Ret2ret & Reo2pop
Reading time: 3 minutes
tip
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)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- Bize katılın 💬 Discord grubuna veya telegram grubuna veya bizi takip edin Twitter'da 🐦 @hacktricks_live.
- Hacking ipuçlarını paylaşın, HackTricks ve HackTricks Cloud github reposuna PR göndererek.
Ret2ret
Bu tekniğin ana amacı, yığın içindeki mevcut bir işaretçiyi kötüye kullanarak ASLR'yi atlatmaya çalışmaktır.
Temelde, yığın taşmaları genellikle dizeler tarafından tetiklenir ve dizeler bellekte bir null byte ile biter. Bu, yığında zaten mevcut olan bir işaretçinin gösterdiği yeri azaltmaya çalışmayı sağlar. Yani eğer yığın 0xbfffffdd
içeriyorsa, bu taşma onu 0xbfffff00
'a dönüştürebilir (son sıfırlanmış byte'a dikkat edin).
Eğer bu adres yığında shellcode'umuza işaret ediyorsa, akışı o adrese ulaştırmak mümkündür ret
talimatına adresler ekleyerek bu talimat ulaşıldığında.
Bu nedenle saldırı şöyle olacaktır:
- NOP sled
- Shellcode
- EIP'den yığını
ret
adresleri ile yazmak (RET sled) - 0x00, yığın adresini değiştirerek NOP sled'e işaret etmesini sağlamak için dize tarafından eklenir
Aşağıdaki bu bağlantıda savunmasız bir ikili örneği görebilirsiniz ve bu bağlantıda ise istismarı görebilirsiniz.
Ret2pop
Eğer değiştirmek istemediğiniz yığında mükemmel bir işaretçi bulursanız (ret2ret'te son en düşük byte'ı 0x00
olarak değiştiriyoruz), aynı ret2ret
saldırısını gerçekleştirebilirsiniz, ancak RET sled'in uzunluğu 1 kısaltılmalıdır (böylece son 0x00
mükemmel işaretçinin hemen öncesindeki veriyi yazacaktır) ve RET sled'in son adresi pop <reg>; ret
'e işaret etmelidir.
Bu şekilde, mükemmel işaretçiden önceki veri yığından kaldırılacaktır (bu, 0x00
tarafından etkilenen veridir) ve son ret
, yığında mükemmel adrese herhangi bir değişiklik olmadan işaret edecektir.
Aşağıdaki bu bağlantıda savunmasız bir ikili örneği görebilirsiniz ve bu bağlantıda ise istismarı görebilirsiniz.
References
tip
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)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- Bize katılın 💬 Discord grubuna veya telegram grubuna veya bizi takip edin Twitter'da 🐦 @hacktricks_live.
- Hacking ipuçlarını paylaşın, HackTricks ve HackTricks Cloud github reposuna PR göndererek.