One Gadget
Podstawowe informacje
Jedno narzędzie pozwala uzyskać powłokę zamiast korzystania z system i "/bin/sh". Jedno narzędzie znajdzie w bibliotece libc sposób uzyskania powłoki (execve("/bin/sh")
) za pomocą jednego adresu.
Jednak zazwyczaj istnieją pewne ograniczenia, najczęstsze i łatwe do uniknięcia to na przykład [rsp+0x30] == NULL
. Ponieważ kontrolujesz wartości w RSP, wystarczy wysłać kilka dodatkowych wartości NULL, aby uniknąć ograniczenia.
Aby uzyskać adres wskazany przez One Gadget, należy dodać adres bazowy, gdzie jest załadowany libc
.
One Gadget jest wielką pomocą dla technik Arbitrary Write 2 Exec i może upraszczać łańcuchy ROP, ponieważ wystarczy wywołać jeden adres (i spełnić wymagania).
ARM64
Repozytorium na githubie wspomina, że ARM64 jest obsługiwany przez narzędzie, ale podczas uruchamiania go w libc
Kali 2023.3 nie znajduje żadnego gadżetu.
Angry Gadget
Z repozytorium na githubie: Zainspirowany przez OneGadget ten program jest napisany w języku Python i używa angr do testowania ograniczeń dla gadżetów wykonujących execve('/bin/sh', NULL, NULL)
Jeśli skończyły Ci się gadżety do wypróbowania z OneGadget, Angry Gadget oferuje znacznie więcej z złożonymi ograniczeniami do wypróbowania!
Last updated