3.7 KiB
WWW2Exec - atexit()
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną w HackTricks lub pobrać HackTricks w formacie PDF sprawdź PLANY SUBSKRYPCYJNE!
- Kup oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFTów
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na GitHubie.
__Struktury atexit()
{% hint style="danger" %} Obecnie jest bardzo dziwne, aby to wykorzystać! {% endhint %}
atexit()
to funkcja, do której inne funkcje są przekazywane jako parametry. Te funkcje zostaną wykonane podczas wykonywania exit()
lub powrotu z main.
Jeśli możesz zmodyfikować adres którejkolwiek z tych funkcji, aby wskazywał na shellcode na przykład, zdobędziesz kontrolę nad procesem, ale obecnie jest to bardziej skomplikowane.
Obecnie adresy funkcji do wykonania są ukryte za kilkoma strukturami, a ostatecznie adres, do którego wskazują, nie są adresami funkcji, ale są zaszyfrowane za pomocą XOR i przesunięć z losowym kluczem. Dlatego obecnie ten wektor ataku nie jest bardzo przydatny przynajmniej na x86 i x64_86.
Funkcja szyfrowania to PTR_MANGLE
. Inne architektury takie jak m68k, mips32, mips64, aarch64, arm, hppa... nie implementują funkcji szyfrowania, ponieważ zwracają to samo, co otrzymały jako wejście. Dlatego te architektury mogą być podatne na ten wektor ataku.
Możesz znaleźć dogłębne wyjaśnienie, jak to działa na https://m101.github.io/binholic/2017/05/20/notes-on-abusing-exit-handlers.html
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną w HackTricks lub pobrać HackTricks w formacie PDF sprawdź PLANY SUBSKRYPCYJNE!
- Kup oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFTów
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na GitHubie.