#dokydoky
0x01. Intro안녕하세요. dokydoky 입니다.이전 포스팅에서는 NX+ASLR 환경에서 익스플로잇을 해봤습니다. 이번 포스팅에서는 Stack Canaray를 추가하여 익스플로잇 해보겠습니다.이번엔 nginx2 바이너리로 진행합니다. nginx1은 Stack Canary가 적용되어 있지 않고, nginx2는 적용되어 있습니다. Stack Canary란 RET, SFP(Stack Frame pointer)가 변조되는 것을 감지하기 위해, SFP앞에 stack cookie를 저장해놓는 기법입니다. 컴파일 옵션은 이곳을 참조하시기 바랍니다.이하 존칭어를 생략합니다. 0x02. Exploit checksec으로 확인해보면 nginx2에 Stack Canary가 추가적으로 적용된 것을 확인 할 수 있다. ..
0x01. Intro 안녕하세요. dokydoky입니다. 이전 포스팅에서는 NX만 적용되어 있는 환경에서 어떻게 익스플로잇 하는지 알아봤습니다. 이번 포스팅에서는 ASLR이 추가적으로 적용되어 있는 환경에서 어떻게 익스플로잇 하는지 알아보겠습니다. 이전 포스팅에서는 libc-2.19.so에서 가젯을 구성했지만, ASLR이 적용되면 libc-2.19.so의 메모리 주소가 달라지기 때문에 이전의 방식으로는 익스플로잇 할 수 없습니다. (ASLR이 적용되면 Stack, VDSO(Virtual Dynamic Shared Object), 공유메모리 영역, Data 세그먼트의 주소가 랜덤화됩니다.)그렇다면 어떻게 가젯을 구성할까요?nginx 1.4.0 버전에서는 PIE가 적용되어 있지 않습니다. 이를 이용해 봅시다..
0x01. Intro안녕하세요. dokydoky입니다.이전 포스팅에서는 환경을 구성하고 CVE-2013-2028 취약점이 발생되는 코드를 살펴봤습니다.이번 포스팅에서는 어떻게 익스플로잇을 하는지 알아보겠습니다. 바이너리 파일은 nginx1을 사용하시면 됩니다.mitigation중 NX, ASLR, Stack Canary를 순차적으로 적용해서 우회해보려고 합니다.우선 이번 포스팅에서는 NX만 걸려 있는 환경입니다. NX가 걸려있으면 Heap, Stack 영역에 실행권한이 없어 쉘코드를 바로 실행할 수 없습니다. 본문에서 사용할 도구들은 아래와 같습니다.mitigation 확인 : checksecoffset 찾기 : pattern.pyROP gadget 확인 : rp-ln-x64이하 본문에서는 존칭어를 생략..