Ret2syscall - ARM64
Last updated
Last updated
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Znajdź wprowadzenie do arm64 w:
Introduction to ARM64v8Będziemy używać przykładu z tej strony:
Ret2win - arm64Kompiluj bez pie i canary:
Aby przygotować wywołanie dla syscall, potrzebna jest następująca konfiguracja:
x8: 221 Określ sys_execve
x0: wskaźnik do "/bin/sh" określ plik do wykonania
x1: 0 określ brak przekazanych argumentów
x2: 0 określ brak przekazanych zmiennych środowiskowych
Używając ROPgadget.py, udało mi się zlokalizować następujące gadżety w bibliotece libc maszyny:
Dzięki poprzednim gadżetom możemy kontrolować wszystkie potrzebne rejestry ze stosu i użyć x5, aby skoczyć do drugiego gadżetu, aby wywołać syscall.
Zauważ, że znajomość tych informacji z biblioteki libc pozwala również na przeprowadzenie ataku ret2libc, ale użyjmy tego w bieżącym przykładzie.
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)