hacktricks/binary-exploitation/arbitrary-write-2-exec/www2exec-atexit.md

43 lines
4.2 KiB
Markdown
Raw Normal View History

# WWW2Exec - atexit()
<details>
<summary><strong>ゼロからヒーローまでAWSハッキングを学ぶ</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
HackTricksをサポートする他の方法
- **HackTricksで企業を宣伝したい**または**HackTricksをPDFでダウンロードしたい**場合は、[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
- [**公式PEASSHackTricksグッズ**](https://peass.creator-spring.com)を入手する
- [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見し、独占的な[**NFTs**](https://opensea.io/collection/the-peass-family)のコレクションを見つける
- **💬 [Discordグループ](https://discord.gg/hRep4RUj7f)**に参加するか、[telegramグループ](https://t.me/peass)に参加するか、**Twitter** 🐦で私たちをフォローする [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**。**
- **ハッキングトリックを共有するために、[HackTricks](https://github.com/carlospolop/hacktricks)と[HackTricks Cloud](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。**
</details>
## **\_\_atexit構造**
{% hint style="danger" %}
現在はこれを悪用するのは非常に**珍しいです!**
{% endhint %}
**`atexit()`**は、**他の関数がパラメータとして渡される**関数であり、これらの**関数**は**`exit()`**の実行時や**main**の**return**時に**実行**されます。\
これらの**関数**の**アドレス**を任意に**変更**して、例えばシェルコードを指すようにすることができれば、**プロセスの制御**を**取得**できますが、現在はこれがより複雑になっています。\
現在、**実行される関数へのアドレス**はいくつかの構造体の背後に**隠されており**、最終的にそれが指すアドレスは関数のアドレスではなく、**XOR**と**ランダムキー**で**暗号化**されています。そのため、現在、この攻撃ベクトルは**x86**および**x64\_86**では**あまり有用ではありません**。\
**暗号化関数**は**`PTR_MANGLE`**です。 m68k、mips32、mips64、aarch64、arm、hppaなどの**他のアーキテクチャ**は、**同じものを返す**ため、**暗号化関数を実装していません**。そのため、これらのアーキテクチャはこのベクトルによって攻撃される可能性があります。
これがどのように機能するかの詳細な説明は、[https://m101.github.io/binholic/2017/05/20/notes-on-abusing-exit-handlers.html](https://m101.github.io/binholic/2017/05/20/notes-on-abusing-exit-handlers.html)で見つけることができます。
<details>
<summary><strong>ゼロからヒーローまでAWSハッキングを学ぶ</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
HackTricksをサポートする他の方法
- **HackTricksで企業を宣伝したい**または**HackTricksをPDFでダウンロードしたい**場合は、[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
- [**公式PEASSHackTricksグッズ**](https://peass.creator-spring.com)を入手する
- [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見し、独占的な[**NFTs**](https://opensea.io/collection/the-peass-family)のコレクションを見つける
- **💬 [Discordグループ](https://discord.gg/hRep4RUj7f)**に参加するか、[telegramグループ](https://t.me/peass)に参加するか、**Twitter** 🐦で私たちをフォローする [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**。**
- **ハッキングトリックを共有するために、[HackTricks](https://github.com/carlospolop/hacktricks)と[HackTricks Cloud](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。**
</details>