One Gadget
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
One Gadget는 system과 "/bin/sh" 대신에 쉘을 얻을 수 있게 해줍니다. One Gadget은 libc 라이브러리 내에서 단 하나의 주소를 사용하여 쉘을 얻는 방법(execve("/bin/sh")
)을 찾습니다.
그러나 일반적으로 몇 가지 제약이 있으며, 가장 일반적이고 피하기 쉬운 것은 [rsp+0x30] == NULL
입니다. RSP 내부의 값을 제어하므로 제약을 피하기 위해 추가적인 NULL 값을 보내기만 하면 됩니다.
To the address indicated by One Gadget you need to add the base address where libc
is loaded.
One Gadget는 임의 쓰기 2 실행 기술에 큰 도움이 되며, ROP 체인을 단순화할 수 있습니다. 왜냐하면 단지 하나의 주소를 호출하고 (요구 사항을 충족해야 함) 하면 되기 때문입니다.
github 리포지토리는 ARM64가 지원된다고 언급하지만, Kali 2023.3의 libc에서 실행할 때 가젯을 찾지 못합니다.
github 리포지토리에서: OneGadget에서 영감을 받아 이 도구는 파이썬으로 작성되었으며, execve('/bin/sh', NULL, NULL)
을 실행하는 가젯의 제약 조건을 테스트하기 위해 angr를 사용합니다.
OneGadget에서 시도할 가젯이 다 떨어졌다면, Angry Gadget은 시도할 수 있는 복잡한 제약 조건을 가진 더 많은 가젯을 제공합니다!
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)