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

4.2 KiB
Raw Blame History

WWW2Exec - atexit()

ゼロからヒーローまでAWSハッキングを学ぶ htARTEHackTricks AWS Red Team Expert

HackTricksをサポートする他の方法

__atexit構造

{% hint style="danger" %} 現在はこれを悪用するのは非常に珍しいです! {% endhint %}

atexit()は、他の関数がパラメータとして渡される関数であり、これらの関数は**exit()の実行時やmainreturn時に実行されます。
これらの
関数アドレスを任意に変更して、例えばシェルコードを指すようにすることができれば、プロセスの制御取得できますが、現在はこれがより複雑になっています。
現在、実行される関数へのアドレスはいくつかの構造体の背後に
隠されており**、最終的にそれが指すアドレスは関数のアドレスではなく、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で見つけることができます。

ゼロからヒーローまでAWSハッキングを学ぶ htARTEHackTricks AWS Red Team Expert

HackTricksをサポートする他の方法