AWS Hacking'ı öğrenin ve uygulayın:<imgsrc="/.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)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
GCP Hacking'ı öğrenin ve uygulayın: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* [**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 PR göndererek HackTricks ve HackTricks Cloud github depolarına katkıda bulunun.**
[Resmi GNU sitesine](https://www.gnu.org/software/libc/manual/html\_node/Hooks-for-Malloc.html) göre **`__malloc_hook`** değişkeni, `malloc()` çağrıldığında **libc kütüphanesinin veri bölümünde depolanan bir işlevin adresine işaret eden bir işaretçidir**. Bu nedenle, bu adres örneğin bir **One Gadget** ile üzerine yazılırsa ve `malloc` çağrılırsa, **One Gadget çağrılacaktır**.
Malloc'ı çağırmak için programın onu çağırmasını beklemek veya **`printf("%10000$c")`** çağrısını yaparak `libc`'in bunları yığında ayırmak için malloc çağırmasını sağlamak mümkündür.
Kancaların **GLIBC >= 2.34** için **devre dışı bırakıldığını** unutmayın. Modern GLIBC sürümlerinde kullanılabilecek diğer teknikler bulunmaktadır. Bakınız: [https://github.com/nobodyisnobody/docs/blob/main/code.execution.on.last.libc/README.md](https://github.com/nobodyisnobody/docs/blob/main/code.execution.on.last.libc/README.md).
[Post'ta](https://guyinatuxedo.github.io/41-house\_of\_force/bkp16\_cookbook/index.html) semboller olmadan free hook'un adresini nasıl bulacağınıza dair adım adım bir kılavuz bulabilirsiniz. Özet olarak, free fonksiyonunda:
* Bunun için, boyutu `0xfc` olan yeni bir parça oluşturulur ve birleştirilmiş fonksiyon o işaretçiyle iki kez çağrılır, bu şekilde hızlı bir parçanın boyutu `0xfc*2 = 0x1f8` olan bir parçanın işaretçisine ulaşılır.
* Ardından, bu parçada edit fonksiyonu çağrılır ve bu hızlı parçanın **`fd`** adresi önceki **`__free_hook`** fonksiyonuna işaret etmek üzere değiştirilir.
* Daha sonra, hızlı bir parçanın önceki gereksiz parçasını almak için boyutu `0x1f8` olan bir parça oluşturulur, böylece **`__free_hook`**'a hızlı bir parça parçası almak için boyutu `0x1f8` olan başka bir parça oluşturulur ve bu parça **`system`** fonksiyonunun adresiyle üzerine yazılır.
* Ve son olarak, `/bin/sh\x00` dizesini içeren bir parça silme fonksiyonunu çağırarak serbest bırakılır, **`__free_hook`** fonksiyonunu tetikler ve parametre olarak `/bin/sh\x00` ile system'e işaret eder.
AWS Hacking öğrenin ve uygulayın:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Eğitim AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
GCP Hacking öğrenin ve uygulayın: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Eğitim GCP Red Team Expert (GRTE)**<imgsrc="/.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) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi Twitter'da 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**