One Gadget
Last updated
Last updated
AWS 해킹 학습 및 실습:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 학습 및 실습: HackTricks Training GCP Red Team Expert (GRTE)
One Gadget은 system 및 **"/bin/sh"**를 사용하는 대신 셸을 획득할 수 있게 해줍니다. One Gadget은 libc 라이브러리 내에서 셸을 획득할 수 있는 방법(execve("/bin/sh")
)을 단 하나의 주소로 찾아냅니다.
그러나 일반적으로 몇 가지 제약 조건이 있으며, 가장 일반적이고 쉽게 피할 수 있는 것은 [rsp+0x30] == NULL
과 같은 것입니다. RSP 내의 값을 제어할 수 있기 때문에 더 많은 NULL 값을 보내 제약 조건을 피할 수 있습니다.
One Gadget이 가리키는 주소에는 libc
가 로드된 기본 주소를 더해야합니다.
One Gadget은 임의 쓰기 2 실행 기법에 큰 도움을 주며 ROP 체인을 간소화할 수 있습니다. 하나의 주소만 호출하면 되며 (요구 사항을 충족해야 함).
github 레포지토리는 ARM64를 지원한다고 언급하지만 Kali 2023.3의 libc에서 실행할 때 어떤 가젯도 찾지 못합니다.
github 레포지토리에서: OneGadget에서 영감을 받은 이 도구는 파이썬으로 작성되었으며 angr를 사용하여 execve('/bin/sh', NULL, NULL)
를 실행하는 가젯에 대한 제약 조건을 테스트합니다.
One Gadget에서 시도할 가젯이 부족하다면, Angry Gadget은 더 복잡한 제약 조건을 가진 많은 가젯을 제공합니다!
AWS 해킹 학습 및 실습:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 학습 및 실습: HackTricks Training GCP Red Team Expert (GRTE)