WWW2Exec - atexit()
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)!
支持HackTricks的其他方式:
如果您想在HackTricks中看到您的公司广告或下载PDF格式的HackTricks,请查看订阅计划!
加入 💬 Discord群 或 电报群 或在Twitter上关注我们 🐦 @hacktricks_live。
通过向HackTricks和HackTricks Cloud github仓库提交PR来分享您的黑客技巧。
__atexit 结构
现在很奇怪去利用这个!
atexit() 是一个函数,其他函数被作为参数传递给它。 这些函数将在执行**exit()或main的返回时执行。
如果您可以修改其中任何一个函数的地址**,使其指向一个shellcode,例如,您将控制该进程,但目前这更加复杂。
目前要执行的函数的地址被隐藏在几个结构后面,最终指向的地址不是函数的地址,而是使用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黑客技术,成为专家 htARTE(HackTricks AWS红队专家)!
支持HackTricks的其他方式:
如果您想在HackTricks中看到您的公司广告或下载PDF格式的HackTricks,请查看订阅计划!
加入 💬 Discord群 或 电报群 或在Twitter上关注我们 🐦 @hacktricks_live。
通过向HackTricks和HackTricks Cloud github仓库提交PR来分享您的黑客技巧。
最后更新于