hacktricks/binary-exploitation/libc-heap/overwriting-a-freed-chunk.md

49 lines
3.8 KiB
Markdown

# Sobrescrevendo um chunk liberado
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}
Várias das técnicas de exploração de heap propostas precisam ser capazes de sobrescrever ponteiros dentro de chunks liberados. O objetivo desta página é resumir as potenciais vulnerabilidades que poderiam conceder esse acesso:
### Uso Simples Após Liberação
Se for possível para o atacante **escrever informações em um chunk liberado**, eles poderiam abusar disso para sobrescrever os ponteiros necessários.
### Dupla Liberação
Se o atacante puder **`liberar` duas vezes o mesmo chunk** (liberando outros chunks entre potencialmente) e fazê-lo estar **2 vezes no mesmo bin**, seria possível para o usuário **alocar o chunk mais tarde**, **escrever os ponteiros necessários** e então **alocá-lo novamente**, acionando as ações do chunk sendo alocado (por exemplo, ataque de fast bin, ataque de tcache...)
### Overflow de Heap
Pode ser possível **transbordar um chunk alocado tendo ao lado um chunk liberado** e modificar alguns cabeçalhos/ponteiros dele.
### Overflow Off-by-one
Neste caso, seria possível **modificar o tamanho** do chunk seguinte na memória. Um atacante poderia abusar disso para **fazer um chunk alocado ter um tamanho maior**, então **`liberá-lo`**, fazendo com que o chunk fosse **adicionado a um bin de um tamanho diferente** (maior), então alocar o **tamanho falso**, e o ataque terá acesso a um **chunk com um tamanho que é maior** do que realmente é, **concedendo assim uma situação de chunks sobrepostos**, que é explorável da mesma forma que um **overflow de heap** (ver seção anterior).
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}