hacktricks/binary-exploitation/libc-heap/house-of-lore.md

74 lines
5 KiB
Markdown
Raw Normal View History

# House of Lore | Small bin Attack
{% hint style="success" %}
AWS Hacking'ı öğrenin ve uygulayın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'ı öğrenin ve uygulayın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**Abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking püf noktalarını paylaşarak** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR gönderin.
</details>
{% endhint %}
## Temel Bilgiler
### Kod
* [https://ctf-wiki.mahaloz.re/pwn/linux/glibc-heap/house\_of\_lore/](https://ctf-wiki.mahaloz.re/pwn/linux/glibc-heap/house\_of\_lore/) adresinden kontrol edin
* Bu çalışmıyor
* Veya: [https://github.com/shellphish/how2heap/blob/master/glibc\_2.39/house\_of\_lore.c](https://github.com/shellphish/how2heap/blob/master/glibc\_2.39/house\_of\_lore.c)
* Bu, bazı kontrolleri atlamaya çalışsa da çalışmıyor ve `malloc(): unaligned tcache chunk detected` hatasını alıyor
* Bu örnek hala çalışıyor: [**https://guyinatuxedo.github.io/40-house\_of\_lore/house\_lore\_exp/index.html**](https://guyinatuxedo.github.io/40-house\_of\_lore/house\_lore\_exp/index.html)&#x20;
### Amaç
* **Küçük binde sahte bir küçük parça ekleyerek onu tahsis etmek mümkün hale gelir.**\
Eklenen küçük parça, saldırganın oluşturduğu sahte parçadır ve rastgele bir konumda sahte değildir.
### Gereksinimler
* 2 sahte parça oluşturun ve bunları birbirine ve küçük bindeki meşru parçaya bağlayın:
* `fake0.bk` -> `fake1`
* `fake1.fd` -> `fake0`
* `fake0.fd` -> `legit` (başka bir zayıflık aracılığıyla serbest bırakılan küçük bin parçasındaki bir işaretçiyi değiştirmeniz gerekir)
* `legit.bk` -> `fake0`
Daha sonra `fake0`'ı tahsis edebileceksiniz.
### Saldırı
* Bir küçük parça (`legit`) tahsis edilir, ardından üst parçayla birleşmesini önlemek için başka bir parça tahsis edilir. Ardından, `legit` serbest bırakılır (onu sıralanmamış bin listesine taşır) ve daha büyük bir parça tahsis edilir, **`legit`'i küçük bine taşır.**
* Bir saldırgan birkaç sahte küçük parça oluşturur ve gerekli bağlantıları yaparak sağlamlık kontrollerini atlar:
* `fake0.bk` -> `fake1`
* `fake1.fd` -> `fake0`
* `fake0.fd` -> `legit` (başka bir zayıflık aracılığıyla serbest bırakılan küçük bin parçasındaki bir işaretçiyi değiştirmeniz gerekir)
* `legit.bk` -> `fake0`
* `legit`'i almak için bir küçük parça tahsis edilir, **`fake0`**'ı küçük parçaların üst listesine taşır
* Başka bir küçük parça tahsis edilir, `fake0`'ı bir parça olarak alır, potansiyel olarak içindeki işaretçileri okuma/yazma izni verir.
## Referanslar
* [https://ctf-wiki.mahaloz.re/pwn/linux/glibc-heap/house\_of\_lore/](https://ctf-wiki.mahaloz.re/pwn/linux/glibc-heap/house\_of\_lore/)
* [https://heap-exploitation.dhavalkapil.com/attacks/house\_of\_lore](https://heap-exploitation.dhavalkapil.com/attacks/house\_of\_lore)
* [https://guyinatuxedo.github.io/40-house\_of\_lore/house\_lore\_exp/index.html](https://guyinatuxedo.github.io/40-house\_of\_lore/house\_lore\_exp/index.html)
{% hint style="success" %}
AWS Hacking'ı öğrenin ve uygulayın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'ı öğrenin ve uygulayın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**Abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking püf noktalarını paylaşarak** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR gönderin.
</details>
{% endhint %}