1. NX 우회방법
- NX로 인해 공격자가 버퍼에 주입한 쉘코드 실행은 어렵지만, 스택 버퍼 오버플로우 취약점으로 반환주소를 덮는 것은 여전히 가능하다.
- 공격자는 실행 권한이 남아있는 코드 영역으로 반환주소를 덮는 공격기법으로 NX를 우회할 수 있다.
2. 프로세스에 실행권한이 있는 메모리영역
① 바이너리의 코드 영역
② 바이너리가 참조하는 라이브러리의 코드 영역
3. 정의
- NX를 우회하는 공격기법이다.
- libc 함수들로 NX를 우회하고 쉘을 획득하는 공격기법을 "Retrun To Libc"라고 한다.
다른 라이브러리로 공격에 활용될 수도 있으므로 "Return To Library"라고도 한다.
4. Return to PLT 정의
- ASLR이 걸려 있어도 PIE가 적용되어 있지 않다면, PLT의 주소는 고정이다.
- 이를 통해, 무작위의 주소에 매핑된 라이브러리의 베이스 주소는 몰라도, PLT주소를 통해 라이브러리 함수를 실행할 수 있는 공격 기법을 의미한다.
5. Return to PLT 관련 실습
2022.07.01 - [Dreamhack/Lecture & Practice] - [Practice] Return to Library
6. Return to PLT 관련 Wargame
2022.07.02 - [Dreamhack/Wargame] - [Wargame] Return to Library
'System Hacking' 카테고리의 다른 글
Fake EBP (0) | 2022.08.03 |
---|---|
RTC (Return To CSU) (0) | 2022.07.04 |
PLT & GOT (0) | 2022.06.27 |
NX & ASLR (0) | 2022.06.27 |
Stack Canary (0) | 2022.06.25 |